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

steam displays black box after verification test on box86, Ubuntu 22.04.1 LTS multiarch arm64 armhf #698

Closed
nixguru opened this issue Oct 14, 2022 · 10 comments

Comments

@nixguru
Copy link

nixguru commented Oct 14, 2022

Continuing my discovery of new or interesting issues, I wasn't able to find a solution yet to this issue. After executing steam with newly compiled box86+box64 running on Ubuntu 22.04.1 LTS multiarch with arm64 and armhf, steam will go through the verification test (displayed properly), then move on load. When it fully loads, there is just a blank black box displayed with nothing in it.

~/steam$ ./steam.sh
steam.sh[303406]: Running Steam on ubuntu 22.04 64-bit
steam.sh[303406]: STEAM_RUNTIME is enabled by the user
setup.sh[303471]: Steam runtime environment up-to-date!
steam.sh[303406]: Steam client's requirements are satisfied
Box86 with Dynarec v0.2.7 b292efc built on Oct 13 2022 14:06:21
[2022-10-14 11:05:59] Startup - updater built Oct 7 2022 22:29:18
[2022-10-14 11:05:59] Startup - Steam Client launched with: '/home/mikeb/.local/share/Steam/ubuntu12_32/steam' 'steam://open/minigameslist'
Looks like steam didn't shutdown cleanly, scheduling immediate update check
[2022-10-14 11:06:00] Loading cached metrics from disk (/home/mikeb/.local/share/Steam/package/steam_client_metrics.bin)
[2022-10-14 11:06:00] Failed to load cached hosts file (File 'update_hosts_cached.vdf' not found), using defaults
[2022-10-14 11:06:00] Using the following download hosts for Public, Realm steamglobal
[2022-10-14 11:06:00] 1. http://media.steampowered.com, /client/, Realm 'steamglobal', weight was 1, source = 'baked in'
[2022-10-14 11:06:00] Checking for update on startup
[2022-10-14 11:06:00] Checking for available updates...
[2022-10-14 11:06:00] Downloading manifest: http://media.steampowered.com/client/steam_client_ubuntu12
[2022-10-14 11:06:00] Manifest download: send request
[2022-10-14 11:06:00] Manifest download: waiting for download to finish
[2022-10-14 11:06:00] Manifest download: finished
[2022-10-14 11:06:00] Download skipped: /client/steam_client_ubuntu12 version 1665183764, installed version 1665183764, existing pending version 0
[2022-10-14 11:06:00] Nothing to do
[2022-10-14 11:06:00] Verifying installation...
[2022-10-14 11:06:00] Performing checksum verification of executable files
[2022-10-14 11:06:03] Verification complete
Loaded SDL version 2.25.0-7511446
Gtk-Message: Failed to load module "gail"
Gtk-Message: Failed to load module "atk-bridge"

(steam:303504): Gtk-WARNING **: Unable to locate theme engine in module_path: "adwaita",
/usr/share/themes/Yaru-blue-dark/gtk-2.0/main.rc:775: error: unexpected identifier direction', expected character }'

(steam:303504): Gtk-WARNING **: Unable to locate theme engine in module_path: "adwaita",
/usr/share/themes/Yaru-blue-dark/gtk-2.0/hacks.rc:28: error: invalid string constant "normal_entry", expected valid string constant
steamwebhelper.sh[303512]: Runtime for steamwebhelper: defaulting to /home/mikeb/.local/share/Steam/ubuntu12_64/steam-runtime-heavy
steamwebhelper.sh[303512]: glibc >= 2.34, partially disabling sandbox until CEF supports clone3()
CAppInfoCacheReadFromDiskThread took 4 milliseconds to initialize
Dynarec for ARM64, with extension: ASIMD CRC32 PageSize:4096
Box64 with Dynarec v0.1.9 0a908d7 built on Oct 13 2022 14:33:51
Using default BOX64_LD_LIBRARY_PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/
Using default BOX64_PATH: ./:bin/
Counted 82 Env var
Looking for /home/mikeb/.local/share/Steam/ubuntu12_32/../ubuntu12_64/gldriverquery
Rename process to "gldriverquery"
Using native(wrapped) libSDL2-2.0.so.0
Using native(wrapped) libdl.so.2
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) libpthread.so.0
Using native(wrapped) librt.so.1
Using native(wrapped) libm.so.6
Using native(wrapped) libGL.so.1
Box86 with Dynarec v0.2.7 b292efc built on Oct 13 2022 14:06:21
Dynarec for ARM64, with extension: ASIMD CRC32 PageSize:4096
Box64 with Dynarec v0.1.9 0a908d7 built on Oct 13 2022 14:33:51
Using default BOX64_LD_LIBRARY_PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/
Using default BOX64_PATH: ./:bin/
Counted 83 Env var
Looking for /home/mikeb/.local/share/Steam/ubuntu12_32/../ubuntu12_64/vulkandriverquery
Rename process to "vulkandriverquery"
Using native(wrapped) libdl.so.2
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) libpthread.so.0
Using native(wrapped) librt.so.1
Using emulated /home/mikeb/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/x86_64-linux-gnu/libstdc++.so.6
Using native(wrapped) libm.so.6
Using emulated /home/mikeb/.local/share/Steam/ubuntu12_32/steam-runtime/lib/x86_64-linux-gnu/libgcc_s.so.1
Using native(wrapped) libvulkan.so.1
Box86 with Dynarec v0.2.7 b292efc built on Oct 13 2022 14:06:21
steamwebhelper.sh[303589]: Runtime for steamwebhelper: defaulting to /home/mikeb/.local/share/Steam/ubuntu12_64/steam-runtime-heavy
steamwebhelper.sh[303589]: glibc >= 2.34, partially disabling sandbox until CEF supports clone3()
steamwebhelper.sh[303629]: Runtime for steamwebhelper: defaulting to /home/mikeb/.local/share/Steam/ubuntu12_64/steam-runtime-heavy
steamwebhelper.sh[303629]: glibc >= 2.34, partially disabling sandbox until CEF supports clone3()

