FPS went to drain after ugrading from 20 to 20.1

Good day,
As the title says, after updating to 20.1 my frame rate has gone to some pretty unplayable levels.

Specs:

  • Desktop PC with Manjaro 20.1 KDE
  • Nvidia GTX 970 using video-nvidia-450xx driver (nuveau removed)
  • Steam with some older titles like Wolfenstein Colossus as benchmark

I am not certain when the problem started manifesting itself, after the major upgrade or the kernel 5.8.6-1 (used to run 5.7.19-2). I ran into issues booting into 5.8 but that is resolved now.
I have since reinstalled nvidia driver and re-applied screen tearing fix. In desperation, I even tried to revert to a snapshot from a week back using Timeshift. Again, no change.

As a test, I decided to completely reload Manjaro 20.1 on a separate SSD drive (same system). I installed the same nvidia driver, Steam and the game and the frame rate is back to being great.

What can I check on my existing Manjaro install that is responsible for this reduced frame rate in game?
Any help is appreciated.

Have you tried installing/enabling feral gamemode incase there’s some throttling going on? Its not going to diagnose the issue but will prevent any throttling if that’s the issue

1 Like

Thanks @sawdoctor. I am not familiar with “feral gamemode”. I will read/install it and see if it improves frame rate.

It’s in the aur you can find it with the pamac gui but you need to enable it in steam launch commands or you can just use lutris to launch steam

1 Like

@sawdoctor, Very interesting, installing/enabling gamemode for that game has helped tremendously!
I feel like it is back to normal but not 100% sure just yet. First, I will try enabling gamemode on the other fresh Manjaro install where the game plays flawlessly without it.

The question is now then, what can be throttling my system?

Really glad it helped. Im really no expert in this, I’d have said it was a kernel issue but you said you have changed kernels back.

1 Like

Yes, I tried it with kernels 5.6/5.7/5.8 with no difference. I am still pretty green in the linux realm myself. Do I need to “re-build” the nvidia driver for each kernel? Hopefully, experts will shed some light.

Thanks so much for getting me thus far @sawdoctor!

If you are updating with pacman,pamac,gui then the nvidia drivers will automatically get added to any new kernel that you get. I’ve been on linux for 5 years (2 months on manjaro) and still very green myself, trying to learn more about the cli

1 Like

Strangely the gamemode is an on and off type of solution. I tried launching the game again today with gamemode on and it was again fairly laggy. :frowning:

Update, it appears to be related to the Global Theme (Sweet mars - in my case)
Somehow, this eats away my FPS

Hi, I had a similar thing happen to me with Manjaro XFCE. In my case, it was the screen compositor, I binded a key that was unused on my laptop to toggle it on/off. I don’t recommend to keep it off, specially in KDE since it has so many animations and such that would be gone without the compositor, without mentioning the screen tearing, but definitely disable it when you play games. It makes my games go from sluggish to fully playable, at the press of a button, literally. I call it my “lag switch”.

1 Like

Thanks @tralph3,
It appears to be driven by some black magic.
Normally after installing Manjaro, I do this tweak that removes most of the tearing/lag on the desktop (not all): disable most of Compositor options and lean on Nvidia to handle composition. Perhaps this is part of the problem.
That said, on a fresh Manjaro install, with above tweak, I experience no issues in the game. That is (as per my testing yesterday) until I load the Global theme. I disable the Global Theme and it is back to normal.
I tried this approach on my current Manjaro and that does not appear to make a difference. Seems like more work to be done.

Looking for keyboard shortcuts for Compositor, i stumble upon “Kwin”? Is that it?

The command I use to turn it on/off is this one:

xfconf-query -c xfwm4 -p /general/use_compositing -t bool --toggle

That’s for xfce, I doubt it will work for KDE but you can give it a shot. I usually check if it’s off by opnening a terminal and seeing if the window borders on the right side have a shadow, if yes, it’s on.

1 Like

Thanks, giving it a go

Sadly. no change to gameplay with Plasmashell stopped.

All my experimentation points to a conflict with Compositor and Nvidia driver.
I switched to LTS Kernel 5.4.64-1, re-installed nvidia driver (450), still no luck.
Now the entire desktop is sluggish.
As per suggestion on the forum, in Compositor, switched to from OpenGL3.0 to XRender for backend.
Dekstop UI has become quite pleasant and smooth but the gaming experience has not changed:

Compositor settings:
image

Nvidia settings:

I came by this post which appears similar in nature to what I am experiencing. I am not skilled enough to understand what is happening in that config. Perhaps @bogdancovaciu can show me the light :slight_smile:

Below are my settings:

[user@puter ~]$ mhwd -li
> Installed PCI configs:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
    video-nvidia-450xx            2019.10.25               false            PCI



[user@puter ~]$ cat /etc/X11/mhwd.d/nvidia.conf
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 450.66

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
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"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "DELL U2412M"
    HorizSync       30.0 - 83.0
    VertRefresh     50.0 - 61.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 970"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-0"
    Option         "metamodes" "DVI-I-1: 1920x1200_60 +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}, DP-1: 1920x1080 +1920+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Hello,

Please give this a try:

Don’t use both ForceCompositionPipeline=On, ForceFullCompositionPipeline=On just one. I would stay away from the Full one.

Also, don’t let out this two sections from the original config file, add it back to yours:


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

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

Then change the compositor to this:

image

I have a GTX 960 and works flawlessly. Give me a sec to come back with a custom config eventually, but the topic i pointed to should clarify a few things.

Update
Here is what i would use:

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

Section "Files"
EndSection

Section "Module"
    Load           "dbe"
    Load           "extmod"
    Load           "type1"
    Load           "freetype"
    Load           "glx"
EndSection

Section "InputDevice"
    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     "DELL"
    ModelName      "DELL U2412M"
    HorizSync       30.0 - 83.0
    VertRefresh     50.0 - 61.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 970"
    Option         "TripleBuffer"  "On"
    Option  "ConnectToAcpid"    "Off"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-0"
    Option         "metamodes" "DVI-I-1: 1920x1200_60 +0+0 {ForceCompositionPipeline=On}, DP-1: 1920x1080 +1920+0 {ForceCompositionPipeline=On}"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    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"
EndSection

And not forget about the kwin.sh mentioned in the other post.

1 Like

Thank you so much @bogdancovaciu.
I have just tried implementing these changes but sadly both the desktop and game performance are still pretty bad.
I will re-try this now again, perhaps I missed a step.

Sorry for the stupid question but where do I make the above changes?
/etc/X11/mhwd.d/nvidia.conf
or
/etc/X11/xorg.conf

I have re-done/reapplied these setting a number of times now. Even switched to the kernel 5.8.11 to see if there is a difference.
The Desktop UI performance is reasonable now but the gaming is still pretty laggy unfortunately.

OK, i got a bit crazy again.
Wiped my drive and reinstalled Manjaro 20.1 again.
Applied aforementioned settings and now both the Desktop and Game performance is back to normal.
I am not sure what to make of it.