ptitSeb / box86

Box86 - Linux Userspace x86 Emulator with a twist, targeted at ARM Linux devices
https://box86.org
MIT License
3.33k stars 228 forks source link

Steam doesn't launch in l4t linux switch #920

Open SceikDavid opened 9 months ago

SceikDavid commented 9 months ago

a standard steam installation from l4t megascript result in a box86 bug. there's the complete terminal output.

sceikdavid@sceikdavid-laptop:~$ /usr/local/bin/steam VIRGL Server Started steam.sh[5697]: Running Steam on ubuntu 18.04 64-bit steam.sh[5697]: STEAM_RUNTIME is enabled by the user setup.sh[5766]: Steam runtime environment up-to-date! steam.sh[5697]: Steam client's requirements are satisfied Debug level is 1 Dynarec for ARMv8, with extension: HALF FAST_MULT EDSP NEON VFPv4 IDIVA AES PMULL PageSize:4096 Running on Cortex-A57 with 4 Cores Params database has 29 entries Box86 with Dynarec v0.3.5 c878264e built on Jan 7 2024 06:32:31 Using default BOX86_LD_LIBRARY_PATH: ./:lib/:lib32/:x86/:i686/ Using default BOX86_PATH: ./:bin/ Counted 96 Env var BOX86 try to Preload libgtk3-nocsd.so.0 Looking for /home/sceikdavid/.local/share/Steam/ubuntu12_32/steam steam detected Apply RC params for steam Applying BOX86_NOGTK=1 Applying BOX86_DYNAREC_STRONGMEM=1 Applying BOX86_DYNAREC_CALLRET=1 Applying BOX86_EMULATED_LIBS=libudev.so.0:libSDL2-2.0.so.0 argv[1]="-no-cef-sandbox" argv[2]="-noreactlogin" argv[3]="steam://open/minigameslist" Rename process to "steam" Error loading needed lib libgtk3-nocsd.so.0 Warning, cannot pre-load libgtk3-nocsd.so.0 Using native(wrapped) libdl.so.2 Using native(wrapped) libc.so.6 Using native(wrapped) ld-linux.so.2 Using native(wrapped) libpthread.so.0 Using native(wrapped) librt.so.1 Using native(wrapped) libbsd.so.0 Using native(wrapped) libX11.so.6 Using native(wrapped) libm.so.6 [2024-01-12 15:34:15] Startup - updater built Jan 11 2024 01:00:10 [2024-01-12 15:34:15] Startup - Steam Client launched with: '/home/sceikdavid/.local/share/Steam/ubuntu12_32/steam' '-no-cef-sandbox' '-noreactlogin' 'steam://open/minigameslist' Using native(wrapped) crashhandler.so Using native(wrapped) libGL.so.1 vtest_client_dispatch_commands: client context created. Looks like steam didn't shutdown cleanly, scheduling immediate update check [2024-01-12 15:34:16] Loading cached metrics from disk (/home/sceikdavid/.local/share/Steam/package/steam_client_metrics.bin) [2024-01-12 15:34:16] Failed to load cached hosts file (File 'update_hosts_cached.vdf' not found), using defaults [2024-01-12 15:34:16] Using the following download hosts for Public, Realm steamglobal [2024-01-12 15:34:16] 1. https://cdn.steamstatic.com, /client/, Realm 'steamglobal', weight was 1, source = 'baked in' [2024-01-12 15:34:16] Checking for update on startup [2024-01-12 15:34:16] Checking for available updates... [2024-01-12 15:34:16] Downloading manifest: https://cdn.steamstatic.com/client/steam_client_ubuntu12 [2024-01-12 15:34:16] Manifest download: send request [2024-01-12 15:34:17] Manifest download: waiting for download to finish [2024-01-12 15:34:17] Manifest download: finished [2024-01-12 15:34:17] Download skipped: /client/steam_client_ubuntu12 version 1704936806, installed version 1704936806, existing pending version 0 [2024-01-12 15:34:17] Nothing to do [2024-01-12 15:34:17] Verifying installation... [2024-01-12 15:34:17] Performing checksum verification of executable files [2024-01-12 15:34:22] Verification complete Using emulated /home/sceikdavid/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libappindicator.so.1 Using emulated /home/sceikdavid/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libindicator.so.7 Using emulated /home/sceikdavid/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_32/libdbusmenu-gtk.so.4 Using emulated /home/sceikdavid/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_32/libdbusmenu-glib.so.4 Using emulated /home/sceikdavid/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_32/libgtk-x11-2.0.so.0 Using emulated /home/sceikdavid/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libgio-2.0.so.0 Using emulated /home/sceikdavid/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libgobject-2.0.so.0 Using emulated /home/sceikdavid/.local/share/Steam/ubuntu12_32/steam-runtime/lib/i386-linux-gnu/libglib-2.0.so.0 Using emulated /home/sceikdavid/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libgdk_pixbuf-2.0.so.0 Using emulated /home/sceikdavid/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libgmodule-2.0.so.0 Using emulated /home/sceikdavid/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0 Using emulated /home/sceikdavid/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libpangocairo-1.0.so.0 Using native(wrapped) libXfixes.so.3 Using native(wrapped) libxcb.so.1 Using native(wrapped) libXau.so.6 Using native(wrapped) libXdmcp.so.6 Using emulated /home/sceikdavid/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libatk-1.0.so.0 Using native(wrapped) libcairo.so.2 Using emulated /home/sceikdavid/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libpangoft2-1.0.so.0 Using emulated /home/sceikdavid/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libpango-1.0.so.0 Using native(wrapped) libfontconfig.so.1 Using native(wrapped) libexpat.so.1 Using native(wrapped) libfreetype.so.6 Using native(wrapped) libXext.so.6 Using native(wrapped) libXrender.so.1 Using native(wrapped) libXinerama.so.1 Using native(wrapped) libXi.so.6 Using native(wrapped) libXrandr.so.2 Using native(wrapped) libXcursor.so.1 Using native(wrapped) libXcomposite.so.1 Using native(wrapped) libXdamage.so.1 Using emulated /home/sceikdavid/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libffi.so.6 Using native(wrapped) libpcre.so.3 Error initializing native libpng12.so.0 (last dlerror is libpng12.so.0: wrong ELF class: ELFCLASS64) Using emulated /home/sceikdavid/.local/share/Steam/ubuntu12_32/steam-runtime/lib/i386-linux-gnu/libpng12.so.0 Using emulated /home/sceikdavid/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libtiff.so.4 Using native(wrapped) libjpeg.so.8 Using native(wrapped) libz.so.1 Using native(wrapped) libselinux.so.1 Using native(wrapped) libresolv.so.2 Using emulated /home/sceikdavid/.local/share/Steam/ubuntu12_32/steamui.so Using emulated /home/sceikdavid/.local/share/Steam/ubuntu12_32/libtier0_s.so Using emulated /home/sceikdavid/.local/share/Steam/ubuntu12_32/libvstdlib_s.so Using emulated /home/sceikdavid/.local/share/Steam/ubuntu12_32/libSDL3.so.0 Using emulated /home/sceikdavid/.local/share/Steam/ubuntu12_32/libavcodec.so.58 Using emulated /home/sceikdavid/.local/share/Steam/ubuntu12_32/libavutil.so.56 Using emulated /home/sceikdavid/.local/share/Steam/ubuntu12_32/libvideo.so Using native(wrapped) libXtst.so.6 Using emulated /home/sceikdavid/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libpipewire-0.3.so.0 Using native(wrapped) libpulse.so.0 Using native(wrapped) libX11-xcb.so.1 Using emulated /home/sceikdavid/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libxcb-res.so.0 Warning: Weak Symbol _ZGTtnaj not found, cannot apply R_386_JMP_SLOT 0x6604ddd0 (0xd536) Warning: Weak Symbol _ZGTtnaj not found, cannot apply R_386_JMP_SLOT 0x660faaa4 (0xb1c6) Using emulated /home/sceikdavid/.local/share/Steam/ubuntu12_32/libvpx.so.6 Using emulated /home/sceikdavid/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libva.so.2 Using emulated /home/sceikdavid/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libvdpau.so.1 Using native(wrapped) libdrm.so.2 Using emulated /home/sceikdavid/.local/share/Steam/ubuntu12_32/steam-runtime/lib/i386-linux-gnu/libgcc_s.so.1 Using emulated /home/sceikdavid/.local/share/Steam/ubuntu12_32/libavformat.so.58 Using emulated /home/sceikdavid/.local/share/Steam/ubuntu12_32/libavresample.so.4 Using emulated /home/sceikdavid/.local/share/Steam/ubuntu12_32/libswscale.so.5 Error initializing native libbz2.so.1 (last dlerror is libbz2.so.1: wrong ELF class: ELFCLASS64) Using emulated /home/sceikdavid/.local/share/Steam/ubuntu12_32/steam-runtime/lib/i386-linux-gnu/libbz2.so.1.0 Warning: Weak Symbol _ZGTtnaj not found, cannot apply R_386_JMP_SLOT 0x670fb7fc (0x35fb6) Warning: Weak Symbol _ZGTtnaj not found, cannot apply R_386_JMP_SLOT 0x65fb9f54 (0x14aa96)