Steam is started with the following:

export BOX86_LD_LIBRARY_PATH=/usr/lib/i386-linux-gnu:/.local/share/Steam/ubuntu12_32:/.local/share/Steam/ubuntu12_32/steam-runtime/lib/i386-linux-gnu:~/.local/share/Steam/ubuntu12_32/steam
-runtime/usr/lib/i386-linux-gnu
export BOX86_EMULATED_LIBS=libpng12.so.0
#export BOX86_NOGTK=1
export STEAMOS=1
export STEAM_RUNTIME=1
~/steam/bin/steam steam://open/minigameslist

I've tried using NOGTK=1, doesn't seem to make a difference. I've had to add the libpng12.so.0 to EMULATED_LIBS because steam was complaining about not finding that, even though it was where it was supposed to be from sudo make install. Adding that path to LD_LIBRARY_PATH didn't seem to help, so I had to add it to EMULATED_LIBS. Anyway, I suspect all this is a red herring.

I found ..

Gtk-Message: Failed to load module "gail"
Gtk-Message: Failed to load module "atk-bridge"

.. to imply I was possibly missing some libraries. I found some similar (not box86/arm related) postings where users installed libgail-common and libatk-adaptor, which didn't seem to help me. I suspect these messages are related to why it's displaying a black box, but I'm not sure what else may need to be done.

libgail-common/jammy,now 2.24.33-2ubuntu2 arm64 [installed]
libgail-common/jammy,now 2.24.33-2ubuntu2 armhf [installed]
libatk-adaptor/jammy,now 2.38.0-3 arm64 [installed,automatic]
libatk-adaptor/jammy,now 2.38.0-3 armhf [installed]

steamwebhelper.sh messages just repeat forever, while steam is still running with the black box displayed. I need to kill the process to end it.

Any help would be appreciated as always. Thank you!

@Hacker1245
Copy link
Contributor

I might have a feeling that the new login UI is Chromium based, at least that's what I have heard. Maybe that is the cause?

@ptitSeb
Copy link
Owner

ptitSeb commented Oct 14, 2022

