Repository navigation
[Feature] Support for Bazzite #835
Replies: 15 comments 17 replies
|
Two problems need to be worked around on Bazzite as of Millennium 2.35.0: Part 1 — Install to a writable location The installer does sudo cp -r to /usr/lib/millennium, /usr/share/millennium, and /opt/python-i686-3.11.8 which are all on the read-only OSTree rootfs. The fix is to skip the system copy entirely and extract the release tarball directly to ~/.local/. Part 2 — Fix hardcoded paths in the binaries Even with files in ~/.local/, the binaries still reference the original system paths as C++ compile-time constants — environment variables have no effect on them. The fix is a binary patch to redirect those paths to /var/, backed by systemd-tmpfiles.d symlinks pointing to ~/.local/ — the idiomatic Bazzite mechanism for persistent /var/ entries that survive reboots. Below is the script that does both pieces: |
|
https://github.com/SteamClientHomebrew/Millennium/blob/main/src/sys/env.cc All paths are overridable by environment variables. if you start Steam with a environment var that shadows one Millennium uses, it will use yours instead. No patching. |
|
Hi 👋. While is true that Bazzite has a read-only /usr, /usr/local is writable (being a symlink to /var/usrlocal) as so is /opt (symlink pointing to /var/opt, though this convention is weaker and might turn read-only in a non foreseeable future). Dropping that bit of information there, as personally feel like creating directories directly under /var is a bit messy. |
|
Just gonna voice my support for this request, having learned of the project through Brodie's Youtube video about the project. I run Bazzite, and was saddened to discover the read only filesystem was like "NAH BRO IT AIN'T HAPPENING". ... Sadge. |
|
@shdwmtr great, thanks for the note, with that the script can fully do with just setting the correct env using tmpfiles: |
|
It does work on Bazzite but I had to remove leading blanks in the script otherwise it gets mad on file writing steps. I also replaced
|
|
Strange. The exact same script failed today with |
|
Also |
|
For whatever reason files |
|
bazzite stable, 44.20260515 all of this may be because of the 3.1.0 update ? |
The script fails if Added |
|
Has anyone managed to get Millennium to work on Bazzite? |
|
I turned the approach from this thread into an installer that handles Bazzite's read-only curl -fsSL https://raw.githubusercontent.com/ethembeldagli/millennium-bazzite/main/install.sh | sh
Tested on Bazzite 44 (GNOME deck image) with Millennium 3.6.2, themes included. Like the official installer, it needs the stable Steam client, because the 64-bit Steam beta doesn't work with Millennium yet (as noted above). Repo: https://github.com/ethembeldagli/millennium-bazzite. Thanks to igor-tsiglyar, Shellke, LunRos and Zeglius, whose work in this thread made this possible. |


Uh oh!
There was an error while loading. Please reload this page.
Before Requesting
Describe the feature you'd like!
Support for bazzite as it is immutable and does let you write on system files, but just steam files (I think), I've seen discussions before about this topic and they got pretty as far as it being quite possible and they even highlighted the fact that all paths are changeable so that might be a good starting point.
I would love to see it fully implemented as alot of non-linux savvy people try out bazzite and having plugins and themes on steam are especially helpful and great to have!
Also this is technically similar to #475 but I believe this is about bazzite not all immutable systems as that seems like alot of variation to go thru.
Anything else?
posts mentioned:
#503
#475
All reactions