1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
Steam launch fails 2023
I an unsure when this issue began to occur, but Steam does not launch using Box64/Box86.
This issue was reported by a Pi-Apps user who used Pi-Apps to install Steam. I have confirmed the issue: Steam does not launch successfully.
On first run with no pre-existing config, a number of dialogs appear to download and extract Steam. This seems to succeed. But when running Steam again later, it quickly exits with this output:
(Note: /usr/local/bin/steam is a pi-apps custom wrapper script to launch steam)
```
pi@raspberrypi:~ $ /usr/local/bin/steam
steam.sh[523448]: Running Steam on debian 12 64-bit
steam.sh[523448]: STEAM_RUNTIME is enabled by the user
setup.sh[523511]: Steam runtime environment up-to-date!
steam.sh[523448]: 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-A76 with 4 Cores
Params database has 29 entries
Box86 with Dynarec v0.3.5 41a8bc0d built on Dec 23 2023 06:24:30
Using default BOX86_LD_LIBRARY_PATH: ./:lib/:lib32/:x86/:i686/
Using default BOX86_PATH: ./:bin/
Counted 68 Env var
Looking for /home/pi/.local/share/Steam/ubuntu12_32/steam
steam detected
Apply RC params for steam
Applying BOX86_NOGTK=1
Applying BOX86_DYNAREC_STRONGMEM=1
Applying BOX86_EMULATED_LIBS=libudev.so.0:libSDL2-2.0.so.0
argv[1]="-no-cef-sandbox"
argv[2]="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
pi@raspberrypi:~ $
```
This output is unhelpful, so I ran steam manually using these commands:
```
export STEAMOS=1
export STEAM_RUNTIME=1
export DBUS_FATAL_WARNINGS=0
BOX64_LOG=2 BOX86_LOG=2 BOX64_EMULATED_LIBS=libmpg123.so.0 /usr/lib/steam/bin_steam.sh -no-cef-sandbox steam://open/minigameslist
```
The debug output from this is too long to capture in the terminal, but the ending part seems the most interesting:
```
... =>PltResolver: Addr=0x76e0fe40, Slot=153 Return=0x405182: elf is /home/pi/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/bin/steam-runtime-identify-library-abi (VerSym=0x4024c6)
Apply Global R_X86_64_JUMP_SLOT 0x6134c8 with sym=g_strfreev(ver 0: g_strfreev) (0x4045c6 -> 0x20a00 / box64)
return 0x0
533553|0x405182: Calling g_strfreev(0x76EC07B0, 0x3A, 0xFFFFFFFF, ...) => return 0x0
533553|0x404d16: Calling fputc(0xA, 0x76E69A20, 0xFFFFFFFF, ...) => return 0xA
533553|0x404bfd: Calling fclose(0x76E69A20, 0x76E69A20, 0xFFFFFFFF, ...) => return 0x0
... =>PltResolver: Addr=0x76e0fe40, Slot=24 Return=0x404a93: elf is /home/pi/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/bin/steam-runtime-identify-library-abi (VerSym=0x4024c6)
Apply Global R_X86_64_JUMP_SLOT 0x6130c0 with sym=g_option_context_free(ver 0: g_option_context_free) (0x403db6 -> 0x20200 / box64)
return 0x0
533553|0x404a93: Calling g_option_context_free(0x76E5CB20, 0x76E69A20, 0xFFFFFFFF, ...) => return 0x0
return 0x0
End of X86 run (0x76e0ee50), RIP=0x10080, Stack=0x1007fec00, unimp=0, emu->fork=0, emu->uc_link=(nil), emu->quit=1
Emulation finished, EAX=0
Calling atexit registered functions (exiting box64)
Calling atexit registered functions
Calling fini for all loaded elfs and unload native libs
Calling Fini[0] for /home/pi/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/bin/steam-runtime-identify-library-abi @0x404e90
Calling Fini for /home/pi/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/bin/steam-runtime-identify-library-abi @0x40de14
533553|Free a X86_64 Emu (0x76e0ee50)
*** buffer overflow detected ***: terminated
steam.sh[533474]: Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL SHA1 SHA2 PageSize:4096 Running on Cortex-A76 with 4 Cores
Params database has 45 entries
BOX64: Didn't detect 48bits of address space, considering it's 39bits
Setting up canary (for Stack protector) at FS:0x28, value:91314800
Allocate a new X86_64 Emu, with EIP=(nil) and Stack=0x100000000/0x7F3000
Setup X86_64 Emu
NativeBT: /usr/local/bin/box64() [0x34a10d84]
NativeBT: linux-vdso.so.1(__kernel_rt_sigreturn+0) [0x7fbc4967bc]
NativeBT: /lib/aarch64-linux-gnu/libc.so.6(+0x809d0) [0x7fbc3109d0]
NativeBT: /lib/aarch64-linux-gnu/libc.so.6(gsignal+0x1c) [0x7fbc2ca76c]
NativeBT: /lib/aarch64-linux-gnu/libc.so.6(abort+0xf0) [0x7fbc2b74bc]
NativeBT: /lib/aarch64-linux-gnu/libc.so.6(+0x74aac) [0x7fbc304aac]
NativeBT: /lib/aarch64-linux-gnu/libc.so.6(__fortify_fail+0x28) [0x7fbc387b98]
NativeBT: /lib/aarch64-linux-gnu/libc.so.6(+0xf6374) [0x7fbc386374]
NativeBT: /lib/aarch64-linux-gnu/libc.so.6(__strcat_chk+0x30) [0x7fbc385bb0]
NativeBT: /usr/local/bin/box64() [0x34e7bd70]
NativeBT: /usr/local/bin/box64() [0x349db630]
NativeBT: /usr/local/bin/box64() [0x349d7984]
NativeBT: /lib/aarch64-linux-gnu/libc.so.6(+0x27780) [0x7fbc2b7780]
NativeBT: /lib/aarch64-linux-gnu/libc.so.6(__libc_start_main+0x98) [0x7fbc2b7858]
NativeBT: /usr/local/bin/box64() [0x349d8d20]
EmulatedBT: ??? [(nil)]
533560|SIGABRT @0x7fbc3109d0 (???(/lib/aarch64-linux-gnu/libc.so.6+0x809d0)) (x64pc=(nil)/???:"???", rsp=0x1007f3000, stack=0x100000000:0x1007f3000 own=0x100000000 fp=(nil)), for accessing 0x3e800082438 (code=-6/prot=0), db=(nil)((nil):(nil)/(nil):(nil)/???:clean, hash:0/0) handler=(nil)
RAX:0x0000000000000000 RCX:0x0000000000000000 RDX:0x0000000000000000 RBX:0x0000000000000000
RSP:0x00000001007f3000 RBP:0x0000000000000000 RSI:0x0000000000000000 RDI:0x0000000000000000
R8:0x0000000000000000 R9:0x0000000000000000 R10:0x0000000000000000 R11:0x0000000000000000
R12:0x0000000000000000 R13:0x0000000000000000 R14:0x0000000000000000 R15:0x0000000000000000
ES:0x002b CS:0x0033 SS:0x002b DS:0x002b FS:0x0043 GS:0x0053
Debug level is 2
Dynarec for ARMv8, with extension: HALF FAST_MULT EDSP NEON VFPv4 IDIVA AES PMULL PageSize:4096 Running on Cortex-A76 with 4 Cores
Params database has 29 entries
Box86 with Dynarec v0.3.5 41a8bc0d built on Dec 23 2023 06:24:30
Setting up canary (for Stack protector) at GS:0x14, value:08ABAC00
Using default BOX86_LD_LIBRARY_PATH: ./:lib/:lib32/:x86/:i686/
*** buffer overflow detected ***: terminated
/home/pi/.local/share/Steam/steam.sh: line 798: 533571 Aborted "$STEAMROOT/$STEAMEXEPATH" "$@"
```
My system is Raspberry Pi 5 running the 4k pagesize kernel, PiOS Bookworm 64-bit, wayland
Hoping someone here can look into this and see what can be done to get Steam working again.
|