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.