Oooh, looks cool ! I was just googling for something like "pc with steamdeck like specs" because I don't need the portability, I can't stand fan noise but I'd like Steam's ease of use. Now there is a path to a "normal"/quiet/dedicated PC to easily run games. But I suppose there won't be optimizations for any combinations of GPU/CPU/RAM like Valve and AMD do for the Steamdeck ?
Also:
- Comes with patches from SteamOS BTRFS for full BTRFS support for the SD card by default.
Interesting, what advantages does BTRFS bring in gaming/steamdeck scenarios ?
edit: juste read on https://gitlab.com/popsulfr/steamos-btrfs:
Btrfs with its transparent compression and deduplication capabilities can achieve impressive storage gains but also improve loading times because of less data being read. It also supports instant snapshotting which is very useful to roll back to a previous state.
I guess it's for easier rollbacks on the system and maybe rollback different versions of the same game ?
Fedora actually defaults to BTRFS, in the case of SteamOS the system is BTRFS out of the box, and only home and the SD card are ext4.
Main benefits are compression, and increased read speeds from compressed drives, especially from the MicroSD.
BTRFS de-duplication also solves the issue of wine prefixes with similar dependencies taking up more space than needed.
Why is it not the default? Compatibility issues with Windows games somehow?
I can only speculate Valve's reasoning, but there are a very select few games that require actual case folding and not the simulated case folding that wine offers. I know of literally only one.
SteamOS dev here - lack of case folding is one (but solvable, we supported development on native case folding for ext4), but general stability issues are the main concern. Our testing with btrfs has not been promising for deploying it in a zero-maintenance manner to many users and finnicky SD cards and have it Just Work, but we're keeping an eye on things and weighing where we could contribute.
Is there a way for adventurous users to opt into using BTRFS on SD cards?
https://gitlab.com/popsulfr/steamos-btrfs
Have you done any performance testing with btrfs compression?
I have a Legion Go. I don't have the specs handy now, but the SSD was rated fast enough that I suspected compression would harm my overall performance.
Can you help me with some searchable terms for learning about case folding? Is that something specific to games? Specific to disk formats?
It's a file system feature, all it means to be case folding is that capital and non-capital letters are treated the same, as NTFS does.
All Linux filesystems will by default allow "TEST" and "test" and "Test" to exist in the same folder, which no Windows application is ever intended to handle. Wine works around this by default.
NTFS is also case sensitive, however case folding is done at search time according to default windows settings.
Windows apps are expected to handle case sensitivity gracefully in non-FAT filesystems.
BTRFS is probably mature and stable by now, but it's been a rocky road with several premature declarations of maturity.
I run a homegrown gaming htpc with an R5-5600, Radeon 6800XT, and then the Xbox wireless dongle and 4 Xbone controllers with Bazzite.
You'd be surprised at how much of heavy lifting is done by the kernel and mesa stacks, that's where the real work is done. Fedora does a good job pulling in kernel and mesa updates relatively quickly and the steam client handles the proton updates.
There's also great synergy between Bazzite, ChimeraOS, and Nobara, which are all gaming focused distros. Lots of code sharing and teamwork happening there, which is awesome to see. Everything is open for people to hack on.
It acts like a big steamdeck, all the performance overlays work, all the xbox controllers work ootb, fsr works, etc. - you do need to pair the controllers with each controller but that's a one time thing. I've personally completed God of War, Horizon Zero Dawn, Baldur's Gate 3 and other AAA campaigns in 4k. And then when I need to travel all my game progress is on my deck. It's a full multi device experience.
But to set expectations: VR and multiplayer games that don't opt into EAC or use kernel-level anti cheat are a no-op, as well as anything Epic makes. To me it's just like any console platform, you get lots of games, and some games you can't play. At this stage in the game both Windows and Linux suffer from the same UX shit show, horrible third party launchers are the worst problem with either set up.
Disclaimer: I'm involved in universal blue but don't directly contribute to bazzite.
I've also built myself an HTPC for gaming on, and it works amazing since Valve gave us the Steam OS 3 UI.
However I did it a while ago and went down the HoloISO route. Would you recommend that I switch out for something like Bazzite, or are the benefits good but not *that* good that I'd have to spend a day reinstalling all my games?
I ran chimeraOS for years and it worked fine, I switched to dogfood more than anything else. If your system is working there's no reason to mess with it.
Awesome, cheers!
Interesting that you don't contribute to Bazzite - your name is the only one I associate with it, because I've seen your YouTube videos.
Copy-on-write filesystems are inherently better for flash media because they never overwrite in place. They always allocate a new block and mark the "old" block freed when it is no longer referenced by the active filesystem (or snapshots if supported).
Flash Media HATES overwriting data in place because it requires the block to be freed, then re-written.
Now, modern flash firmware tries its best to allocate new blocks anyway, so some of it is a wash, but it is overall a better way to write to flash media.
I use BTRFS with compression because my SD card is old (like, a decade old) and slow. (De)ompressing the assets takes a bit of CPU time but the slow I/O is noticeably faster because of it.
Deduplication can be useful if you store the Proton/Wine runtimes on the same disk. Different games may need different runtimes, the latest version isn't always the best, and a Wine environment without any games inside of it can take up a couple hundred megabytes just for DLLs and other common dependencies. Deduplicating can save a chunk of wasted storage, although with current flash storage prices that's probably not worth worrying about in practice.
Some people like the checksumming but IMO that's not all that useful without ECC memory.
compression is good, checksums are good.
It's a shame other FS's don't have it.
Every single one of these should be present, along with our own tweaks and changes made upstream at Fedora.