The Problem #
I play a couple of games on Ubuntu 24.04 LTS through Steam, running it as a non-Steam shortcut via Proton. A couple of missing fonts had been bugging me for a while so I decided to do something about it.
The fix should have been trivial. protontricks wraps winetricks and lets you install fonts, DLLs, and other components straight into a specific game’s Wine prefix. The plan was simple:
protontricks -l
This showed my game’s non-Steam shortcuts, including the App ID I needed:
Non-Steam shortcut: samp.exe (3956940601)
Then, in theory, this one-liner should have installed everything:
protontricks 3956940601 webdings wingdings corefonts
The Error #
Instead, I got this:
Traceback (most recent call last):
File "/usr/bin/protontricks", line 8, in <module>
sys.exit(cli())
...
File "/usr/lib/python3/dist-packages/protontricks/steam.py", line 540, in iter_appinfo_sections
raise SyntaxError("Invalid file magic number")
SyntaxError: Invalid file magic number
The traceback pointed at find_proton_app failing while trying to parse Steam’s appinfo.vdf — the binary cache file Steam uses to store metadata about every app in your library.
The Cause #
It turns out the version of protontricks that I had installed via apt was ancient:
protontricks --version
1.10.5
Steam has updated the binary format of appinfo.vdf over time (it’s now on format version 29), and older protontricks releases don’t know how to parse it — hence the cryptic “Invalid file magic number” error. Ubuntu’s package repositories lag well behind upstream releases, so the apt-installed version was never going to catch up on its own.
The Fix: Install via Flatpak Instead #
Removing the apt package and installing the Flathub build — which tracks upstream releases much more closely — solved it immediately:
sudo apt remove protontricks
flatpak install flathub com.github.Matoking.protontricks
Then run protontricks through Flatpak:
flatpak run com.github.Matoking.protontricks -l
flatpak run com.github.Matoking.protontricks 3956940601 webdings wingdings corefonts
This time, no traceback — it pulled and registered the fonts into the samp.exe Wine prefix without issue. A restart of the game later, and Webdings/Wingdings rendered correctly in SAMP.