Jump to content

Arch gets less FPS (200FPS difference) on my machine then Ubuntu. What can I do?

Go to solution Solved by AAVVIronAlex,

With the help of the wonderful people on the Arch Forums we diagnosed the problem as a CPU governors issue. 

 

I quickly went to run this command which changed the governor from power saving to performance (according to the wiki)

cpupower frequency-set -g performance

 

Here is how you set it permanently.

 

Apparently the power saving mode actually makes the CPU run at a lower frequency, which explains the high CPU usage, as CPU status reporting programs usually scale their output to CPU frequency, not full load (which makes sense because there are people who overclock or underclock their CPUs). Thus the performance has been improved by more than 5x, I calculated that roughly from the results I had seen before and compared them to the ones I have now. (including less CPU usage)

 

I jumped into the game and the CPU usage was way lower, in some cases it was identifying as 0% while doing less intensive things. Beforehand it was around 10% (remember this is a 36 thread CPU). The game is now running better than it does on Ubuntu, just like I first expected.

Hello guys,

I am planning a switch to Arch when my new SSD comes in, I have been testing it for over 4 months now, and to my relief it is actually getting worse performance than my Ubuntu 22.04 LTS install for the first time in Quake Champions which is one of the games I love to play in my free time.

On Ubuntu it gets 300FPS (300 being the cap which is the maximum cap for that game) and on Arch (as of recently) it gets 67-80FPS which is really unexpected, as there has been no change in the software I run on Arch (unless you include the updates I did). By the way I just did a sudo pacman -Syu and the system is up to date as of 11th April.

My GPU is an Nvidia card, I use proprietary drivers on both my machines, most specifically the 550 drivers (Arch has the 550.67 drivers and Ubuntu has the 550.54 drivers).

My DE on Arch is Plasma 6 and GNOME on Ubuntu.

I use Wayland on both systems and it pretty much is the only thing that can help me, a person who has multiple mixed refresh rate monitors. Especially with the Explicit DRM Sync merge and the upcoming 555 drivers implementing Explicit Sync in May (according to Nvidia at least) the future looks really bright.

Do you have any suggestions on what may be the reason of these problems? Also, if you do have fixes you implemented or you know of tell them.

Thank you very much for reading. If you have any questions regarding my configuration, do not hesitate, put them in the comments.

Here are the clone posts I made on Reddit:
https://www.reddit.com/r/archlinux/comments/1c1e9n2/has_anyone_noticed_any_noticable_performance/
https://www.reddit.com/r/linux_gaming/comments/1c1cg1p/arch_gets_less_fps_200fps_difference_on_my/

 

Here is my post on the GamingOnLinux forums:

https://www.gamingonlinux.com/forum/topic/6057/page=1/#r41987

Link to comment
Share on other sites

Link to post
Share on other sites

Why not just keep running Ubuntu? What upside does Arch get you that's worth worse performance in the games you want to play? (Besides being able to say you run Arch, of course.)

I sold my soul for ProSupport.

Link to comment
Share on other sites

Link to post
Share on other sites

You probably was missing packages and extra support, I'd suggest to use x11 on kde desktop because to me it has better performance.

 

Try switching screen modes sometimes games drop fps on wrong screen modes.

 

I'd suggest to follow chris titus tech/talk stream "the ultimate system" I've used his selection of packages and it worked pretty well.

 

He included all gaming related packages and gamemode so I've tracked his stream and followed his packages installs and he tell you what package he is installing.

 

I've done this just to have low count of packages needed.

 

Hope it helps.

I'm jank tinkerer if it works then it works.

Regardless of compatibility 🐧🖖

Link to comment
Share on other sites

Link to post
Share on other sites

How is Quake Champions installed, if it's through steam then how is steam installed.
If it's using Proton have all the wine deps been installed and are you using Steam(Ubuntu) Runtime or Steam Native (Arch Runtime)

For Steam Native and all of the WINE Deps.

Spoiler

Ensure Multilib is enabled.

Steam

pacman -S steam steam-native-runtime


Wine and All Deps.

pacman -S wine giflib lib32-giflib gnutls lib32-gnutls v4l-utils lib32-v4l-utils libpulse lib32-libpulse alsa-plugins lib32-alsa-plugins alsa-lib lib32-alsa-lib libxcomposite lib32-libxcomposite libxinerama lib32-libxinerama opencl-icd-loader lib32-opencl-icd-loader libva lib32-libva gtk3 lib32-gtk3 gst-plugins-base-libs lib32-gst-plugins-base-libs vulkan-icd-loader lib32-vulkan-icd-loader sdl2 lib32-sdl2 sane libgphoto2 ffmpeg cups samba ttf-liberation


For compatibility also consider, Increase vm.max_map_count
 

Steam should be launched with Steam (Native) unless you run into some sort of issue, in which case fallback to Steam (Runtime).


