Need Help - GPU at 100% Utilisation on Any Game

Hello, recently (From around this January I think) I have been having a stuttery experience that I originally dismissed as thermal issue and shaders issue. However, 2 days ago I started testing other games (Squad, Elden Ring, Battlefield V, Kingdom Come, BeamNG) and found out through MangoHud that the stutter was universal caused by GPU utilisation spiking up to 100% even in some game’s main menu for no reason. After 30 seconds or so, the game will proceed to stutter or get stuck at very low frames (10 fps) and stay that way. GPU temperature would hover around 85c at most, CPU temperature at 80c, thermal throttling at 93c, so definitely not thermal issue.

The expected performance is for the GPU to not hover around 100% and for games to run smoothly, because these games ran fine on Windows previously. What’s more confusing is that Arma of all games ran the way I expected it to run, 25% GPU utilisation on a map with 50 AI having a shootout and 2 vehicles, no stutter or dipping to very low frames.

My laptop is MSI GF65 9SEXR and below are pastes that should contain all the information needed;

lspci
vkinfo
pacman.conf and packages in case I done goof’d

Linux 6.8.1-arch1-1 #1 SMP PREEMPT_DYNAMIC Sat, 16 Mar 2024 17:15:35 +0000
OpenGL renderer string: Mesa Intel(R) UHD Graphics 630 (CFL GT2)

I appreciate any help, I’ve been at this for 2 days straight and I’m at my wits end.

EDIT 1:
I ran xrandr --listproviders and got Providers: number : 0, then I installed GreenWithEnvy and received ERROR: NV-CONTROL missing!, except libxnvctrl is installed. No concrete idea what the issue is, but my guess is that the graphic card wasn’t properly configured/installed

EDIT 2:
Ignore the above, that was some Wayland mishap, xrandr output as follows
Providers: number : 2 Provider 0: id: 0x1b7 cap: 0x1, Source Output crtcs: 4 outputs: 1 associated providers: 1 name:NVIDIA-0 Provider 1: id: 0x1e6 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 3 outputs: 1 associated providers: 1 name:modesetting

Corectrl doesn’t detect my gpu, but that’s probably a separate issue

As far as I know, linux will always try to use every bit of the gpu. The only way to control it is to change the games graphics settings. I know their is some issue with radeon cards and hardware cursors that can be worked around with some environment variables. You can set an fps cap with mangohud or simply turn settings down to medium or something like that.

I doubt any recent modern game from the last several years like Elden Ring can run on en integrated gpu.

That is usually installed when you have an Nvidia gpu, I thought you only have an integrated intel gpu?

1 Like

How much is the Video Memory of UHD 630?

Being an Integrated GPU, the Intel UHD Graphics 630 doesn’t have any Video/Graphics Memory of its own. Instead, it utilizes the system’s memory (RAM) dynamically for the same purpose. You can change the maximum Video Memory from the BIOS settings.

Gaming gpu’s need at least their on vram, this gpu doesn’t have that so it’s not meant for gaming.

For professional gaming and high-end productivity work, and doing other stuff like Machine Learning, Cryptocurrency Mining, Video Rendering, and Designing, a dedicated GPU is a must. But for basic usage, light-gaming, and 4K video playback, the Intel UHD Graphics 630 is more than sufficient.

All the games you list require gpu’s with vram(between 1 and 4 as the minimum requirements), so Im not really surprised your games stutter.

If it was working back in January, try switching to the lts kernel?

I think there’s a bit of confusion, I do have a RTX2060 dedicated card, and it would run the aforementioned games pretty smoothly without issues back on windows and roughly around January. I have tried LTS kernel and tried nvidia-lts, didn’t do much of anything either.

You only shared that you had an intel gpu, that’s why I was confused why you were gaming on an intel gpu which isn’t meant for gaming.

That is the interesting thing, I have tried capping my frames to 30 FPS on BeamNG, it dropped GPU util to 60% which I thought is reasonable, but it still stutters, and when it does, the GPU util would spike up to 100%, it’s like there’s something that is causing it to spike up for 0.5 second every 1 second.

I have also set my mouse polling rate to 500mhz because I’ve heard of ghost stuttering due to +1ghz mouse polling rate, but that also did nothing.

Oh is OpenGL renderer meant to show the dedicated cards instead of the integrated one even on laptops with hybrid graphic cards setup?

You could have probably shared both by sharing the output of the following.
lspci | grep -i vga
My laptop with an integrated intel gpu shows up as well when using that.

I did share the general lspci output because I thought the full info would be more helpful, but here’s the output
00:02.0 VGA compatible controller: Intel Corporation CoffeeLake-H GT2 [UHD Graphics 630]
01:00.0 VGA compatible controller: NVIDIA Corporation TU106M [GeForce RTX 2060 Mobile] (rev a1)

lol I see it now, you shared that as a link, not in the post itself so it’s easy to miss, it’s better to share command output in the post it self in the topic(unless it’s pages of output) and log file output in a link

Ah yeah, that’s like pages long paste for each output so I put it in a pastebin and hyperlinked it

1 Like

That would make me think that maybe the game is using the wrong gpu with such low framerates, so the Intel instead of the Nvidia gpu. Look in that direction, see if you can verify that or select a specific gpu through launch options.

https://wiki.archlinux.org/title/bumblebee
https://wiki.archlinux.org/title/NVIDIA_Optimus
https://wiki.archlinux.org/title/PRIME

I’ve never had a laptop with dual-graphics so that’s about all the advice I can give on that.

1 Like

I did, or, atleast I’m sure I did, ran a game and made sure the game’s process is within nvidia-smi which as far as I know, tells me that the game is running under my dedicated card, unless there’s some jank that could show the process there but the process is not actually being run under my dedicated card.

1 Like

Ah I didn’t read this part- That is pretty odd considering every laptop I ever had always had 2 graphics card, but I learn something today. Thanks for the advices though! I did try to use envycontrol to shove everything onto my dedicated card just to see what’d happen, nothing much.