mirror of
https://github.com/games-on-whales/gow.git
synced 2026-10-15 12:52:00 +00:00
[PR #352] Add Battle.net app image #324
Labels
No labels
bug
enhancement
enhancement
github_actions
good first issue
help wanted
help wanted
invalid
needs testers
pull-request
question
x11-images
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
games-on-whales/gow#324
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/games-on-whales/gow/pull/352
Author: @djmulder
Created: 7/31/2026
Status: 🔄 Open
Base:
master← Head:add-battlenet📝 Commits (10+)
d152fc6Add Battle.net app image1e81dbebattlenet: don't preserve 1000:1000 ownership when copying prefix to persistent storagef1294e5battlenet: make baked prefix world-readable so any PUID/PGID can copy it0d3296abattlenet: write Lutris-style Battle.net.config, disable locationapi, STAGING_SHARED_MEMORY5c3e71bbattlenet: install Arial into the prefix like Lutris09f3e01battlenet: split winetricks install from the Xvfb step36b6d5ebattlenet: test-only Wolf app snippet (not for the PR)f1f1a66battlenet: install 32-bit GL/EGL/Vulkan libs (Battle.net is 32-bit, base image only has 64-bit)4b76833battlenet: optional bnet.env in the persist dir to override launch flags/env while testing3f4a9e6battlenet: optional BNET_RUNNER (e.g. umu-run) via bnet.env for testing Proton-GE📊 Changes
7 files changed (+577 additions, -0 deletions)
View changed files
➕
apps/battlenet/_index.md(+60 -0)➕
apps/battlenet/assets/screenshot.png(+0 -0)➕
apps/battlenet/build/Dockerfile(+189 -0)➕
apps/battlenet/build/ignore_capabilities.patch(+18 -0)➕
apps/battlenet/build/scripts/20-fix-home-perms.sh(+7 -0)➕
apps/battlenet/build/scripts/30-wow-userdata.sh(+94 -0)➕
apps/battlenet/build/scripts/startup.sh(+209 -0)📄 Description
Add Battle.net (Blizzard) app image
Summary
Adds a Battle.net launcher app for Games on Whales, so users can launch and play Blizzard/Activision games (World of Warcraft, Diablo, Overwatch, Call of Duty, ...) via Wolf + Moonlight streaming.
How it works
Battle.net runs through umu-launcher with GE-Proton in the Steam Linux Runtime (the same stack the Lutris image uses), so games get Proton's DXVK and vkd3d-proton (DX11 and DX12).
Everything is baked into the image at build time, so nothing is downloaded at start: GE-Proton (pinned,
GE_PROTON_VERSIONbuild arg), the Steam Linux Runtime, a Proton-created prefix and a complete Battle.net installation (installed headlessly via Xvfb). On first launch the prefix is copied to persistent storage, so logins and installed games survive restarts. Sway is the compositor (RUN_SWAY=true).Key technical decisions
HardwareAcceleration=truein the bakedBattle.net.config); software rendering is not used./dev/shm: each start gets its own directory, leftovers are cleaned up. This makes start-up take seconds instead of minutes (needsIpcMode: hostand about 1.5 GB free).~/.bnetin Wolf's per-profile home, so a new profile needs no setup. A mount at/home/retro-persistis used when present./gamesshows up as driveD:(also inside the pressure-vessel sandbox).WTFandInterface/AddOnsof every installed flavor are bind-mounted per user over the shared install (/userdataif mounted, otherwise~/userdata); new installs are picked up while the session runs.BNET_USERDATA_DISABLE=1turns it off.BNET_AUTO_EXIT=0disables it,BNET_EXIT_GRACEchanges the wait).explorer.exe(tray) is hidden in the scratchpad, title bars are on.BNET_DEBUG=1inbnet.envwritessession-trace.log,umu-last.logandsession-summary.log. Extra environment can be set inbnet.env.Wolf config.toml example
Tested with
Known limitations
GPU process launch failed: error_code=63in the Battle.net log, intermittent on RDNA4). Restart the session; with "Keep me logged in" ticked a fresh start logs in by itself. Cause not found yet, details in the README.Ctrl+Alt+Shift+V) does not work yet. Cause unknown: the same happens in the Lutris image, so it is not specific to Battle.net and could be anywhere in the Moonlight -> Wolf -> Sway -> XWayland -> Wine chain.Screenshots
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.