Home improvement ideas - shkhln/linuxulator-steam-utils GitHub Wiki

Not quite to-do list

(Would be nice for somebody else to work on this. Unlikely to be done otherwise.)

Controller support

For evdev multimedia/webcamd needs a small adjustment patch to 32-bit compat (how small exactly should it be?), sysutils/iichid needs a 32-bit compat implementation; for direct USB access, as required for Steam Controller and, presumably, DualShock, devel/linux_libusb should be fixed to include both 32-bit and 64-bit libraries.

Note that SDL's evdev backend relies on udev for device discovery, which obviously doesn't work under Linuxulator, thus setting the SDL_JOYSTICK_DEVICE environment variable is necessary. Alternatively, we could use libudev-devd, it's only missing a port.

Proton

Linux Proton

Needs a Linux python3 executable: https://gist.github.com/shkhln/b5f9daf67d0a8a9b7d068d795eff68ad. Notably missing 32-bit support: 247327. 64-bit games have a fair chance of working already.

Proton >= 5.13 depends on https://gitlab.steamos.cloud/steamrt/steam-runtime-tools/-/tree/master/pressure-vessel.

Native Proton

It's also possible to compile the Valve's Wine fork natively. Running Proton with it requires steamclient.so, which is a closed source binary distributed with the Linux Steam client. We can load steamclient.so with a glibc ABI shim, however some Steam functionality, such as futex-based IPC, is a bit too impractical to support that way.

Implementing a sane WoW64 Wine building process is necessary to add this to the Ports. See https://reviews.freebsd.org/D16830 for a rough idea.

⚠️ **GitHub.com Fallback** ⚠️