#Natively run Balatro on Linux! (again) ft. Boson

1 messages · Page 1 of 1 (latest)

chilly cliff
#

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?
#

Getting Started

Prerequisites

First, you'll need some runtime dependencies to actually run Balatro using Boson:

  • LOVE runtime (love in your $PATH)
  • Lovely Injector (Optional)

Ultramarine/Fedora + Terra

On a Fedora-based distro with Terra enabled, you can simply just install both

sudo dnf install love lovely-injector

For immutable Fedora-based distros like Bazzite or anything in the UBlue family, just use rpm-ostree or something, or derive your own container if you haven't already done that yet

Installation

Right now you'll have to download the dev snapshots since 0.4 isn't really complete yet, but complete enough to play Balatro with flawlessly at least

https://github.com/FyraLabs/boson/actions/workflows/binary.yml

Go to the latest build, scroll down, and then download the boson-x86_64-unknown-linux-musl artifact.

You'll find an archive called boson.tar.zst inside, extract it and copy the boson folder to ~/.local/share/Steam/compatibilitytools.d (Steam Flatpak isn't really supported at the moment, because there's no LOVE Flatpak runtime like MangoHud or whatever)

Now restart Steam, right click on the game, go to Properties > Compatibility, and select Boson as the compatibility tool, and you should be able to simply just run the game!

Extras: Steam API integration

SMODS already has dynamic loading for luasteam if the library exists in the game folder since 2024, so all you have to do is download luasteam from here: https://github.com/uspgamedev/luasteam/releases/tag/v3.2.1, get the linux64 build, rename it to just luasteam.so and put it in the Balatro install folder, and now the game should be able to just talk to the Steam API and even get achievements while playing natively!

GitHub

Run Electron Steam games natively on Linux*. Contribute to FyraLabs/boson development by creating an account on GitHub.

mild frost
snow bluff
#

this is rad

mild frost
#

please

honest kernel
#

question - how do I install Lovely Injector on Ubuntu-based distro?

mild frost
#

maybe not the lovely part

#

there is löve package for Ubuntu but not the injector so yeah

mild frost
#

yeah

mild frost
#

trust

junior barn
#

trying this and can't find the save/mods folder

#

i've searched my filesystem for settings.jkr and none of the results are a directory where pasting my existing balatro saves has any effect

mild frost
#

@chilly cliff

#

oops wrong chat

junior barn
visual ice
junior barn
#

i managed to get it working, don't remember how though

snow badger
#

the first few lines of lovely log usually tells where the mod dir is

#

for me its ~/.local/share/love/Mods

#

you can specify LOVELY_MOD_DIR env if you want to ue a custom directory

visual ice
#

I installed lovely injector via AUR and it doesn't seem to do anything

#

🤔

junior barn
#

lovely 0.9.0 doesn't seem to be recognized at ~/.steam/root/compatibilitytools.d/boson/lib even though lovely 0.8.0 works fine there

mild frost
#

oh

junior barn
junior barn
#

solved: just needed to link ~/.local/share/love/Mods to my previous mod directory