this post was submitted on 03 May 2024
75 points (96.3% liked)

Steam Deck

14892 readers
60 users here now

A place to discuss and support all things Steam Deck.

Replacement for r/steamdeck_linux.

As Lemmy doesn't have flairs yet, you can use these prefixes to indicate what type of post you have made, eg:
[Flair] My post title

The following is a list of suggested flairs:
[Discussion] - General discussion.
[Help] - A request for help or support.
[News] - News about the deck.
[PSA] - Sharing important information.
[Game] - News / info about a game on the deck.
[Update] - An update to a previous post.
[Meta] - Discussion about this community.

Some more Steam Deck specific flairs:
[Boot Screen] - Custom boot screens/videos.
[Selling] - If you are selling your deck.

These are not enforced, but they are encouraged.

Rules:

Link to our Matrix Space

founded 3 years ago
MODERATORS
 

Seen a few times bazzite has been mentioned, but just have seen another user say they have OpenSUSE installed.

I'm not sure what the benefits of these options are, especially non-steamOS ISOs?

top 36 comments
sorted by: hot top controversial new old
[–] InternetCitizen2@lemmy.world 39 points 6 months ago

I think its mostly because its possible.

[–] transientpunk@sh.itjust.works 26 points 6 months ago (2 children)

One of the beautiful things about Linux is it's versatility. Many people want to use their hardware for things other than gaming. For instance, I saw a Steam Deck at Disneyland being used to operate "autonomous" robots in Star Wars Land.

For me, I have been doing the vast majority of my gaming on my Steam Deck ever since I got it, however, recently, I was wanting to do some programming work while I was out and about, and was running into a lot of road blocks trying to do it on my Steam Deck. They can be overcome, but I found myself thinking about how much easier it would be to do my work on it, if it had a different distribution installed.

The Steam Deck is a consumer appliance, and as such has reasonable safeguards in place to protect users from themselves. Some users want to go beyond what's available out of the box, and I imagine that freedom is what motivates most people to put other operating systems on their device.

[–] pezhore@lemmy.ml 2 points 6 months ago

I actually use my Steam Deck for programming, with the vast majority of my time spent in desktop mode. The updates are a pain to deal with, but I've got an Ansible playbook that can get me back to normal fairly easily.

[–] saintshenanigans@programming.dev 2 points 6 months ago (1 children)

I saw a Steam Deck at Disneyland being used to operate "autonomous" robots in Star Wars Land.

I think mkbhd did a video showing that off recently if anyone is curious

[–] transientpunk@sh.itjust.works 3 points 6 months ago

Thanks for letting me know! I really wanted to look at the UI when I realized what I was looking at, at the park, but I didn't want to bother the employee. I appreciate that I got to see it in that video now

[–] Max_P@lemmy.max-p.me 21 points 6 months ago

Because you can, pretty much.

That's the nice thing with an open platform like that, everyone can make another just as good. Valve did a great job making it good and reliable for the average gamer, but it's also just a PC. A PC made to run Linux. There's no reason you can't... just install another distro, replicate some of the configurations, and run your favorite distro on it!

And it's good, people experiment and make cool mods and tweaks. Valve has taken a lot of things the community did to their deck and made it an official feature because it's cool and fun. People make cool themes, they figure out how to make some games work.

It's just like any other Linux distro choice: which one do you vibe the best with for what you want to do on it. For some people that's a handheld console that just works and plays your games and runs SteamOS.

[–] Diplomjodler3@lemmy.world 18 points 6 months ago (1 children)

Some people do this sort of thing for fun. Personally, I'd rather spend my time playing games but that's why I'm not Hackerman™.

[–] bjoern_tantau@swg-empire.de 15 points 6 months ago (2 children)

Hi there, hello, it's me, OpenSUSE guy. My main motivation was to get full disk encryption and an unlocked root drive. I also wanted to run Plasma 6 on Wayland, install most of my applications natively instead of as flatpaks. I also hated how I had to jump through hoops every time I needed a VPN connection.

Recently I also found out that it helped me in downgrading my BIOS to employ a workaround for a memory problem because I strongly suspect that they did absolutely nothing when I sent my unit in for that.

And I also wanted to do it just because I could.

[–] Coreidan@lemmy.world 2 points 6 months ago (1 children)

Wouldn’t full disk encryption just slow everything down? Seems like a bad idea for a gaming system

[–] bjoern_tantau@swg-empire.de 9 points 6 months ago* (last edited 6 months ago)

Nah, games only hit the disk when they're loading stuff which is expected to be slow anyways.

Plus I think all modern processors have special chips for cryptography stuff which makes it almost free.

Edit: And apparently the good folks over at Cloudflare have improved that even further. Got to remember to test this when I've got the time. With any luck it's enabled by default.

