RFC: wayland: Use RealtimeKit1 to enable real-time scheduling (Proposal №1)
On Wayland, kwin uses realtime scheduling. To accomplish that, the executable has to have CAP_SYS_NICE capability.
The problem with setting CAP_SYS_NICE capability is that it effectively kills secure_getenv(). This creates issues in libxkbcommon, which uses the secure_getenv() function to initialize lookup paths.
This change ports kwin to RealtimeKit1 for requesting realtime scheduling. With that, kwin_wayland executable doesn't need CAP_SYS_NICE capability so secure_getenv() will work as expected. Another advantage is that there's less space for mistakes when packaging kwin. It's still possible that not all distros add CAP_SYS_NICE capability.
In this MR, only the main thread and libinput thread will have realtime scheduling.
- proposal no.1: !1857 (closed)
- proposal no.2: !1858 (closed)
Edited by Vlad Zahorodnii