KWinFt beta release 5.20.0 ready for testing!

Roman Gilg has just released a Beta of his exciting KWinFT project.

Detailed information can be found on his blog:

You can already test the new beta packages on our testing and unstable branches by installing kwinft-beta, which will ask you to replace kwinft (or kwin) and also pull in kdisplay-beta, wrapland-beta and disman-beta.

Have fun testing some bleeding edge software and please post your observations here! :sunglasses:

@romangg

6 Likes

Thanks @oberon! I’m here for feedback and questions. :grinning:

Since Disman comes with the big changes this release let me quickly remind you that Disman (and KDisplay) are independent of the KWinFT compositor and even of the Plasma workspace in general.

I would be especially interested in test results from other desktop environments like XFCE on X11 since I only tested myself with KWinFT (Wayland + X11) and sway.

Thank you in advance!

5 Likes

Hi, I have seen kwin-ft and am already happily testing it.
I have two proposals:

  1. should we have a dedicated forum channel for issues related to it, since it seems it’s officially & actively supported by Manjaro?
  2. should we add a new “compositor tag” in our profile page, next to kernel version and CPU/GPU, so that we can indicate which compositor we are using?

KDE-Dev may have additional dependencies?

$ sudo pacman -S kwinft-beta
resolving dependencies...
looking for conflicting packages...
:: kwinft-beta and kwin-git are in conflict (kwin). Remove kwin-git? [y/N] y
:: kdisplay-beta and kscreen-git are in conflict (kscreen). Remove kscreen-git? [y/N] y
error: failed to prepare transaction (could not satisfy dependencies)
:: removing kwin-git breaks dependency 'kwin-git' required by plasma-workspace-git

kwinft-beta provides kwinft and it provides kwin, but NOT kwin-git.
The kwinft-beta packages are intended to match stable packages, you cannot combine them with kde-dev (git) packages, sorry.

From their pages it seems that end users can expect these goodies:

But there are already some experimental features in the first release that you might look out for:

    My rework of KWin's composition pipeline that, according to some early feedback last year, improves the presentation greatly on X11 and Wayland. Additionally a timer was added to minimize the latency from image creation to its depiction on screen.

    The Wayland viewporter extension was implemented enabling better presentation of content for example for video players and with the next XWayland major release to emulate resolution changes for many older games.

    Full support for output rotation and mirroring in the Wayland session.
1 Like

We may also create git versions of those packages at some point.

2 Likes

That’s actually a good idea and no problem at all. I will include them from now on, so kwinft-git, disman-git, kdisplay-git and wrapland-git will be available later today :sunglasses:

1 Like

wrapland-git, disman-git, kdisplay-git and kwinft-git are now in the repo.
They will be rebuilt twice a day now together with the kde-dev packages.
:sunglasses:

1 Like

I have 2 screens, laptop’s one to the left, external monitor’s - to the right, set as the primary one. X11, hybrid graphics (Intel + Nvidia). After the installation of kwinft, disman and stuff, I am observing wrong arrangement of my screens: laptop’s one has become the primary, and this is a persistent thing: even if I change this, on the next Plasma start it is primary again.
When selecting Nvidia, things get even worse: sddm froze for a while, then greeted me again with a user/password prompt.

I have no idea why monitors number higher than 1 has such a strong tradition to put Linux desktop on its knees :laughing:

Thank you very much. I get the same error with kwinft-git:

$ sudo pacman -S kwinft-git
resolving dependencies...
looking for conflicting packages...
:: kwinft-git and kwin-git are in conflict (kwin). Remove kwin-git? [y/N] y
:: kdisplay-git and kscreen-git are in conflict (kscreen). Remove kscreen-git? [y/N] y
error: failed to prepare transaction (could not satisfy dependencies)
:: removing kwin-git breaks dependency 'kwin-git' required by plasma-workspace-git

Edit: https://repo.manjaro.org/ gives me a check that my Unstable mirror is up-to-date.

Could you open an issue ticket for that here: Issues · KWinFT / Disman · GitLab

I will take a look at it then. Could be that we just do not send the updated “primary” value to the Xserver or that we forget to save it to the file.

Thanks!

I’ve checked one more time I noticed the following:
After I hit Apply button to make another screen primary, and move my mouse, the checkbox instantly gets blank and Apply button gets active (clickable) again.

Another issue: after logging in to Wayland session and playing with monitors’ settings (they were auto-detected incorrectly: laptop’s screen was set to resolution higher than FullHD, which was wrong), and logging in back to X11 session, screens were mirrored.

I am not sure if it is worth creating an issue ticket though, since I am not good at logging such stuff. So just describing what I’ve encountered with. OK, it’s too late for catching bugs in my timezone. Have a good day.

PS: Good news is that that Nvidia-related thing I mentioned above (SDDM freezing) wasn’t caused by kwinft or whatnot, I just had to reboot first (after the installation of your programs).