Steam logging initialized: directory: /home/sceikdavid/.local/share/Steam/logs

5806|SIGSEGV @0xe0b07dbc (???(0xe0b07dbc)) (x86pc=0xe0b322d0/???:"???", esp=0xeea1d690, stack=0xee225000:0xeea25000 own=(nil) fp=0xc), for accessing (nil) (code=1/prot=0), db=0xe0b1cb30(0xe0b07dbc:0xe0b07f48/0xe0b322d0:0xe0b322ec/???:clean, hash:3d5d8af0/3d5d8af0) EAX:0x00000000 ECX:0x63fab924 EDX:0xeca12c48 EBX:0x6114dff4 ESP:0xeea1d690 EBP:0xec9349a8 ESI:0x63e29d50 EDI:0xeca12c48 ESP-0x10:0x63e29d50 ESP-0x0c:0xeca12c48 ESP-0x08:0xec9349a8 ESP-0x04:0x6111b3be ESP+0x00:0x00000000 ESP+0x04:0x613f7ff4 ESP+0x08:0x00000004 ESP+0x0c:0x6114dff4 5806|Double SIGSEGV (code=1, pc=0xe0b07dbc, addr=(nil))! src/common/framefunction.cpp (238) : Assertion Failed: CFrameFunctionMgr::~CFrameFunctionMgr: non static FrameFunction[CHTTPClient::BFrameFuncHandleCompletedWorkItems] still registered src/common/framefunction.cpp (238) : Assertion Failed: CFrameFunctionMgr::~CFrameFunctionMgr: non static FrameFunction[CHTTPClient::BFrameFuncHandleCompletedWorkItems] still registered Using native(wrapped) crashhandler.so Stop waiting for remaining thread 5820 Stop waiting for remaining thread 5821 client: VTEST_CLIENT_DISCONNECTED /home/sceikdavid/.local/share/Steam/steam.sh: line 798: 5806 Segmentation fault (core dumped) "$STEAMROOT/$STEAMEXEPATH" "$@" X Error of failed request: BadMatch (invalid parameter attributes) Major opcode of failed request: 154 (GLX) Minor opcode of failed request: 26 (X_GLXMakeContextCurrent) Serial number of failed request: 69 Current serial number in output stream: 69

