Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Portal 2 engine.so: cannot enable executable stack as shared object requires: Invalid argument #451

Open
siroccal opened this issue Jan 31, 2025 · 0 comments

Comments

@siroccal
Copy link

siroccal commented Jan 31, 2025

The game fails to launch due to not being able to load engine.so

failed to dlopen engine.so error=engine.so: cannot enable executable stack as shared object requires: Invalid argument
AppFramework : Unable to load module engine.so!
Unable to load interface VCvarQuery001 from engine.so, requested from EXE.

Other native Linux games and Proton games work fine.
Only Portal and Portal 2 are affected as far as I can tell.
Both Portal and Portal 2 work fine if Proton is used instead of native Linux.

I'm using the normal steam-runtime (not steam-native-runtime).
I've also tried a full reinstall (and deletion of steam folders) of Steam to no avail.

OS: updated Arch Linux with [*-testing] enabled
Kernel: 6.13.0-arch1-2 (64-bit)
Graphics Platform: Wayland
CPU: AMD Ryzen 5 5600
GPU: AMD Radeon RX 6650 XT

ldd -v bin/linux32/engine.so && echo %command%

        linux-gate.so.1 (0xe8ff4000)
        /home/user/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so (0xe831b000)
        libtier0.so => not found
        libvstdlib.so => not found
        libsteam_api.so => not found
        libSDL2-2.0.so.0 => /usr/lib32/libSDL2-2.0.so.0 (0xe827e000)
        libm.so.6 => /usr/lib32/libm.so.6 (0xe819a000)
        libdl.so.2 => /usr/lib32/libdl.so.2 (0xe8193000)
        libpthread.so.0 => /usr/lib32/libpthread.so.0 (0xe818e000)
        libuuid.so.1 => /usr/lib32/libuuid.so.1 (0xe8185000)
        /usr/lib/ld-linux.so.2 (0xe8ff6000)
        libc.so.6 => /usr/lib32/libc.so.6 (0xe7f52000)
        librt.so.1 => /usr/lib32/librt.so.1 (0xe7f4d000)
        libGL.so.1 => /usr/lib32/libGL.so.1 (0xe7ee2000)
        libGLdispatch.so.0 => /usr/lib32/libGLdispatch.so.0 (0xe7e66000)
        libGLX.so.0 => /usr/lib32/libGLX.so.0 (0xe7e2b000)
        libX11.so.6 => /usr/lib32/libX11.so.6 (0xe7cf0000)
        libxcb.so.1 => /usr/lib32/libxcb.so.1 (0xe7cc3000)
        libXau.so.6 => /usr/lib32/libXau.so.6 (0xe7cbc000)
        libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xe7cb5000)

/home/user/.local/share/Steam/ubuntu12_32/steam-launch-wrapper -- /home/user/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=620 -- /home/user/Games/SteamLibrary/steamapps/common/SteamLinuxRuntime_soldier/_v2-entry-point --verb=waitforexitandrun -- /home/user/Games/SteamLibrary/steamapps/common/SteamLinuxRuntime/scout-on-soldier-entry-point-v2 -- /home/user/Games/SteamLibrary/steamapps/common/Portal 2/portal2.sh -game portal2 -steam

LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/user/Games/SteamLibrary/steamapps/common/Portal 2/bin/linux32/" ldd -v bin/linux32/engine.so && echo %command%

        linux-gate.so.1 (0xee4b6000)
        /home/user/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so (0xed7dd000)
        libtier0.so => /home/user/Games/SteamLibrary/steamapps/common/Portal 2/bin/linux32/libtier0.so (0xed77d000)
        libvstdlib.so => /home/user/Games/SteamLibrary/steamapps/common/Portal 2/bin/linux32/libvstdlib.so (0xed716000)
        libsteam_api.so => /home/user/Games/SteamLibrary/steamapps/common/Portal 2/bin/linux32/libsteam_api.so (0xed6b9000)
        libSDL2-2.0.so.0 => /usr/lib32/libSDL2-2.0.so.0 (0xed658000)
        libm.so.6 => /usr/lib32/libm.so.6 (0xed574000)
        libdl.so.2 => /usr/lib32/libdl.so.2 (0xed56d000)
        libpthread.so.0 => /usr/lib32/libpthread.so.0 (0xed568000)
        libuuid.so.1 => /usr/lib32/libuuid.so.1 (0xed55f000)
        /usr/lib/ld-linux.so.2 (0xee4b8000)
        libc.so.6 => /usr/lib32/libc.so.6 (0xed32c000)
        librt.so.1 => /usr/lib32/librt.so.1 (0xed327000)
        libGL.so.1 => /usr/lib32/libGL.so.1 (0xed2bc000)
        libGLdispatch.so.0 => /usr/lib32/libGLdispatch.so.0 (0xed240000)
        libGLX.so.0 => /usr/lib32/libGLX.so.0 (0xed205000)
        libX11.so.6 => /usr/lib32/libX11.so.6 (0xed0ca000)
        libxcb.so.1 => /usr/lib32/libxcb.so.1 (0xed09d000)
        libXau.so.6 => /usr/lib32/libXau.so.6 (0xed096000)
        libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xed08f000)

        Version information:
        bin/linux32/engine.so:
                libuuid.so.1 (UUID_1.0) => /usr/lib32/libuuid.so.1
                ld-linux.so.2 (GLIBC_2.3) => /usr/lib/ld-linux.so.2
                ld-linux.so.2 (GLIBC_2.0) => /usr/lib/ld-linux.so.2
                libdl.so.2 (GLIBC_2.0) => /usr/lib32/libdl.so.2
                libdl.so.2 (GLIBC_2.1) => /usr/lib32/libdl.so.2
                libm.so.6 (GLIBC_2.27) => /usr/lib32/libm.so.6
                libm.so.6 (GLIBC_2.29) => /usr/lib32/libm.so.6
                libm.so.6 (GLIBC_2.1) => /usr/lib32/libm.so.6
                libm.so.6 (GLIBC_2.0) => /usr/lib32/libm.so.6
                libpthread.so.0 (GLIBC_2.3.4) => /usr/lib32/libpthread.so.0
                libpthread.so.0 (GLIBC_2.3.3) => /usr/lib32/libpthread.so.0
                libpthread.so.0 (GLIBC_2.2) => /usr/lib32/libpthread.so.0
                libpthread.so.0 (GLIBC_2.1) => /usr/lib32/libpthread.so.0
                libpthread.so.0 (GLIBC_2.0) => /usr/lib32/libpthread.so.0
                libc.so.6 (GLIBC_2.3.4) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.2) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.2.4) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.7) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.1) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.3) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.1.3) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.0) => /usr/lib32/libc.so.6
        /home/user/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so:
                ld-linux.so.2 (GLIBC_2.0) => /usr/lib/ld-linux.so.2
                ld-linux.so.2 (GLIBC_2.3) => /usr/lib/ld-linux.so.2
                libc.so.6 (GLIBC_2.0) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.1) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.1.3) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.2) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.2.4) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.3) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.3.4) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.4) => /usr/lib32/libc.so.6
                libdl.so.2 (GLIBC_2.0) => /usr/lib32/libdl.so.2
                libdl.so.2 (GLIBC_2.1) => /usr/lib32/libdl.so.2
                libm.so.6 (GLIBC_2.0) => /usr/lib32/libm.so.6
                libpthread.so.0 (GLIBC_2.0) => /usr/lib32/libpthread.so.0
                libpthread.so.0 (GLIBC_2.1) => /usr/lib32/libpthread.so.0
                libpthread.so.0 (GLIBC_2.3.2) => /usr/lib32/libpthread.so.0
                libpthread.so.0 (GLIBC_2.3.3) => /usr/lib32/libpthread.so.0
                libpthread.so.0 (GLIBC_2.12) => /usr/lib32/libpthread.so.0
                librt.so.1 (GLIBC_2.2) => /usr/lib32/librt.so.1
        /home/user/Games/SteamLibrary/steamapps/common/Portal 2/bin/linux32/libtier0.so:
                libdl.so.2 (GLIBC_2.1) => /usr/lib32/libdl.so.2
                libdl.so.2 (GLIBC_2.0) => /usr/lib32/libdl.so.2
                ld-linux.so.2 (GLIBC_2.3) => /usr/lib/ld-linux.so.2
                ld-linux.so.2 (GLIBC_2.0) => /usr/lib/ld-linux.so.2
                libc.so.6 (GLIBC_2.2) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.2.4) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.3) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.1.3) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.7) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.1) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.0) => /usr/lib32/libc.so.6
                libpthread.so.0 (GLIBC_2.1) => /usr/lib32/libpthread.so.0
                libpthread.so.0 (GLIBC_2.3.2) => /usr/lib32/libpthread.so.0
                libpthread.so.0 (GLIBC_2.0) => /usr/lib32/libpthread.so.0
                libpthread.so.0 (GLIBC_2.2) => /usr/lib32/libpthread.so.0
        /home/user/Games/SteamLibrary/steamapps/common/Portal 2/bin/linux32/libvstdlib.so:
                libdl.so.2 (GLIBC_2.1) => /usr/lib32/libdl.so.2
                libdl.so.2 (GLIBC_2.0) => /usr/lib32/libdl.so.2
                ld-linux.so.2 (GLIBC_2.3) => /usr/lib/ld-linux.so.2
                ld-linux.so.2 (GLIBC_2.0) => /usr/lib/ld-linux.so.2
                libm.so.6 (GLIBC_2.29) => /usr/lib32/libm.so.6
                libm.so.6 (GLIBC_2.27) => /usr/lib32/libm.so.6
                libpthread.so.0 (GLIBC_2.1) => /usr/lib32/libpthread.so.0
                libpthread.so.0 (GLIBC_2.2) => /usr/lib32/libpthread.so.0
                libpthread.so.0 (GLIBC_2.0) => /usr/lib32/libpthread.so.0
                libc.so.6 (GLIBC_2.2.4) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.3) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.2) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.7) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.1.3) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.1) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.0) => /usr/lib32/libc.so.6
        /home/user/Games/SteamLibrary/steamapps/common/Portal 2/bin/linux32/libsteam_api.so:
                libdl.so.2 (GLIBC_2.1) => /usr/lib32/libdl.so.2
                libdl.so.2 (GLIBC_2.0) => /usr/lib32/libdl.so.2
                libdl.so.2 (GLIBC_2.3.4) => /usr/lib32/libdl.so.2
                libc.so.6 (GLIBC_2.0) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.1.3) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.3.4) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.4) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.1) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.2.4) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.2) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.3) => /usr/lib32/libc.so.6
                libpthread.so.0 (GLIBC_2.0) => /usr/lib32/libpthread.so.0
                libpthread.so.0 (GLIBC_2.2) => /usr/lib32/libpthread.so.0
                ld-linux.so.2 (GLIBC_2.0) => /usr/lib/ld-linux.so.2
                ld-linux.so.2 (GLIBC_2.3) => /usr/lib/ld-linux.so.2
        /usr/lib32/libSDL2-2.0.so.0:
                libc.so.6 (GLIBC_ABI_DT_RELR) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.3.4) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.34) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.1.3) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.4) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.1) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.0) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.1.1) => /usr/lib32/libc.so.6
        /usr/lib32/libm.so.6:
                ld-linux.so.2 (GLIBC_PRIVATE) => /usr/lib/ld-linux.so.2
                libc.so.6 (GLIBC_ABI_DT_RELR) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.34) => /usr/lib32/libc.so.6
                libc.so.6 (GCC_3.0) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.1.3) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.4) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.0) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_PRIVATE) => /usr/lib32/libc.so.6
        /usr/lib32/libdl.so.2:
                libc.so.6 (GLIBC_ABI_DT_RELR) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.1.3) => /usr/lib32/libc.so.6
        /usr/lib32/libpthread.so.0:
                libc.so.6 (GLIBC_ABI_DT_RELR) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.1.3) => /usr/lib32/libc.so.6
        /usr/lib32/libuuid.so.1:
                ld-linux.so.2 (GLIBC_2.3) => /usr/lib/ld-linux.so.2
                libc.so.6 (GLIBC_ABI_DT_RELR) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.3) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.3.4) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.25) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.3.2) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.1.3) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.34) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.4) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.1) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.0) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.38) => /usr/lib32/libc.so.6
        /usr/lib32/libc.so.6:
                ld-linux.so.2 (GLIBC_2.1) => /usr/lib/ld-linux.so.2
                ld-linux.so.2 (GLIBC_2.3) => /usr/lib/ld-linux.so.2
                ld-linux.so.2 (GLIBC_2.35) => /usr/lib/ld-linux.so.2
                ld-linux.so.2 (GLIBC_PRIVATE) => /usr/lib/ld-linux.so.2
        /usr/lib32/librt.so.1:
                libc.so.6 (GLIBC_ABI_DT_RELR) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.1.3) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_PRIVATE) => /usr/lib32/libc.so.6
        /usr/lib32/libGL.so.1:
                libc.so.6 (GLIBC_2.1.3) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.0) => /usr/lib32/libc.so.6
        /usr/lib32/libGLdispatch.so.0:
                libc.so.6 (GLIBC_2.1.3) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.38) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.4) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.34) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.3.4) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.0) => /usr/lib32/libc.so.6
        /usr/lib32/libGLX.so.0:
                libc.so.6 (GLIBC_2.1.3) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.38) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.4) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.34) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.3.4) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.7) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.0) => /usr/lib32/libc.so.6
        /usr/lib32/libX11.so.6:
                libc.so.6 (GLIBC_ABI_DT_RELR) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.28) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.34) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.1.3) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.15) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.33) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.1.2) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.26) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.3.2) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.4) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.1) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.38) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.3.4) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.3) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.0) => /usr/lib32/libc.so.6
        /usr/lib32/libxcb.so.1:
                libc.so.6 (GLIBC_ABI_DT_RELR) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.28) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.1.3) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.33) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.4) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.3.2) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.3.4) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.38) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.0) => /usr/lib32/libc.so.6
        /usr/lib32/libXau.so.6:
                libc.so.6 (GLIBC_ABI_DT_RELR) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.25) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.1.3) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.33) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.4) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.1) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.0) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.3.4) => /usr/lib32/libc.so.6
        /usr/lib32/libXdmcp.so.6:
                libc.so.6 (GLIBC_ABI_DT_RELR) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.1.3) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.4) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.36) => /usr/lib32/libc.so.6
                libc.so.6 (GLIBC_2.0) => /usr/lib32/libc.so.6

/home/user/.local/share/Steam/ubuntu12_32/steam-launch-wrapper -- /home/user/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=620 -- /home/user/Games/SteamLibrary/steamapps/common/SteamLinuxRuntime_soldier/_v2-entry-point --verb=waitforexitandrun -- /home/user/Games/SteamLibrary/steamapps/common/SteamLinuxRuntime/scout-on-soldier-entry-point-v2 -- /home/user/Games/SteamLibrary/steamapps/common/Portal 2/portal2.sh -game portal2 -steam
@kisak-valve kisak-valve changed the title Portal 2 can't load engine.so and fails to launch on updated Arch Linux Portal 2 engine.so: cannot enable executable stack as shared object requires: Invalid argument Jan 31, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant