Factorio dropping to <30 FPS when running in KDE

Anything that prevents you from playing the game properly. Do you have issues playing for the game, downloading it or successfully running it on your computer? Let us know here.
fastmaxr
Burner Inserter
Burner Inserter
Posts: 11
Joined: Sun Dec 28, 2025 2:07 pm
Contact:

Factorio dropping to <30 FPS when running in KDE

Post by fastmaxr »

Hi all,

Love the game. I moved to linux recently. Under windows 10 it works great at 60 FPS solid. I have an NVIDIA 3080 ti and an AMD 5950 so plenty of power.
In F4 in Factorio, I can see the flip time to be around 3 ms... so well below the 16ms limit for 60FPS. The game should still work at 60 fps. Note that I can do nvidia-smi under Linux and I see the information about the driver... so the driver is correctly installed. I am using Fedora 43 with KDE.

The graphics card is NOT overheating as temperatures never reach 60 ºC.

I did try with CachyOS with the same KDE and the problem is also there, so this is not Fedora.
I did try Pop!_OS which runs Cosmic and the problem was gone (!!)

I tried Fedora with gnome and the problem was gone (!)

Maybe this is a KDE+Weyland interaction?

I also tried forcing a proton 9 and proton hotfix compatibility layer and this did not work.

I tried logging into Fedora with X11. This did not work. Tried setting up Factorio to use X11, this did not work either. Tried disabling v-sync in factorio. This did not work either. I also tried to force clocks on the graphics card with

sudo nvidia-smi -lgc 1500,2100

but this did not work.
User avatar
pioruns
Fast Inserter
Fast Inserter
Posts: 248
Joined: Tue Nov 05, 2024 3:38 pm
Contact:

Re: Factorio dropping to <30 FPS when running in KDE

Post by pioruns »

I play on Fedora 43 KDE, and it works perfectly well for me. But I do have a Radeon 6800XT card, not Nvidia.
So Fedora KDE + Wayland + Radeon works well.
But in your case, Fedora KDE + Wayland + Nvidia doesn't work well.
The problem may be with Nvidia driver under specific conditions (KDE 6 + Wayland session).

Please attach game log here, maybe devs can look at it.
And consider reporting this to Fedora forums (https://discussion.fedoraproject.org/), and/or bug tracker (https://docs.fedoraproject.org/en-US/qu ... ile-a-bug/), and/or Nvidia (not sure about procedure here, as I don't use Nvidia GPU in my main PC).
fastmaxr
Burner Inserter
Burner Inserter
Posts: 11
Joined: Sun Dec 28, 2025 2:07 pm
Contact:

Re: Factorio dropping to <30 FPS when running in KDE

Post by fastmaxr »

Thanks for the reply. Yeah... seems an interaction between KDE and Nvidia.

Note that I tried many other things, like installing the proprietary Nvidia drivers, starting the session with X11, forcing Factorio to use X11 (so Wayland might not be at fault here). I also tried compatibility layers (proton 9, hotfix, etc).

I have attached the current log to see if it helps.
Attachments
factorio-current.log
(11.65 KiB) Downloaded 15 times
fastmaxr
Burner Inserter
Burner Inserter
Posts: 11
Joined: Sun Dec 28, 2025 2:07 pm
Contact:

Re: Factorio dropping to <30 FPS when running in KDE

Post by fastmaxr »

I forgot to mention that I start playing at 60 fps and sometimes after some minutes... other times after quite a while... it drops to 30ish FPS... After it drops to 30 FPS I have to system reboot to play again at 60 fps.

More info in case it helps:

Code: Select all

Sun Dec 28 16:17:00 2025       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.119.02             Driver Version: 580.119.02     CUDA Version: 13.0     |
+-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 3080 Ti     Off |   00000000:02:00.0  On |                  N/A |
| 44%   41C    P5             36W /  400W |    3241MiB /  12288MiB |     10%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A            2807      G   /usr/bin/kwin_wayland                   211MiB |
|    0   N/A  N/A            2891      G   /usr/bin/maliit-keyboard                572MiB |
|    0   N/A  N/A            2903      G   /usr/bin/Xwayland                         4MiB |
|    0   N/A  N/A            2953      G   /usr/bin/ksmserver                        3MiB |
|    0   N/A  N/A            2955      G   /usr/bin/kded6                            3MiB |
|    0   N/A  N/A            3043      G   /usr/bin/kaccess                          3MiB |
|    0   N/A  N/A            3044      G   ...it-kde-authentication-agent-1          3MiB |
|    0   N/A  N/A            3046      G   ...ibexec/xdg-desktop-portal-kde          3MiB |
|    0   N/A  N/A            3177      G   /usr/bin/kdeconnectd                      3MiB |
|    0   N/A  N/A            3261      G   /usr/bin/xwaylandvideobridge              3MiB |
|    0   N/A  N/A            3292      G   /usr/libexec/DiscoverNotifier             3MiB |
|    0   N/A  N/A            3382      G   /usr/bin/ksecretd                         3MiB |
|    0   N/A  N/A            3602      G   ...ess --variations-seed-version         45MiB |
|    0   N/A  N/A            3832      G   /app/lib/librewolf/librewolf            641MiB |
|    0   N/A  N/A            3961      G   /app/joplin-desktop/joplin              213MiB |
|    0   N/A  N/A            5004      G   /usr/libexec/baloorunner                  3MiB |
|    0   N/A  N/A            5122      G   ...share/Steam/ubuntu12_32/steam          4MiB |
|    0   N/A  N/A            5377      G   ./steamwebhelper                         60MiB |
|    0   N/A  N/A            5407      G   ...am/ubuntu12_64/steamwebhelper        315MiB |
|    0   N/A  N/A           11832      G   /usr/bin/plasmashell                    316MiB |
|    0   N/A  N/A           18308      G   /usr/bin/konsole                          3MiB |
|    0   N/A  N/A           23222      G   /usr/bin/kcalc                            3MiB |
|    0   N/A  N/A           31464      G   /app/Bitwarden/bitwarden-app             64MiB |
|    0   N/A  N/A           34223      G   /usr/bin/systemsettings                  46MiB |
|    0   N/A  N/A           36721      G   /usr/bin/dolphin                          3MiB |
|    0   N/A  N/A           36837      G   /usr/bin/kwrite                           3MiB |
+-----------------------------------------------------------------------------------------+
User avatar
pioruns
Fast Inserter
Fast Inserter
Posts: 248
Joined: Tue Nov 05, 2024 3:38 pm
Contact:

Re: Factorio dropping to <30 FPS when running in KDE

Post by pioruns »

Can you share nvidia-smi result but with Factorio running? The one you shared doesn't list Factorio on the list of processes utilizing GPU memory.
Do you run the game directly, or through Steam?

Please also test GPU under stress, I recommend Furmark. See if temps are OK under heavy load. Maybe the card is switching itself to some power saving mode for some reason, and stays there. I know Factorio should not do this, as it doesn't stress GPU much, but worth checking nonetheless.
fastmaxr
Burner Inserter
Burner Inserter
Posts: 11
Joined: Sun Dec 28, 2025 2:07 pm
Contact:

Re: Factorio dropping to <30 FPS when running in KDE

Post by fastmaxr »

This is

Code: Select all

nvidia-smi
with Factorio running (I run factorio through Steam).

Code: Select all

+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.119.02             Driver Version: 580.119.02     CUDA Version: 13.0     |
+-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 3080 Ti     Off |   00000000:02:00.0  On |                  N/A |
| 66%   48C    P3             90W /  400W |    7600MiB /  12288MiB |     34%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A            2821      G   /usr/bin/kwin_wayland                   147MiB |
|    0   N/A  N/A            2903      G   /usr/bin/maliit-keyboard                566MiB |
|    0   N/A  N/A            2915      G   /usr/bin/Xwayland                         4MiB |
|    0   N/A  N/A            2980      G   /usr/bin/ksmserver                        3MiB |
|    0   N/A  N/A            2982      G   /usr/bin/kded6                            3MiB |
|    0   N/A  N/A            2997      G   /usr/bin/plasmashell                    558MiB |
|    0   N/A  N/A            3074      G   /usr/bin/kaccess                          3MiB |
|    0   N/A  N/A            3075      G   ...it-kde-authentication-agent-1          3MiB |
|    0   N/A  N/A            3077      G   ...ibexec/xdg-desktop-portal-kde          3MiB |
|    0   N/A  N/A            3191      G   /usr/bin/kdeconnectd                      3MiB |
|    0   N/A  N/A            3282      G   /usr/bin/xwaylandvideobridge              3MiB |
|    0   N/A  N/A            3308      G   /usr/libexec/DiscoverNotifier             3MiB |
|    0   N/A  N/A            3389      G   /usr/bin/ksecretd                         3MiB |
|    0   N/A  N/A            3608      G   ...ess --variations-seed-version         42MiB |
|    0   N/A  N/A            3797      G   /app/lib/librewolf/librewolf            651MiB |
|    0   N/A  N/A            3973      G   /usr/bin/konsole                          3MiB |
|    0   N/A  N/A            4499      G   ...share/Steam/ubuntu12_32/steam          4MiB |
|    0   N/A  N/A            4849      G   ./steamwebhelper                         96MiB |
|    0   N/A  N/A            4879      G   ...am/ubuntu12_64/steamwebhelper        329MiB |
|    0   N/A  N/A            5277      G   ...mon/Factorio/bin/x64/factorio       4717MiB |
+-----------------------------------------------------------------------------------------+
I will stress the GPU to see temps, but the GPU barely gets hot. I have a super tower (Fractal Design 7 XL) full of Noctua fans.
VERY important information. I installed Fedora Workstation (Gnome), installed nvidia drivers and little else... played factorio for a good two hours and then BAM! fps drop. I had been under the hyphotesis that Gnome was not the issue, but indeed FPS dropped... They took much longer than in KDE, but they dropped.

Moving to Fedora KDE after a reboot gives me again normal FPS until they drop again.

Seems to me --after eliminating distro and KDE/Gnome variables a driver issue.
User avatar
pioruns
Fast Inserter
Fast Inserter
Posts: 248
Joined: Tue Nov 05, 2024 3:38 pm
Contact:

Re: Factorio dropping to <30 FPS when running in KDE

Post by pioruns »

Your PC is very similar to mine indeed. I also have 5950X and Fractal case (Meshify 2 model) 😃 Before upgrading to Meshify, I had Fractal Design R5.

That nvidia-smi output, it is while performance already dropped? At any point, did your GPU VRAM bot filled completely?
Please have terminal opened with

Code: Select all

sudo dmesg -w
while playing Factorio and especially when FPS drop happens. See if it logs any driver errors, or anything else suspicious.
Lastly, download the game from your account at factorio.com and run it directly from executable without Steam. See if that helps.

So far from the knowledge gathered, to me, it looks like:
* damaged GPU, or
* problem with Nvidia driver, or
* GPU memory leak causing GPU VRAM to fill, dropping performance.
fastmaxr
Burner Inserter
Burner Inserter
Posts: 11
Joined: Sun Dec 28, 2025 2:07 pm
Contact:

Re: Factorio dropping to <30 FPS when running in KDE

Post by fastmaxr »

Humm... interesting. I think I am getting more information. Thank you!

This is nvidia-smi just when FPS started to drop.

Code: Select all

+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.119.02             Driver Version: 580.119.02     CUDA Version: 13.0     |
+-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 3080 Ti     Off |   00000000:02:00.0  On |                  N/A |
| 66%   47C    P3             81W /  400W |    5830MiB /  12288MiB |     37%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A            5750      G   /usr/bin/kwin_wayland                   179MiB |
|    0   N/A  N/A            5829      G   /usr/bin/maliit-keyboard                566MiB |
|    0   N/A  N/A            5840      G   /usr/bin/Xwayland                         4MiB |
|    0   N/A  N/A            5891      G   /usr/bin/ksmserver                        3MiB |
|    0   N/A  N/A            5893      G   /usr/bin/kded6                            3MiB |
|    0   N/A  N/A            5904      G   /usr/bin/plasmashell                    282MiB |
|    0   N/A  N/A            5983      G   /usr/bin/kaccess                          3MiB |
|    0   N/A  N/A            5987      G   ...it-kde-authentication-agent-1          3MiB |
|    0   N/A  N/A            5989      G   ...ibexec/xdg-desktop-portal-kde          3MiB |
|    0   N/A  N/A            6115      G   /usr/bin/kdeconnectd                      3MiB |
|    0   N/A  N/A            6205      G   /usr/bin/xwaylandvideobridge              3MiB |
|    0   N/A  N/A            6228      G   /usr/libexec/DiscoverNotifier             3MiB |
|    0   N/A  N/A            6317      G   /usr/bin/ksecretd                         3MiB |
|    0   N/A  N/A            6531      G   ...ess --variations-seed-version         42MiB |
|    0   N/A  N/A            6711      G   /app/lib/librewolf/librewolf            398MiB |
|    0   N/A  N/A            7506      G   /usr/bin/konsole                          3MiB |
|    0   N/A  N/A            7549      G   /usr/bin/konsole                          3MiB |
|    0   N/A  N/A            7597      G   /usr/bin/konsole                          3MiB |
|    0   N/A  N/A            8162      G   ./factorio                             4000MiB |
|    0   N/A  N/A           24672      G   /usr/bin/konsole                          3MiB |
+-----------------------------------------------------------------------------------------+
Then this is a concerning message that just appeared in dmesg when FPS dropped:

Code: Select all

[ 2364.083272] perf: interrupt took too long (3283 > 3218), lowering kernel.perf_event_max_sample_rate to 60000
Interesting. Not really sure what that message is about.

Also, I downloaded and playing factorio outside of Steam... Cool... waiting for steam to open is annoying.

Any idea about that message? Thank you!
fastmaxr
Burner Inserter
Burner Inserter
Posts: 11
Joined: Sun Dec 28, 2025 2:07 pm
Contact:

Re: Factorio dropping to <30 FPS when running in KDE

Post by fastmaxr »

Oh BTW. I played all day with Windows 10 at 60 fps no problem. I do not think the GPU is faulty.
User avatar
pioruns
Fast Inserter
Fast Inserter
Posts: 248
Joined: Tue Nov 05, 2024 3:38 pm
Contact:

Re: Factorio dropping to <30 FPS when running in KDE

Post by pioruns »

fastmaxr wrote: Mon Dec 29, 2025 5:03 pm Any idea about that message? Thank you!
This message is harmless, but it's indicating your CPU was very busy and Linux kernel could not do in time what it was planning to do. I often see that on my home server, which gets very CPU-heavy, but it should not happen on 5950X, to be honest.

You can decrease polling rate by editing this file:

Code: Select all

sudo nano /etc/sysctl.conf
Add this line to the bottom, save and exit:

Code: Select all

kernel.perf_event_max_sample_rate=60000
Then, reboot your computer, or apply instantly by:

Code: Select all

sudo sysctl -p
Regarding performance drops, it looks difficult, but you can still try a few things, before doing last resort change which is reinstalling to a distro which is working well with your configuration (not Fedora + KDE + Wayland combination, that's confirmed).
See if you can play any other game, for prolonged periods of time, on that Linux install?
According to your nvidia-smi result, Factorio used exactly 4000MB of GPU VRAM, try running another game and see if you can exceed that? Could be some VRAM limit applied by the driver or something else?
Lastly, add another command to run while playing Factorio, to watch for suspicious results:

Code: Select all

htop
That will show you CPU use, could be something else hogging CPU when your FPS drops.
fastmaxr
Burner Inserter
Burner Inserter
Posts: 11
Joined: Sun Dec 28, 2025 2:07 pm
Contact:

Re: Factorio dropping to <30 FPS when running in KDE

Post by fastmaxr »

OK, let me try all day... thing is that I tried Pop!_OS (Cosmic, not KDE) and works perfectly... darn... this must be a very weird interaction.

I have also ruled out that virtualizing is not an issue (I use proxmox as the host and all my VMs are virtualized, but 1) Pop!_OS is virtualized and it works, Windows 10 is virtualized and it works)... I also tried baremetal Pop!_OS and it works... I will try baremetal Fedora KDE today to see if that solves the issue.

But yeah... those exact 4K MB of VRAM being used is pretty sys... let me keep trying.

I use htop (I prefer btop) and I did not observe anything suspect.

I will report later with my findings.
User avatar
pioruns
Fast Inserter
Fast Inserter
Posts: 248
Joined: Tue Nov 05, 2024 3:38 pm
Contact:

Re: Factorio dropping to <30 FPS when running in KDE

Post by pioruns »

So you are saying some or all experiences described here were on some kind of VM through Proxmox with GPU passthrough, not a baremetal Fedora KDE install? Sorry but I have not noticed that earlier, or I may have misunderstood you now, please help me understand.
fastmaxr
Burner Inserter
Burner Inserter
Posts: 11
Joined: Sun Dec 28, 2025 2:07 pm
Contact:

Re: Factorio dropping to <30 FPS when running in KDE

Post by fastmaxr »

My most sincere apologies... I am seeing above that I never explained this in the first place. Some of the tests above where done in baremetal, however.

I have been playing for a bit on a Pop!_OS (Cosmic, virtualized) and the problem repeated... strange... I had been playing on Pop!_OS (also virtualized) for several hours a few day ago and the problem did not pop up.

I am preparing a baremetal Fedora 43 KDE right now... I will test with that to see if the problem is a combo between proxmox and Nvidia drivers (since all Cosmic, KDE and Gnome show the problem, also X11 and Wayland, we can rule those out).

Again, Windows 10 (virtualized) works perfectly... I had been playing for hours and hours on virtualized windows... but alas... even though I can switch VMs very easily in proxmox (even with passthrough, I have scripts for that)... I really, really want to finally ditch windows.
User avatar
pioruns
Fast Inserter
Fast Inserter
Posts: 248
Joined: Tue Nov 05, 2024 3:38 pm
Contact:

Re: Factorio dropping to <30 FPS when running in KDE

Post by pioruns »

I've been running Linux baremetal for many years. My last Windows I used on baremetal was 10, about 7 years ago. Since then, I have Libvirt VMs with Windows 7 running isolated financial software 24/7, but that's it.
Switching to pure Linux baremetal is doable :) Just try to run things daily on baremetal, without complicating things too much with crazy VM setups :D
fastmaxr
Burner Inserter
Burner Inserter
Posts: 11
Joined: Sun Dec 28, 2025 2:07 pm
Contact:

