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

Mangohud Installation on ARM #1441

Closed JamesYen220 closed 1 month ago

JamesYen220 commented 1 month ago

I'm currently trying to install Mangohud on my ARM Ubuntu. After doing ./mangohud install, it seems that Mangohud still doesn't work properly. Here is the log:

You can use the example configuration file from
/usr/share/doc/mangohud/MangoHud.conf.example
as a starting point by copying it to
/home/james/.config/MangoHud/MangoHud.conf

removed '/usr/lib/mangohud/tls/i686'
removed '/usr/lib/mangohud/tls/x86_64'
removed directory '/usr/lib/mangohud/tls'
removed '/usr/lib/mangohud/lib'
removed '/usr/lib/mangohud/lib32/libMangoHud_opengl.so'
removed '/usr/lib/mangohud/lib32/tls'
removed '/usr/lib/mangohud/lib32/x86_64-linux-gnu'
removed '/usr/lib/mangohud/lib32/i686-linux-gnu'
removed '/usr/lib/mangohud/lib32/libMangoHud.so'
removed '/usr/lib/mangohud/lib32/libMangoHud_dlsym.so'
removed '/usr/lib/mangohud/lib32/i386-linux-gnu'
removed directory '/usr/lib/mangohud/lib32'
removed '/usr/lib/mangohud/x86_64-linux-gnu'
removed '/usr/lib/mangohud/i686'
removed '/usr/lib/mangohud/x86_64'
removed '/usr/lib/mangohud/lib64/libMangoHud_opengl.so'
removed '/usr/lib/mangohud/lib64/x86_64-linux-gnu'
removed '/usr/lib/mangohud/lib64/x86_64'
removed '/usr/lib/mangohud/lib64/libMangoHud.so'
removed '/usr/lib/mangohud/lib64/libMangoHud_dlsym.so'
removed directory '/usr/lib/mangohud/lib64'
removed '/usr/lib/mangohud/i686-linux-gnu'
removed '/usr/lib/mangohud/i386-linux-gnu'
removed directory '/usr/lib/mangohud'
removed '/usr/share/vulkan/implicit_layer.d/MangoHud.x86.json'
removed '/usr/share/vulkan/implicit_layer.d/MangoHud.x86_64.json'
removed '/usr/share/doc/mangohud/MangoHud.conf.example'
removed directory '/usr/share/doc/mangohud'
removed '/usr/share/man/man1/mangohud.1'
removed '/usr/bin/mangohud'
removed '/usr/bin/mangoplot'
DEFAULTLIB: lib32
/usr/bin/install: creating directory '/usr/lib/mangohud'
/usr/bin/install: creating directory '/usr/lib/mangohud/lib64'
'./usr/lib/mangohud/lib64/libMangoHud.so' -> '/usr/lib/mangohud/lib64/libMangoHud.so'
'./usr/lib/mangohud/lib64/libMangoHud_dlsym.so' -> '/usr/lib/mangohud/lib64/libMangoHud_dlsym.so'
/usr/bin/install: creating directory '/usr/lib/mangohud/lib32'
'./usr/lib/mangohud/lib32/libMangoHud.so' -> '/usr/lib/mangohud/lib32/libMangoHud.so'
'./usr/lib/mangohud/lib32/libMangoHud_dlsym.so' -> '/usr/lib/mangohud/lib32/libMangoHud_dlsym.so'
'./usr/lib/mangohud/lib64/libMangoHud_opengl.so' -> '/usr/lib/mangohud/lib64/libMangoHud_opengl.so'
'./usr/lib/mangohud/lib32/libMangoHud_opengl.so' -> '/usr/lib/mangohud/lib32/libMangoHud_opengl.so'
'./usr/share/vulkan/implicit_layer.d/MangoHud.x86_64.json' -> '/usr/share/vulkan/implicit_layer.d/MangoHud.x86_64.json'
'./usr/share/vulkan/implicit_layer.d/MangoHud.x86.json' -> '/usr/share/vulkan/implicit_layer.d/MangoHud.x86.json'
'./usr/share/man/man1/mangohud.1' -> '/usr/share/man/man1/mangohud.1'
/usr/bin/install: creating directory '/usr/share/doc/mangohud'
'./usr/share/doc/mangohud/MangoHud.conf.example' -> '/usr/share/doc/mangohud/MangoHud.conf.example'
'./usr/bin/mangohud' -> '/usr/bin/mangohud'
'./usr/bin/mangoplot' -> '/usr/bin/mangoplot'
removed '/usr/lib/mangohud/lib64/libMangoHud_opengl.so'
'./usr/lib/mangohud/lib64/libMangoHud_opengl.so' -> '/usr/lib/mangohud/lib64/libMangoHud_opengl.so'
removed '/usr/lib/mangohud/lib32/libMangoHud_opengl.so'
'./usr/lib/mangohud/lib32/libMangoHud_opengl.so' -> '/usr/lib/mangohud/lib32/libMangoHud_opengl.so'
'/usr/lib/mangohud/lib' -> 'lib32'
'/usr/lib/mangohud/x86_64' -> 'lib64'
'/usr/lib/mangohud/x86_64-linux-gnu' -> 'lib64'
'/usr/lib/mangohud/lib64/x86_64' -> '.'
'/usr/lib/mangohud/lib64/x86_64-linux-gnu' -> '.'
'/usr/lib/mangohud/i686' -> 'lib32'
'/usr/lib/mangohud/i386-linux-gnu' -> 'lib32'
'/usr/lib/mangohud/i686-linux-gnu' -> 'lib32'
'/usr/lib/mangohud/tls/x86_64' -> '../lib64'
'/usr/lib/mangohud/tls/i686' -> '../lib32'
'/usr/lib/mangohud/lib/i386-linux-gnu' -> '../lib32'
'/usr/lib/mangohud/lib/i686-linux-gnu' -> '../lib32'
'/usr/lib/mangohud/lib/x86_64-linux-gnu' -> '../lib64'
'/usr/lib/mangohud/lib/tls' -> '../tls'
MangoHud Installed
james@ubuntu:~/Documents/MangoHud$ mangohud vkcube
ERROR: ld.so: object '/usr/lib/mangohud/$LIB/libMangoHud_opengl.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.

