Repository navigation
Closed
Labels
Description
Describe the bug
Battle.net fails to start after 67-5 upgrade. Also tested webview2 dependency reinstall which also fails to install and errors (logs provided)
Downgrading to 67-4 fixes the issue and battle.net launches.
❯ sudo flatpak update --commit=b40a62a47a5c391a56719f5a1eac119d21250f51118a82d2495017f378edc832 com.usebottles.bottles
Downgrade commit was from flatpak remote-info --log flathub com.usebottles.bottles
...
Commit: b40a62a47a5c391a56719f5a1eac119d21250f51118a82d2495017f378edc832
Subject: Merge pull request #560 from flathub/update-67-4 (ab194a53a873)
Date: 2026-10-06 10:15:05 +0000
...
To Reproduce
- Upgrade bottles to 67-5
- Launch Battle.net in bottles
- Originally used
ge-proton11-11runner. Same error if I switch tosoda-11.0-10so runner version isn't critical
- Originally used
Battle.net does not launch. I see what looks like an error in logs:
09:55:46 (INFO) Executing command: /usr/bin/gamemoderun /home/$USER/.var/app/com.usebottles.bottles/data/bottles/runners/ge-proton11-11/files/bin/wine start /wait /d 'C:\Program Files (x86)\Battle.net' 'C:\Program Files (x86)\Battle.net\Battle.net.exe'
gamemodeauto:
02d8:err:crypt:check_and_store_certs CERT_FIRST_USER_PROP_ID property absent for cert 00FADA20.
02d8:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
02d8:err:winediag:nodrv_CreateWindow L"The explorer process failed to start."
02d8:err:mmdevapi:load_driver Unable to load UNIX functions: c0000135
0370:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
0370:err:winediag:nodrv_CreateWindow L"The explorer process failed to start."
From a fresh new bottle:
- New bottle
- Install battle.net
- Log in
- Reach battle.net home page fully logged in, should work as expected
- Close battle.net completely (force stop procs to kill
Agent.exe) - Relaunch battle.net
Fails to launch
Package
Flatpak from Flathub
Distribution
archlinux
Debugging Information
Official Package: true
Version: '67.5'
DE/WM: i3
Display:
X.org: true
X.org (port): :0
Wayland: false
Graphics:
vendors:
amd:
vendor: amd
envs:
DRI_PRIME: '1'
icd: /usr/share/vulkan/icd.d/radeon_icd.x86_64.json:/usr/lib/x86_64-linux-gnu/GL/vulkan/icd.d/radeon_icd.x86_64.json:/usr/lib/i386-linux-gnu/GL/vulkan/icd.d/radeon_icd.i686.json
prime:
integrated: null
discrete: null
Vulkan: true
Kernel:
Type: Linux
Version: 7.2.11-arch1-1
Disk:
Total: 33253404672
Free: 33253236736
RAM:
MemTotal: 61.9GiB
MemAvailable: 55.6GiB
Bottles_envs: nullTroubleshooting Logs
Logs from bnet launch
09:55:33 (INFO) Executing command: /home/$USER/.var/app/com.usebottles.bottles/data/bottles/runners/ge-proton11-11/files/bin/wine wineboot -u /nogui
ntsync: up and running.
WARNING: radv is not a conformant Vulkan implementation, testing use only.
WARNING: radv is not a conformant Vulkan implementation, testing use only.
info: Game: Agent.exe
info: DXVK: v3.1.1-55-gd30be2ba
info: Build: x86 gcc 16.2.0
info: Vulkan: Found vkGetInstanceProcAddr in winevulkan.dll @ 0x694cdf80
info: Extension providers:
info: Platform WSI
info: OpenVR
info: OpenVR: could not open registry key, status 2
info: OpenVR: Failed to locate module
info: OpenXR
info: Enabled instance extensions:
info: VK_EXT_swapchain_colorspace
info: VK_KHR_get_surface_capabilities2
info: VK_KHR_surface
info: VK_KHR_surface_maintenance1
info: VK_KHR_win32_surface
WARNING: radv is not a conformant Vulkan implementation, testing use only.
WARNING: radv is not a conformant Vulkan implementation, testing use only.
info: Found device: AMD Radeon RX 9070 (RADV GFX1201) (radv 26.1.6)
info: Found device: AMD Radeon(TM) Graphics (radv 26.1.6)
09:55:45 (INFO) Session started: id=1537 bottle=battlenet program=C:\Program Files (x86)\Battle.net\Battle.net.exe
09:55:45 (INFO) Using Wine path converter -- --windows
09:55:45 (INFO) Executing command: /home/$USER/.var/app/com.usebottles.bottles/data/bottles/runners/ge-proton11-11/files/bin/wine winepath --windows '/home/$USER/.var/app/com.usebottles.bottles/data/bottles/bottles/battlenet/drive_c/Program Files (x86)/Battle.net'
09:55:46 (INFO) Using Wine Starter -- run
09:55:46 (INFO) Using EasyAntiCheat runtime
09:55:46 (INFO) Using BattlEye runtime
09:55:46 (INFO) Executing command: /usr/bin/gamemoderun /home/$USER/.var/app/com.usebottles.bottles/data/bottles/runners/ge-proton11-11/files/bin/wine start /wait /d 'C:\Program Files (x86)\Battle.net' 'C:\Program Files (x86)\Battle.net\Battle.net.exe'
gamemodeauto:
02d8:err:crypt:check_and_store_certs CERT_FIRST_USER_PROP_ID property absent for cert 00FADA20.
02d8:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
02d8:err:winediag:nodrv_CreateWindow L"The explorer process failed to start."
02d8:err:mmdevapi:load_driver Unable to load UNIX functions: c0000135
0370:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
0370:err:winediag:nodrv_CreateWindow L"The explorer process failed to start."Additional context
Also tested webview2 dependency reinstall (this usually fixes broken battle.net after a runner change)
I get webview2 failed to install with these logs:
09:57:27 (INFO) Executing command: /usr/bin/gamemoderun /home/$USER/.var/app/com.usebottles.bottles/data/bottles/runners/ge-proton11-11/files/bin/wine start /wait /unix /home/$USER/.var/app/com.usebottles.bottles/data/bottles/temp/MicrosoftEdgeWebView2RuntimeInstallerX64.exe /silent /install
gamemodeauto:
033c:err:module:hacks_init HACK: reporting LocalSystem account SID.
0344:err:module:hacks_init HACK: reporting LocalSystem account SID.
033c:err:combase:RoGetActivationFactory Failed to find library for L"Windows.Internal.System.Profile.RegionPolicyEvaluator"
034c:err:module:hacks_init HACK: reporting LocalSystem account SID.
033c:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
033c:err:winediag:nodrv_CreateWindow L"The explorer process failed to start."
0354:err:module:hacks_init HACK: reporting LocalSystem account SID.
034c:err:combase:RoGetActivationFactory Failed to find library for L"Windows.System.Diagnostics.Telemetry.PlatformTelemetryClient"
0354:err:combase:RoGetActivationFactory Failed to find library for L"Windows.System.Diagnostics.Telemetry.PlatformTelemetryClient"
0358:err:crypt:check_and_store_certs CERT_FIRST_USER_PROP_ID property absent for cert 00C50540.
09:57:38 (INFO) Using Wine debug tool -- get_processes
09:57:38 (INFO) Executing command: /home/$USER/.var/app/com.usebottles.bottles/data/bottles/runners/ge-proton11-11/files/bin/wine winedbg --command "info proc"
09:57:38 (ERROR) Command exited with status 8.
Original issue that was auto closed: #4914
Reacted by Arimil
Activity
[-][Bug]: Battle.net does not launch after 67.5 upgrade. Fixed with 67-4 downgrade[/-][+][Bug]: Battle.net does not launch after 67-5 upgrade. Fixed with 67-4 downgrade[/+]RadiantRainbow commentedon Oct 28, 2026
RadiantRainbow commentedon Oct 28, 2026
RadiantRainbow commentedon Oct 28, 2026
RadiantRainbow commentedon Oct 28, 2026
Actually closed too soon. Sorry about the confusion and noise in ticket, clearly learning on the fly how to test more precisely.
Updates:
Repro steps on 67-5
On bottles 67-5, battlenet installs and runs well on first launch. But after close and restart it starts failing like my original ticket report. If I downgrade to 67-4 it will successfully launch.
So the full repro steps from scratch should be:
Agent.exe)Wont launch
Then try downgrade:
sudo flatpak update --commit=b40a62a47a5c391a56719f5a1eac119d21250f51118a82d2495017f378edc832 com.usebottles.bottlesLaunches
Bisect attempt 2
First build the known good build @ 4a629be (67-4 release)
git checkout 4a629beflatpak run org.flatpak.Builder --install --user --install-deps-from=flathub --default-branch=master --force-clean build-dir build-aux/com.usebottles.bottles.Devel.json && flatpak run com.usebottles.bottles.DevelAgent.exe)git checkout mainNow start bisect steps
Each step:
flatpak run org.flatpak.Builder --install --user --install-deps-from=flathub --default-branch=master --force-clean build-dir build-aux/com.usebottles.bottles.Devel.json && flatpak run com.usebottles.bottles.Develgit bisect goodif it launches, elsegit bisect badWhen failing to launch the term log output will have something like:
Bisect result
A final sanity check there:
git checkout 2fc3a136the "good" commit before 20199c2flatpak run org.flatpak.Builder --install --user --install-deps-from=flathub --default-branch=master --force-clean build-dir build-aux/com.usebottles.bottles.Devel.json && flatpak run com.usebottles.bottles.DevelLaunch battle.net, verify it launches correctly ☑️
Close everything
git checkout 2fc3a136the "good" commit before 20199c2flatpak run org.flatpak.Builder --install --user --install-deps-from=flathub --default-branch=master --force-clean build-dir build-aux/com.usebottles.bottles.Devel.json && flatpak run com.usebottles.bottles.DevelLaunch battle.net, verify it fails ❌
So confirmed that 20199c2 is the culprit
OptimoSupreme commentedon Oct 29, 2026
Same regression here on 67.5 (Flathub), existing Battle.net bottle, soda-11.0-10. Different symptom though: no window at all, and Wine logs
err:virtual:virtual_setup_exception stack overflowin Battle.net.exe's main thread a few seconds after launch.Root cause on my side: the
wineboot -uthat the stamp check now runs rewroteHKLM\Software\Microsoft\Windows NT\CurrentVersion\Fonts. The runner's own fonts (tahoma.ttf, tahomabd.ttf, marlett.ttf, symbol.ttf, webdings.ttf, wingdings.ttf) went from absolute paths intorunners/soda-11.0-10/share/wine/fontsto bare filenames, which Wine resolves againstC:\windows\Fonts, where none of them exist. DirectWrite uses Tahoma as its Latin fallback family; with Tahoma gone from the collection, CEF's font fallback recurses (WINEDEBUG=+dwriteshows an endlessFindFamilyName "Tahoma"/"sans"loop) until the 1 MB stack overflows.Workaround without reinstalling: copy those six files from
<runner>/share/wine/fontsinto the bottle'sdrive_c/windows/Fonts(wingding.ttf as wingdings.ttf). Battle.net launches again, and the nextwineboot -uBottles triggers is harmless once the files exist.Suggestion: when
.fonts_stampis missing on an existing bottle, write the stamp instead of runningwineboot -u, and only refresh when the Fonts directory mtime later changes. The bare-filename registration itself looks like Soda/Proton wineboot behaviour worth a separate look.OptimoSupreme commentedon Nov 1, 2026
Correction to my comment above: the
wineboot -ufrom the stamp check is not by itself what breaks the font registration.On a second machine I created a fresh Battle.net bottle today on 67.5 with soda-11.0-10. The stamp check ran
wineboot -uon it twice (after the Arial and Times dependencies touched the Fonts directory), and Tahoma and the other runner fonts are still registered by absolute path. The six files are not indrive_c/windows/Fontsthere either, and Battle.net launches and relaunches fine. That matches RadiantRainbow's finding that a fresh install on 67.5 works.So the rewrite to bare filenames depends on the bottle's history. The broken bottle predates 67.5 and had been moved between runners before ending up on soda-11.0-10. My guess is that an earlier runner left font entries or symlinks in the prefix that no longer resolve, and
wineboot -uunder the new runner then registers those names bare. I have not confirmed that yet.In short: the stamp check triggers it, but the fault is probably in how an existing bottle migrates, not in running
wineboot -uas such. Please don't spend time on the stamp logic on my account.n36ul4 commentedon Nov 1, 2026
Exactly same problem here, as @RadiantRainbow described!
fix: refresh manually installed fonts before launch
BlueberryDuck commentedon Nov 4, 2026
Root cause on 67.5 with a GE-Proton runner (Arch package, GE-Proton11-12):
WineBoot.update()goes throughsend_status(), which setsDISPLAY=:3.0. Theexplorer.exe /desktopthat thiswineboot -ustarts cannot load winex11, and the program launched right after joins that wineserver:nodrv_CreateWindow ... The explorer process failed to start. Wine then falls back to winewayland for the program's windows, so a program that does not work under winewayland fails to start.SteamUtils.sync_proton_fonts()unlinks and re-creates the font symlinks each time a command is built, so thedrive_c/windows/Fontsmtime is always newer than.fonts_stamp. This explains "first launch works, every relaunch fails".Confirmed with
/proc/<pid>/environof the bottle'sservices.exe(DISPLAY=:3.0) and by launching the same exe with the bottle env and the realDISPLAY(no failure).Workaround:
echo 4102444800.0 > <bottle>/.fonts_stampskips the refresh. The program then launches every time.n36ul4 commentedon Nov 4, 2026
I can confirm @BlueberryDuck workaround worked for me!
fix: handle startup and imported bottle regressions
mirkobrombin commentedon Nov 4, 2026
The latest cpak keeps the session display during the font refresh and no longer recreates unchanged Proton font links: 4a3611d
@RadiantRainbow @BlueberryDuck please try closing Battle.net completely and opening it again.
RadiantRainbow commentedon Nov 4, 2026
thanks @mirkobrombin
just finished testing with same testing procedure (new bottle, install, launch, login, close, launch, ...) on 492489e (latest head) and 4a3611d
subsequent launches working perfectly, looks fixed to me!
mirkobrombin commentedon Nov 4, 2026
Thanks @RadiantRainbow for testing both commits and the repeated launches. Closing this one.