Everyday use
Games
Native Steam with Proton, and Windows programs outside Steam on Wine.
What it is
Steam is the regular Arch Linux package. Windows games run through Proton, which Steam installs and updates itself. A Windows program you download yourself opens with a double-click through Wine, or umu-launcher when Wine is not installed.
Why
Proton is where game compatibility work happens, so WolOS does not ship its own layer on top. What WolOS adds is a check of everything Steam needs (32-bit graphics libraries, the Vulkan driver, NVIDIA's matching userspace) so a missing piece is a sentence with a fix, not a silent crash.
How
Press Get on Steam in the Store, then start it from the Dock. If a game will not start, run wol games doctor: each failed check prints the command that fixes it.
Reference
Steam is the native Arch package from [multilib] (ADR 0016). Windows games run on Proton, which Steam installs and updates itself. There is no custom compatibility tool and no Linux ABI shim. For Windows programs outside Steam, wol-run --exe uses the native wine package (/usr/bin/wine, WoW64) and falls back to umu-launcher (/usr/bin/umu-run, multilib) when wine is not installed.
Pieces
| Piece | Code | Does |
|---|---|---|
wol games steam [url] | crates/controller/src/games.rs | checks what the client needs; first start: a notification; then /usr/bin/steam [url] |
wol games doctor [--json] | crates/core/src/games/doctor.rs | every check with the exact fix; exits 1 when one fails; JSON when not a TTY |
/usr/bin/wol-run --exe <file> ... | crates/proxy/src/exe.rs | opens a .exe (.msi through msiexec /i) with one prefix per program; wine gets DXVK/vkd3d-proton copied from a Proton in the Steam library, umu brings its own |
steam.desktop | desktop/overlay/.../applications | Apps, Search, App Store "Open", steam:// links: wol games steam %u |
| Notifications | crates/core/src/games/notice.rs | what a Dock or Apps start says; bodies pass shell::copy::lint |
Doctor checks
| Check | Fails when | Fix |
|---|---|---|
base (info) | never: names the WolOS base (os-release) and whether the kernel is linux-wolos | another kernel is reported and kept |
multilib | [multilib] off in /etc/pacman.conf | enable it, pacman -Sy |
steam | no /usr/bin/steam | pacman -S steam |
drm | no /dev/dri | wol hw doctor |
lib32-gl | no 32-bit Vulkan loader or OpenGL (the client is 32-bit) | lib32-vulkan-icd-loader, lib32-mesa, vendor lib32 driver |
vulkan-icd, vulkan | no ICD in /usr/share/vulkan/icd.d, or only llvmpipe | vendor Vulkan packages |
nvidia | lib32-nvidia-utils missing or not the running driver's version | pacman -S lib32-nvidia-utils |
futex-waitv, ntsync (warn/info) | kernel lacks them: Proton falls back to esync/fsync | none |
wine (info) | not installed | only for programs outside Steam |
The client starts only when multilib, steam, drm, lib32-gl and nvidia pass (doctor::STEAM_CLIENT).
Reference synced from wonderlandos/wolos docs/modules/games.md.