Desktop stutters and window decorations

I've already applied all of those settings in xorg.conf and kwin.sh, and the stutters still doesn't seem to go away. The kwin.sh tweaks, however, did eliminate tearing, which is a totally different thing I'm no longer worried about.

In the meantime, I decided to try out breeze-enhanced-git from the AUR yesterday, which I find it more of a workaround than a solution. Since it's obviously based on Breeze, the stuttering frequency appears to be the same (less than using any Aurorae theme) as if I were to use the built-in vanilla Breeze window decoration.

I just tried this, and out of the box the same exact behavior happens. I had to move my cursor around every time I open any app, and I can still notice its jittery motion during those moments.

Might want to add also this option, right under those you added:

Option "metamodes" "nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"

See if helps.

1 Like

That doesn't seem to work. I see no change with the stutters even after adding the above line and logging out and back in.

Needs a reboot. Is about a change in Xorg ...

1 Like

I just rebooted with the option applied. It did nothing to mitigate the whole desktop stuttering, but the cursor stutters seems to have disappeared on its own. Since I'm using Breeze Enhanced for my window decoration theme, I had to switch back to the Aurorae-based Materia Dark theme to see if the stutters got reduced, and it appears that there's no change in that department.


Out of curiosity, I decided to look into journalctl logs and found lots of errors similar to the following, all of which are from around the same time the stutters occurred:

kwin_x11[1188]: file:///usr/share/kwin/aurorae/MenuButton.qml:22: TypeError: Cannot read property 'closeOnDoubleClickOnMenu' of null
kwin_x11[1188]: QPainter::begin: Paint device returned engine == 0, type: 3
kwin_x11[1188]: qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 33804, resource id: 39868243, major code: 2 (ChangeWindowAttributes), minor code: 0

The XCB error message seems to occur less frequently when I use Breeze (Enhanced). It also turns out that someone already mentioned about those messages in this forum years ago:

Another topic said those messages appear every time they close a window:

So, I guess that those XCB error messages seem to be irrelevant to the stutters I'm getting, but maybe those Aurorae errors spamming my journalctl logs could be behind the more noticeable stutters when using those kinds of window decorations.

Does anyone have any suggestions based on this?

Just an update: I rebooted my PC yesterday and apparently the cursor stutters have returned, and there's still no change to the desktop stutters. I feel like I'm already at a loss here.

What we were talking about? :slight_smile:

Enabling Force Full Composition Pipeline via xorg.conf:

Right, and what about my first link with the triplebuffer and kwin.sh ? Are still applied ?
Mind you, with this settings you should not have any issues. So, there is something else going on there

They have been already applied way before I created this topic. Again, it only solved the tearing problem, not the stutters which is the main topic here.

What i recommended is a cure even for a GT 620 ... So, have you tried to connect your monitor to another port in the GPU ?

Sorry for the long reply back. I tried all available ports on my GPU (3x DisplayPort, 1x HDMI), and none of them made a difference with the stutters. I didn't restart each time I switched ports because I believe that the stutters are more of linked to rendering stuff on screen rather the overall output. So, if the output was causing the stutters in the first place, my cursor would still stutter after toggling any of the Composition Pipeline checkboxes in Nvidia X Server Settings.

Sidenote: My monitor only supports HDMI for digital input (my GTX 1060 doesn't provide analog VGA output), so I've been using a DP-to-HDMI cable to connect the monitor to my PC.

You have to save that config and restart the xorg, aka reboot the system with the new config to take effect.
Please share:
cat /etc/X11/mhwd.d/nvidia.conf
as it seems to me you are doing things the Windows way ... :slight_smile:

Well, you're kind of right because it's true I'm not yet in the ranks of you and other frequent helpers here as an advanced desktop Linux user yet. And what I mean by toggling the checkboxes on and off is this: I (un)check at least one of the two Composition Pipeline checkboxes, click Apply, click Yes on the confirmation dialog that appears, and repeat. I'm aware my language is weird at times, but does that make sense to you now?

Anyway, here is /etc/X11/mhwd.d/nvidia.conf (I haven't touched it yet):

Contents
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 440.44

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
        Option "NoLogo" "1"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Extensions"
    Option         "COMPOSITE" "Enable"
EndSection


Section "InputClass"
    Identifier          "Keyboard Defaults"
    MatchIsKeyboard        "yes"
    Option              "XkbOptions" "terminate:ctrl_alt_bksp"

That does nothing with the config, and if you didn't touched it, then all my previous comments were useless. :slight_smile:
Now here is the config with the modifications i mentioned previously applied:

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    Option         "TripleBuffer"  "On"
    Option  "ConnectToAcpid"    "Off"
    Option "metamodes" "nvidia-auto-select +0+0 {ForceFullCompositionPipeline=On}"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Extensions"
    Option         "COMPOSITE" "Enable"
EndSection


Section "InputClass"
    Identifier          "Keyboard Defaults"
    MatchIsKeyboard        "yes"
    Option              "XkbOptions" "terminate:ctrl_alt_bksp"

Copy it and paste it in place of what you have now.
Then make sure you also run this command:
sudo mhwd-gpu --setmod nvidia --setxorg /etc/X11/mhwd.d/nvidia.conf

And please remove the

you created previously.
Now i don't know if you actually what is needed in

make sure you check that too.
Cheers!

I don't think you mentioned /etc/X11/mhwd.d/nvidia.conf till now, but after applying the changes above (the login screen failed to show the first time, so I added the missing EndSection at the end), it turns out it reintroduced screen tearing until I enabled Force Composition Pipeline. (Both of those options were unchecked when I opened Nvidia X Server Settings.) I also made sure that any mention of metamodes are commented out in xorg.conf and xorg.conf.d/20-nvidia.conf.

Despite all this, there's zero change with the stuttering.

Also, here is my /etc/profile.d/kwin.sh file, and its permissions are 755:

export KWIN_TRIPLE_BUFFER=1
export __GL_YIELD=USLEEP
export __GL_MaxFramesAllowed=1

Apologies if I misunderstood anything in earlier posts.

When i point to a topic, that topic has a context. Should i mention to read it, or actually repeat everything all over again?

Now where did you get that file? Who mentioned it? :slight_smile: No, you have to REMOVE those, not just comment things.

In /etc/X11/xorg.conf.d/ you have to have two files 00-keyboard.conf and 90-mhwd.conf by default when installing proprietary nvidia drivers.
The 90-mhwd.conf is a symlink to /etc/X11/mhwd.d/nvidia.conf, editing it will edit the actual file.

No need. Let's see if now we get somewhere. There should be no tearing of any kind. Honestly. :slight_smile:

I made /etc/X11/xorg.conf.d/20-nvidia.conf as part of instructions in the ArchWiki a couple days after I installed Manjaro in February. I probably did this to troubleshoot the screen tearing issues, but I can't remember exactly.

Again, I'm not worried about the tearing part, since I've already figured that out before starting this thread, but I'm baffled with the fact your modified nvidia.conf above reintroduced it with "Force Composition Pipeline" and "Force Full Composition Pipeline" unchecked in the X Server Settings.

Arch doesn't have MHWD, so you have to be careful with that. That is why Manjaro has a wiki too
https://wiki.manjaro.org/index.php?title=Manjaro_Hardware_Detection

Reintroduced what?

Forum kindly sponsored by