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 does not show login fields #760

Closed cantalupo555 closed 1 year ago

cantalupo555 commented 1 year ago

I am using Orange Pi 5, and have installed all the dependencies. I installed Steam via the Box86 script (install_steam.sh) I also installed Box64. But I can't login.

steam
steam.sh[55419]: Running Steam on ubuntu 22.04 64-bit
steam.sh[55419]: STEAM_RUNTIME is enabled by the user
setup.sh[55490]: Steam runtime environment up-to-date!
steam.sh[55419]: Steam client's requirements are satisfied
Box86 with Dynarec v0.2.9 60f987ff built on Feb 12 2023 01:21:52
[2023-02-16 16:20:22] Startup - updater built Feb 14 2023 00:47:09
[2023-02-16 16:20:22] Startup - Steam Client launched with: '/home/cantalupo/.local/share/Steam/ubuntu12_32/steam' '-noreactlogin' 'steam://open/minigameslist'
[2023-02-16 16:20:23] Loading cached metrics from disk (/home/cantalupo/.local/share/Steam/package/steam_client_metrics.bin)
[2023-02-16 16:20:23] Failed to load cached hosts file (File 'update_hosts_cached.vdf' not found), using defaults
[2023-02-16 16:20:23] Using the following download hosts for Public, Realm steamglobal
[2023-02-16 16:20:23] 1. http://media.steampowered.com, /client/, Realm 'steamglobal', weight was 1, source = 'baked in'
[2023-02-16 16:20:23] Verifying installation...
[2023-02-16 16:20:23] Verification complete
Error initializing native libpng12.so.0 (last dlerror is libpng12.so.0: wrong ELF class: ELFCLASS64)
Loaded SDL version 3.0.0-765-gc4db0725e
Gtk-Message: Failed to load module "gail"
Gtk-Message: Failed to load module "atk-bridge"
XRRGetOutputInfo Workaround: initialized with override: 0 real: 0x40180120
XRRGetCrtcInfo Workaround: initialized with override: 0 real: 0x40180130
GetWin32Stats: display was not open yet, good
steamwebhelper.sh[55584]: Runtime for steamwebhelper: defaulting to /home/cantalupo/.local/share/Steam/ubuntu12_64/steam-runtime-heavy
steamwebhelper.sh[55584]: glibc >= 2.34, partially disabling sandbox until CEF supports clone3()
CAppInfoCacheReadFromDiskThread took 1 milliseconds to initialize
Warning: failed to set thread priority: set failed for 8: -1: setpriority() failed
Warning: failed to set thread priority: set failed for priority 8
Warning: support for elevated priorities is most likely unavailable, suppressing future warnings
Warning: failed to set thread priority: set failed for 8: -1: setpriority() failed
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL ATOMICS PageSize:4096 Cores:8
Params database has 15 entries
Box64 with Dynarec v0.2.1 920edce7 built on Feb 15 2023 07:07:29
Using default BOX64_LD_LIBRARY_PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/
Using default BOX64_PATH: ./:bin/
Counted 97 Env var
Looking for /home/cantalupo/.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) libutil.so.1
Using native(wrapped) librt.so.1
Using native(wrapped) libm.so.6
Warning: failed to set thread priority: set failed for 8: -1: setpriority() failed
Using native(wrapped) libGL.so.1
Box86 with Dynarec v0.2.9 60f987ff built on Feb 12 2023 01:21:52
Failed to init SteamVR because it isn't installed
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL ATOMICS PageSize:4096 Cores:8
Params database has 15 entries
Box64 with Dynarec v0.2.1 920edce7 built on Feb 15 2023 07:07:29
Using default BOX64_LD_LIBRARY_PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/
Using default BOX64_PATH: ./:bin/
Counted 97 Env var
Looking for /home/cantalupo/.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) libutil.so.1
Using native(wrapped) librt.so.1
Using native(wrapped) libvulkan.so.1
Vulkan missing requested extension 'VK_KHR_surface'.
Vulkan missing requested extension 'VK_KHR_xlib_surface'.
BInit - Unable to initialize Vulkan!
Box86 with Dynarec v0.2.9 60f987ff built on Feb 12 2023 01:21:52
Vulkan missing requested extension 'VK_KHR_surface'.
Vulkan missing requested extension 'VK_KHR_xlib_surface'.
BInit - Unable to initialize Vulkan!
steamwebhelper.sh[55740]: Runtime for steamwebhelper: defaulting to /home/cantalupo/.local/share/Steam/ubuntu12_64/steam-runtime-heavy
steamwebhelper.sh[55740]: glibc >= 2.34, partially disabling sandbox until CEF supports clone3()
steamwebhelper.sh[55865]: Runtime for steamwebhelper: defaulting to /home/cantalupo/.local/share/Steam/ubuntu12_64/steam-runtime-heavy
steamwebhelper.sh[55865]: glibc >= 2.34, partially disabling sandbox until CEF supports clone3()
steamwebhelper.sh[56035]: Runtime for steamwebhelper: defaulting to /home/cantalupo/.local/share/Steam/ubuntu12_64/steam-runtime-heavy
steamwebhelper.sh[56035]: glibc >= 2.34, partially disabling sandbox until CEF supports clone3()
steamwebhelper.sh[56172]: Runtime for steamwebhelper: defaulting to /home/cantalupo/.local/share/Steam/ubuntu12_64/steam-runtime-heavy
steamwebhelper.sh[56172]: glibc >= 2.34, partially disabling sandbox until CEF supports clone3()
steamwebhelper.sh[56306]: Runtime for steamwebhelper: defaulting to /home/cantalupo/.local/share/Steam/ubuntu12_64/steam-runtime-heavy
steamwebhelper.sh[56306]: glibc >= 2.34, partially disabling sandbox until CEF supports clone3()
CalcProgrammer1 commented 1 year ago