tiredNmodding commented 9 months ago

Hey, just got here from asking cobalt2727 about a pretty similar (if not the exact same) issue, and he direct me here (as per the mention). Just popped in to mention that along with me and the OP, there are some other users who've encountered this issue as well.

ptitSeb commented 9 months ago

I don't really see anything wrong in the log exept the segfault at the end. Can you run with BOX86_ROLLING_LOG=1 BOX86_SHOWBT=1 to have a bit more detail on the crash?

Tsuneki0137 commented 9 months ago

tsuneki@tsunekipc2:~$ BOX86_ROLLING_LOG=1 BOX86_SHOWBT=1 steam VIRGL Server Started steam.sh[4852]: Running Steam on ubuntu 22.04 64-bit steam.sh[4852]: STEAM_RUNTIME is enabled by the user setup.sh[4917]: Steam runtime environment up-to-date! steam.sh[4852]: Steam client's requirements are satisfied Debug level is 1 Rolling log, showing last 16 function call on signals Show Backtrace for signals Dynarec for ARMv8, with extension: HALF FAST_MULT EDSP NEON VFPv4 IDIVA AES PMULL PageSize:4096 Running on Cortex-A57 with 4 Cores Params database has 29 entries Box86 with Dynarec v0.3.5 f2496984 built on Jan 12 2024 06:35:39 Using default BOX86_LD_LIBRARY_PATH: ./:lib/:lib32/:x86/:i686/ Using default BOX86_PATH: ./:bin/ Counted 68 Env var Looking for /home/tsuneki/.local/share/Steam/ubuntu12_32/steam steam detected Apply RC params for steam Applying BOX86_NOGTK=1 Applying BOX86_DYNAREC_STRONGMEM=1 Applying BOX86_DYNAREC_CALLRET=1 Applying BOX86_EMULATED_LIBS=libudev.so.0:libSDL2-2.0.so.0 argv[1]="-no-cef-sandbox" argv[2]="-noreactlogin" argv[3]="steam://open/minigameslist" Rename process to "steam" Using native(wrapped) libdl.so.2 Using native(wrapped) libc.so.6 Using native(wrapped) ld-linux.so.2 Using native(wrapped) libpthread.so.0 Using native(wrapped) librt.so.1 Using native(wrapped) libbsd.so.0 Using native(wrapped) libX11.so.6 Using native(wrapped) libm.so.6 [2024-01-17 12:25:24] Startup - updater built Jan 13 2024 00:51:43 [2024-01-17 12:25:24] Startup - Steam Client launched with: '/home/tsuneki/.local/share/Steam/ubuntu12_32/steam' '-no-cef-sandbox' '-noreactlogin' 'steam://open/minigameslist' Using native(wrapped) crashhandler.so Using native(wrapped) libGL.so.1 vtest_client_dispatch_commands: client context created. Looks like steam didn't shutdown cleanly, scheduling immediate update check [2024-01-17 12:25:36] Loading cached metrics from disk (/home/tsuneki/.local/share/Steam/package/steam_client_metrics.bin) [2024-01-17 12:25:36] Failed to load cached hosts file (File 'update_hosts_cached.vdf' not found), using defaults [2024-01-17 12:25:36] Using the following download hosts for Public, Realm steamglobal [2024-01-17 12:25:36] 1. https://cdn.steamstatic.com, /client/, Realm 'steamglobal', weight was 1, source = 'baked in' [2024-01-17 12:25:36] Checking for update on startup [2024-01-17 12:25:36] Checking for available updates... [2024-01-17 12:25:36] Downloading manifest: https://cdn.steamstatic.com/client/steam_client_ubuntu12 [2024-01-17 12:25:36] Manifest download: send request [2024-01-17 12:25:36] Manifest download: waiting for download to finish [2024-01-17 12:25:38] Manifest download: finished [2024-01-17 12:25:38] Download skipped: /client/steam_client_ubuntu12 version 1705108172, installed version 1705108172, existing pending version 0 [2024-01-17 12:25:38] Nothing to do [2024-01-17 12:25:38] Verifying installation... [2024-01-17 12:25:38] Performing checksum verification of executable files Last calls 4944|0x300786ad: Calling __clock_gettime (/lib/arm-linux-gnueabihf/libc.so.6)(7, 0xeea7e998) => return 0x0 [3836 sec 5908885 nsec] 4967|0x3047d417: Calling my_malloc (/home/tsuneki/.local/share/Steam/ubuntu12_32/steam) (00001000, E2ED53F8, E2ED5374...) => return 0xE2AA3E00 4967|0x3009773e: Calling getcwd (/lib/arm-linux-gnueabihf/libc.so.6) (E2AA3E00, 00001000, 00000048...) => return 0xE2AA3E00 4967|0x30097752: Calling strlen (/lib/arm-linux-gnueabihf/libc.so.6)(0xe2aa3e00("/home/tsuneki/.local/share/Steam")) => return 0x20 4967|0x3047d417: Calling my_malloc (/home/tsuneki/.local/share/Steam/ubuntu12_32/steam) (00000051, E2ED53F8, E2ED5374...) => return 0xE2A157C8 4967|0x300977bf: Calling ???(/lib/arm-linux-gnueabihf/libc.so.6/0xef5a0640) (E2A157C8, E2AA3E00, 00000051...) => return 0xE2A157C8 4967|0x3047bba8: Calling free (/home/tsuneki/.local/share/Steam/ubuntu12_32/steam) (E2AA3E00, E2ED53F8, E2ED5374...) => return 0xE2A157C8 4967|0x30088779: Calling strlen (/lib/arm-linux-gnueabihf/libc.so.6)(0xe2a157c8("/home/tsuneki/.local/share/Steam/ubuntu12_64/steam-runtime-heavy.tar.xz.checksum")) => return 0x50 4967|0x3047bba8: Calling free (/home/tsuneki/.local/share/Steam/ubuntu12_32/steam) (E2A157C8, 0000002F, 0000004D...) => return 0xE2A157C8 4967|0x300886da: Calling strlen (/lib/arm-linux-gnueabihf/libc.so.6)(0xe2aa3b88("ubuntu12_64/steam-runtime-heavy.version.txt")) => return 0x2B 4967|0x3005545b: Calling my_readlink (/home/tsuneki/.local/share/Steam/ubuntu12_32/steam) (E2AA3BB8, E2ED6D78, 00000FFF...) => return 0xFFFFFFFF 4967|0x3047d417: Calling my_malloc (/home/tsuneki/.local/share/Steam/ubuntu12_32/steam) (00001000, E2ED53F8, E2ED5374...) => return 0xE2AA3E00 4967|0x3009773e: Calling getcwd (/lib/arm-linux-gnueabihf/libc.so.6) (E2AA3E00, 00001000, 0000004D...) => return 0xE2AA3E00 4967|0x30097752: Calling strlen (/lib/arm-linux-gnueabihf/libc.so.6)(0xe2aa3e00("/home/tsuneki/.local/share/Steam")) => return 0x20 4967|0x3047d417: Calling my_malloc (/home/tsuneki/.local/share/Steam/ubuntu12_32/steam) (00000048, E2ED53F8, E2ED5374...) => return 0xE2A157C8 4967|0x300977bf: Calling ???(/lib/arm-linux-gnueabihf/libc.so.6/0xef5a0640) (E2A157C8, E2AA3E00, 00000048...) => return 0xE2A157C8 4944|SIGSEGV @0xef59b1ae (my_malloc (/home/tsuneki/.local/share/Steam/ubuntu12_32/steam)) (x86pc=0x4007000b/???:"???", esp=0xeea7e97c, stack=0xee283000:0xeea83000 own=(nil) fp=0xeea7ea38), for accessing (nil) (code=1/prot=0), db=(nil)((nil):(nil)/(nil):(nil)/???:clean, hash:0/0) ESP-0x10:0x3068d668 ESP-0x0c:0x00000000 ESP-0x08:0x00000001 ESP-0x04:0x00000000 ESP+0x00:0x300786ad ESP+0x04:0x00000007 ESP+0x08:0xeea7e998 ESP+0x0c:0x000001d3 Native bactrace: /home/tsuneki/.local/share/Steam/ubuntu12_32/steam() [0x62977220] /lib/arm-linux-gnueabihf/libc.so.6(+0x2d6f0) [0xef55d6f0] 4944|Double SIGSEGV (code=1, pc=0xef59b1ae, addr=(nil))! src/common/framefunction.cpp (238) : Assertion Failed: CFrameFunctionMgr::~CFrameFunctionMgr: non static FrameFunction[CHTTPClient::BFrameFuncHandleCompletedWorkItems] still registered src/common/framefunction.cpp (238) : Assertion Failed: CFrameFunctionMgr::~CFrameFunctionMgr: non static FrameFunction[CHTTPClient::BFrameFuncHandleCompletedWorkItems] still registered Using native(wrapped) crashhandler.so Stop waiting for remaining thread 4967 Stop waiting for remaining thread 4968 client: VTEST_CLIENT_DISCONNECTED /home/tsuneki/.local/share/Steam/steam.sh: line 798: 4944 Segmentation fault (core dumped) "$STEAMROOT/$STEAMEXEPATH" "$@" tsuneki@tsunekipc2:-$ X Error of failed request: BadMatch (invalid parameter attributes) Major opcode of failed request: 150 (GLX) Minor opcode of failed request: 26 (X_GLXMakeContextCurrent) Serial number of failed request: 62 Current serial number in output stream: 62