Make sure NVIDIA is properly installed and configured

Spoiler


pacman -S nvidia nvidia-utils lib32-nvidia-utils


DRM kernel mode setting

Preserve video memory after suspend


If using flatpak ensure the nvidia runtime is installed

Spoiler

Check if it is installed

flatpak-list | grep nvidia


If it's not then you need to find your nvidia driver version, then do

flatpak remote-ls | grep org.freedesktop.Platform.GL.nvidia


Now find the one that matches your current driver and do

flatpak install runtime/org.freedesktop.Platform.GL.nvidia-545-23-08 runtime/org.freedesktop.Platform.GL32.nvidia-545-23-08

replacing nvidia-545-23-08 with whatever version you need

The flatpak runtime has to always match the host driver, so expect to update this.

 

Link to comment
Share on other sites

Link to post
Share on other sites

9 minutes ago, Nayr438 said:

How is Quake Champions installed, if it's through steam then how is steam installed.
If it's using Proton have all the wine deps been installed and are you using Steam(Ubuntu) Runtime or Steam Native (Arch Runtime)

For Steam Native and all of the WINE Deps.

  Reveal hidden contents

Ensure Multilib is enabled.

Steam

pacman -S steam steam-native-runtime


Wine and All Deps.

pacman -S wine giflib lib32-giflib gnutls lib32-gnutls v4l-utils lib32-v4l-utils libpulse lib32-libpulse alsa-plugins lib32-alsa-plugins alsa-lib lib32-alsa-lib libxcomposite lib32-libxcomposite libxinerama lib32-libxinerama opencl-icd-loader lib32-opencl-icd-loader libva lib32-libva gtk3 lib32-gtk3 gst-plugins-base-libs lib32-gst-plugins-base-libs vulkan-icd-loader lib32-vulkan-icd-loader sdl2 lib32-sdl2 sane libgphoto2 ffmpeg cups samba ttf-liberation


For compatibility also consider, Increase vm.max_map_count
 

Steam should be launched with Steam (Native) unless you run into some sort of issue, in which case fallback to Steam (Runtime).


Make sure NVIDIA is properly installed and configured

  Reveal hidden contents

 

 

pacman -S nvidia nvidia-utils lib32-nvidia-utils


DRM kernel mode setting

Preserve video memory after suspend


If using flatpak ensure the nvidia runtime is installed

  Reveal hidden contents

Check if it is installed

flatpak-list | grep nvidia


If it's not then you need to find your nvidia driver version, then do

flatpak remote-ls | grep org.freedesktop.Platform.GL.nvidia


Now find the one that matches your current driver and do

flatpak install runtime/org.freedesktop.Platform.GL.nvidia-545-23-08 runtime/org.freedesktop.Platform.GL32.nvidia-545-23-08

replacing nvidia-545-23-08 with whatever version you need

The flatpak runtime has to always match the host driver, so expect to update this.

 

Thanks didn't know you needed nvidia runtime in flatpaks.

 

Oh right I've only installed runtime, no need for ubuntu version.

