this post was submitted on 15 May 2024
6 points (100.0% liked)

Linux

47237 readers
3343 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

This isn't me asking for help or anything, I already replaced it with fedora kinoite. I just felt like talking about this ridiculous venture of mine.

So a couple weeks ago I started hyper focusing on cities skylines, but played on my Xbox. I learned that mods and all kinds of fun custom content was available on PC so I tried to play on my system. Problem, my laptop has an rtx 2070, but I was running fedora kinoite and couldn't figure out how in the world to install nvidia drivers.

So after a bunch of searching around I give up and decide to try installing a "gaming" focused distro in the form of endeavour os. It was awful.

Maybe I am weird but the x11 rendering didn't feel good at all, the lack of some default applications, as well as a bunch of apps I didn't know the purpose of. (This one is my own fault since they have a kde spin, but I remembered why I didn't like gnome) and finally today it froze in the middle of an update and hard rebooted, no longer able to launch.

Worst part, I didn't do a lick of gaming on the thing cause I moved on to Borderlands 3

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 0 points 4 months ago (1 children)

I previously used Nobara but recently switched to Bazzite. I think you can give either of these two a shot. I recall Nobara includes a one button install of nvidia drivers. Not too sure about Bazzite since I have an AMD gpu.

Both these distros are gaming focused. Only difference is Nobara is a traditional distro while Bazzite is atomic desktop based.

[–] [email protected] 0 points 4 months ago (2 children)

What is atomic desktop, roughly? Google doesn't give me a concise answer and I prefer not opening news blogs that give me an entire article on my limited mobile data plan.

[–] [email protected] 2 points 4 months ago* (last edited 4 months ago) (1 children)

The name "atomic" in the context of operating systems refers to an operation in which all steps are applied without interruption (for instance, atomic operations like locking a file cannot be stopped by system interrupts, and once started are ran to completion regardless of the scheduler). Atomic operating systems take that concept, and apply it to base operating system updates. All changes to the operating system are applied simultaneously without interruption. The methods that different operating systems use for this vary, but since we're talking about Fedora, I'll explain Fedora's image based atomic model using rpm-ostree.

Fedora Atomic is based on an image of the root filesystem that is perfectly consistent across all installs. When you update your system (with rpm-ostree), you fetch the entire root image from the repo instead of fetching individual packages. Updating works similarly to version control software like Git, where each version has a list of changes from the previous one, branches, and a variety of other similar features like rebasing. The operating system essentially runs similarly to a Git repository. rpm-ostree pulls the latest image from the image repository, and creates a new local branch on your system with all the changes in it. The root filesystem covered by the image is immutable (which means it is read-only and cannot be changed), to ensure that the root image is always perfectly consistent with the image from the repo (everything is perfectly reproducible). In order to switch to the new branch, you must reboot into it. This ensures that nothing changes while updating, and since the whole root filesystem is immutable, it's best for stability to load into the new branch through a reboot (to ensure all behavior is consistent). Technically, you can apply changes live, but it is not recommended to do that and requires you to use an additional flag with the rpm-ostree command. This ensures that, in practice, your system is never in a state "between" updates. Once an update starts, it will finish to completion (or it will fail and the update won't be applied), making updating an atomic operation (an update runs to completion, or it essentially doesn't run at all; nothing in between). This is a great safeguard against crashes or power losses during updates.

The benefit of atomic distros is that all installations have a perfectly consistent root filesystem, so the system can be tested by the developers in the exact configuration in which it will be deployed to the end user. Any packages you want to install on top of the root filesystem can be installed in a few ways. Most GUI apps should be installed as Flatpaks where possible (installed to the home folder, which is read-write, so you can do it without rebooting), terminal apps can be installed in a toolbox (a default containerization system installed in Fedora that allows you to emulate a read-write root filesystem by mounting extra folders inside the container), or you can overlay the packages on top of the root filesystem through rpm-ostree. Toolbox has dnf installed in it, so you can install packages inside a container as you would install them in non-atomic Fedora. Package overlays download the packages from the Fedora repos, and mount them read only on top of the root filesystem (hence the "overlay", as the packages are independently mounted over top the root filesystem). Overlays have the highest chance to change the behavior of your system, so they are generally recommended as the last option, since they decrease the benefit of consistent install behaviors, meaning that your extra packages aren't tested as thoroughly as the root filesystem. In practice, overlays don't generally cause any more "instability" than installing a package on a non-atomic distro, but again, it slightly diminishes one of the main benefits of atomic distros.

Essentially, all updates are applied at reboot, which means that you can just have updates running in the background and keep doing whatever you want, and as soon as you reboot, changes are instantly applied (no "installing" to wait for). Your operating system will keep some amount of previous branches (usually the current branch and 2 or 3 most recent branches) so you can boot into a previous branch from GRUB if an update breaks anything without having to restore from a backup. You can then ~~rebase~~ rollback to the previous branch (make the image of the branch you selected your current root image) once you can be sure that everything works properly. You can also rebase into another image entirely at any time (from Fedora Atomic GNOME to Fedora Atomic KDE, or into Bazzite or Aurora for example). The root image will change, but all of your overlays and persistent data will stay. EDIT: Note that rebasing into an image with a different DE might cause config issues, as /etc is mutable, and would be essentially the same as installing a new DE on a non-atomic distro. Some recommend against doing it, whereas some have success at it. YMMV. Here is a blog post detailing some issues a user had when rebasing from Silverblue to Kinoite as an example.

Atomic operating systems are emerging as a great option for desktops, as they increase stability, reliability, and recoverability greatly over the traditional model.

[–] [email protected] 2 points 4 months ago

Wow, what a very detailed response. I've only been using Bazzite for about two weeks and still learning about it. Now I have a slightly better understanding of how it all works. 👍

[–] [email protected] 0 points 4 months ago (1 children)

Atomic means the core OS packages are in an immutable container such that none of its individual components can be updated separately; instead the entire container is replaced with a newer version when the system is updated. This makes it much less likely for something to break during normal use, and easier to rollback updates if something does happen to break. The ideal use case is a containerized environment where each app you use is installed in its own container, like Docker, or is otherwise self-contained such as flatpak installers, and doesn't rely on any of the system's packages.

[–] [email protected] 1 points 4 months ago

Thanks for the explanation! I think I'll give that a try. I've got a spare disk, might slap some Bazzite on there, see if it works for me.