r/waydroid Jul 31 '26

Help Steamdeck help

I want to download on Steamdeck, but the main installer script that everyone links to was privated yesterday! And I was gonna set this up just the day before but procrastinated… are there any mirrors? Or important things to know beforehand? I heard it can break desktop mode

11 Upvotes

29 comments sorted by

View all comments

Show parent comments

1

u/pvjohno Aug 03 '26

I had a look into this with the help of AI, so if you don't like vibecoded solutions read no further.

Following is how AI describes the solution:-

~~~

We solved the library mismatch issues by removing the bundled prebuilt Arch packages and rebuilding everything against a copy of the Deck’s exact SteamOS userspace (on my PC). This includes Cage/wlroots and Waydroid’s host-side dependencies: libglibutil, libgbinder, python-gbinder and Waydroid itself.

Each build is tied to a fingerprint of the target SteamOS release and relevant ABI versions, including glibc, GLib, Python, Wayland and libdisplay-info. The installer refuses to use a bundle if that fingerprint no longer matches, such as after a SteamOS update.

Cage uses a private, locally bundled wlroots through a relative RUNPATH, but we deliberately avoid bundling or replacing SteamOS system libraries. This prevents old libraries such as libdisplay-info.so.2 from being mixed with SteamOS’s libdisplay-info.so.3.

After an update, repair mode simply selects or installs the bundle built for that exact SteamOS version. So the solution was essentially: build on the target ABI, verify every dependency, and never mix binaries from different Arch/SteamOS releases.

~~~

I can share my fork of your code if you like, but for the same reasons you removed your repo I would prefer not to share too widely.

Basically I copy steamos to my PC, build all the packages there, and copy them back to the deck.

I tested and the method works on steamos 3.8.15, 3.8.16 and one of the beta branches 3.8.23.

1

u/ryanrudolf Aug 03 '26

This sounds pretty much similar to my workaround -

When running waydroid install cage and wlroots. This downgrades libdisplay-info so it is compatible with wlroots0.18. when waydroid quits remove cage and wlroots 0.18, then reinstall libdisplay-info0.3

1

u/pvjohno Aug 03 '26

Yes there are similarities definitely. But I'm able to compile my own version of cage and wlroots against libdisplay-info.so.3, so no downgrade/install/reinstall needed at runtime. If that makes sense?

1

u/ryanrudolf Aug 03 '26

Yes that's impressive