Getting the same on OnePlus 6T with postmarketOS, running box86/64 in a Debian Docker container.

image

ptitSeb commented 1 year ago

I am aware of this. You need box64 and lots of memory for now. You also need to use steam_chrome branch of box64 for now. See an article about this there: https://boilingsteam.com/box64-can-now-run-the-full-steam-linux-client-on-arm-hardware/

cantalupo555 commented 1 year ago

I am aware of this. You need box64 and lots of memory for now. You also need to use steam_chrome branch of box64 for now. See an article about this there: https://boilingsteam.com/box64-can-now-run-the-full-steam-linux-client-on-arm-hardware/

This is amazing. But is there any way to fix this problem that does not display the fields for the login?

ptitSeb commented 1 year ago

I am aware of this. You need box64 and lots of memory for now. You also need to use steam_chrome branch of box64 for now. See an article about this there: https://boilingsteam.com/box64-can-now-run-the-full-steam-linux-client-on-arm-hardware/

This is amazing. But is there any way to fix this problem that does not display the fields for the login?

For now, the only solution is to use the steam_chrome branch of box64. There is no other way.

cantalupo555 commented 1 year ago

I am using Armbian based on Ubuntu 22.04. I compiled box64 into the branch you initially indicated.

git clone -b steam_chrome https://github.com/ptitSeb/box64.git && cd box64
mkdir build; cd build; cmake .. -DRK3588=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo
make -j4
sudo make install
sudo systemctl restart systemd-binfmt

I installed box86 and Steam.

sudo dpkg --add-architecture armhf && sudo apt-get update

sudo wget https://itai-nelken.github.io/weekly-box86-debs/debian/box86.list -O /etc/apt/sources.list.d/box86.list
wget -qO- https://itai-nelken.github.io/weekly-box86-debs/debian/KEY.gpg | sudo apt-key add -
sudo apt update && sudo apt install box86:armhf -y

git clone https://github.com/ptitSeb/box86.git && cd box86
./install_steam.sh

I installed some dependencies.

sudo apt install gcc-arm-linux-gnueabihf libc6-dev-armhf-cross indicator-application xdg-utils
sudo apt install libappindicator1 libnm0 libtcmalloc-minimal4 libvulkan1 mesa-vulkan-drivers libxss1 libsdl2-2.0-0
sudo apt install libappindicator1:armhf (It was necessary for the "steam" command to work.)

Now I have a different result, but the problem continues.

