• 6 Posts
  • 1.4K Comments
Joined 1 year ago
cake
Cake day: August 3rd, 2023

help-circle










  • I mean real-time scheduler, not real-time kernel. Found an article that says kwin_wayland uses SCHED_FIFO.

    man 7 sched says:

    SCHED_FIFO can be used only with static priorities higher than 0, which means that when a SCHED_FIFO thread becomes runnable, it will always immediately preempt any currently running SCHED_OTHER, SCHED_BATCH, or SCHED_IDLE thread.

    but decreases performance slightly rather than increase responsiveness.

    Responsiveness is not performance. There are 3 main performance metrics: throughput, latency and jitter. Responsiveness is mostly latency, but sometimes jitter. You can for example run game in 30fps with 0.01s lag or in 60 fps with 1s lag. In second case FPS is higher, but, player will feel game unresponsive because of time it takes between pressing button and game showing the result.







  • I’d wager that it’s your scheduler.

    How did you know??

    Linux used the CFS scheduler which is outdated and not really optimal for desktop usage.

    And Linux kernel is full of outdated math. Like outdated addtion, outdated subtraction. /s

    If you want “like on windows”, then you need dynamic priority, not another scheduling algorithm. Basically you want your compositor to set lower priority value(which means higher priority) to process whoose window now is focused.


  • Depending on what you perceive as snappiness, it is because of misconfiguration.

    If you perceive response time of desktop enviroment snappiness, you need to configure desktop server(xorg-server, kwin_wayland, xwayland) and compositor(or disable it) to run in real-time mode. Maybe there is also “prefer smoothness” option in you desktop enviroment settings like on KDE.

    If you play games, then migrate to X11. Games don’t know how to enable tearing on wayland. And in general X11 seems to work better with games.



  • Kernel says it can’t mount root device. Maybe it is not specified or kernel just can’t find it. You need to edit root= parameter for kernel. For:

    1. GRUB: press ‘e’ to edit menu entry and then press ‘F10’ to boot
    2. LILO: just append desired root=
    3. EFIStub: change it in config and recompile it

    If you use GRUB you can use its console and search for disk and partition where root fs is located.