Re: Factorio dropping to <30 FPS when running in KDE

Post by fastmaxr »

Indeed.

I started a few months ago to migrate everything to Linux based systems and building a homelab. Proxmox gives me lots of flexibility to move VMs around, take snapshots and complete VM backups that take 90 seconds (incremental and with deduplication with proxmox backup server). I also moved all my storage to ZFS pools. Night and day compared to storage spaces in windows. This has been years in the making… I just never found the time.

So, I played several hours this morning with Fedora 43 KDE plasma on baremetal… the problem did not appear. That is a possibility… booting baremetal is a bit of a PITA as I need to keep another disk and shut down the hypervisor, but better than using the windows VM in any case.

I will continue testing as this problem sometimes pops up right at the start and other times shows up after a couple of hours or more.

I will make a post on proxmox forums to get some help there, but to me it looks like the GPU passthrough is working.

Hey, thanks a lot for all the help.
fastmaxr
Burner Inserter
Burner Inserter
Posts: 11
Joined: Sun Dec 28, 2025 2:07 pm
Contact:

Re: Factorio dropping to <30 FPS when running in KDE

Post by fastmaxr »

Humm... I think I found something interesting.

While playing on Fedora 43 KDM VM, I put a console window with "journalctl -f"

Just when Factorio dropped from solid 60 fps to anything between 20 to 40ish fps (depending on how busy the screen is) I got this in the terminal:

Code: Select all

dic 31 11:55:42 f43vm kernel: clocksource: timekeeping watchdog on CPU6: Marking clocksource 'tsc' as unstable because the skew is too large:
dic 31 11:55:42 f43vm kernel: clocksource:                       'acpi_pm' wd_nsec: 495951580 wd_now: 3b3a0b wd_last: 20235a mask: ffffff
dic 31 11:55:42 f43vm kernel: clocksource:                       'tsc' cs_nsec: 496510172 cs_now: 75b09c288c0 cs_last: 75aa553e438 mask: ffffffffffffffff
dic 31 11:55:42 f43vm kernel: clocksource:                       Clocksource 'tsc' skewed 558592 ns (0 ms) over watchdog 'acpi_pm' interval of 495951580 ns (495 ms)
dic 31 11:55:42 f43vm kernel: clocksource:                       'tsc' is current clocksource.
dic 31 11:55:42 f43vm kernel: tsc: Marking TSC unstable due to clocksource watchdog
dic 31 11:55:42 f43vm kernel: TSC found unstable after boot, most likely due to broken BIOS. Use 'tsc=unstable'.
dic 31 11:55:42 f43vm kernel: sched_clock: Marking unstable (2314262715299, -4987639)<-(2314381115369, -123389079)
dic 31 11:55:42 f43vm kernel: clocksource: Checking clocksource tsc synchronization from CPU 5 to CPUs 0,2,10,13-14,16,18,26.
dic 31 11:55:42 f43vm kernel: clocksource: Switched to clocksource acpi_pm
Interesting... will deep dive on this... but looks like a proxmox issue regarding the clock.
fastmaxr
Burner Inserter
Burner Inserter
Posts: 11
Joined: Sun Dec 28, 2025 2:07 pm
Contact:

Re: Factorio dropping to <30 FPS when running in KDE

Post by fastmaxr »

Yip... that was it. I deep dived to the bottom of the ocean... I had to fine-tune the virtualization... Ryzen 5950X has two CCDs, which means that moving processes from one CCD to the other has a cache penalty (among other things). This was creating some inconsistencies in the "virtualized clock"... when the kernel in the VM detected these inconsistencies, it would drop the clock from tsc to a much slower one (acpi_pm), which caused the performance to tank.
After the fine-tuning I still got the message (but much more sparingly), so I just added a kernel parameter "tsc=reliable" so that the kernel in the VM would not change the clock after small inconsistencies.

Problem solved!

Happy New Year!
Post Reply

Return to “Technical Help”