GE-Proton 11.0-6 / 11.0-5 / 11.0-3 / 10.0-34 · Proton 11.0-1 / 11.0-2 / 10.0-4 — arm64ec bionic (Android fixes · DirectAudio 1.3.1 · font-handle cap 32768)
LatestConsolidated arm64ec (bionic) rebuild of all seven Proton / GE-Proton layers, each carrying the three Android compatibility fixes, DirectAudio v1.3.1, and a raised font-handle cap (32768) that cures the TF2 / Source map-change freeze (see below). Proton 11.0-2 additionally ships an x86_64 build alongside arm64ec. Every layer is an independent .wcp — install the one that matches your Proton / GE version.
📦 versionCode-2 delivery copies — the catalog release
bionic-layers-20260830-fontcaphosts metadata-only repacks of these 16 wcp withprofile.jsonversionCodebumped 1 → 2 (wine tree /win32u.sobyte-identical), so an existing install gets a coexisting<versionName>-2slot and is offered the new build. The assets attached here remain the pristine CI versionCode-1 build.
| Layer | Wine | versionCode | GE game-fixes |
|---|---|---|---|
| GE-Proton 11.0-6 | 11 | 1 |
✅ GE-11 tier |
| GE-Proton 11.0-5 | 11 | 1 |
✅ GE-11 tier |
| GE-Proton 11.0-3 | 11 | 1 |
✅ GE-11 tier |
| Proton 11.0-1 | 11 | 1 |
— |
| Proton 11.0-2 | 11 | 1 |
— (arm64ec + x86_64) |
| Proton 10.0-4 | 10 | 1 |
— |
| GE-Proton 10.0-34 | 10 | 1 |
✅ GE-10 tier + extras |
🆕 New in this build — realized-font-handle cap raised to 32768
Long Team Fortress 2 / Source-engine sessions (and other font-heavy titles) could freeze on a map change once Wine ran out of realized font handles — the log fills with err:font:alloc_font_handle out of realized font handles and the game hangs. Every layer now raises MAX_FONT_HANDLES to 32768 so the handle table no longer fills during normal play.
- Always-on, zero-config — no environment variable and no registry key; the higher ceiling is baked into
win32u.so. - Why it mattered — the Wine-11 layers previously capped at 5000 handles; the Wine-10 layers at only 256. Both are now 32768.
- Device-proven — on Team Fortress 2 the font-handle errors dropped from 31 → 0 across a map change and play stayed smooth; the same fix also helps Counter-Strike: Source and Left 4 Dead 2.
What's New — all seven layers
- 🔤 Realized-font-handle cap →
32768(above) — cures the TF2 / Source map-change freeze (out of realized font handles); always-on, no config. Wine-11 layers were5000, Wine-10 layers only256. - 🆕 New GE-Proton 11.0-6 layer — GloriousEggroll's latest GE-11 game-fix tier on Valve Proton 11.0-1, arm64ec. (GE dropped the
battlenetworkaround upstream in 11-6.) - 🖥️ New Proton 11.0-2 x86_64 build — Proton 11.0-2 now ships an x86_64
.wcpalongside arm64ec (see the⚠️ caveat in its layer block). - 🆕 SD-card game boot fix (
noexec/force_anon) — games installed on the SD card that need executable memory (anti-tamper / packed executables such as Dragon Age: Inquisition) now boot instead of crashing. - 🗂️ File Explorer drive-root copy fix — copying between two drive roots (e.g.
C:\→D:\) no longer crashes. - 🌍 Locale default (
C.UTF-8) — sets a saneLC_ALLso text- and locale-sensitive apps behave correctly on bionic. - 🔊 DirectAudio v1.3.1 — baked into every layer (live in-game config mailbox, adaptive-decay, watchdog). Opt-in; PulseAudio / ALSA remain the default.
- 🔢 versionCode stays
1on every layer — please uninstall your old layer and recreate the container to pick up this build. - ♻️ Carried forward:
WINEVMEMMAXSIZEcap (set it in MB to reject runaway virtual-memory reservations from heavy AAA titles) · fast-yield gate · FEX-unixlib loader · XRandR / XRender (plus the GE-Proton game-fix tier on the GE layers).
Layer details
GE-Proton 11.0-6 · arm64ec · Wine 11 · versionCode 1
| Base | GloriousEggroll GE-Proton11-6 game-fix tier on Valve Proton 11.0-1 (Wine 11.0-1) |
| Installs as | 11.0-6-arm64ec-1 |
| DirectAudio | v1.3.1 (vendored source) — opt-in via registry Audio=directaudio |
| Assets | GE-proton-11.0-6-arm64ec-sdk28.wcp (4 KB pages) · …-sdk35.wcp (16 KB pages) |
Android compatibility fixes — SD-card boot (noexec / force_anon) · drive-root copy · C.UTF-8 locale
Runtime — realized-font-handle cap 32768 · WINEVMEMMAXSIZE cap · fast-yield gate · FEX-unixlib loader · XRandR / XRender
GE game-fixes — maplestory · dai_xinput · eac · pso2 · assettocorsa · silence-starcitizen · vgsoh · WM_ACTIVATEAPP
ℹ️ GE dropped its
battlenetworkaround upstream in GE-Proton11-6, so this layer's game-fix set is the 11.0-5 tier minusbattlenet.
GE-Proton 11.0-5 · arm64ec · Wine 11 · versionCode 1
| Base | GloriousEggroll GE-Proton11-5 game-fix tier on Valve Proton 11.0-1 (Wine 11.0-1) |
| Installs as | 11.0-5-arm64ec-1 |
| DirectAudio | v1.3.1 (vendored source) — opt-in via registry Audio=directaudio |
| Assets | GE-proton-11.0-5-arm64ec-sdk28.wcp (4 KB pages) · …-sdk35.wcp (16 KB pages) |
Android compatibility fixes — SD-card boot (noexec / force_anon) · drive-root copy · C.UTF-8 locale
Runtime — realized-font-handle cap 32768 · WINEVMEMMAXSIZE cap · fast-yield gate · FEX-unixlib loader · XRandR / XRender
GE game-fixes — battlenet · maplestory · dai_xinput · eac · pso2 · assettocorsa · silence-starcitizen · vgsoh · WM_ACTIVATEAPP
GE-Proton 11.0-3 · arm64ec · Wine 11 · versionCode 1
| Base | GloriousEggroll GE-Proton11-3 game-fix tier on Valve Proton 11.0-1 (Wine 11.0-1) |
| Installs as | 11.0-3-arm64ec-1 |
| DirectAudio | v1.3.1 (submodule @ directaudio-v1.3.1) — opt-in via registry Audio=directaudio |
| Assets | GE-proton-11.0-3-arm64ec-sdk28.wcp (4 KB pages) · …-sdk35.wcp (16 KB pages) |
Android compatibility fixes — SD-card boot (noexec / force_anon) · drive-root copy · C.UTF-8 locale
Runtime — realized-font-handle cap 32768 · WINEVMEMMAXSIZE cap · fast-yield gate · FEX-unixlib loader · XRandR / XRender
GE game-fixes — battlenet · maplestory · dai_xinput · eac · pso2 · assettocorsa · silence-starcitizen · vgsoh · WM_ACTIVATEAPP
Proton 11.0-1 · arm64ec · Wine 11 · versionCode 1
| Base | Stock Valve Proton 11.0-1 (Wine 11.0-1) — plain Proton, no GE game-fixes |
| Installs as | 11.0-1-arm64ec-1 |
| DirectAudio | v1.3.1 (submodule @ directaudio-v1.3.1) — opt-in via registry Audio=directaudio |
| Assets | proton-11.0-1-arm64ec-sdk28.wcp (4 KB pages) · …-sdk35.wcp (16 KB pages) |
Android compatibility fixes — SD-card boot (noexec / force_anon) · drive-root copy · C.UTF-8 locale
Runtime — realized-font-handle cap 32768 · WINEVMEMMAXSIZE cap · fast-yield gate · FEX-unixlib loader · XRandR / XRender
GE game-fixes — none (plain Proton)
Proton 11.0-2 · arm64ec + x86_64 · Wine 11 · versionCode 1
| Base | Stock Valve Proton 11.0-2 (Wine 11) — plain Proton, no GE game-fixes |
| Installs as | 11.0-2-arm64ec-1 |
| DirectAudio | v1.3.1 (submodule @ directaudio-v1.3.1) — opt-in via registry Audio=directaudio |
| Assets | arm64ec: proton-11.0-2-arm64ec-sdk28.wcp (4 KB pages) · …-sdk35.wcp (16 KB pages) · x86_64: proton-11.0-2-x86_64-sdk28.wcp (4 KB pages) · …-sdk35.wcp (16 KB pages) |
Android compatibility fixes — SD-card boot (noexec / force_anon) · drive-root copy · C.UTF-8 locale
Runtime — realized-font-handle cap 32768 · WINEVMEMMAXSIZE cap · fast-yield gate · FEX-unixlib loader · XRandR / XRender
GE game-fixes — none (plain Proton)
⚠️ The x86_64 wcp carries the same fixes, but Proton 11 under box64 currently does not render a window — use the arm64ec build, which is the proven runtime. The x86_64 asset is published for completeness / testing.
Proton 10.0-4 · arm64ec · Wine 10 · versionCode 1
| Base | Stock Valve Proton 10.0-4 (Wine 10) — plain Proton, no GE game-fixes |
| Installs as | 10.0-4-arm64ec-1 |
| DirectAudio | v1.3.1 Wine-10 ABI port (submodule 4241123a) — opt-in via registry Audio=directaudio |
| Assets | proton-10.0-4-arm64ec-sdk28.wcp (4 KB pages) · …-sdk35.wcp (16 KB pages) |
Android compatibility fixes — SD-card boot (force_anon, GameNative's original Wine-10 diff) · drive-root copy · C.UTF-8 locale (fixes authored against the Wine-10 tree)
Runtime — realized-font-handle cap 32768 · WINEVMEMMAXSIZE cap · fast-yield gate · FEX-unixlib loader · XRandR / XRender
GE game-fixes — none (plain Proton)
ℹ️ The DirectAudio v1.3.1 mainline is Wine-11-only (it drops the
midi_get_driverunixlib guard); this layer ships the Wine-10-guarded 1.3.1 build so the same feature set works on Wine 10.
GE-Proton 10.0-34 · arm64ec · Wine 10 · versionCode 1
| Base | Valve Proton 10.0-4 (Wine 10) with the GE-Proton10-34 game-fix tier layered on (GE's game-patch files only, not GE's Wine tree) |
| Installs as | 10.0-34-arm64ec-1 |
| DirectAudio | v1.3.1 Wine-10 ABI port (submodule 4241123a) — opt-in via registry Audio=directaudio |
| Assets | GE-proton-10.0-34-arm64ec-sdk28.wcp (4 KB pages) · …-sdk35.wcp (16 KB pages) |
Android compatibility fixes — SD-card boot (force_anon, Wine-10 diff) · drive-root copy · C.UTF-8 locale
Runtime — realized-font-handle cap 32768 · WINEVMEMMAXSIZE cap · fast-yield gate · FEX-unixlib loader · XRandR / XRender
GE game-fixes (10 — superset)
- GE-Proton10-34 tier:
assettocorsa·dai_xinput·eac·pso2·silence-starcitizen·vgsoh - plus our extras:
battlenet·maplestory-charprev·maplestory-stickykeys·WM_ACTIVATEAPP
ℹ️ GE-Proton10-34's
lemansultimate-gameinputpatch is intentionally omitted — our Valve Proton 10.0 base already shipsdlls/gameinput, so GE's stub is redundant/conflicting. Le Mans Ultimate's GameInput requirement is met by the base.
Installation
Each layer is a distinct .wcp — install the one matching your Proton / GE version. Pick the SDK variant for your device's page size:
sdk28— 4 KB-page devices (most Android hardware)sdk35— 16 KB-page devices
Proton 11.0-2 additionally offers an x86_64 pair of wcp — but Proton 11 under box64 does not currently render a window, so use the arm64ec build unless you are specifically testing x86_64.
All layers require a fresh arm64ec container. Because this build ships a new font-cap win32u.so (and the versionCode stays 1), uninstall your previous layer and recreate the container so the new win32u.so is picked up rather than reusing the old prefix.