cantalupo@orangepi5:~$ steam
steam.sh[3858]: Running Steam on ubuntu 22.04 64-bit
steam.sh[3858]: STEAM_RUNTIME is enabled by the user
setup.sh[3923]: Steam runtime environment up-to-date!
steam.sh[3858]: Steam client's requirements are satisfied
Box86 with Dynarec v0.2.9 7682cdce built on Feb 19 2023 01:15:43
[2023-02-20 17:46:38] Startup - updater built Feb 14 2023 00:47:09
[2023-02-20 17:46:38] Startup - Steam Client launched with: '/home/cantalupo/.local/share/Steam/ubuntu12_32/steam' '-noreactlogin' 'steam://open/minigameslist'
Looks like steam didn't shutdown cleanly, scheduling immediate update check
[2023-02-20 17:46:39] Loading cached metrics from disk (/home/cantalupo/.local/share/Steam/package/steam_client_metrics.bin)
[2023-02-20 17:46:39] Failed to load cached hosts file (File 'update_hosts_cached.vdf' not found), using defaults
[2023-02-20 17:46:39] Using the following download hosts for Public, Realm steamglobal
[2023-02-20 17:46:39] 1. http://media.steampowered.com, /client/, Realm 'steamglobal', weight was 1, source = 'baked in'
[2023-02-20 17:46:39] Checking for update on startup
[2023-02-20 17:46:39] Checking for available updates...
[2023-02-20 17:46:39] Downloading manifest: http://media.steampowered.com/client/steam_client_ubuntu12
[2023-02-20 17:46:39] Manifest download: send request
[2023-02-20 17:46:39] Manifest download: waiting for download to finish
[2023-02-20 17:46:39] Manifest download: finished
[2023-02-20 17:46:39] Download skipped: /client/steam_client_ubuntu12 version 1676336721, installed version 1676336721, existing pending version 0
[2023-02-20 17:46:39] Nothing to do
[2023-02-20 17:46:39] Verifying installation...
[2023-02-20 17:46:39] Performing checksum verification of executable files
[2023-02-20 17:47:04] Verification complete
Error initializing native libpng12.so.0 (last dlerror is libpng12.so.0: wrong ELF class: ELFCLASS64)
Loaded SDL version 3.0.0-765-gc4db0725e
Gtk-Message: Failed to load module "gail"
Gtk-Message: Failed to load module "atk-bridge"
XRRGetOutputInfo Workaround: initialized with override: 0 real: 0x40180120
XRRGetCrtcInfo Workaround: initialized with override: 0 real: 0x40180130
GetWin32Stats: display was not open yet, good
steamwebhelper.sh[3994]: Runtime for steamwebhelper: defaulting to /home/cantalupo/.local/share/Steam/ubuntu12_64/steam-runtime-heavy
steamwebhelper.sh[3994]: glibc >= 2.34, partially disabling sandbox until CEF supports clone3()
CAppInfoCacheReadFromDiskThread took 5 milliseconds to initialize
Warning: failed to set thread priority: set failed for 8: -1: setpriority() failed
Warning: failed to set thread priority: set failed for priority 8
Warning: support for elevated priorities is most likely unavailable, suppressing future warnings
Warning: failed to set thread priority: set failed for 8: -1: setpriority() failed
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL ATOMICS PageSize:4096 Cores:8
Params database has 17 entries
Box64 with Dynarec v0.2.1 42b83789 built on Feb 20 2023 16:49:38
Using default BOX64_LD_LIBRARY_PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/
Using default BOX64_PATH: ./:bin/
Counted 83 Env var
Looking for /home/cantalupo/.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) libutil.so.1
Using native(wrapped) librt.so.1
Using native(wrapped) libm.so.6
Warning: failed to set thread priority: set failed for 8: -1: setpriority() failed
Using native(wrapped) libGL.so.1
Box86 with Dynarec v0.2.9 7682cdce built on Feb 19 2023 01:15:43
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL ATOMICS PageSize:4096 Cores:8
Params database has 17 entries
Box64 with Dynarec v0.2.1 42b83789 built on Feb 20 2023 16:49:38
Using default BOX64_LD_LIBRARY_PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/
Using default BOX64_PATH: ./:bin/
Counted 83 Env var
Looking for /home/cantalupo/.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) libutil.so.1
Using native(wrapped) librt.so.1
Using native(wrapped) libvulkan.so.1
Box86 with Dynarec v0.2.9 7682cdce built on Feb 19 2023 01:15:43
Failed to init SteamVR because it isn't installed
[2023-02-20 17:49:11] Background update loop checking for update. . .
[2023-02-20 17:49:11] Checking for available updates...
[2023-02-20 17:49:11] Downloading manifest: http://media.steampowered.com/client/steam_client_ubuntu12
[2023-02-20 17:49:11] Manifest download: send request
[2023-02-20 17:49:11] Manifest download: waiting for download to finish
[2023-02-20 17:49:11] Manifest download: finished
[2023-02-20 17:49:11] Download skipped by HTTP 304 Not Modified
[2023-02-20 17:49:11] Nothing to do
ptitSeb commented 1 year ago

