flightlessmango / MangoHud

A Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and more. Discord: https://discordapp.com/invite/Gj5YmBb
MIT License
6.54k stars 291 forks source link

Crashes Splitgate on startup #1445

Closed gyvess closed 1 month ago

gyvess commented 1 month ago

Describe the bug Splitgate crashes immediately when mangohud is enabled.

List relevant hardware/software information

Additional context This crash seems to be caused by the latest commit https://github.com/flightlessmango/MangoHud/commit/d22450796d588ce30ae0d4585f5aebe17e1fa8f8 since the last time I built from git was on September 12th. Having built mangohud again hours ago, it is now crashing Splitgate. I tried two other games and they launch without issue, however neither were native games as they both run through Proton.

stele95 commented 1 month ago

For me it's crashing all games, both native and Proton. I've tested with Valheim (native), Helldivers 2 (Proton) and Hogwarts Legacy (Proton). When building MangoHud from the previous commit (https://github.com/flightlessmango/MangoHud/commit/feef6e395b6e824b7f12af127818e8ffbfc23305), everything works as expected.

stele95 commented 1 month ago

After testing again, Proton games that were using gamescope for HDR are crashing. Proton games that are not using gamescope are working fine.

Leopard1907 commented 1 month ago

So you did use Mangohud with gamescope? That is not recommended. One should use Mangoapp with gamescope.

https://github.com/flightlessmango/MangoHud?tab=readme-ov-file#gamescope

stele95 commented 1 month ago

So you did use Mangohud with gamescope? That is not recommended. One should use Mangoapp with gamescope.

https://github.com/flightlessmango/MangoHud?tab=readme-ov-file#gamescope

I'm aware of that, but mangoapp doesn't work well with nodisplay option (My issue from a couple of months ago which is still open). Besides, that's not the problem here since everything was working fine before the latest commit, and for Valheim, which is a native game, I don't use gamescope and it's still crashing.

stele95 commented 1 month ago

For the sake of testing, I've tested gamescope games with mangoapp, they are not crashing, but the overlay is constantly reloading and flickering and the GPU data is not loaded, it's showing GPU0 instead of the gpu name I've set in the config file and all values for the gpu are 0

flightlessmango commented 1 month ago

I haven't been able to repro this at all, all games work fine for me. I've reverted c++17 to 14 again in case that's the issue. Please try 0981acf784612f9e82002bb4ae3425be58cc9126

gort818 commented 1 month ago

I was able to repo this, please try 9c9ad09c024d0fc5d682ac68e02210f09c8332e8

stele95 commented 1 month ago

https://github.com/flightlessmango/MangoHud/commit/0981acf784612f9e82002bb4ae3425be58cc9126 isn't crashing anymore, but the gpu info is not loaded, showing GPU0 and all values as 0.

https://github.com/flightlessmango/MangoHud/commit/9c9ad09c024d0fc5d682ac68e02210f09c8332e8 is showing the correct gpu name (the one I put in the conf file), but still shows all values as 0.

If it's relevant, my gpu is AMD 7900XTX, I'm on EndeavourOS

aur-r commented 1 month ago

For my gpu, an AMD 6600XT, there is no sensible change with 9c9ad09 or using C++14/17. I also tested the same builds with an Intel integrated GPU, a Core i5-3210M, and Mangohud had no issues running 32/64-bit "vkcube" or "gears."

flightlessmango commented 1 month ago

@stele95 a mangohud log could be useful

stele95 commented 1 month ago

@flightlessmango Where can I find the log file? I was trying to find it earlier, but wasn't successful

flightlessmango commented 1 month ago

MANGOHUD_LOG_LEVEL=debug mangohud vkcube and it should print to console

stele95 commented 1 month ago

Here is the output. After looking at it, the GPU pci_dev is wrong, it's looking at 0000:00:03.1, but my gpu is at 0000:0c:00.0

mangohud_log.txt

stele95 commented 1 month ago

Setting the pci_dev=0000:0c:00.0 in the config file doesn't seem to help, it's still looking at the same pci_dev as in the log file above, but I have a single GPU setup

flightlessmango commented 1 month ago

can you post lspci -nn | grep VGA ?

stele95 commented 1 month ago

0c:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 [Radeon RX 7900 XT/7900 XTX/7900M] [1002:744c] (rev c8)

gort818 commented 1 month ago

Can you also post the output of ls -l /sys/class/drm/

stele95 commented 1 month ago

I've found an issue. The problem is in the regex expression here. This regex only matches addresses that have digits and doesn't match the ones that have characters, like mine has (0000:0c:00.0). After I've changed the regex to ((\d{4}:[a-z0-9]{2}:\d{2}\.\d)), everything was working as expected.

stele95 commented 1 month ago

I've created a PR with a fix

gort818 commented 1 month ago

oh nice catch, thank you!

aur-r commented 1 month ago

After #1450, mangohud works properly. Meson tests are still failing (#1448), but I'm not running into any other issue.

gyvess commented 1 month ago

Just tested the latest commits. Splitgate no longer crashes and GPU usage is correctly reported.