ok I see. lemme fix that.

rebuilding again with now (hopefully) fixed provides array :stuck_out_tongue_winking_eye:
Please try again with kwinft-git-5.20.80.r18110.g1ff59b200-2

1 Like

Thank you so much. The update seemed to go smoothly:

$ tail -17 /var/log/pacman.log 
[2020-09-27T20:15:09-0400] [PACMAN] Running 'pacman -S kwinft-git'
[2020-09-27T20:15:23-0400] [ALPM] transaction started
[2020-09-27T20:15:24-0400] [ALPM] removed kscreen-git (5.20.80.r1274.g7223eaa-1)
[2020-09-27T20:15:24-0400] [ALPM] removed kwin-git (5.20.80.r18423.g25b93b4cc-1)
[2020-09-27T20:15:25-0400] [ALPM] installed wrapland-git (0.520.80.r1390.g4560ea1-1)
[2020-09-27T20:15:25-0400] [ALPM] installed disman-git (0.520.80.r1749.g42bb907-1)
[2020-09-27T20:15:25-0400] [ALPM] installed kdisplay-git (5.20.80.r1370.gab4e2be-2)
[2020-09-27T20:15:25-0400] [ALPM] installed kwinft-git (5.20.80.r18110.g1ff59b200-2)
[2020-09-27T20:15:26-0400] [ALPM] transaction completed
[2020-09-27T20:15:26-0400] [ALPM] running '30-systemd-update.hook'...
[2020-09-27T20:15:26-0400] [ALPM] running 'gtk-update-icon-cache.hook'...
[2020-09-27T20:15:26-0400] [ALPM] running 'update-desktop-database.hook'...
[2020-09-27T20:16:20-0400] [PACKAGEKIT] synchronizing package lists
[2020-09-27T20:16:21-0400] [PACKAGEKIT] synchronizing package lists
[2020-09-27T20:18:09-0400] [PACKAGEKIT] synchronizing package lists
[2020-09-27T20:22:48-0400] [PACKAGEKIT] synchronizing package lists
[2020-09-27T20:22:50-0400] [PACKAGEKIT] synchronizing package lists

And after a re-boot, everything looks great, but maybe I am not running KwinFt, but still kwin_x11.

$ inxi -Fazy
System:
  Kernel: 5.8.12-2-MANJARO x86_64 bits: 64 compiler: N/A 
  parameters: BOOT_IMAGE=/boot/vmlinuz-5.8-x86_64 
  root=UUID=5d6d64f6-19a9-4612-a6bb-4a61c7d62775 rw udev.log_priority=3 
  Desktop: KDE Plasma 5.20.80 tk: Qt 5.15.1 wm: kwin_x11 dm: SDDM 
  Distro: Manjaro Linux 
Machine:
  Type: Laptop System: Hewlett-Packard product: HP EliteBook 8440p v: N/A 
  serial: <filter> Chassis: type: 10 serial: <filter> 
  Mobo: Hewlett-Packard model: 172A v: KBC Version 30.30 serial: <filter> 
  BIOS: Hewlett-Packard v: 68CCU Ver. F.0E date: 08/23/2010 
Battery:
  ID-1: BAT0 charge: 37.8 Wh condition: 38.7/56.6 Wh (68%) volts: 12.3/11.1 
  model: Hewlett-Packard Primary type: Li-ion serial: <filter> status: Unknown 
CPU:
  Topology: Dual Core model: Intel Core i7 M 620 bits: 64 type: MT MCP 
  arch: Nehalem family: 6 model-id: 25 (37) stepping: 5 microcode: 7 
  L2 cache: 4096 KiB 
  flags: lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 21294 
  Speed: 1352 MHz min/max: 1199/2667 MHz boost: enabled Core speeds (MHz): 
  1: 1377 2: 1463 3: 1463 4: 1463 
  Vulnerabilities: Type: itlb_multihit status: KVM: VMX disabled 
  Type: l1tf 
  mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable 
  Type: mds 
  status: Vulnerable: Clear CPU buffers attempted, no microcode; SMT vulnerable 
  Type: meltdown mitigation: PTI 
  Type: spec_store_bypass 
  mitigation: Speculative Store Bypass disabled via prctl and seccomp 
  Type: spectre_v1 
  mitigation: usercopy/swapgs barriers and __user pointer sanitization 
  Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional, 
  IBRS_FW, STIBP: conditional, RSB filling 
  Type: srbds status: Not affected 
  Type: tsx_async_abort status: Not affected 
