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.49k stars 287 forks source link

Mangohud doesn't work in Steam with opengl and vulkan games. #1394

Closed jalisilva closed 2 months ago

jalisilva commented 3 months ago

--Specs-- Linux Mint 22 Mate, Ubuntu 24.04 Intel i5 4670 Radeon Rx 550 Mangohud 0.72 precompiled binaries, mangohud 0.69 from repositories.

Mangohud works fine with directx games in Steam adding 'MANGOHUD=1 %command%', but with opengl or vulkan games don't work. I've tried --dlsym and MANGOHUD_DLSYM=1 parameters but nothing works.

If I use 'mangohud %command%' the games don't run, in console shows error: .local/share/steam/ubuntu12_32/reaper: error while loading shared libraries: libxkbcommon.so.0 wrong ELF class: ELFCLASS64 If I use mangohud 0.69 from repositories 'mangohud %command%' works but opengl and vulkan games don't.

In other linux distros like Ubuntu 24.04, Mint 21.3, Manjaro 22 occurs the same.

With other non-steam games like Xonotic and Gzdoom and demos like glxgears and vkcube mangohud works fine with opengl and vulkan.

Last year all worked well with the same PC, maybe is all Steam-related. Any ideas?

flightlessmango commented 3 months ago

The error suggest that you're missing libxkbcommon 32bit library

jalisilva commented 3 months ago

There's no libxkbcommon 32 bit in Ubuntu repositories, only x86-64 version and it's already install. With 'MANGOHUD=1 %command%' works well. If I install Mangohud 0.69 from repositories then 'mangohud %command%' works again. I've noticed that here mangohud libraries are installed in /usr/lib/x86_64-linux-gnu/mangohud whereas with mangohud 0.72 from github those libraries are in /usr/lib/mangohud. Anyway, in neither case does mangohud work with opengl/vulkan games, only Directx.

flightlessmango commented 3 months ago

It does exist on ubuntu, it's called libxkbcommon-dev:i386 You might need to read up on how to enable 32bit package in ubuntu

jalisilva commented 3 months ago

Problem solved!

It looks like Synaptic Package Manager doesn't show 32bit packages by default, only 64. You have to select the 'Arquitecture' tab and search and install package ' libxkbcommon0:i386'

Also you can install it with apt if you don't have Synaptic installed.

Now mangohud works with 'mangohud %command%' and the hud appears again in opengl/vulkan games as usual.

Thanks for your time and support flightlessmango :)