Previously, I introduced a script to run Balatro natively on Linux, but this has proven to be a bit complex for some people.
So I'm here to announce to you that Boson now natively supports LOVE2D games, including Balatro!
Boson 0.4.0 (the one with LOVE support) is still unstable! You'll have to download from GitHub Actions for now :p
WTF is Boson?
Boson is a "compatibility shim" that acts as a custom Steam compatibility tool (akin to Proton) which intercepts commands that would normally be forwarded to Proton to a supported native game runtime.
Initially made for Electron games like Cookie Clicker, Boson also now supports games running under the LOVE2D game engine including Balatro, allowing you to natively run Balatro on Linux, completely bypassing Proton while still running the game inside the Steam Runtime (SRT).
How it works
LOVE game binaries are simply built as concatenated files with the actual game bundle at the end of the file, and Balatro is no exception to this.
Fortunately, the LOVE runtime can be run completely standalone without a game and can also be pointed to an existing LOVE bundle (including ones with an existing runtime at the start), and it will intelligently locate the offset where the actual game is stored in, meaning you can simply run love Balatro.exe and this will simply just work.
Boson takes this to another step by literally wrapping this as a Steam compatibility tool for a more seamless integration.
Why not just use Proton?
Good question. The answer is mostly:
- Running the game natively is simply just better than running it through Wine
- The game files actually follow standard XDG conventions
- Less runtime overhead from Wine from setting up wineprefixes, compatibility data, and translating Windows calls to Linux, which might run better for those less-optimized mods.
- Why not?
