Skip to content
This repository has been archived by the owner on Apr 29, 2023. It is now read-only.
/ kwin-lowlatency Public archive

archived - X11 full-screen unredirection and lots'a settings for KWin

Notifications You must be signed in to change notification settings

tildearrow/kwin-lowlatency

Repository files navigation

archived

can't maintain this anymore... thanks everyone.

feel free to continue the project if you wish.

KWin-lowlatency

KWin-lowlatency is (was?) my attempt to reduce latency and stuttering in the popular KWin compositor used in KDE. since Plasma 5.21 the developers merged official patches which rewrite great parts of the compositing code, putting it on par with former KWin-lowlatency.

however, there's one thing that's not there yet: X11 full-screen unredirection....

Unredirection

the main aim of this project is to add additional settings to the compositor and bring back unredirection based on the direct scanout code. see unredirect.md for more details.

KWin-lowlatency is not...

  • perfect. it tries its best to allow full-screen unredirection to happen, but I can't promise this is always the case.
  • truly designed for low-end systems. if you use KWin-lowlatency in one of them, you may experience stuttering.

installation

Arch Linux

kwin-lowlatency is available in the AUR.

also available as a package in the CachyOS repository. thanks ptr1337!

Manjaro

Manjaro has updated Plasma to 5.23! follow the Arch Linux instructions.

openSUSE Leap and Tumbleweed

available at home:DarkWav:kwin-lowlatency. Leap is on 5.18 though.

other distributions/manual method

you can compile/install this yourself if your distro isn't listed here, or if you merely want to.

installing dependencies

you may need to install specific dependencies before compiling. here you can find a list.

acquiring the source

you can get the source code by using any of the following 2 methods:

git repo clone

$ git clone https://github.com/tildearrow/kwin-lowlatency.git
$ cd kwin-lowlatency

if you are not using the latest major version of Plasma (you can check by doing kwin_x11 --version), you may want to check out the branch for your version, e.g.:

$ git checkout Plasma/5.23

you may want to check the current stable version out:

$ git checkout v5.23.5

patch format

download stock KWin source and patch file:

$ wget https://download.kde.org/stable/plasma/5.23.5/kwin-5.23.5.tar.xz
$ wget https://tildearrow.org/storage/kwin-lowlatency/kwin-lowlatency-5.23.5.patch

extract:

$ tar -xvf kwin-5.23.5.tar.xz

patch:

$ cd kwin-5.23.5
$ patch -p1 < ../kwin-lowlatency-5.23.5.patch

building

Ubuntu

Ubuntu uses a different library path, which means you'll have to tweak the library dir:

$ mkdir build
$ cd build
$ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_INSTALL_LIBEXECDIR=lib/x86_64-linux-gnu -DBUILD_TESTING=OFF ..
$ make

other distros

$ mkdir build
$ cd build
$ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_INSTALL_LIBEXECDIR=lib -DBUILD_TESTING=OFF ..
$ make

installing