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.4k stars 284 forks source link

Works on Lutris, but not Steam - ElementaryOS / Ubuntu 18.04 #469

Closed Scarlet-Beard closed 3 years ago

Scarlet-Beard commented 3 years ago

How's it going? I recently performed a clean install of ElementaryOS 5.1.7 Hera on my machine and I can't seem to get MangoHud to work within my steam games; it works fine when launching non-steam games from Lutris. I've tried multiple versions of Proton, GE's Proton, mangohud %command%, NODEVICE_SELECT=1 mangohud %command%, and editing the _v2-entry-point file within SteamLinuxRuntime_soldier. Adding the below to the file actually prevents all of my games from even starting. Any help would be greatly appreciated!

 #!/usr/bin/env bash

shift 4
exec "${@}"

ElementaryOS 5.1.7 Kernel 5.4.0-64 Intel Core i7-9800x @ 4.7GHz NVIDIA Geforce RTX 2080 with 460.39 Proprietary Drivers

Downloaded newest version of MangoHud via git and ran ./mangohud-setup.sh install script.

utherbone commented 3 years ago

Mangohud, works independently from Proton or Wine, intriguing, in native linux games it works. I'm going to do a test on my Xubuntu, take a look at my issue, maybe we can help each other: https://github.com/flightlessmango/MangoHud/issues/470

flightlessmango commented 3 years ago

Is this the flatpack version of steam? Can you provide a proton log file?

Scarlet-Beard commented 3 years ago

Thank you for your response! It is not the flatpak version, but below is the beginning of a log for one of my games.

======================
Proton: 1610960409 6.0-GE-1
SteamGameId: 1128920
Command: ['/home/scarletbeard/.steam/steam/steamapps/common/EVERSPACE™ 2/Everspace2.exe', '-dx11']
Options: {'forcelgadd'}
SteamLinuxRuntime: v0.20210105.0-0-g0e6df4c
pressure-vessel: 0.20210105.0+srt1 scout 0.20210106.0
soldier: 0.20210105.2 soldier 0.20210105.2
======================
ERROR: ld.so: object '/home/scarletbeard/.steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/usr/lib/mangohud/$LIB/libMangoHud.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/home/scarletbeard/.steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/usr/lib/mangohud/$LIB/libMangoHud.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/home/scarletbeard/.steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/usr/lib/mangohud/$LIB/libMangoHud.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/home/scarletbeard/.steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/usr/lib/mangohud/$LIB/libMangoHud.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
esync: up and running.
ERROR: ld.so: object '/home/scarletbeard/.steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/usr/lib/mangohud/$LIB/libMangoHud.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
2462.012:0028:002c:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\ntdll.dll" at 000000007BC00000: builtin
2462.013:0028:002c:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\kernelbase.dll" at 000000007B000000: builtin
2462.013:0028:002c:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\kernel32.dll" at 000000007B600000: builtin
2462.013:0028:002c:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\wow64cpu.dll" at 00007F70C7990000: builtin
2462.014:0028:002c:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\wineboot.exe" at 0000000000400000: builtin
2462.014:0028:002c:trace:seh:check_bpf_jit_enable enabled 0x31.
2462.015:0028:002c:fixme:winediag:LdrInitializeThunk wine-staging 6.0 is a testing version containing experimental patches.
2462.015:0028:002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
2462.017:0028:002c:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\ucrtbase.dll" at 0000000070940000: builtin
2462.017:0028:002c:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\sechost.dll" at 000000006BA00000: builtin
2462.017:0028:002c:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\advapi32.dll" at 0000000061540000: builtin
2462.018:0028:002c:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\ws2_32.dll" at 00007F70C7830000: builtin
2462.032:0028:002c:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\gdi32.dll" at 000000006C7C0000: builtin
2462.036:0028:002c:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\rpcrt4.dll" at 0000000062DC0000: builtin
2462.040:0028:002c:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\version.dll" at 0000000063280000: builtin
2462.040:0028:002c:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\setupapi.dll" at 000000006BAC0000: builtin
2462.040:0028:002c:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\user32.dll" at 000000006EB00000: builtin
2462.040:0028:002c:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\combase.dll" at 0000000068300000: builtin
2462.040:0028:002c:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\ole32.dll" at 000000006A200000: builtin
2462.040:0028:002c:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\shcore.dll" at 00000000639C0000: builtin
2462.040:0028:002c:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\shlwapi.dll" at 0000000064840000: builtin
2462.099:0028:002c:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\imm32.dll" at 0000000071000000: builtin
ERROR: ld.so: object '/home/scarletbeard/.steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/usr/lib/mangohud/$LIB/libMangoHud.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
utherbone commented 3 years ago

I downloaded the normal version of MangoHud: "MangoHud-0.6.1.tar.gz" and I didn't get this error at least not in the game "Eternal card Game ", " Warframe" and "Path of Exile". It doesn't seem to be a MangoHud problem, because of his log he interrupted the execution for some external thing.

@Scarlet-Beard is it comfortable to test any game I have in my steam library? If your answer is positive my public steam profile: "https://steamcommunity.com/id/Utherbone/"

Try:

#To enable these settings, name this file "user_settings.py" file in proton folder".

#Settings here will take effect for all games run in this Proton version.

user_settings = {
    #Logs are saved to $HOME/steam-<STEAM_GAME_ID>.log, overwriting any previous log with that name.

    #Wine debug logging
    "WINEDEBUG": "+timestamp,+pid,+tid,+seh,+debugstr,+loaddll,+mscoree",

    #DXVK debug logging
    "DXVK_LOG_LEVEL": "info",

    #vkd3d debug logging
    "VKD3D_DEBUG": "warn",

    #wine-mono debug logging (Wine's .NET replacement)
    "WINE_MONO_TRACE": "E:System.NotImplementedException",
    #"MONO_LOG_LEVEL": "info",

    #general purpose media logging
#    "GST_DEBUG": "4",
    #or, verbose converter logging (may impact playback performance):
#    "GST_DEBUG": "4,protonaudioconverter:6,protonaudioconverterbin:6,protonvideoconverter:6",

    #Enable DXVK's HUD
#    "DXVK_HUD": "devinfo,fps",

    #Use OpenGL-based wined3d for d3d11, d3d10, and d3d9 instead of Vulkan-based DXVK
#    "PROTON_USE_WINED3D": "1",

    #Disable d3d11 entirely
    "PROTON_NO_D3D11": "1",

    #Disable eventfd-based in-process synchronization primitives
    "PROTON_NO_ESYNC": "1",

    #Disable futex-based in-process synchronization primitives
    "PROTON_NO_FSYNC": "1",
}

Here is a question that can help: https://github.com/flightlessmango/MangoHud/issues/340

Corben78 commented 3 years ago

There are several aspects now how and if MangoHud works. Meanwhile with Proton 5.13 (also Proton-GE 6.x) using the Steam Linux Runtime Soldier, it starts working again, but only for either 32bit or 64bit games. A good explanation is provided here.

So atm there is an issue on Steam (a solution is on the horizon), and you might be able to fix it, with creating two MangoHud.json files, where the layer names are distinct and have absolute paths pointing to the mangohud.so library. (I created a little helper script for me, but I'm using Ubuntu so I don't know if it works for you: gist)

Scarlet-Beard commented 3 years ago

Most recent Steam Linux Runtime Soldier resolved the issue! It auto installed yesterday.