I have also tried to download Mangohud directly through https://packages.debian.org/bullseye/mangohud but it seems that the version over there doesn't seem to work on steam. Here is the log for running that:

chdir "/home/james/.local/share/Steam/steamapps/common/CookServeDelicious"
Adding process 492451 for gameID 247020
ERROR: ld.so: object '/home/james/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/james/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/home/james/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/home/james/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/home/james/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/james/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/home/james/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/james/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/home/james/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/james/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/home/james/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/james/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/home/james/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/james/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/home/james/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/james/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/home/james/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/james/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/home/james/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/james/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/home/james/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/james/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
Adding process 492452 for gameID 247020
ERROR: ld.so: object '/home/james/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/james/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/home/james/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/james/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
Adding process 492457 for gameID 247020
esync: up and running.
wine: RLIMIT_NICE is <= 20, unable to use setpriority safely
skipping config: /opt/box64-unoptimized/usr/local/bin/MangoHud.conf [ not found ]
skipping config: /home/james/.config/MangoHud/box64.conf [ not found ]
parsing config: /home/james/.config/MangoHud/MangoHud.conf [ ok ]
Unknown option 'logging'
MANGOHUD: Could not find cpu temp sensor location
Error opening directory '/sys/class/powercap/': No such file or directory
MANGOHUD: Failed to initialize CPU power data
skipping config: /opt/box64-unoptimized/usr/local/bin/MangoHud.conf [ not found ]
skipping config: /home/james/.config/MangoHud/box64.conf [ not found ]
parsing config: /home/james/.config/MangoHud/MangoHud.conf [ ok ]
Unknown option 'logging'
MANGOHUD: Could not find cpu temp sensor location
Error opening directory '/sys/class/powercap/': No such file or directory
MANGOHUD: Failed to initialize CPU power data
skipping config: /opt/box64-unoptimized/usr/local/bin/MangoHud.conf [ not found ]
skipping config: /home/james/.config/MangoHud/box64.conf [ not found ]
parsing config: /home/james/.config/MangoHud/MangoHud.conf [ ok ]
Unknown option 'logging'
MANGOHUD: Could not find cpu temp sensor location
Error opening directory '/sys/class/powercap/': No such file or directory
MANGOHUD: Failed to initialize CPU power data
skipping config: /opt/box64-unoptimized/usr/local/bin/MangoHud.conf [ not found ]
skipping config: /home/james/.config/MangoHud/box64.conf [ not found ]
parsing config: /home/james/.config/MangoHud/MangoHud.conf [ ok ]
Unknown option 'logging'
MANGOHUD: Could not find cpu temp sensor location
Error opening directory '/sys/class/powercap/': No such file or directory
MANGOHUD: Failed to initialize CPU power data
skipping config: /opt/box64-unoptimized/usr/local/bin/MangoHud.conf [ not found ]
skipping config: /home/james/.config/MangoHud/box64.conf [ not found ]
parsing config: /home/james/.config/MangoHud/MangoHud.conf [ ok ]
Unknown option 'logging'
MANGOHUD: Could not find cpu temp sensor location
Error opening directory '/sys/class/powercap/': No such file or directory
MANGOHUD: Failed to initialize CPU power data
skipping config: /opt/box64-unoptimized/usr/local/bin/MangoHud.conf [ not found ]
skipping config: /home/james/.config/MangoHud/box64.conf [ not found ]
parsing config: /home/james/.config/MangoHud/MangoHud.conf [ ok ]
Unknown option 'logging'
MANGOHUD: Could not find cpu temp sensor location
Error opening directory '/sys/class/powercap/': No such file or directory
MANGOHUD: Failed to initialize CPU power data
skipping config: /opt/box64-unoptimized/usr/local/bin/MangoHud.conf [ not found ]
skipping config: /home/james/.config/MangoHud/box64.conf [ not found ]
parsing config: /home/james/.config/MangoHud/MangoHud.conf [ ok ]
Unknown option 'logging'
MANGOHUD: Could not find cpu temp sensor location
Error opening directory '/sys/class/powercap/': No such file or directory
MANGOHUD: Failed to initialize CPU power data
skipping config: /opt/box64-unoptimized/usr/local/bin/MangoHud.conf [ not found ]
skipping config: /home/james/.config/MangoHud/box64.conf [ not found ]
parsing config: /home/james/.config/MangoHud/MangoHud.conf [ ok ]
Unknown option 'logging'
MANGOHUD: Could not find cpu temp sensor location
Error opening directory '/sys/class/powercap/': No such file or directory
MANGOHUD: Failed to initialize CPU power data
skipping config: /opt/box64-unoptimized/usr/local/bin/MangoHud.conf [ not found ]
skipping config: /home/james/.config/MangoHud/box64.conf [ not found ]
parsing config: /home/james/.config/MangoHud/MangoHud.conf [ ok ]
Unknown option 'logging'
MANGOHUD: Could not find cpu temp sensor location
Error opening directory '/sys/class/powercap/': No such file or directory
MANGOHUD: Failed to initialize CPU power data
skipping config: /opt/box64-unoptimized/usr/local/bin/MangoHud.conf [ not found ]
skipping config: /home/james/.config/MangoHud/box64.conf [ not found ]
parsing config: /home/james/.config/MangoHud/MangoHud.conf [ ok ]
Unknown option 'logging'
MANGOHUD: Could not find cpu temp sensor location
Error opening directory '/sys/class/powercap/': No such file or directory
MANGOHUD: Failed to initialize CPU power data
skipping config: /opt/box64-unoptimized/usr/local/bin/MangoHud.conf [ not found ]
skipping config: /home/james/.config/MangoHud/box64.conf [ not found ]
parsing config: /home/james/.config/MangoHud/MangoHud.conf [ ok ]
Unknown option 'logging'
MANGOHUD: Could not find cpu temp sensor location
Error opening directory '/sys/class/powercap/': No such file or directory
MANGOHUD: Failed to initialize CPU power data
skipping config: /opt/box64-unoptimized/usr/local/bin/MangoHud.conf [ not found ]
skipping config: /home/james/.config/MangoHud/box64.conf [ not found ]
parsing config: /home/james/.config/MangoHud/MangoHud.conf [ ok ]
Unknown option 'logging'
MANGOHUD: Could not find cpu temp sensor location
Error opening directory '/sys/class/powercap/': No such file or directory
MANGOHUD: Failed to initialize CPU power data
Setting breakpad minidump AppID = 247020
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561199605541320 [API loaded no]
skipping config: /opt/box64-unoptimized/usr/local/bin/MangoHud.conf [ not found ]
skipping config: /home/james/.config/MangoHud/box64.conf [ not found ]
parsing config: /home/james/.config/MangoHud/MangoHud.conf [ ok ]
Unknown option 'logging'
MANGOHUD: Could not find cpu temp sensor location
Error opening directory '/sys/class/powercap/': No such file or directory
MANGOHUD: Failed to initialize CPU power data
skipping config: /opt/box64-unoptimized/usr/local/bin/MangoHud.conf [ not found ]
skipping config: /home/james/.config/MangoHud/box64.conf [ not found ]
parsing config: /home/james/.config/MangoHud/MangoHud.conf [ ok ]
Unknown option 'logging'
MANGOHUD: Could not find cpu temp sensor location
Error opening directory '/sys/class/powercap/': No such file or directory
MANGOHUD: Failed to initialize CPU power data
Setting scheduler resolution to 1
Setting breakpad minidump AppID = 247020
SteamInternal_SetMinidumpSteamID:  Caching Steam ID:  76561199605541320 [API loaded no]
[STEAMWORKS]: SteamAPI_Init had succeeded without errors, debug flag = 0
YYExtensionInitialise CONFIGURED 
flightlessmango commented 1 month ago

the build.sh script is not designed to work with ARM, so that's a no go. and 0.6.1 is very old, best would be if you could build mangohud manually

JamesYen220 commented 1 month ago

I've successfully built MangoHUD manually, but I'm unsure why it fails during build if the command git clone --recurse-submodules https://github.com/flightlessmango/MangoHud.git was used. Interestingly, building works perfectly when I simply run git clone https://github.com/flightlessmango/MangoHud.git without the --recurse-submodules flag.

However, I'm currently facing an issue where MangoHUD doesn't seem to work with certain games, specifically Stardew Valley and Brotato on Steam. I'm still investigating the root cause but are there any insights on this?

flightlessmango commented 1 month ago

Both games seem to use opengl, have you tried --dlsym ?

JamesYen220 commented 1 month ago

Yes, my commands for launch options are MANGOHUD=1 MANGOHUD_CONFIG=full %command% --dlsym but it seems Mangohud isn't support?

flightlessmango commented 1 month ago

MANGOHUD=1 only works for vulkan and since these games are opengl, you should use mangohud %command%