Describe the bug
When Bottles uses a Proton build as a runner, it leaves relative Windows font registry values unresolved:
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Fonts
Tahoma (TrueType) = tahoma.ttf
Tahoma Bold (TrueType) = tahomabd.ttf
In my case, this caused a reproducible QtWebEngine crash in an existing bottle after every Proton update:
[ERROR:platform_font_skia.cc(343)] Could not find any font: Tahoma, sans. Falling back to the default
(Crashed at Qt5WebEngineCore.dll+0x28684ef)
which is a null pointer dereference from here, since even the default fonts resolve to non-existent paths.
To Reproduce
- Create a 64-bit Gaming bottle using a Proton runner that ships
files/share/wine/fonts/tahoma.ttf. For example, DWProton;
- Update the proton version, let Bottles perform its normal runner/prefix update;
- Query
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Fonts for Tahoma (TrueType), which should point to a non-existent relative path tahoma.ttf (i.e., drive_c/windows/Fonts/tahoma.ttf).
Package
Flatpak from Flathub
Distribution
Arch Linux
Debugging Information
Version: '66.9'
DE/WM: /usr/share/wayland-sessions/plasma.desktop
Display:
X.org: true
X.org (port): :0
Wayland: true
Graphics:
vendors:
amd:
vendor: amd
envs:
DRI_PRIME: '1'
icd: /usr/share/vulkan/icd.d/radeon_icd.json
prime:
integrated: null
discrete: null
Vulkan: true
Kernel:
Type: Linux
Version: 7.2.2-1-cachyos
Disk:
Total: 273670471680
Free: 1091518464
RAM:
MemTotal: 30.6GiB
MemAvailable: 11.2GiB
Bottles_envs: null
Troubleshooting Logs
Additional context
A quick workaround is manually replacing the font path values to absolute path (e.g., Z:\home\user\path\to\proton\files\share\wine\fonts\tahoma.ttf) in the registry (or just copy them to windows/Fonts/) after each update.
Wine refused to support an alternative font prefix, like /run/host/fonts.
So Proton has a create_fonts_symlinks() method to symlink them to windows/Fonts/, which is skipped by Bottles, causing this issue.
Describe the bug
When Bottles uses a Proton build as a runner, it leaves relative Windows font registry values unresolved:
In my case, this caused a reproducible
QtWebEnginecrash in an existing bottle after every Proton update:which is a null pointer dereference from here, since even the default fonts resolve to non-existent paths.
To Reproduce
files/share/wine/fonts/tahoma.ttf. For example, DWProton;HKLM\Software\Microsoft\Windows NT\CurrentVersion\FontsforTahoma (TrueType), which should point to a non-existent relative pathtahoma.ttf(i.e.,drive_c/windows/Fonts/tahoma.ttf).Package
Flatpak from Flathub
Distribution
Arch Linux
Debugging Information
Troubleshooting Logs
Additional context
A quick workaround is manually replacing the font path values to absolute path (e.g.,
Z:\home\user\path\to\proton\files\share\wine\fonts\tahoma.ttf) in the registry (or just copy them towindows/Fonts/) after each update.Wine refused to support an alternative font prefix, like
/run/host/fonts.So Proton has a
create_fonts_symlinks()method to symlink them towindows/Fonts/, which is skipped by Bottles, causing this issue.