18 ms·
I forked SteamOS for my living room PC
- coffeebeqn 3y agoI was totally blown away by how good Proton is in the post Steam Deck world. I now play Steam games on my Linux laptop almost daily because they “just work” even when the only listed supported platform is Windows
- gclawes 3y agoThat's awesome. How does proton treat anti-cheat software or DRM?
- jcastro 3y agoWorks if the developer enables it. For example: Halo Infinite works fine, but Destiny and Call of Duty don't.
- jwells89 3y agoYep. DRM’d online stuff and VR mainstays (Beat Saber, primarily) are the two sets of games that are keeping me tethered to Windows at the moment. VR games can be played via a Windows VM with GPU passthrough but for DRM’d online games you don’t really have any other option, at least if you don’t want to get banned.
- Cyph0n 3y agoI also run a Windows VM for gaming. One thing to note is that some games have (robust!) VM detection checks on launch, so you can’t even run them in the first place. Valorant is one example.
- diggan 3y ago> I also run a Windows VM for gaming What do you use for the VM? Last time I checked, I couldn't find any free/FOSS VM tooling that allows me to do GPU pass-through on a Linux Host to Windows Guest.
- deleted 3y ago[deleted]
- SXX 3y agoIt seems like you haven't looked into it much since it's was feasible for last 7-8 years.. Linux hosts had GPU passthrough working well before commercial software had such options. Nowadays it's just work out-of-box with Virt-Manager that just run QEMU under KVM. It's been working for years for 99.9% of games excluding some invasive anti-cheats that ban you for VMs, but there literally only a few games that have issue with virtualization.
- Cyph0n 3y agoI use Proxmox and GPU passthrough works just fine (via QEMU). Note that Nvidia GPUs have less issues with passthrough, at least last I checked. See this guide: https://pve.proxmox.com/wiki/PCI_Passthrough https://pve.proxmox.com/wiki/PCI_Passthrough But if you’re running a standard distro, there are guides for most them. * Arch guide (excellent resource, applicable to all distros): https://wiki.archlinux.org/title/PCI_passthrough_via_OVMF https://wiki.archlinux.org/title/PCI_passthrough_via_OVMF * Ubuntu: https://ubuntu.com/server/docs/gpu-virtualization-with-qemu-kvm https://ubuntu.com/server/docs/gpu-virtualization-with-qemu-... * Gentoo: https://wiki.gentoo.org/wiki/GPU_passthrough_with_libvirt_qemu_kvm https://wiki.gentoo.org/wiki/GPU_passthrough_with_libvirt_qe... You can also find countless blog posts and videos on setting up GPU passthrough. One excellent resource for gaming use-cases in particular is this subreddit: https://www.reddit.com/r/VFIO/ https://www.reddit.com/r/VFIO/ Last thing to note is that your motherboard can make the process easier if it has good IOMMU support. Basically, you want a MB that puts your PCI slot in a separate IOMMU group. You can find examples by searching for “(MB name) IOMMU groups”.
- Kerbonut 3y agoBeat Saber does work on Linux if you can deal with VR on Linux’s quirks.
- jwells89 3y agoDoing so requires a SteamVR headset, though. I’m using a Quest 2 which only works well with Windows. Up to date compelling SteamVR options are starting to appear however so I might see if I can move over to one of those in the next year or two.
- bravetraveler 3y ago* depending on the anti-cheat or DRM This is true for at least EAC/EasyAntiCheat. This covers a lot, sure, but not everything!
- 0x457 3y agoIt depends on both. Anti-cheat used by Destiny 2 is supported, but Bungie needs to allow it first.
- bravetraveler 3y agoIndeed. I meant to imply both if I managed otherwise. This is just a casual warning - Linux gaming is great [as much as the industry allows] I didn't really want to start itemizing things. Most competitive Counter-Strike anti-cheat isn't supported. I've had some luck with the Windows VM approach instead. One may have to disable quite a lot (ie: Hyper-V enhancements) to truly trick them.
- Deathmax 3y agoBattleye has integrations with Proton as well, but as with EAC, it's opt in by the developer, and not every dev enables it.
- bravetraveler 3y agoSure - leads more to my point of... check the games you care about for support. I didn't really want to start itemizing these things. Most AC used in the competitive Counter-Strike community isn't supported, for example. Only first-party VAC.
- Pannoniae 3y agoThose games with anti-cheats are anti-player garbage anyway. You don't lose much without them.
- infecto 3y agoI wish the Linux/OSS communities were less like this and more welcoming.
- ekianjo 3y agoDRM is not welcoming by default... sounds like you have double standards
- IshKebab 3y agoDRM is not the same as anti-cheat.
- arendtio 3y agoThey are not, but both are symptoms of a consumer-disrespecting mindset. - DRM does not serve the consumer, but the producer. - Anti-cheat only serves the consumer if it is well-designed. However, if someone is able to design a game (technically) well, anti-cheat is unnecessary. And if someone cannot design a game, their anti-cheat is often a disservice to the consumer. I don't like either DRM or anti-cheat solutions, not because I am not willing to pay the producers, but because I have been burned too many times by dysfunctional solutions.
- eropple 3y ago> Anti-cheat only serves the consumer if it is well-designed. However, if someone is able to design a game (technically) well, anti-cheat is unnecessary. That silly "speed of light" thing? Just design better.
- 3y ago
- tyfon 3y agoEAC has a proton build now so for new games it should work at least.
- charcircuit 3y agoEAC has had a wine build for a long time (over a decade?). That doesn't mean games enable it.
- deadbunny 3y agoOnly if the developer enables it. Most don't.
- deleted 3y ago[deleted]
- nhkcode 3y agoIt varies by game. https://areweanticheatyet.com/ https://areweanticheatyet.com/ is an interesting resource for that because they also track announcements by developers about whether or not linux support is eventually planned.
- jorvi 3y agoI’ll dissent. After hearing people be ecstatic, I thought I’d go full-in on Linux gaming. I have a pretty bog-standard gaming PC that is very Linux-compatible (Intel i5 + Radeon 6800XT) and on there Apex Legends has horrid frame pacing issues, Mirror’s Edge doesn’t work with wireless Xbox controllers. You lose out on a lot of GPU suite features that Windows has. Gnome doesn’t support VRR. Etc etc. There’s so many small issues it’s held me back from deleting my Windows partition. Maybe in a year or two? That said, these things work flawlessly on the Deck.
- COGlory 3y agoFYI Valve is primarily deploying KDE, which does support VRR. They can't really control what dumb decisions the GNOME folks make. For Mirror's Edge, were you using Steam Input?
- jorvi 3y agoYeah, except I prefer the cleanliness of Gnome over how scattershot and buggy KDE feels, so I’m SoL. I’ve even looked into launching games into their own little Gamescope instance, but if you don’t run Gamescope as your main window manager, you lose most of its benefits. > For Mirror's Edge, were you using Steam Input? Yes. The problem lies in the fact that only the Xone driver properly supports the Xbox wireless adapter, but it doesn’t play nice with Mirror’s Edge. Xpad and XpadNeo do work, but those require USB or Bluetooth. And me having to tweak a million things tells why gaming on Linux still sucks, aside from Deck’s blessed config. I don’t want to deal with a thousand papercuts, I want to boot my system and play. Windows is still closer to that experience than Linux.
- OJFord 3y ago> Yeah, except I prefer the cleanliness of Gnome over how scattershot and buggy KDE feels But if it's the difference between gaming working or not for you, wouldn't you rather use it? Surely you barely interact with it anyway while gaming, only to get into Steam? If this is a machine you use for something else too, you could just have a gaming user that logs in to KDE and your normal user that uses Gnome?
- blizzard_dev_17 3y agoI'm doing the same. Playing games I bought 10 years ago for the first time.
- psyclobe 3y agoBottles is the end game for wine style containers and windows games.
- pjmlp 3y agoPity that it solidifies Windows as the top PC gaming OS, that all studios should care about. Let Valve do the needful for running them under GNU/Linux, if at all.
- nindalf 3y agoYou’re missing the bigger picture. Yes, developers really appreciate that their games work seamlessly on the Steam Deck and Linux with no effort on their part. But there are a couple of knock on effects. One is that developers now a specific hardware + software combo to test their games with. Even if it’s the same build they’re sending out, they’re still testing their game on the Deck and fixing issues, leading to a better (but not perfect) experience for Linux gamers. Here’s a video of Swen Vincke, CEO of Larian studios playing a game released by his studio on the Steam Deck - https://youtu.be/kzfEkSGa45k https://youtu.be/kzfEkSGa45k. He’s very pleased and promises to test future games released by his studio on the Deck. And he stuck to that promise - Larian released several fixes specifically for the Steam Deck to make Baldur’s Gate III run better. Linux gamers benefit from that. Second, this increases the % of gamers using Linux. After the Deck’s success in the last couple of years Linux is at 1.91% of the respondents of the Steam Hardware Survey for Nov 2023. Linux was at 1.15% 18 months ago. Doesn’t sound impressive, but if that growth continues and it reaches 3-4%, at that point developers will find shipping native Linux builds more attractive.
- pjmlp 3y agoValve adocates are the ones failing to learn from OS/2 history, "it does Windows better than Windows". Studios don't care about native GNU/Linux, despite the games being shipped with Android/NDK, PlayStation POSIX environment, and the available APIs on Switch OS. All of them much easier than porting from Windows/XBox, almost straight ports if coming from Android/NDK.
- brnt 3y agoHaving a desktop OS was a big thing 30 years ago, but now nobody cares anymore. Who interacts with their OS other than launching browsers or apps based on browsers? Not even most coders these days. OSes are irrelevant these days and having basically libwindows.so these days only underlines that.
- justinsaccount 3y agoTIL about RAUC (https://rauc.io/ https://rauc.io/) I had been wondering how valve implemented the A/B update scheme.
- exitb 3y agoThere already are distributions based around elements of SteamOS, geared towards PCs and controller-based usage. ChimeraOS works for me quite flawlessly, including Steam Deck add-ons, like EmuDeck.
- quaffapint 3y agoI actually just ordered a GPU for my unRaid NAS server just to be able to do Steam Headless via a nice docker image(1) and then use Moonlight (for example) as a client on my Windows laptop. If it works, it's much better than buying yet another piece of desktop hardware just to play games when my NAS is just sitting there idle most of the time. Just need to make sure I keep the power level setting on the Nvidia card to idle when not in use (hopefully a nvidia-persistenced call will do it). 1: https://github.com/Steam-Headless/docker-steam-headless https://github.com/Steam-Headless/docker-steam-headless
- Kerbonut 3y agoThat is crazy, thanks for sharing!
- sevagh 3y agoThis looks great. I currently use Sunshine + Moonlight, I'll test Steam Headless performance soon.
- sdl 3y agoI spent some (too much) time trying to get pretty much the same thing running using GOW [1]. Was quite a bit harder than I thought, requiring a hdmi dummy plug to get the xserver config right etc. 1: https://github.com/games-on-whales/gow https://github.com/games-on-whales/gow
- quaffapint 3y agoGood call out - this does require a dummy plug as well.
- bormaj 3y agoThis is really interesting! Do you notice any limitations on input lag or video quality when streaming over a local network this way?
- moondev 3y agoAnother alternative, launch a kvm with GPU passthrough and use cloudinit to launch sunshine and the game, or just use the monitor directly. https://kubevirt.io/user-guide/virtual_machines/host-devices/ https://kubevirt.io/user-guide/virtual_machines/host-devices... Declarative cloud native game launching! kubectl apply -f crysis.yaml
- Old-Assumption 3y agoI wanted to do use SteamOS for our LR PC, our kitchen ambiance PC and our MBR PC but instead installed Ubuntu (upgraded to Kubuntu) then disabled Snap because SteamOS which runs KDE and was a great call by Valve, is built on Arch, a bad call IMHO.
- smoldesu 3y ago> built on Arch, a bad call IMHO. I'd be curious to hear why. Arch deserves it's reputation for poor stability, but for Valve's application with OSTree and immutable root should work fine. For users who don't want to tinker, they can receive a quality first-party experience with smooth upgrades. Users that do want to tinker are largely funneled into using Flatpak or AppImage, which are much more stable than AUR packages.
- glitchcrab 3y agoCan we please stop with the FUD around Arch and poor stability? It's an old meme which will never die, but it has no basis in reality. I've been using Arch on my personal and work laptops for probably 7 years now and the only time it had been a problem has been due to layer 8 issues and doing something stupid. I certainly wouldn't be using it for work if it was unstable.
- freedomben 3y agoIt's not FUD. If you stay very light then it is very stable, but the more stuff you add, the worse it gets (gnome extensions anybody?) I love Arch, but it is a demanding mistress. If you get behind on updates, you're asking for pain. Also it can be very disruptive to suddenly get a new major version of Gnome that breaks extensions you used, or applications, etc. What we instead should say is not that Arch is "unstable" because I agree it's not, but rather that Arch requires a lot more care and feeding and if you don't do that, it can lead to instability
- accelbred 3y agoI used Arch for years, and left it due to poor stability. Every time I would try to use an AUR app it would be broken and need re-installing. Sure the non-AUR stuff was mostly fine, but a lot of necessary applictions are in AUR, and AUR is touted as a major selling point of Arch. When there was an issue during a system update, recovering the system was a mess. I also cannot call it stable when you can't update one application without updating the rest of the system. I switched to Gentoo and it fixed all the issues I was encountering with Arch, and was more stable. Now I'm on NixOS, which is far more stable than Arch or Gentoo were. Now, that said, the way SteamOS uses it, I don't see any issues. With an immutable system, A/B updates, and tested images, the compatibility and update issues are solved. Using flatpak for user applications solves the rest of the noted issues. Would be ideal if I could install with Nix instead of Flatpak, but ran into some trouble there.
- mat0 3y agoWhat a thorough and interesting post. I would personally never do something like this. The most tinkering I've ever done with Linux was in my RaspberryPi era and that's 1% at most. So props to the author
- dixie_land 3y agoI was in a similar situation as the author: for quite a while I had to build my own Redhat kernel for a very obscure case: by pass RMRR check to pass GPU to a windows VM. (similar to https://github.com/kiler129/relax-intel-rmrr https://github.com/kiler129/relax-intel-rmrr ; not my repo) The root issue can only be addressed by ROM updates from the manufacturer but I'm running an old DL360 that's no longer supported by HPE. The patch itself is only one line change but updating the kernel is a pain since I have to : - get SRPM (there's no git repo) - unpack SRPM, apply patch - rebuild and install
- deleted 3y ago[deleted]
- cyanydeez 3y agoif you want a tv, soon there may be no real choice.
- toxicunderGroov 3y agobazzite.gg alsof does this very well. On AMD hardware it did 120hz VRR out of the box and u can alpha test HDR support.
- freedomben 3y agoI'm shocked that Bazzite isn't more well known. It's exactly what I dreamed about but didn't know existed until recently
- jauntywundrkind 3y agoHadn't heard of Bazzite. > Bazzite is an OCI image that serves as an alternative operating system for the Steam Deck, and a ready-to-game SteamOS-like for desktop computers, living room home theater PCs, and numerous other handheld PCs. https://github.com/ublue-os/bazzite/ https://github.com/ublue-os/bazzite/ Worth visiting the readme even if not interested. There's a huge list of included stuff, and a lot of it seems really cool.and helpful (for gamers or streamers mostly).
- bsimpson 3y agoBazzite (and Immutable Linux as a whole) is fascinating. I'm not deep enough in their weeds to perfectly explain it in a concise HN comment, but it's all about having a read-only known-good Linux distro at the root and then layering packages on top, taking much inspiration from server-side containers. It's supposed to be both more secure and more reliable/reproducible/customizable than traditional Linux. You just write in a container manifest which packages you want. When an upgrade comes out, it runs the upgrade, then reinstalls your packages on top.
- goncalossilva 3y ago2023 was the first year I gamed exclusively on Linux according to Steam's year in review, including some of this year's titles. Most of that was on the Steam Deck or on a virtual machine with GPU passthrough running Bazzite. It is really well made.
- iotku 3y agoEven more relevant is that you can "fork" Bazzite relatively simply and add any missing packages or configuration you need to your own custom image and let GitHub actions do most of the infra work for you https://universal-blue.org/guide/fork-your-own/ https://universal-blue.org/guide/fork-your-own/ And yes, you can roll back to previous images as its an "immutable" OS as well should issues arise
- 4ggr0 3y ago[flagged]
- deleted 3y ago[deleted]
- barbariangrunge 3y agoTangential: anyone have experience with unity and/or unreal on Linux these days? Last I checked (2-3 years ago), they technically worked but we’re janky and buggy. Is it improved?
- calamari4065 3y agoUnity is only a little more janky and buggy than it is on Windows. I had a lot of trouble getting the unity editor working on my steam deck, but that may have been due to using an editor version from 2021 (for unrelated reasons). It seems to behave fine on a normal desktop environment though.
- itsboring 3y agoUnity has been quite solid for me on Linux lately. It’s mainly just minor annoyances like the project settings window being too small when you open it so you have to resize it, little stuff like that. Nothing that has prevented me from getting the job done. I still prefer to use it on Linux because the glitches annoy me less than, well, using windows. Unreal works okay for me, but I’ve had to submit a few patches upstream to work out some Wayland issues. Other than that, it’s about as bloated/buggy/slow as it is on windows. Most of the time if I think there’s some Linux-specific issue I’ll open the same project on windows only to discover it was the same.
- arminiusreturns 3y agoI moved to Godot and haven't looked back.
- barbariangrunge 3y agoHow is performance?
- arminiusreturns 3y agoQuite good actually when you use the forward+ renderer (vulkan) and do the little things properly (using multimeshinstances or shaders heavily instead of tons of direct meshes, using occlusion culling properly, making sure you have multi-threading enabled, run physics on a sep proc, etc). I'm evening running with full dynamic global illum and loving it. I'm not trying to prematurely optimize but my game worlds are very large, (I have a working to scale earth for example) (oops, forgot to mention, to get good large world behavior, compiling with double precision is a must! (https://godotengine.org/article/emulating-double-precision-gpu-render-large-worlds/ https://godotengine.org/article/emulating-double-precision-g...)) so I've been watching lots of GDC and other talks from AAA titles and how they do their rendering pipelines, and my conclusion is that shaders are really the powerhouse of gamedev these days and anyone interested would do themselves a favor to start learning the quirks of your engines shader language now.
- jamies 3y agoIf you're interested in running SteamOS on a Linux PC, I'd recommend: https://github.com/HoloISO/holoiso https://github.com/HoloISO/holoiso
- slimsag 3y ago> No. Not even questionable. If you have an NVIDIA GPU, You're on your own. Latest Valve updates for Steam client including normal and Jupiter bootstraps have broken gamepadui on NVIDIA GPUs, and if so, no support will be provided for you. Bummer. This rules out 76% of steam users, according to their hardware surveys.
- smoldesu 3y agoThat description is pretty hyperbolic. The SteamOS UI (eg. the Steam Deck-looking part) is very broken on Nvidia right now, but the actual gaming part (eg Proton and the Steam launcher) works fine. If you just want to play mouse-and-keyboard in desktop mode, recent Nvidia cards are generally pretty cooperative.
- rollcat 3y agoNVidia on Linux is an unholy mess, and always has been (at the very least since 2004, which is my earliest memory of fighting it). It's true even on NVidia's own SoC (Jetson). It almost feels like they're trying hard to make the experience worse for everyone: users, OS developers, app developers, hardware developers... I don't know what to make of it, if you want NVidia you should pick an OS other than Linux (I've heard FreeBSD actually works fine), if you want Linux pick a GPU other than NVidia.
- bsimpson 3y agoI recently got my hands on a gaming handheld (the Legion Go) and have used it to get more exposure to Linux. I'd historically avoided it, because it seemed like a perpetual tinker timesink with limited compatibility with things I'd actually want to use. Reading about immutable filesystems and how traditional Linux gives root willy-nilly to all sorts of random software piqued my curiosity. I'm using NixOS, which can indeed be a tinker timesink, but is good for exploration. You can easily try different components, and then completely remove them (aside from some ~/.config pollution) if you don't want to keep them. It's also trivial to patch things before you install them (such as adding some kernel patches to make Linux usable on esoteric hardware like a gaming handheld). There's a NixOS community called Jovian that's reconstructing Valve's random SteamOS tarballs into tagged commits on GitHub, which you can browse as if you were a Valve employee. They've made it so you can install your own copy of SteamOS atop NixOS by adding a few lines to your Nix configuration. They're clearly Linux experts, and you can see from the source that you're getting Valve's packages unadulterated, save for simple adaptations like introspecting instead of hardcoding the power button location. So, if you want a pure SteamOS experience without hosting your own mirror of Valve's update system (or if you want to be able to browse Valve's source without downloading a 3GB tarball), give Jovian a try. Install instructions: https://jovian-experiments.github.io/Jovian-NixOS/getting-started.html https://jovian-experiments.github.io/Jovian-NixOS/getting-st... Mirrors of Valve's source: https://github.com/orgs/Jovian-Experiments/repositories?type=all https://github.com/orgs/Jovian-Experiments/repositories?type...
- ParetoOptimal 3y agoI'm also successfully using Jovian-NixOS on my Steam Deck without issue, highly recommended.
- jokethrowaway 3y agoInteresting read! The A/B upgrade sounds a bit overkill, you can always just pop up a live distro or install a recovery system (on an old version) in a partition in case something goes wrong. I recently moved to Arch after a few years of NixOS (preceded by years of Arch) and I think the fears of the author are misplaced. Arch is definitely a very serious and mature distro and I'd trust them more than Valve. The quality of the packages available for Arch is what made me move from NixOS. The main repos are updated really fast and AUR has a lot of useful packages.
- darkstar999 3y agoNo way steam deck users should be expected to boot a live distro to fix a botched upgrade. It needs to be seamless and behind the curtain.
- embik 3y ago> The A/B upgrade sounds a bit overkill, you can always just pop up a live distro or install a recovery system (on an old version) in a partition in case something goes wrong. You and I can, the overwhelming majority of computer users cannot. Valve clearly focuses on building for the average person, something that Linux distributions (as much as I love them) still don’t really do (well). The system automatically recovering from a failed upgrade is essential in a low-maintenance OS at this point.
- stavros 3y agoI can too, but I have better things to do than fix boot issues on my Steam Deck. I just want it to work.
- bsimpson 3y agoThe Steam Deck is essentially a Chromebook for video games, so ChromeOS's unbreakable partition scheme seems like a reasonable idea.
- ParetoOptimal 3y ago> The quality of the packages available for Arch is what made me move from NixOS. Can you give some examples of this please? I generally find the NixOS packages high quality.
- techknowlogick 3y agoI love this kind of deep dive into customizing the software/OS on a device you own. Glad that "Tivoization" isn't a concern for the steamdeck. The most interesting part of the article was the mention of a /nix partition, as I didn't realize the steamdeck supports nixpkgs, after researching it more, they do indeed (not installed by default, but at least it is possible without having to fork an entire os to get it on the device).
- frutiger 3y agonix has always been installable onto any *nix OS without requiring you to “fork an entire OS”. You can put the nix store in any writable location and modify $PATH to point to the symlinks directory.
- rollcat 3y agoNot if your / filesystem lacks the /nix directory to use as a mountpoint, and happens to be a read-only image. Something that needs a workaround on macOS.
- frutiger 3y agoIt has been a while since I last used it, but I was under the impression that the store location was customisable and thus could be anywhere?
- figomore 3y agoNix store can be anywhere. But if it’s not /nix Nix will not use the cache (already compiled packages) and compile every package needed.
- alchemist1e9 3y agoDoes anyone know what they are using from nixpkgs? I’d be curious since I’m a heavy nixpkgs user myself but unfortunately I don’t have a steamdeck.
- denysvitali 3y agoTIL: SteamOS is based on Arch Linux. This is so cool!
- sillywalk 3y agoAnybody else sort of miss that Netscape meteor shower favicon?
- userbinator 3y agoliving room PC Do people not use the term HTPC or "media center" anymore?
- shmerl 3y agoValve might need some not yet upstreamed kernel features for Steam Deck, but what is the ustpream kernel missing otherwise for gaming? I use it without any issues. As far as I know they also prefer to upstream things in general. I think AMD's amd-pstate / amd-pstate-epp and related work was kicked off becasue of Steam Deck, but it all went upstream.