Announcement

Collapse
No announcement yet.

GNOME 45's Mutter Implements A Dedicated KMS Thread

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • GNOME 45's Mutter Implements A Dedicated KMS Thread

    Phoronix: GNOME 45's Mutter Implements A Dedicated KMS Thread

    Recently merged to GNOME's Mutter compositor development code is implementing a dedicated kernel mode-setting (KMS) thread and allows for pointer motions to bypass the main thread during cursor sprite movements. Ultimately this effort is around lower-latency cursor movements...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    Implementing this will mean that the mouse cursor latency is lower than everything else and say the window movements will be lagging behind the cursors.
    What else is improved with this?
    The individual application windows won't get the input events any faster right?
    Or does this mean that applications will get a more accurate mouse input event synchronization with the actual mouse positions?

    Comment


    • #3
      (deleted)

      Edit: I was wrong.
      Last edited by oleid; 08 August 2023, 12:47 AM.

      Comment


      • #4
        Originally posted by pracedru View Post
        Implementing this will mean that the mouse cursor latency is lower than everything else and say the window movements will be lagging behind the cursors.
        That's right, same as on Xorg. The latency between movements of the mouse and cursor is a major factor for how responsive the system feels, so the assumption is that minimizing it is more important than making the cursor position consistent with the rest of the output.

        What else is improved with this?
        In the long term it will allow the cursor to move even if the GPU fails to finish drawing in time for the next display refresh cycle, i.e. avoid cursor stutter with GPU frame drops. This isn't fully implemented yet though.

        The individual application windows won't get the input events any faster right?
        Right, it doesn't affect that.

        Comment


        • #5
          Originally posted by oleid View Post

          This is not a separate painting thread for the mouse cursor. This is about handling input events independently of drawing.
          It is more like the former. The latter is the input thread, which was added back in mutter 40.

          The input & KMS threads can handle mouse cursor movement without involving the main thread.

          Most certainly the sprite of the mouse cursor and the window will be in sync during drawing.
          That is not the case.

          Comment


          • #6
            I really love performance improvements like this. Most people have 4 or 6 cores these days(and likely some SMT), having multiple dedicated threads for items like this makes a lot of sense.

            Comment

            Working...
            X