I recently set up Bazzite on my friend’s system after switching from Linux Mint due to some Nvidia driver issues. Although the hardware problems are not there anymore, the distro is now facing problems installing certain programs for software development that they had no problem installing in the previous distro. I think there are issues related to the immutability of the distro, though I am not sure since I am new to Linux too. Additionally, my friend is worried about higher storage consumption and slower performance in certain applications.
I realise the distro is primarily meant for gamers and my friend is not much of a gamer themselves, however they told me they appreciate its friendlier KDE interface so I wish to avoid switching from this distro again if possible. However I fear that they may encounter more errors in the future and that I may not be available to help them out whenever needed, so I am in a bit of a conundrum.
Thus I intend to ask here if it is possible to arrange something for easing development related tasks e.g. VM, distrobox etc. or whether it is easier to simply switch to some other compatible distro.
Check out the ‘dx’ variants within universal blue It would be a good time to become familiar with rebasing.
I run bluefin-dx environment. (gnome).
There is a different learning curve to immutable/atomic systems and workflows. I don’t think it’s harder per say, it’s just you’ll have to be cognizant of the differences when searching for relative and relevant information when you come up against anything (like any opinionated *nix distro). Learn Homebrew, and Flatpack (and thier quarks running with atomic systems).
Also, I’ll add, that I think that beginners learning this immutable, devcontainer, distrobox workflow offers you more space to practice and learn by doing. You’ll will learn a lot by recovering from some misstep (rollback), and/or by blowing it up, to rebuild it again. (and I encourage you to do it often for the practice and confidence)
I…I don’t understand. Why would you use Bazzite for software development and not gaming when user is not a gamer but just likes KDE?
you can literally put KDE on anything. Bazzite isn’t friendly to installing anything that isn’t a flatpak or whatever.
Just use a different distro. you don’t need Bazzite. Switch them to like Fedora KDE or something.
And to people in this thread trying to push a camel through a pin hole…why? you’re talking about setting up VMs and Distroboxs or just using flatpaks on Bazzite when the most painless solution is to just switch distros.
You picked the wrong distro, just switch them to something more appropriate for what they want to do.
I’m a software developer first and a gamer second. Being a “gaming” distro does not detract from anything else, really. It just means that getting proper GPU acceleration is easy, and you’re likely to want that for development too. That was actually why I chose Bazzite. I was tired of wrestling with CUDA and ROCm.
It’s not “gaming” vs “developing”. That’s a false dichotomy.
The real choice is immutable vs traditional. And I’ll admit, immutable distros have a big learning curve. But it forces you to learn techniques that will make your life easier no matter where you go. The time I spent wrestling with dependencies on Debian or Ubuntu or OpenSuse just because I didn’t know about Distrobox…
Unless your needs are very narrow and unchanging, you’re likely to run into something that’s a giant pain in the ass no matter which distro you choose. I used to use Ubuntu LTSR so I could install a few big things in easy mode, but it made everything else harder because it was so outdated. Switched to OpenSuse Tumbleweed and everything was modern but those few vendors don’t support it so I had to wrestle with dependencies.
The answer to this problem is Distrobox. It’s the answer on Ubuntu, it’s the answer on OpenSuse, and it’s the answer on Bazzite. I’m never going back to dependency hell because I can just run everything the environment it is specifically designed for.
If you’re wondering “should I use distro X, Y, or Z”, the answer is simply “yes”. :D
Yeah, I don’t understand OP’s post, in good part because it’s really not saying anything, just mentioning some vague “problems!”, what are those problems, that distrobox can’t handle?
This is me and i second all of this
He fell for the memes.
To give some context to this.
Bazzite is an immutable distro. Fedora calls them atomic. It means many many things are only really updatable online, and you arent allowed to make manual changes to them. Hence immutable.
Bazzite is a very bad choice if you want the same kind of use you’d get out of a windows or mint machine, or any other non atomic distro.
The shitty news here is if you want a machine you’re doing software dev on you’re going to need to figure out the nvidia driver shit, which is a pain in the ass but if you’re a software developer you should be able to do it.
The shitty news here is if you want a machine you’re doing software dev on you’re going to need to figure out the nvidia driver shit, which is a pain in the ass but if you’re a software developer you should be able to do it.
The dev-focused atomic Fedora variants solve all Nvidia issues for you, there’s no reason why you should trouble yourself with it.
Or just go with a arch derivative that packages Nvidia driver like endeavorOS
Just installed endeavorOS from Ubuntu Studio (new Linux user as of about 3 months ago). Do you know if there’s a way to add the packages after install? I thought I selected the nvidia install, but it was using integrated graphics so maybe not, so I did some manual installs with nvidia-inst like --prime. It seems to be using driver 580 now instead of nouveau.
I was hoping another distro might fix an issue in Studio with DaVinci Resolve not showing video, but the same issue persists in endeavourOS (keeps saying gpu is low on memory). Running from terminal DRI_PRIME=1 to set it on performance mode doesn’t help so I’m wondering if it’s a full on Resolve issue. I’d rather not reinstall endeavourOS and lose everything I’ve done if it’s possible the OS can do some nvidia magic after install.
Yeah, I found out the hard way as a new user. Maybe it would be better to move to Fedora and set up everything myself. Bazzite might be perfect for consoles, but for desktop use it limits you a lot, even for normal usage, not just for software development.
but for desktop use it limits you a lot
For example? Because I’ve read this repeated a lot by people who don’t understand immutable distros. Of course you can’t “dnf install clang”, but you can use distrobox for that, ends up fairly similar.
It only limits you if you expect things to work exactly the same as with any other distro. If you spend some time reading up on how it expects you to solve different tasks, it doesn’t limit you for 99+% of scenarios.
I’m sorry to say this, but switching distros would be the better option. Bazzite locks down a lot of parts to ensure it works for games. There’s ways around it, but the effort is so much more compared to any other popular distro. Plenty of distros either come with KDE or have a version that has KDE.
Bazzite locks down a lot of parts to ensure it works for games.
This is not entirely correct. It’s a feature of atomic distros in general. Bazzite doesn’t lock anything down any more than its upstream Silverblue and Kinoite parents do, it’s just that most of the system files have been set to be immutable to ensure repeatable and standardized deployments.
This is great for scalability and ensuring the most uptime. Not so great if you want to do a lot of system tinkering.
The other issue is that a lot of existing software needlessly installs itself globally, rather than making use of the user’s local access. It’s a paradigm that needs to change, since most software doesn’t need access to most of the system directories to function.
Does it show I’ve never used an atomic distro before?
Don’t take this wrong, but you should refrain from commenting on what you don’t know. Immutable distros have to fight a lot of disinformation already.
We all have different knowledge bases. You were close, I was just providing a little more clarity. No snark meant or intended!
Have a nice day!
I realise the distro is primarily meant for gamers and my friend is not much of a gamer themselves, however they told me they appreciate its friendlier KDE interface so I wish to avoid switching from this distro again if possible.
KDE lives on probably every single version of linux, most downloads have an option to have it as a pre-loaded download version (https://kubuntu.org/ , https://fedoraproject.org/kde/ , etc : https://community.kde.org/Distributions )
Even if your chosen version doesn’t come with KDE, you can usually rip out the existing UI, and install KDE through the package manager.
Rebase to Aurora DX
This is the right answer OP!
Actual professional software developer here with 10 years of experience. I work on linux for linux targets.
You wanna play around? Use whatever you want with the latest and greatest packages and tweaks, you will encounter issues, learn how to solve them, that is for fun.
You wanna work? Use a serious distro with proven stability, I use debian for example. Yes installing nvidia drivers is a touch less user friendly than on bazzite, but when I update I don’t have surprises and when I boot up in the morning i don’t have to wonder if today will be debugging and coding for my product or for the damn tool i am using to develop it.
If you want to do both at the same time without knowing which side any given task will fall under use NixOS
I like the idea of NixOS and Guix System, but to recommend them to someone new to Linux is crazy.
To be clear this was not a recommendation lol I completely agree with you
Or have a pc for work with the most stable and boring distro possible, and a pc for the rest with a real os, like arch. Or if only means for one pc dualboot.
So no, i disagree. NixOS is not stable nor proven in my book, it certainly is a good idea though. If it still is around in 5 or so years i’ll consider giving it a shot.
It’s like 20 years old, with stable releases for over 10 years. How old does something have to be for you lol?
10 years old, first stable release in 2013. It needs to have a significant userbase for 5 to 10 years for me to consider using. Again, I am not here for the adventure, a computer is a tool, I have work and family.
I use debian for example
There are dozens of us!
(Deb stable is all I work on. Everything else is what I play around on.)
So what I hear you saying is: install PikaOS, a Debian-based gaming distro.
(h/j 😉)
The point is there are much more of us, than gamers on bazzite or enthusiasts on NixOS. The tons of institutional debian and rhel users offset the gamers and experimenters. I want to work, not be the offloaded qa of someone else. So i will not use fedora for work for example. I will also not run a non mainstream distro, for the same reason.
Oh well aware, just making a joke since you mostly see people comment that they run arch or bazzite or nix or whatever while around and about on here. The reality is just as you say, there are many, many, many folks on Debian stable.
Hard disagree.
Installing Debian on Nvidia means you are maintaining Nvidia yourself, and you are just holding your hands together hoping the 3rd party repo’s don’t fall out out of sync and you don’t have to troubleshoot some Nvidia conflict yourself. This is the whole reason I left that ecosystem behind, it was a huge waste of my time…
…Maybe you got lucky and just didn’t run into any Nvidia bugs? But that was not my experience.
(And to be clear this is different if you’re using it headless or something).
Dear sir/madam, NVIDIA 550 is available in the Debian stable repo itself so no need for third party repos and therefore no significant risk of breakage. If that driver works well enough you’re good. Ubuntu LTS has NVIDIA 580 in its official repo. I’m running in on Ubuntu 22.04 LTS as I write. Then of course if you’re on Debian and NVIDIA 550 does not work for you, you could grab the official driver installer from NVIDIA which would very likely work fine on Debian stable, and it won’t break on its own via Debian updates since Debian stable doesn’t ship major version changes of its packages between releases. You’d likely have to uninstall, then reinstall every few years when you upgrade to the next stable Debian release, but that’s best practice for anything that was installed outside of Debian’s repo.
There’s always a possibility for unintended fuckups but these methods are fairly safe and stable. Using 3rd party repos is significantly more risky to break things one of those days as you innocently
apt upgrade.
As another software guy, I second this advice. Resolving a driver issue on Debian Stable or a Debian-based distro (for example) is typically much easier and would cause many fewer problems down the road than going to a less predictable OS to solve a driver problem. The underlying OS contains so much more software than a driver that the likelihood of introducing problems when changing the OS is way higher. I used to solve hardware issues by changing OS back in the 2000s when I didn’t know any better. Once I learned enough to keep a stable base OS and modify just the bits that need modifying, I stopped reinstalling. My main machine was last reinstalled in 2014. It’s been running Ubuntu LTS since then. Its hardware platform has been changed multiple times.
Maybe rebase* to
https://docs.getaurora.dev/dx/aurora-dx-intro/
before nuking and going a classic Linux distro like others have suggested?
(Personally I’m not sure if I could go back to non-atomic, having the option to just boot the old image if after an update sleep mode is borked or something is just too good.)
This is what I would suggest, as well. Rebasing is one of the best features of atomic distros.
there is a bazzite-dx image that may be more accommodating to software developers. though, bazzite and the bootc/atomic distros are more geared towards containerizing software as opposed to installing a bunch of packages to the system.
distrobox and devcontainers may work for their use case but they would likely need to learn more about what that would entail.
generally people seem to like the atomic distributions once they understand them. i know I prefer them.
There’s definitely a learning curve with atomic distros, and I agree that it’s worth trying to surmount it.
Hey, something I can maybe help with.
Flatpak IDEs on the main system are not very useful for development. I got rid of mine entirely. I am developing firmware so it might be a bit different from your case, but what I did in have a single arch distrobox where I could install everything embedded-dev-related that had to work together (JLink, nordic tools, code-oss, etc…) on that. Then a few standalone debugging tools like STLink and Saelae logic2 could be installed to the home folder by default and Code could still find them from the distrobox (but they could be installed in the distrobox also). It doesn’t even need to have an init system, but I ran into a few problems like having to manually chmod usb devices to give STLink access. Udev rules are also hit or miss in /etc/udev/rules.d, e.g. the STM udev rules just don’t work, but nordic does.
High storage consumption is likely negligible (or at least nitpicky) since storage is so cheap nowadays. Your SSD doesn’t care if it has 15GB or 20GB of system programs, especially when development codebases and SDKs, games, and media will likely make up 90% of space and almost never share libraries even on traditional systems.
ujust setup-virtualization, distrbox ,homebrew are ur friends
Yeah, I thought one of the main reasons to use distrobox and the likes is for dev work having cleanly seperated environments.
If they want to try new distros, maybe try Fedora with KDE? Installing the Nvidia drivers isn’t too difficult.
For RTX 20 series and above, it’s recommended to use Nvidia’s open-source drivers. The instructions for how to switch on Fedora are here: https://rpmfusion.org/Howto/NVIDIA#Kernel_Open. Note that this is not Nouveau, which is a different open-source Nvidia driver not made by Nvidia themselves.
This is the answer, much of what makes bazzite good is it’s mostly just fedora, and they can be set up near identically, sans immutability.
On bazzite, your search order for apps/packages should be something like:
- Flathub
ujust. This is more for general configs than specific apps, but take a look at what it offers.- Homebrew
- Distrobox
- Podman/Docker images
- rpm-ostree
rpm-ostree is a last resort because it compromises the “atomic” principle of the system, but in a pinch it will give you access to anything you could get with
dnfon a regular Fedora install.Don’t sleep on Distrobox. I have a Debian box so I can run Signal from its official repo and install Geany with both GUI and CLI support. Once you export applications from distrobox they behave like first-class citizens within your desktop.
I strongly recommend trying Distrobox. If you instead hop distros, you’re going to find yourself in a similar situation eventually, where something is unreasonably difficult. That’s why Distrobox exists; so you can get the best of all worlds.
Agree on distrobox and I’d put it before homebrew
Just for further context, here’s the docs page advocating for approximately this order of priority for installing stuff. I found myself returning to this page a lot when getting to grips with Bazzite as my first immutable distro.
the distro is now facing problems installing certain programs for software development
What programs? What kind of errors?
I think there are issues related to the immutability of the distro
Unlikely. That only applies to the OS partition.
they told me they appreciate its friendlier KDE interface so I wish to avoid switching from this distro again if possible
Pretty much every distro will have KDE Plasma optional.
Thus I intend to ask here if it is possible to arrange something for easing development related tasks e.g. VM, distrobox etc. or whether it is easier to simply switch to some other compatible distro.
Hard to say without knowing what the problem is but switching distros rarely solves anything.
In terms of immutability, Bazzite by design makes it very difficult to install things that aren’t in the app store/flatpal/homebrew. It is an OS dedicated to gaming, and tries to make it as hard as possible to mess that up. I’ve ran into similar issues when I try to do some non-gaming things, or more advanced gaming things on it (like installing a fan patch). It’s not a good OS choice if you want to do more than game and surf the web.
Distrobox is there for other software and works for most cases. The only time I personally had trouble was with VPN software clients.
Actual Developer and 20+ year Linux expert.
Don’t use immutable distros for development work. Hands down.
If you’re expecting the normal workflow of being able to install any tool or library you want without jumping through hoops…that ain’t immutable distros.
If you’re new to Linux as well, you’re going to have a bad time.
Actual developer and 30+ years Linux expert.
Don’t use anything but immutable distros for development work. Hands down.
Just develop in containers and have one container per project. Doing anything else will lead to broken projects as you can not properly control dependencies per project otherwise.
It is not harder to work in a container than on the real system.
you can not properly control dependencies per project otherwise.
Says who? Use proto for your tooling (which lets you lock the version per project), and a lockfile for your app’s dependencies.
Devcontainers work fine without an immutable distro, too.
OP is a beginner with Linux, as they stated.
Also, don’t come into the comments to be a dick, okay? You’re disregarding what OP said, and just coming in here to interject your own nonsense because it makes sense to you. This thread isn’t about YOU. We need less of people like you in general in these threads, and more people who READ THE POST and respond accordingly.
The OP has no experience with either immutable nor mutable linux. So let him go with the rubust version already installed over recommending some package-based, old-school distro, just because you are more familiar with those.
OP will need to learn things either way, let him learn the future proof stuff, not the outdated ways.
Yeah, you have no idea what you’re talking about.
“Guy doesn’t know Linux, so don’t just confuse him with that info, also throw in containers, advanced container management, storage layer interaction and what that even means, sandbox permissions, intermediate networking, RBAC routing, and WTF immutable means and why NONE of the best documentation on the Internet that exists for everything Linux covers whatever immutable distro.”
So yeah…there’s a stark contrast between all of the above, and having them use the SIMPLEST and best supported and documented version of a distro. You keep going banging that square peg into the circle whole you suggested without reason.
I bet you’re just GREAT with teaching 🤣