Graphics:
  Device-1: Intel Core Processor Integrated Graphics vendor: Hewlett-Packard 
  driver: i915 v: kernel bus ID: 00:02.0 chip ID: 8086:0046 
  Device-2: Chicony type: USB driver: uvcvideo bus ID: 1-1.5:5 
  chip ID: 04f2:b15e 
  Display: x11 server: X.Org 1.20.9 compositor: kwin_x11 driver: intel 
  unloaded: modesetting alternate: fbdev,vesa display ID: :0 screens: 1 
  Screen-1: 0 s-res: 1600x900 s-dpi: 96 s-size: 423x238mm (16.7x9.4") 
  s-diag: 485mm (19.1") 
  OpenGL: renderer: Mesa DRI Intel HD Graphics (ILK) v: 2.1 Mesa 20.1.8 
  direct render: Yes 
Audio:
  Device-1: Intel 5 Series/3400 Series High Definition Audio 
  vendor: Hewlett-Packard driver: snd_hda_intel v: kernel bus ID: 00:1b.0 
  chip ID: 8086:3b56 
  Sound Server: ALSA v: k5.8.12-2-MANJARO 
Network:
  Device-1: Intel 82577LM Gigabit Network vendor: Hewlett-Packard 
  driver: e1000e v: 3.2.6-k port: 5020 bus ID: 00:19.0 chip ID: 8086:10ea 
  IF: enp0s25 state: down mac: <filter> 
  Device-2: Intel Centrino Ultimate-N 6300 driver: iwlwifi v: kernel 
  port: 5000 bus ID: 43:00.0 chip ID: 8086:4238 
  IF: wlo1 state: up mac: <filter> 
Drives:
  Local Storage: total: 232.89 GiB used: 11.06 GiB (4.7%) 
  SMART Message: Unable to run smartctl. Root privileges required. 
  ID-1: /dev/sda vendor: Toshiba model: MK2556GSY size: 232.89 GiB block size: 
  physical: 512 B logical: 512 B speed: 3.0 Gb/s rotation: 7200 rpm 
  serial: <filter> rev: 3C scheme: MBR 
Partition:
  ID-1: / raw size: 116.09 GiB size: 113.77 GiB (98.00%) 
  used: 11.06 GiB (9.7%) fs: ext4 dev: /dev/sda4 
Swap:
  Alert: No Swap data was found. 
Sensors:
  System Temperatures: cpu: 48.0 C mobo: N/A 
  Fan Speeds (RPM): N/A 
Info:
  Processes: 206 Uptime: 4m Memory: 3.64 GiB used: 1.04 GiB (28.6%) 
  Init: systemd v: 246 Compilers: gcc: 10.2.0 Packages: pacman: 1048 lib: 294 
  flatpak: 0 Shell: Bash v: 5.0.18 running in: konsole inxi: 3.1.05 

You should be using KWinFT after installation even if the executable says kwin_x11 (the executables of KWinFT have the same names as KWin for integration).

You can control that you’re running KWinFT by checking the libraries the running instance is linking against:

lsof -p `pidof kwin_x11`

If it lists Wrapland you use KWinFT.

Thank you. So, the short version is that, for me, KWinFT was so seamless I never even knew it was running

$ lsof -p `pidof kwin_x11` | grep Wrapland
kwin_x11 1047 mparillo  mem       REG                8,4  1204048 4208765 /usr/lib/libWraplandServer.so.0.520.80
kwin_x11 1047 mparillo  mem       REG                8,4  1048992 4207428 /usr/lib/libWraplandClient.so.0.520.80

I already had plasma-wayland-session-git installed

$ pacman -Qi plasma-wayland-session-git 
Name            : plasma-wayland-session-git
Version         : 5.20.80.r9443.gb17696401-1
Description     : Plasma Wayland session
Architecture    : x86_64
URL             : https://www.kde.org/workspaces/plasmadesktop/
Licenses        : LGPL
Groups          : None
Provides        : plasma-wayland-session=5.20.80.r9443.gb17696401-1
Depends On      : plasma-workspace-git  kwayland-integration-git  xorg-server-xwayland  qt5-wayland
Optional Deps   : kio-extras-git: Additional components to increase the functionality of KIO
Required By     : None
Optional For    : None
Conflicts With  : plasma-wayland-session
Replaces        : None
Installed Size  : 2.74 KiB
Packager        : Bernhard Landauer <oberon@manjaro.org>
Build Date      : Mon 28 Sep 2020 07:32:41 AM EDT
Install Date    : Mon 28 Sep 2020 02:35:27 PM EDT
Install Reason  : Explicitly installed
Install Script  : No
Validated By    : Signature

And when I chose Wayland in SDDM, my tap to click stopped working and my colors washed out.

Rebooting, and switching back to Plasma in SDDM, and my tap to click and colors are restored.

You were right that there was a problem. Was also reported by somebody else now as a GitLab issue ticket. I have created a patch to fix it here: Write if a display is primary to config control file (!18) · Merge Requests · KWinFT / Disman · GitLab

If you can’t compile it I might release one more beta version before full release but the patch will be definitely included in the full release.

Oh thanks, I’ll try build it tomorrow and give it some load then.