If that is the case, that will be unfortunate, as it will surely needs the 64bits part of steam then (that for now still doesn't work with box64)

@nixguru
Copy link
Author

nixguru commented Oct 14, 2022

I am looking though an strace and found some strange things related to the modules not found:

304996 access("/home/mikeb/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/gtk-2.0/2.10.0/i686-pc-linux-gnu/modules/libgail.so", F_OK) = -1 ENOENT (No such file or directory)
304996 access("/home/mikeb/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/gtk-2.0/2.10.0/i686-pc-linux-gnu/modules/libgail.la", F_OK) = -1 ENOENT (No such file or directory)
304996 access("/home/mikeb/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/gtk-2.0/2.10.0/modules/libgail.so", F_OK) = -1 ENOENT (No such file or directory)
304996 access("/home/mikeb/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/gtk-2.0/2.10.0/modules/libgail.la", F_OK) = -1 ENOENT (No such file or directory)
304996 access("/home/mikeb/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/gtk-2.0/i686-pc-linux-gnu/modules/libgail.so", F_OK) = -1 ENOENT (No such file or directory)
304996 access("/home/mikeb/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/gtk-2.0/i686-pc-linux-gnu/modules/libgail.la", F_OK) = -1 ENOENT (No such file or directory)
304996 access("/home/mikeb/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/gtk-2.0/modules/libgail.so", F_OK) = -1 ENOENT (No such file or directory)
304996 access("/home/mikeb/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/gtk-2.0/modules/libgail.la", F_OK) = -1 ENOENT (No such file or directory)
304996 statx(AT_FDCWD, "libgail.so", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, 0xffc06368) = -1 ENOENT (No such file or directory)
304996 statx(AT_FDCWD, "libgail.so.so", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, 0xffc06368) = -1 ENOENT (No such file or directory)
304996 statx(AT_FDCWD, "libgail.so.la", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, 0xffc06368) = -1 ENOENT (No such file or directory)
304996 getcwd("/home/mikeb/.local/share/Steam", 1024) = 31
304996 openat(AT_FDCWD, "libgail.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
304996 openat(AT_FDCWD, "/home/mikeb/.local/share/Steam/ubuntu12_32/lib.target/libgail.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
304996 openat(AT_FDCWD, "/home/mikeb/.local/share/Steam/ubuntu12_32/lib.target//i686/libgail.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
304996 openat(AT_FDCWD, "/home/mikeb/.local/share/Steam/ubuntu12_32/lib.target/libgail.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
304996 openat(AT_FDCWD, "/home/mikeb/.local/share/Steam/ubuntu12_32/lib.target//i686/libgail.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
304996 openat(AT_FDCWD, "/home/mikeb/.local/share/Steam/ubuntu12_32/libgail.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
304996 openat(AT_FDCWD, "/home/mikeb/.local/share/Steam/ubuntu12_32/panorama/libgail.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
304996 openat(AT_FDCWD, "/home/mikeb/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_32/libgail.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
304996 openat(AT_FDCWD, "/home/mikeb/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_64/libgail.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
304996 openat(AT_FDCWD, "/lib/aarch64-linux-gnu/libgail.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
304996 openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libgail.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
304996 openat(AT_FDCWD, "/usr/lib/aarch64-linux-gnu/libfakeroot/libgail.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
304996 openat(AT_FDCWD, "/usr/local/lib/libgail.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
304996 openat(AT_FDCWD, "/lib/libgail.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
304996 openat(AT_FDCWD, "/home/mikeb/.local/share/Steam/ubuntu12_32/steam-runtime/lib/i386-linux-gnu/libgail.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
304996 openat(AT_FDCWD, "/home/mikeb/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libgail.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
304996 openat(AT_FDCWD, "/home/mikeb/.local/share/Steam/ubuntu12_32/steam-runtime/lib/x86_64-linux-gnu/libgail.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
304996 openat(AT_FDCWD, "/home/mikeb/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/x86_64-linux-gnu/libgail.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
304996 openat(AT_FDCWD, "/home/mikeb/.local/share/Steam/ubuntu12_32/steam-runtime/lib/libgail.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
304996 openat(AT_FDCWD, "/home/mikeb/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/libgail.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
304996 openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/libgail.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
304996 openat(AT_FDCWD, "/home/mikeb/.local/share/Steam/ubuntu12_32/libgail.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
304996 openat(AT_FDCWD, "/home/mikeb/.local/share/Steam/ubuntu12_32/steam-runtime/lib/i386-linux-gnu/libgail.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
304996 openat(AT_FDCWD, "/home/mikeb/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libgail.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
304996 openat(AT_FDCWD, "/lib/i386-linux-gnu/libgail.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
304996 openat(AT_FDCWD, "/usr/lib/i386-linux-gnu/libgail.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
304996 write(2, "Gtk-Message: Failed to load modu"..., 42) = 42

.. yet:

$ sudo find / -name libgail.so
/usr/lib/aarch64-linux-gnu/gtk-2.0/modules/libgail.so
/usr/lib/arm-linux-gnueabihf/gtk-2.0/modules/libgail.so

What is interesting is that it seems to be looking everywhere else but here to find it. Same with the other module.

@nixguru
Copy link
Author

nixguru commented Oct 14, 2022

Not sure if I'm going about this the right way or not, but I placed the i386 libraries libgail.so and libatk-bridge.so in the /usr/lib/i386-linux-gnu directory, and it then crashed with the following but no longer gave the missing modules:

$ ./steam.sh
steam.sh[307885]: Running Steam on ubuntu 22.04 64-bit
steam.sh[307885]: STEAM_RUNTIME is enabled by the user
setup.sh[307950]: Steam runtime environment up-to-date!
steam.sh[307885]: Steam client's requirements are satisfied
Box86 with Dynarec v0.2.7 b292efc built on Oct 13 2022 14:06:21
[2022-10-14 14:52:16] Startup - updater built Oct 7 2022 22:29:18
[2022-10-14 14:52:16] Startup - Steam Client launched with: '/home/mikeb/.local/share/Steam/ubuntu12_32/steam' 'steam://open/minigameslist'
Looks like steam didn't shutdown cleanly, scheduling immediate update check
[2022-10-14 14:52:17] Loading cached metrics from disk (/home/mikeb/.local/share/Steam/package/steam_client_metrics.bin)
[2022-10-14 14:52:17] Failed to load cached hosts file (File 'update_hosts_cached.vdf' not found), using defaults
[2022-10-14 14:52:17] Using the following download hosts for Public, Realm steamglobal
[2022-10-14 14:52:17] 1. http://media.steampowered.com, /client/, Realm 'steamglobal', weight was 1, source = 'baked in'
[2022-10-14 14:52:17] Checking for update on startup
[2022-10-14 14:52:17] Checking for available updates...
[2022-10-14 14:52:17] Downloading manifest: http://media.steampowered.com/client/steam_client_ubuntu12
[2022-10-14 14:52:17] Manifest download: send request
[2022-10-14 14:52:17] Manifest download: waiting for download to finish
[2022-10-14 14:52:17] Manifest download: finished
[2022-10-14 14:52:17] Download skipped: /client/steam_client_ubuntu12 version 1665183764, installed version 1665183764, existing pending version 0
[2022-10-14 14:52:17] Nothing to do
[2022-10-14 14:52:17] Verifying installation...
[2022-10-14 14:52:17] Performing checksum verification of executable files
[2022-10-14 14:52:21] Verification complete
Loaded SDL version 2.25.0-7511446

(steam:307983): Gtk-WARNING **: Unable to locate theme engine in module_path: "adwaita",
/usr/share/themes/Yaru-blue-dark/gtk-2.0/main.rc:775: error: unexpected identifier direction', expected character }'

(steam:307983): Gtk-WARNING **: Unable to locate theme engine in module_path: "adwaita",
/usr/share/themes/Yaru-blue-dark/gtk-2.0/hacks.rc:28: error: invalid string constant "normal_entry", expected valid string constant
Error: PltResolver: Symbol atk_bridge_adaptor_init(ver -1: atk_bridge_adaptor_init) not found, cannot apply R_386_JMP_SLOT 0xf6ddefdc (0xf6ddc040) in /usr/lib/i386-linux-gnu/libatk-bridge.so
src/common/framefunction.cpp (149) : Assertion Failed: CFrameFunctionMgr::~CFrameFunctionMgr: non static FrameFunction[CHTTPClient::BFrameFuncHandleCompletedWorkItems] still registered
src/common/framefunction.cpp (149) : Assertion Failed: CFrameFunctionMgr::~CFrameFunctionMgr: non static FrameFunction[CHTTPClient::BFrameFuncHandleCompletedWorkItems] still registered

Not sure if any of this helps at all or whether it's a red herring itself.

@nixguru
Copy link
Author

nixguru commented Oct 14, 2022

I successfully cleared the error:

(steam:303504): Gtk-WARNING **: Unable to locate theme engine in module_path: "adwaita",
/usr/share/themes/Yaru-blue-dark/gtk-2.0/main.rc:775: error: unexpected identifier direction', expected character }'

(steam:303504): Gtk-WARNING **: Unable to locate theme engine in module_path: "adwaita",
/usr/share/themes/Yaru-blue-dark/gtk-2.0/hacks.rc:28: error: invalid string constant "normal_entry", expected valid string constant

by moving an i386 version of libadawaita.so into ~/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/gtk-2.0/2.10.0/engines

Didn't change anything else though.. still hangs with black box. How do I verify if the issue is Chromium as was suggested earlier?

@Hacker1245
Copy link
Contributor

Hacker1245 commented Oct 15, 2022

Didn't change anything else though.. still hangs with black box. How do I verify if the issue is Chromium as was suggested earlier?

Try to append -noreactlogin -login to the executable.
Source: https://old.reddit.com/r/Steam/comments/y36oyw/how_i_can_use_this_login_ui/is7eihc/

@nixguru
Copy link
Author

nixguru commented Oct 16, 2022

Thank you. Yes, I can confirm that worked and now I am presented with the login screen.

@ptitSeb
Copy link
Owner

ptitSeb commented Oct 16, 2022

Ah good. I'll add this in the steam script and in the README!

@Hacker1245
Copy link
Contributor

Ah good. I'll add this in the steam script and in the README!

Keep in mind I have no idea for how long that will work, as Valve might remove that.

@nixguru
Copy link
Author

nixguru commented Oct 16, 2022

@ptitSeb @Hacker1245 Thanks! Yes, I know they may change this at any time. Really appreciate your help!! I'll see about contributing to the project.

@nixguru nixguru closed this as completed Oct 16, 2022
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

3 participants