ptitSeb commented 9 months ago

Can you create if needed ~/.box86rc and put inside this:

[steam]
BOX86_EMULATED_LIBS=libudev.so.0:libSDL2-2.0.so.0
BOX86_NOGTK=1
BOX86_DYNAREC_STRONGMEM=1
BOX86_X11COLOR16=1
BOX86_DYNAREC_CALLRET=0

And try again?

Tsuneki0137 commented 9 months ago

i create the file and i it actully works! it takes a bit to start up but it's doing his job, thanks

ptitSeb commented 9 months ago

i create the file and i it actully works! it takes a bit to start up but it's doing his job, thanks

Ok, I'll change the box86.box86rc then so everyone can have the stable configuration.

ptitSeb commented 9 months ago

Ok, I have pushed the change. Steam should work without the ~/.box86rc with latest version.

vasi commented 9 months ago

This helped me as well.

ptitSeb commented 8 months ago

Ticket can be closed then?

SceikDavid commented 8 months ago

Can you create if needed ~/.box86rc and put inside this:

[steam]
BOX86_EMULATED_LIBS=libudev.so.0:libSDL2-2.0.so.0
BOX86_NOGTK=1
BOX86_DYNAREC_STRONGMEM=1
BOX86_X11COLOR16=1
BOX86_DYNAREC_CALLRET=0

And try again?

it didn't work. I created the file as you said but after running steam with "/usr/local/bin/steam" (client update and terminal spamming things) my switch logout

ptitSeb commented 8 months ago

you might need a swap to run steam on a switch. IIRC, there is only 4GB of RAM, and that's not really enough to run steam now.