Skip to content

RFC: wayland: Use RealtimeKit1 to enable real-time scheduling (Proposal №1)

Vlad Zahorodnii requested to merge work/zzag/realtime-scheduler-realtimekit into master

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.

Edited by Vlad Zahorodnii

Merge request reports