Steam: Periodic Frame Rate Drops, Warnings In Log

When I play games through Steam, they work well for 10-30 minutes at 30-60 fps. Then, periodically (about once every 5-10 minutes), the game’s frame rate will drop to 2-12 fps and everything (the game and other applications) will “chug” for 1-2 minutes then return to normal. Rinse, repeat.

When I look at the log, I see a bunch of these kinds of warnings appearing:

steam[7411]: g_main_context_push_thread_default: assertion 'acquired_context' failed
steam[7411]: g_main_context_pop_thread_default: assertion 'g_queue_peek_head (stack) == context' failed
kernel: x86/split lock detection: #AC: Cities.x64/8905 took a split_lock trap at address: 0x7f4eaa0cdf94
kernel: x86/split lock detection: #AC: Cities.x64/8906 took a split_lock trap at address: 0x7f4eaa0cdf94

Is this a Steam bug that needs to be reported or is there a way to correct this?

1 Like

Without testing I would suggest you try using a different proton version with that game. Steam allows multiple versions of proton to be installed and the user can select a specific version for each game. It may be proton or may not, but that seems worth a try.

I was running War and Thunder and had to revert to a version of proton several levels back to stabilize operation.

Already did, same result.

Also, I just tried a non-Steam game and the same happened. So it’s not Steam-specific.

One thing I notice is that the fan doesn’t seem to be spinning up to max when gaming. I hear it, but it doesn’t seem to be as high as it can go. It might be overheating and frequency scaling to prevent damage?

Now the question is - why is the fan not spinning up to max speed? It’s seems to go from low to medium but not high.

I followed steps to reinstall the Nvidia driver packages and it seems to have fixed the issue. Not sure what changed.

I take it back - it didn’t work. Seemed to work yesterday but today the chugging is happening again.

It doesn’t appear to be overheating. The CPU can get up to 90C but generally stays in the 80s. GPU gets up to 86 but stays in low 80s for most part.

I figured out what the problem is: It is overheating. Specifically, the CPU is reaching the thermal warning limit and throttling. The system fan, on automatic, is only going up to about 4200 RPM even though it is capable of 6100 RPM max. In order to get it up to the max, I have to control it manually. It didn’t used to be like this. Anyone know how to fix the automated fan being limited in speed?

You can try CoreCtrl and see if it works for you
sudo dnf install corectrl

Or just modify fan curve in UEFI if it supports that

Doesn’t look like I can do anything from UEFI. There is a hardware monitor but I can’t click on it.

corectrl won’t work either. It’s ASUS and seems to have a custom fan setup that it can’t access.

Neither will asusctl. It says fan profiles are not supported.

I’m at a loss… not sure why or how the fan curve changed or how to change it back.

I’ve found this in the logs:

asus_wmi: fan_curve_get_factory_default (0x00110024) failed: -19
asus_wmi: fan_curve_get_factory_default (0x00110025) failed: -19

Seems it may be a bug in the asus_wmi package. Anyone know where to report this? I can’t seem to find any repo for it.