Soda
Bottles’ custom Wine runner — the default way Bottles runs Windows
programs. A Wine-TKG build based on Valve’s Wine (experimental bleeding
edge) branch, so it inherits Valve’s Proton-era fixes without requiring
Steam.
Why it exists
Bottles’ first runner (Caffe) tracked upstream Wine directly and broke with
its cadence. Soda (July 2022) took the opposite bet: Valve’s Wine fork +
Proton patches + selections from TKG and GE — a slower-moving, gaming-tuned
blend that Bottles controls. Release line lives in
bottlesdevs/wine; distribution via
the components catalog (YAML
manifests with checksums, x86_64 + aarch64 tarballs).
What Soda 11 adds (Bottles 65+, 2026-08)
- Based on Valve’s Wine 11 branch
- Native Wayland driver, pure 32-bit prefixes, multimedia fixes, mod-loader
support - Adaptive Launch (soda-11.0-5+): profiles which files a program loads
at startup and preloads them on next launch — faster first window, no
config changes; profiles are per-bottle and local - Soda 11.0-10 (2026-09): Battle.net XInput crash fix, host OpenXR
(Monado/WiVRn) without Steam/SteamVR, MS-ICU runtime for .NET apps,
WMV/WMA playback fixes, aarch64 build with ARM64EC + bundled FEX,
PGO-optimized x86_64 build - Carries the fixes that make Office 365 work in a bottle (see
Office 365 on Linux via Bottles (Soda 11))
Family
- ProtoSoda — Proton environment (for UMU) wrapped around the Soda
Wine core; Bottles 66’s default for UMU games - McSoda — first runner for Bottles Next on macOS
- Siblings in the runner list: Caffe (legacy stock-Wine), Vaniglia
(experimental)
Stack position
Wine └─ Valve Wine (experimental) └─ Wine-TKG build = Soda
└─ Proton (Steam) └─ UMU (outside Steam) ← ProtoSoda serves this
Soda is why Bottles doesn’t just ship stock Wine: one tuned,
versioned runner with fixes the project can pin and test — UMU games
get the same core via ProtoSoda.