I have launched Steam on armbian, using box86 and box64, and the install_steam script from box86 repo. It shown (and then crashed because the board only had 4GB of memory). I'm unsure what is wrong on your side. steamwebhelper seems to be crashing or something like that. Make sure you launch steam using the steam shell script, so with STEAM_OS=1 env. var., because steamwebhelper use gtk3, and for now, this need to be emulated, not wrapped, and so the full steam-runtime is needed there.

cantalupo555 commented 1 year ago

I have launched Steam on armbian, using box86 and box64, and the install_steam script from box86 repo. It shown (and then crashed because the board only had 4GB of memory). I'm unsure what is wrong on your side. steamwebhelper seems to be crashing or something like that. Make sure you launch steam using the steam shell script, so with STEAM_OS=1 env. var., because steamwebhelper use gtk3, and for now, this need to be emulated, not wrapped, and so the full steam-runtime is needed there.

Yes, I used "install_steam.sh".

Readme: "To avoid the "libc.so.6 is absent" message, you can use STEAMOS=1 and STEAM_RUNTIME=1 as environment variables (it's automatically there if you used the install_steam.sh script)"

Is there any other way to solve this?

ptitSeb commented 1 year ago

Not really. Using STEAMOS=1 is enough in fact.

Takiiiiiiii commented 1 year ago

I have launched Steam on armbian, using box86 and box64, and the install_steam script from box86 repo. It shown (and then crashed because the board only had 4GB of memory). I'm unsure what is wrong on your side. steamwebhelper seems to be crashing or something like that. Make sure you launch steam using the steam shell script, so with STEAM_OS=1 env. var., because steamwebhelper use gtk3, and for now, this need to be emulated, not wrapped, and so the full steam-runtime is needed there.

Yes, I used "install_steam.sh".

Readme: "To avoid the "libc.so.6 is absent" message, you can use STEAMOS=1 and STEAM_RUNTIME=1 as environment variables (it's automatically there if you used the install_steam.sh script)"

Is there any other way to solve this?

Are you using the panfork driver or the blob?

Also, are you using the official image from OrangePi, or are you using a community image?

cantalupo555 commented 1 year ago

Not really. Using STEAMOS=1 is enough in fact.

????

I installed steam via the script "install_steam.sh".

Readme: "...you can use STEAMOS=1 and STEAM_RUNTIME=1 as environment variables (it's automatically there if you used the install_steam.sh script)"

Also, are you using the official image from OrangePi, or are you using a community image?

I am using Armbian, based on Ubuntu 22.04 My SBC is the Orange Pi 5. https://www.armbian.com/orangepi-5/ "Armbian 22.11 Jammy Gnome"

deus369 commented 1 year ago

I am using the same armbian jammy gnome, for Rock 5B, I can confirm after trying the same steps as cantalupo555 I get the same issues. image

Takiiiiiiii commented 1 year ago

@deus369 @cantalupo555 I'm working on a video to showcase box86/64 on the RK3588. I'll explain how I solved this in detail.

cantalupo555 commented 1 year ago

@deus369 @cantalupo555 I'm working on a video to showcase box86/64 on the RK3588. I'll explain how I solved this in detail.

Perfect, I'm waiting. Thank you.

deus369 commented 1 year ago

@deus369 @cantalupo555 I'm working on a video to showcase box86/64 on the RK3588. I'll explain how I solved this in detail.

Thank you, absolute legend.

cantalupo555 commented 1 year ago

Problem solved, I am now able to login to steam. Many thanks to @ptitSeb for the fix.

Compiling Box86

sudo dpkg --add-architecture armhf && sudo apt-get update
sudo apt install git cmake gcc-arm-linux-gnueabihf libc6-dev-armhf-cross indicator-application xdg-utils libnm0 libtcmalloc-minimal4 libxss1 libsdl2-2.0-0 libgl1-mesa-glx mesa-vulkan-drivers mesa-utils libappindicator1:armhf libvulkan1:armhf libc6:armhf
cd ~ && git clone https://github.com/ptitSeb/box86.git && cd box86
mkdir build; cd build; cmake .. -DRK3588=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo; make -j4
sudo make install && sudo systemctl restart systemd-binfmt

Compiling Box64

cd ~ && git clone https://github.com/ptitSeb/box64.git && cd box64
mkdir build; cd build; cmake .. -DRK3588=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo; make -j4
sudo make install && sudo systemctl restart systemd-binfmt

Install Steam ~/box86/./install_steam.sh

Run Steam steam

ptitSeb commented 1 year ago

Just to note: no need to use a special branch for box64 now, it's all in main.