Love it! Living-room media servers will be the Trojan horse that brings self-hosting back into existence, and will inevitably transform the internet back into a more peer-to-peer oriented existence. Once most folks have symmetrical connections and powerful Linux systems, it’s only a software problem keeping people from using the internet as it was intended, equally publishers as they are consumers.
> Living-room media servers will be the Trojan horse that brings self-hosting back into existence…
I had a living-room media server for many years. My recommendation: Don't put a media server in your living room.
Instead, get a tiny, quiet, privacy-respecting client (e.g. Apple TV) and put the media on a NAS that lives elsewhere. Depending on your preferred client UX, you may (Plex) or may not (Infuse) need a separate app to serve the media.
Whether the server lives in your living room or office/homelab doesn't really matter in terms of its effect on the popularity of "self-hosting". If anything, local media library management is likely to become less popular, and any "Trojan horse" effect has happened by now since people have been doing this for a couple of decades.
I've tried at several points to roll my own media center PC/server setup and it's always been a very far cry from what the fire stick does for like a tenth the price and zero effort.
So yeah, I'm very keen for something plug and play in this space.
This is probably a bit too custom, but I did the same, and it works really well after it's set up. Plex/Jellyfin just works for everyone (you do need to use the app, because I disabled transcoding).
I have a repo that uses a Harbormaster (a Comppse-based deployment tool I wrote, https://harbormaster.readthedocs.io/) to set everything up and keep it up to date, so all you need to do is run the Harbormaster container, point it to the above repo config, and the apps will run. Then, you just need to configure each app, but the directories will be set up properly.
It's a bit of work, but probably not as intimidating as it sounds.
> you do need to use the app, because I disabled transcoding
You can use Plex as a DLNA server together with a DLNA client (like players built into most TVs), so Direct Play and Direct Streaming should work just the same.
Piracy is super evil and I would never and have never pirated anything in my life. but I do know that Stremio + Torrentio + RealDebrid takes at max 30 minutes to set up and for a few bucks you can essentially stream everything in higher quality than most streaming platforms, it works great on a google tv chromecast (a friend told me).
Glad to see this finally up here. I posted it a couple weeks ago and was shocked that I hadn't heard of it sooner. I expected it to rocket to the top, but instead it just languished (https://news.ycombinator.com/item?id=38642298).
I've been blown away by Bazzite. I haven't yet (so far at least) run into any downsides of being on Bazzite instead of SteamOS, yet have had numerous upsides. I've wanted my Decks to be on my tailnet for a long time, but that was not an easy proposition. There's numerous packages that don't flatpak well that I've wanted to install into my base OS but haven't been able to until now! An example, I use Remote Play to run the games on my beastly desktop while viewing them on my TV. Something I routinely do is SSH into the host machine and run htop in one tmux pane and nvtop (for my AMD card, yes it works great with AMD now!) in another pane. To me this feels like the difference between driving with a speedometer and tachometer vs. driving without. Such a simple thing, so hard to do with Steam OS, yet so easy with Bazzite.
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 ?
> 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 ?
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.
> But I suppose there won't be optimizations for any combinations of GPU/CPU/RAM like Valve and AMD do for the Steamdeck?
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.
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.
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.
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.
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.
Slightly related, but just today I discovered this SteamOS redistribution for generic machines (as long as they don’t have Nvidia graphics): https://github.com/HoloISO/holoiso
Okay, so I read that page and I understand that nvidia graphics are very much a no-go for that distribution. I’m just wondering why? Full disclosure, I know very little about the finer points of GPU compatibility on Linux, but why isn’t it just a matter of installing nvidia’s closed source packages?
Gamescope leans on Wayland features that the Nvidia proprietary driver either doesn't have support for or only preliminary support. It's on Nvidia to catch up. It's not about incentives for Valve, they can't change the driver themselves.
Proton has received patches for Nvidia support in particular, some from Nvidia themselves.
There may be legal issues, Pierre-Loup at Valve (who incidentally recently tweeted about NVK's progress) used to work at Nvidia on Linux driver development. There's a good chance a lot of Valve's employees have signed NDAs too. They've been leaning heavily on partnerships and contract work (like with Collabora, who also host NVK).
Valve want to extricate themselves from Windows, their incentive is to break free from "Wintel". Steam Deck is a priority, but SteamOS is clearly built to extend beyond that and in order to have any success on standard PCs, Nvidia GPUs need to be supported well.
What’s the motivation for the creators of this? And who’s backing it? Doesn’t feel like a weekend hobby project but rather a strategic open source play of some sort.
Hi, I'm the original creator of this project. I'm happy to say the motivation is purely organic, we've no backing and have never received donations of any kind, project is totally out of pocket.
Originally I wanted something akin to SteamOS that allowed packages to be installed and maintained through updates, and knew Fedora could offer that after using Silverblue for about a year, and it just kept evolving and growing from there.
We just launched HDR in testing, and are working on custom kernel signing so we can move that to stable without breaking secure boot support.
If you want to support us for the time being, all I can ask is that you give it a try and report any bugs you may find to us. The more users the better!
Hi, it's probably not your focus, but since you have Nvidia specific flavors, it would be great if browsers had hardware video decoding working. Either Firefox or chromium/brave. I did a fair bit of distrohopping and yet to find a distro doing that easily for nvidia native drivers.
That was my hope but it doesn't work on bazzite-gnome-nvidia. I believe I tried bazzite-nvidia as well but it's been a while. Mind pointing me to a relevant doc? - it's not googleable.
When you say "we" do you mean other members of the Fedora community? Do any of you work at RedHat? Just wondering how you got a complex project like this up and running.
"We" is myself and two others that call ourselves maintainers, and the group at Universal Blue who brought us into their circle and shared knowledge. My personal repo at https://GitHub.com/KyleGospo/Bazzite is a time capsule of the project at it's beginning when it was only me.
Universal blue has a ton of different people contributing to it, but there's no corporate backing there either.
Similar premise, but not as technically reproducible. You can create and manage your own custom images using the blue-os build systems, it's dead simple. Basically you're just writing a Dockerfile. Most of the filesystem is read-only like NixOS, but it acts like a traditional Linux system with FHS support.
It's that last part that made me switch to it from NixOS. I was tired of random things not working because of Nix's opinions on how things should work. I run Bluefin Linux with Fleek and get all the benefits I liked about Nix with none of the nonsense.
No problem, thanks for the response! You have a very impressive project as well. Even if I don't switch there is a ton of generally useful things to learn from.
Can anyone report how well this would work on a pure touch device (tablet)? I have a Thinkpad X1 Tablet (gen3) and am still looking for the best Linux distribution to work with it as a plain tablet, without the keyboard attached. Plain Fedora has some very annoying bugs with the on-screen keyboard. Installing the Phosh extension fixed most of these, but this introduces other annoying things that make it tedious to use. Also, the disk encryption still requires to attach a keyboard at boot, since Grub does not feature an on-screen keyboard, so I'm wondering how this was solved here.
We're working on porting unl0kr from postmarketOS to Fedora to allow for LUKS on the Steam Deck without an external keyboard, that should also work well for a tablet use case once it's done.
I’d be willing to give Bazzite another go and see if it has fixed whatever many issues I had though. There used to be one showstopper limitation (for me): it didn’t support dual/multi-booting. Does anyone know if that’s changed?
Ill take this as an opportunity to explore fedora (i guess?), ive been using ubuntu for ~2 years and am ready for a change. This looks like it has a lot of what I would want built in, im not tech savvy enough to get some of this stuff working.
Erulabs is all about Bazzite shaking things up and bringing back the good old peer-to-peer days of the internet - it's like a digital revolution waiting to happen. And heyoni? Totally feels the pain of how clunky and centralized the web's gotten lately, especially when you can't even get a straight answer from a simple search. Then there's mikepurvis, who's been down the DIY media center road and found it's not all it's cracked up to be, making the dream of a simple, plug-and-play system super appealing.
I would love to hear how people are building HTPC/media streaming setups using this kind of stack in 2024. I am very interested in replacing all my aging fire sticks with something custom built.
Was considering just doing some RPi based dongles on bedroom TVs and a higher spec gaming PC with Steam Big Picture on the main TV, but with all the innovation recently I feel a bit of choice paralysis.
Anyone willing to share what their setup looks like, or what they're planning to do in the coming year?
I did the HTPC thing for many years. Finally, I just got tired of the noise, heat, and occasional maintenance requirements of having a PC in the media room.
My recommendation: Get a tiny, quiet, privacy-respecting client (e.g. Apple TV) and put the media on a NAS that lives elsewhere. Depending on your preferred client UX, you may (Plex) or may not (Infuse) need a separate app to serve the media.
Fedora's OSTree recently-ish started supporting using OCI containers as the content-addressed image backend in addition to their original git-like one:
The identifier for the content (image layers + manifest) is the hash of the content, and the has serves as an "address", the registry repo + tag is basically a pointer to a hash.
Thank you. Would other type of addressing be something like offset-based or address-based? Just trying to imagine different ways a file can be packed as I never gave it much thought.
I'm pretty sure it's just the difference between a file being named foo.tar.gz and (SHA-256 of the file).tar.gz[0] - the content and storage are the same, it's just that the canonical name is a hash of the contents rather than being arbitrary.
Gamescope, the compositor used on the Steam Deck variants, is optimized for gaming. It can do things like integer scaling, so your game is always fullscreen regardless of what resolution it renders to.
Makes me wonder - how viable is it to install actual SteamOS on devices that aren't the Steam Deck (and use the Deck UI and all)? Are there any mods or something to make that work?
The Deck UI is two parts: the Steam client in Big Picture Mode (which is most of the Steam Deck UI and runs on Mac and Windows as well), and the gamescope compositor. Gamescope is open source and Steam is available for download on Linux.
You could run any of the replacement Steam Deck OSes (Jovian/NixOS, Bazzite, Chimera...) and get a UI that's identical to what's on the Steam Deck, down to the "Deck Verified" badges and sidebar sliders that may not work on your machine. They're all essentially running the Steam Deck UI atop whatever distribution each one chose.
I'm not sure you'd want the literal Steam Deck image on your machine. It's an older kernel with a bunch of patches that expect the SD's hardware. But if you want to explore that more, there was an excellent article on the front page this morning about building your own clone of Steam OS.
You seem knowledgeable, so a casual question. I installed bazzite :testing fork on the steamdeck oled and wifi speeds were absolutely terrible. Like 100mbit max where as I see 500-600 on stock.
Do you have a perspective on the driver layer here? I’m assuming bazzite is using something out dated or maybe didn’t have hardware acceleration on wifi packets etc
Any one know if there is a reason not to install this on my SD? The Waydroid installation is very interesting. How well does it work? Would you consider this a bit bloated?
It refers to the OCI image format. Think of git for your base operating system. The host system is immutable with full support for easy rollbacks. Stable installs can be pinned permanently for maximum stability. Software installs happen in user space, typically via flatpack and distrobox, so you can reach for any packages you want with minimal fuss. It’s pretty great.
The only flatpaks here are ones installed by the user after setup, or ones installed by Fedora (Firefox for instance, you don't want your browser updating only when your OS does).
Steam, gamescope, and nearly every other listed feature are native packages.