Table of Contents
Introduction
While playing Factorio, the game crashes every so many hours at random interval with no premature warning. Nothing works anymore, the computer completely freezes while the game and Windows are both still visible on my monitors. After a few seconds not a single keyboard command works anymore and the only things that still works is my mouse cursor. I have to hard reset my computer to get it working again. After rebooting, I look at the game logs but I found nothing that looks like an error.
My PC specs should be more than sufficient according to the recommended requirements. My PC does not overheat and I have a sufficient power supply as well. I have the latest Windows updates and video card drivers as well. Those things are all ruled out.
Windows Event Viewer
Right click on Windows Start Icon -> Event Viewer
In the Event Viewer, after going to Windows Logs -> System
At the Actions side panel at the right side: Filter Current Log… I set check marks at Event Level: Critical and Error After clicking okay, I notice a log with:
The server Windows.Gaming.GameBar.PresenceServer.Internal.PresenceWriter did not register with DCOM within the required timeout.
I see multiple of these logs at the times my computer froze.
First Attempt: Removing Xbox Gaming Overlay
Via a PowerShell terminal:
Get-AppxPackage Microsoft.XboxGamingOverlay | Remove-AppxPackage
PowerShellAfter a few more attempts to play the game, it seems that did not help. The game crashed again and again.
Further attempts
I started digging to solve the problem but my searches did not really give me anything that helped.
- I tried tweaking with the game settings, lowering quality settings and such, it did not help.
- I tried “Verify integrity of game files” in Steam, but it was 100% okay.
- I read the idea of adding the launch option:
--force-opengl
without even knowing if the game really responds to that. It did not help. - I monitored CPU and GPU temperatures, it did not help.
- I read about my XMP RAM profile being the problem, so I turned off the XMP profile in the bios and set my RAM back to 5600MTs, it did not help.
- I tried monitoring CPU and GPU temperatures, but they were perfectly normal.
- On the Factorio forums, I read about a failing CPU, but my CPU was only burdened for about 20 to 30%.
- I also tested my RAM and SSD health. No problems there either.
The Solution
Again I was monitoring the CPU and GPU temperatures and the workload, this time in the AMD Adrenaline software. And what I then noticed, was that there were two GPU’s active: My dedicated (discrete) GPU (the separate video card plugged into the motherboard), and the Integrated GPU (iGPU). The Integrated GPU is actually my CPU doing graphics stuff. It then struck me what was posted on the forums: A failing CPU. My CPU was doing double time, doing both CPU and GPU stuff and was running on maximum power. Meanwhile my dedicated video card was chilling out. So, as it turns out, it maybe was a failing CPU, but not for the reasons I read about. My CPU was not doing very much CPU things actually.
I was not aware my CPU even had a integrated GPU, I usually pay attention to buy CPU’s without. If I had known this was turned on, I would have turned it off earlier. I did also not assume that a game would rely on it while there is a discrete GPU available.
In the BIOS (in my particular model), I turned the iGPU off via:
Advanced -> AMD CBS -> NBIO Common Options -> GFX Configuration -> iGPU Configuration -> Disabled.
No More Crashes
After rebooting the computer I noticed the iGPU was totally gone from the AMD Adrenaline software. I don’t know if I had to be this rigorous, but the game stopped crashing since. So it seems it worked. The point that remains is that I can’t verify if one of the other things I tried and changed were necessary as well.
In Hindsight: There is a Windows Configuration
Windows 11 also has the possibility to setup which GPU to render which application. I have configured this later as well. The setting can be found via:
Settings -> System -> Display -> Graphics
You then see a list with applications. Click on Factorio and set the GPU preference on your dedicated GPU.
Conclusion
So as it turned out, disabling my Integrated CPU in the Bios solved the problem. I did not have any new crashes so far. As I stated before, I do not know the influence of the other things I tried had on the crashes.