(Accidentally forgotton to install it. Yet it runs so i didn't install it. Just need one steam needed)

 

And yeah vm map max count is only for big games like dayz 😆

 

Cheers for that.

I'm jank tinkerer if it works then it works.

Regardless of compatibility 🐧🖖

Link to comment
Share on other sites

Link to post
Share on other sites

8 minutes ago, BoomerDutch said:

Thanks didn't know you needed nvidia runtime in flatpaks.

 

Oh right I've only installed runtime, no need for ubuntu version.

(Accidentally forgotton to install it. Yet it runs so i didn't install it. Just need one steam needed)

To my understanding some distros may handle this for you. Arch and Fedora on my laptop don't, I have not tested other distros or devices.

Link to comment
Share on other sites

Link to post
Share on other sites

30 minutes ago, Nayr438 said:

To my understanding some distros may handle this for you. Arch and Fedora on my laptop don't, I have not tested other distros or devices.

I'm confused.

 

You mean steam ubuntu version and runtime version? 

 

Usually most distros have those two executables that's true yeah.

 

Except arch and fedora you say?

 

Neat now less icon wasted.

 

 

Correction, nvidia runtime sometimes doesn't install with it. That would be strange wouldn't it. Its same program flatpak. 😩 Although I'd usually avoid flatpak if there's official package available.

I'm jank tinkerer if it works then it works.

Regardless of compatibility 🐧🖖

Link to comment
Share on other sites

Link to post
Share on other sites

6 minutes ago, BoomerDutch said:

I'm confused.

You mean steam ubuntu version and runtime version?

Correction, nvidia runtime sometimes doesn't install with it. That would be strange wouldn't it. Its same program flatpak.

The NVIDIA Runtime for Flatpak.

Link to comment
Share on other sites

Link to post
Share on other sites

On 4/13/2024 at 4:51 PM, Needfuldoer said:

(Besides being able to say you run Arch, of course.)

This was not even a consideration. I am after the AUR, the concept is really cool for me and I do understand the drawbacks. Also I am doing it for educational purposes, I like a challenging OS

 

You could have easily said the same about me changing to Ubuntu from Windows last year.

Link to comment
Share on other sites

Link to post
Share on other sites

23 hours ago, BoomerDutch said:

You probably was missing packages and extra support

I already tried reinstalling a few packages (wine dependencies, nvidia drivers and etc) that were recommended by the users on the Arch subreddit nothing they said changed anything. 

 

I also added cpu microcode detection and loading parameters in the mkinitcpio file.

I configured the drives to automount on boot in /etc/fstab (someone said that it may be the reason of the impact on the performance).

Link to comment
Share on other sites

Link to post
Share on other sites

23 hours ago, BoomerDutch said:

I'd suggest to use x11 on kde desktop because to me it has better performance.

My monitors are mixed (both resolution and refresh rate). That is a no go.

On 4/13/2024 at 5:26 PM, BoomerDutch said:

Try switching screen modes sometimes games drop fps on wrong screen modes.

Exactly what should I do?

On 4/13/2024 at 5:26 PM, BoomerDutch said:

gamemode

I do have that, thanks a lot for everything.

Link to comment
Share on other sites

Link to post
Share on other sites

23 hours ago, Nayr438 said:

How is Quake Champions installed, if it's through steam then how is steam installed.
If it's using Proton have all the wine deps been installed and are you using Steam(Ubuntu) Runtime or Steam Native (Arch Runtime)

For Steam Native and all of the WINE Deps.

23 hours ago, Nayr438 said:
pacman -S steam steam-native-runtime


Make sure NVIDIA is properly installed and configured

  Reveal hidden contents

 

 

pacman -S nvidia nvidia-utils lib32-nvidia-utils


DRM kernel mode setting

Preserve video memory after suspend


If using flatpak ensure the nvidia runtime is installed

  Reveal hidden contents

Check if it is installed

flatpak-list | grep nvidia


If it's not then you need to find your nvidia driver version, then do

flatpak remote-ls | grep org.freedesktop.Platform.GL.nvidia


Now find the one that matches your current driver and do

flatpak install runtime/org.freedesktop.Platform.GL.nvidia-545-23-08 runtime/org.freedesktop.Platform.GL32.nvidia-545-23-08

replacing nvidia-545-23-08 with whatever version you need

The flatpak runtime has to always match the host driver, so expect to update this.

 

Steam is a pacman package. I like to avoid flatpaks as much as possible. On Ubuntu that also applies to snaps.

Quake is installed via Steam.

I have verified that I have all the wine dependencies.

 

I think I was mission steam-native-runtime, but Quake is not native, so I doubt it will help. Anyway I installed it.

I was missing these packages after running ```pacman -S``` with the ```--needed``` flag:

cups-filters-2.0.0-1  libcupsfilters-2.0.0-1  libexif-0.6.24-2
libieee1284-0.2.11-15  libppd-2.0.0-1  liburing-2.5-1
net-snmp-5.9.4-2  poppler-glib-24.03.0-1  qpdf-11.9.0-1
cups-1:2.4.7-2  libgphoto2-2.5.31-1  samba-4.20.0-2  sane-1.3.0-2

Nivida is installed, but the ```nvidia_drm.fbdev=1``` kernel parameter is not enabled. Note that when I was running the 545 drives and it was running fine on Arch. Meanwhile the Wiki says:

Quote

has known issues that are only possibly fixed in the driver version 550 and above

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

I am still CPU bound after adding the nvidia_drm.fbdev=1 kernel parameter.

 

Also I am installing nvidia-550.67-6 over nvidia-550.67-1.

Link to comment
Share on other sites

Link to post
Share on other sites

With the help of the wonderful people on the Arch Forums we diagnosed the problem as a CPU governors issue. 

 

I quickly went to run this command which changed the governor from power saving to performance (according to the wiki)

cpupower frequency-set -g performance

 

Here is how you set it permanently.

 

Apparently the power saving mode actually makes the CPU run at a lower frequency, which explains the high CPU usage, as CPU status reporting programs usually scale their output to CPU frequency, not full load (which makes sense because there are people who overclock or underclock their CPUs). Thus the performance has been improved by more than 5x, I calculated that roughly from the results I had seen before and compared them to the ones I have now. (including less CPU usage)

 

I jumped into the game and the CPU usage was way lower, in some cases it was identifying as 0% while doing less intensive things. Beforehand it was around 10% (remember this is a 36 thread CPU). The game is now running better than it does on Ubuntu, just like I first expected.

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×