[–] overload@sopuli.xyz 2 points 6 months ago

Hey! You did prompt my question, no offense :p I'm a fellow Open SUSE tumbleweed user on Desktop, but was surprised to see it mentioned in this context. Thanks for sharing!

[–] TeddE@lemmy.world 14 points 6 months ago (1 children)

I saw a video recently where a Steam Deck was repurposed as a robotics controller and monitor unit for prototypes. Having an off-the-shelf highly customizations controller for $350 is a steal for this industry, but they're not using it for games.

(Video for reference: https://youtu.be/1KEtxTQUzxY)

[–] Diplomjodler3@lemmy.world 5 points 6 months ago (1 children)

I've seen videos where they used it as a drone controller in Ukraine. Truly a marvellous machine.

[–] andrew_bidlaw@sh.itjust.works 3 points 6 months ago (1 children)

Maybe a little excessive for just drone operation and communications, but the formfactor of a handheld console is where the sweet spot is. I feel like if they'd make them for $100 with something akin to a 10-years old hardware in a rugged everything-proof body, it can become a standard in the future. Cheap drones have shown they can drop bombs alright, so there's probably a market for a cheap controller made just for that.

[–] Diplomjodler3@lemmy.world 6 points 6 months ago (1 children)

The great thing about the Steam Deck is that it's basically just a Linux PC. That makes it easy to adapt for any purpose. It also has a good screen and great controls. That would be hard to do for $100. And by military hardware standards, it's already dirt cheap.

[–] andrew_bidlaw@sh.itjust.works 2 points 6 months ago

Their R&D in designing a console and these nice controllers is probably more expensive for Valve than what they've got from selling actual products, but cheap smartphone is $40 in the more sanctioned Russia, so I guess something like $100 isn't an unreasonable price goal, and these folks are historically more into IT than we are, that makes me believe they can do or already did cheap controlling devices. I'm open to be wrong.

And yeah, military things are always extra durable and extra overpriced, but they are in a process to cut corruption to join NATO\EU, so probably the end price won't be that exhausting.

[–] thingsiplay@beehaw.org 13 points 6 months ago (1 children)

SteamOS itself is write only and changes to the system get lost with updates. Also someone might just like certain distributions more. And they can have customization and optimization built in, without digging deep into a rabbit hole you don't understand.

A "why" explained by the bazzite project itself can be found here: https://github.com/ublue-os/bazzite/?tab=readme-ov-file#why

Bazzite started as a project to resolve some of the issues that plague SteamOS, mainly out of date packages (despite an Arch base) and the lack of a functional package manager.

Despite this project also being image-based, you are able to install any Fedora package straight from the command line. These packages will persist across updates (So go ahead and install that obscure VPN software you spent an hour trying to get working in SteamOS). Additionally, Bazzite is updated multiple times a week with packages from upstream Fedora, giving you the best possible performance and latest features - all on a stable base.

Bazzite ships with the latest Linux kernel and SELinux enabled by default with full support for secure boot (Run ujust enroll-secure-boot-key and enter the password ublue-os if prompted to enroll our key) and disk encryption, making this a sensible solution for general computing. (Yes, you can print from Bazzite)

[–] sp3tr4l@lemmy.zip 7 points 6 months ago* (last edited 6 months ago) (1 children)

Assuming you meant read only (How would a write only OS or software work lol), you can actually disable the read only nature of the OS and install pacman and then your own packages.

That being said, yeah, it is a bit of a mess as all of that can be wiped out or thrown into dependency conflict hell following an SteamOS update.

That being said: As someone who is using my SteamOS as my main PC was fucking stolen...

I am both trying to get into game dev and also just far more used to Debian and Debian based OSs.

Trying to get a game engine other than Godot to work on Arch has been an insanity inducing experience, and I've found Godot 4 to be insufficient.

Unreal and Unity and 03DE work on debian. They release debian variants.

Sure, there are AUR repos or whatever, but theyre based on many alternative libs that cause things to bug out, and they don't even actually list all the dependencies, you just have to spend hours and hours googling errors when you try to build, figure out what you are missing, then find the Arch version of that lib, or the AUR version, in which case oh fun more unfully listed dependencies and compatibility errors.

So... yeah basically an actual reason to install another linux OS on the Deck would be if you wanted to do software dev in Linux and don't want to deal with the tangled rats nest of basically everything that actually works on a debian distro either resulting in you having to rely on slapdash AUR bullshit, or massively space wasting containerized packages.

[–] thingsiplay@beehaw.org 8 points 6 months ago (1 children)

In SteamOS you can also make use of the Nix package manager, which has official support from Valve https://github.com/NixOS/nix/issues/7173. /nix is included in default installation I think, but I never used it. Then there is also Distrobox, which lets you install any package from any distribution. I also never used this and apparently it works on Steam Deck too? https://github.com/89luca89/distrobox/blob/main/docs/posts/steamdeck_guide.md

Depending on how complicated or limiting these alternative options are, they may be enough. If you want develop a game and only have a Steam Deck, then maybe for testing it would be a good idea to keep SteamOS. I don't know how viable it is to have dual boot, but that could be an option too? I guess a builtin SSD would be a requirement for this.

[–] sp3tr4l@lemmy.zip 3 points 6 months ago (1 children)

I will have to look into nix more. I remember when it came out, thought it might be neat if it caught on and got developed and supported well, maybe that's the case these days?

And yeah I would want to keep SteamOS as yeah the whole steam deck control interface, as far as I know, only works on SteamOS, it'd be good for testing and I do like playing games on the thing.

I've got the Terabyte OLED version, so I could probably dual boot on that alone fairly fine, but having an SD and an external drive would probably be good ideas too.

[–] thingsiplay@beehaw.org 2 points 6 months ago

I will have to look into nix more. I remember when it came out, thought it might be neat if it caught on and got developed and supported well, maybe that’s the case these days?

It's still a niche off course. And the packages from the Nix package/repository in the end is just installing an application like from any other repository. But its usable on any distribution. That's the point here, because it can be used on the Steam Deck without root privileges (as far as I know) and packages should stay after an update. I wasn't much talking about the distribution itself.

[–] GarrulousBrevity@lemmy.world 10 points 6 months ago* (last edited 6 months ago) (1 children)

Mine is just running stock, but depending on what you're trying to do with it I could imagine that a few things might not be palatable to some.

  1. The read only by default file system
  2. It kinda nukes everything on the system on update
  3. So much of how it handles the Linux side user profiles depends on there only being the default user
[–] overload@sopuli.xyz 2 points 6 months ago

Thank you. Reading through responses this seems to answer it, I could imagine once you're modifyinf foundational OS binaries you don't want to have a SteamOS update nuke it.

[–] Fubarberry@sopuli.xyz 9 points 6 months ago

Main reasons are for better software support and the option to use different desktop environments. For a gaming focused device I think SteamOS is great, but if I was docking my deck and using it as a development environment I would definitely want a less locked-down linux OS.

The appeal of Bazzite is that you still get all the benefits of SteamOS, but you also have more options for software and desktop environment. Other linux distros like OpenSUSE would have a even less restricted OS, although you would be making tradeoffs for some of the other nice things about SteamOS.

[–] DeadMartyr@lemmy.zip 8 points 6 months ago (2 children)

I'm a cs student rn and there's a lot of stuff that I'm learning specifically with UNIX and Linux related things. I use my steamdeck as a daily driver (literally sit in the front of class, pull out my steamdeck with my jsaux case and Bluetooth keyboard/mouse combo)

There's some issues with the walled garden. The way they do system updates is basically by having system stuff on its own partition and overwriting it. It functions well for a "casual" person that doesn't care about linux that much.

The issue is that I have to install things sometimes. Even things as simple as an OpenVPN package so I can use my nordvpn. Updates sometimes will wipe things I install in package manager. Other things (like Xelatex) are simply too big to fit in this partition so I have to install lighter packages even if I want to use the whole thing (Math formulas need a LOT of symbols).

This has actually led me to see if it's worth it to install a third party OS. Bazzite was a good contender but I like Arch with the KDE desktop so ultimately I would just want a steamOS that I could install more things on.

Currently I'm looking into how I can achieve this. I don't know if I should just enlarge the partition holding the system files, or if there is some pacman settings that I could have packages installed elsewhere and automatically symbolically linked in /user or wherever it needs

[–] rklm@lemmy.dbzer0.com 7 points 6 months ago* (last edited 6 months ago) (1 children)

I also use my steam deck as my daily driver (dockcase 10 in 1 with peripherals etc).

I had been using arch for years before I got the steam deck, and for the first 8 months or so I unlocked the btrfs partition and installed everything I needed normally (kvm/qemu, devel libraries and Linux headers for c++ development, etc)... But every update from valve would destroy my environment and I had to run custom scripts to fill my etc directory back in...

For the past many months I've been using distrobox (which I believe comes pre-installed on the latest steamdeck updates) with a rootless arch environment inside, and flatpaks for everything that requires systemd.

You can symlink things like xdg-open from inside the container to your host, and end up with a pretty seamlessly integrated experience (distrobox does a lot of this for you anyway, and comes with utilities which make this pretty easy.)

If you want direct control of the system, this is not going to be a convenient setup, but if you're interested in treating it like an immutable OS, there are userspace ways of getting around it's limitations.

SteamOS has inspired me to make future installs immutable (and atomic/declarative using containers?), because it can be kinda nice once you get used to it.

I hope this helps or was interesting!

Edit: This is specifically what I meant by symlinking xdg-open.

Idk if this is done by default now, but if link handling is broken this is how you fix it

[–] supersquirrel@sopuli.xyz 1 points 6 months ago* (last edited 6 months ago) (1 children)

distrobox

Yes I agree in the vast majority of cases distrobox is the way to go, I made a short post on the "List Of useful tools" post that I might as well put here.

What Distrobox does (following is quoted text)

Simply put it's a fancy wrapper around podman, docker or lilipod to create and start containers highly integrated with the hosts.

The distrobox environment is based on an OCI image. This image is used to create a container that seamlessly integrates with the rest of the operating system by providing access to the user's home directory, the Wayland and X11 sockets, networking, removable devices (like USB sticks), systemd journal, SSH agent, D-Bus, ulimits, /dev and the udev database, etc...

It implements the same concepts introduced by https://github.com/containers/toolbox but in a simplified way using POSIX sh and aiming at broader compatibility.

All the props go to them as they had the great idea to implement this stuff.

It is divided into 12 commands:

distrobox-assemble - creates and destroy containers based on a config file
distrobox-create - creates the container
distrobox-enter - to enter the container
distrobox-ephemeral - create a temporal container, destroy it when exiting the shell
distrobox-list - to list containers created with distrobox
distrobox-rm - to delete a container created with distrobox
distrobox-stop - to stop a running container created with distrobox
distrobox-upgrade - to upgrade one or more running containers created with distrobox at once
distrobox-generate-entry - to create an entry of a created container in the applications list
distrobox-init - the entrypoint of the container (not meant to be used manually)
distrobox-export - it is meant to be used inside the container, useful to export apps and services from the container to the host
distrobox-host-exec - to run commands/programs from the host, while inside of the container

above quoted from here: https://github.com/89luca89/distrobox/blob/main/docs/README.md#what-it-does


Guide For Installing Distrobox On The Steam Deck

https://github.com/89luca89/distrobox/blob/main/docs/posts/steamdeck_guide.md

Quckstart Guide

https://github.com/89luca89/distrobox/blob/main/docs/README.md#quick-start

Distrobox Guide Homepage

https://github.com/89luca89/distrobox/tree/main/docs#readme

note because distrobox is a process that can be run by command line, you could presumably launch distrobox in a terminal window in Gaming Mode and keep everything for that session within that steam Big Picture window no problem. I am gonna have to keep experimenting with this.

[–] rklm@lemmy.dbzer0.com 2 points 6 months ago

This is a great write-up! I'm going to save it for reference.

Thank you!

[–] towerful@programming.dev 7 points 6 months ago

As someone that runs servers, having an immutable os (oe one that "wipes" on updates) is awesome.
The issue is that you are not in control of the config.

Learning to script over it might be worthwhile. Update, apply customisation script, back to normal.
It's good to learn declarative configuration

[–] therealjcdenton@lemmy.zip 8 points 6 months ago

Because you can. I don't think you should but it can be done so someone will do it

[–] Bogasse@lemmy.ml 6 points 6 months ago (1 children)

As I wasn't using my desktop much I sold it and the deck's desktop mode is my main computer now. In that perspective I really prefer bazzite's gnome and more permissive package management.

[–] jiberish@lemmy.world 2 points 6 months ago

Same. The Deck is my main computer and Bazzite is a much better OS than the default. I only wish I could boot straight to Desktop Mode, because I rarely have time to play games anymore.

[–] jjlinux@lemmy.ml 3 points 6 months ago

Why not? 😏

[–] Eeyore_Syndrome@sh.itjust.works 3 points 6 months ago* (last edited 6 months ago)

edit: My brain had read this as "What reason would I use Bazzite vs Steam OS?" Others exist like Chimera. But I'm only familiar with Bazzite.


Bazzite Vs Steam OS:


  1. Installation instructions Step 1:
  2. Installation instructions Step 2:

Other Links:


Maybe you really really want Gnome on your Deck?

I'm a happy AMD/AMD Desktop user for ~2 years apparently

[–] cyrus@sopuli.xyz 1 points 6 months ago

One thing that Steam/Valve has done with the Steam Deck is lock down the ISO by default, and provide no tools to modify your image persistently. That is of course on purpose, because that works for 99% of users, but the 1% of users may wanna use something where they can, for instance, overlay packages and keep them with updates, or apply extra gaming-focused tweaks that may be more of a hassle to maintain on SteamOS.

For instance, I use Fedora Silverblue daily on my Desktop, and even though it is immutable just like the Deck, it offers me tools to modify my image as I see fit and have the same modifications be applied to future updates too.