Silverblue's state of the art for daily use/production

I open this thread ad portas of the release of fedora 34 in order to know the progress status and if it is ready for daily use without the need to solve so many problems (I know that this is contradictory for the general gnu/linux distros).

I would like to know the opinion of other users. I am going to purchase a new laptop (Thinkpad E14 2nd gen ryzen 5 4500U) and I would like to use Silverblue from day 1.

Related to the above, is there a roadmap or objectives to be solved to determine when Silverblue could be considered an equivalent to replace the classic Workstation variant?

1 Like

As long as it is listed under ā€œEmergingā€ on https://getfedora.org/, I would expect that it is still undergoing heavy development and that significant (possibly bug-inducing) revisions are still possible (even likely). That justā€™s my ā€œreadingā€ of the situation as an end user though. I donā€™t have any insider knowledge.

It depends on which are the ā€œmany problemsā€ you are talking about. I suggest you list them explicitely.

My first experience with Silverblue maybe 2 years ago was not great, mainly because toolbox was still in its infancy and I could not get used to the container workflow. Also I did not like the limitations of flatpak IDE editors.

After a traumatic upgrade from F33 to F34 alpha (workstation) some weeks ago, I decided to give Silverblue a try again. I really like the rollback feature. Iā€™m trying to study the container workflow.

I cannot give an opinion yet, but I have the feeling that things have improved.

1 Like

Here is a list of a few things that need work IMO.

  • Easy rebase with layered packages/overrides
  • Improve Flatpak app restrictions/limitations
  • Fix some GUI app issues running from toolbox
  • More apps packaged as flatpaks

None of these are show stoppers and there are work arounds for some of them. Right now I think Fedora Silverblue is in a very usable state for my needs. I like that it is a minimal install to start out with and there are more Flatpaks becoming available all the time. Give it another year and I think most of the popular apps will be a Flatpak.

Because Silverblue is built from the Fedora packages if you stick to the released branches of Silverblue, it generally is very stable. And lots of us are using it day-to-day to get our work done.

But there are some real caveats: the first and most important one is that you canā€™t expect random search results about Fedora to be directly applicable without adaptation. So that makes it challenging for a newcomer to Fedora. You arenā€™t just dealing with a new operating system, you have to apply an extra layer of thinking to any information you find.

A second caveat is that the more you layer things on top of the base, and especially if you start overriding packages, the more there are potential failure modes when updating your operating system image. There have been some changes recently to improve things, but you can still get into states where manual intervention is needed. And when you are in such a state, GNOME Software is not useful - you need to drop to the command line.

If we look at broad areas of use:

Desktop end user tasks Can be accomplished by installing Flatpaks (often from Flathub.) Some amount of layering may be needed if you are using less common types of peripherals.

Developer tasks Work well inside Toolbox. IDEā€™s in Flatpaks do not work with the exception of GNOME Builder and Visual Studio Code - installing in your home directory is workable for some other IDEs.

Containers Silverblue is very solid platform for doing things with containers, with the exception that podman doesnā€™t work inside Toolbox without adding a wrapper script.

Server tasks In general, if you want to use your workstation as a place to experiment with non-containerized servers, Silverblue is a bad choice. For one or two servers you can layer them on top of the base with ā€˜rpm-ostree installā€™, but if you do too much of this, see above about rpm-ostree failure modes.

What needs to improve to make Silverblue better? Thereā€™s so that could be said, but a few top areas on our mind:

GNOME Software Performance and Reliability GNOME Software is the interface between the user and operating system and application updates. If it doesnā€™t feel absolutely solid and slick for Silverblue, then the user experience with what makes Silverblue different from classic Fedora will be poor. So far, it doesnā€™t feel solid and slick but weā€™re working on it!

Integration of Toolbox with the terminal We expect people who are using a terminal ln Silverblue to be doing most of their work in Toolbox, but we donā€™t make it easy, or clear whatā€™s going on, especially when using multiple toolboxes.

Out of the box software availability We need to make sure that the software people need is easy to install. For Fedora 35, we will have a filtered subset of Flathub available by default (Issue #108: Add selected Flathub apps to the third-party repos - fedora-workstation - Pagure.io).

Documentation Fedora Silverblue User Guide :: Fedora Docs is very basic, and doesnā€™t really solve the question about ā€œhow to do X on Silverblueā€.

We often think about work in terms of items that benefit both Silverblue and Fedora Workstation - we believe that installing applications as Flatpaks and doing development in a Toolbox container decoupled from the host system are very useful, whether your base image is managed by rpm-ostree or as loose RPMs.

High level answer: if you are already an intermediate user, Silverblue is absolutely ready for day-to-day use. Thereā€™s a learning curve that makes it unsuitable for beginners, but once you get the hang of it, it wonā€™t get in your way. ā€œproduction useā€ would, to me, mean putting it into the hands of people who donā€™t care about how operating systems work. Itā€™s definitely not ready for that.

3 Likes

I would say Netbeans works for Java development anyway, you need to adjust itā€™s permissions though.

Yes, very easy to do something with a container OOTB.

Embarrassed shrug. Too trueā€¦

Definitely is true that it could be too much for someone new to the OS, since it is a bit of a paradigm shift of the style of workflow. On the upside, my visually impaired Brother in Law uses it daily with no real issues.

I have used it for quite some time with very few issues, and nothing really critical for most of that, but I have a pretty vanilla setup in comparison to some other users Iā€™m sure. I would say it ā€œfeels likeā€ Fedora Workstation in day to day use for the most part, with the exception of how you do certain things.

1 Like

I certainly was exagerating - if you are working ā€œpure nativeā€ in a language and downloading dependencies via maven, npm, pip or whatever, then Netbeans, PyCharm, Eclipse, and so forth should work.

But I donā€™t like recommending this, because what I think of as the pitch of Silverblue and Workstation to developers is roughly: ā€œyou can choose between using the rich package ecosystem of Fedora or using a dedicated Toolbox that closely matches your deployment environmentā€. And neither of those apply when your development environment is within the Flatpak sandbox. Unless you are developing an application to be deployed as a Flatpak.

There are also confusing things like installing zsh from Fedora, but not having it available when you open a terminal from the IDE.

I really appreciate the effort people that have put into there, and I should be embarrassed that wasnā€™t even subscribed to the github repository. We should make it even better.

But I think there are limitations to the ā€œmanualā€ style of documentation when it comes to trying to cover something as enormous as all the possible ways you can use an operating system. Encouraging people to write up their experiences using Silverblue to achieve things in blog/article form, and highlighting such writeups might be effective.

1 Like

I agree that in documentation that there often needs to be multiple manuals, and when I was working on the SB docā€™s the intention was to have an advanced one to cover details about doing some of the more challenging tasks. I probably still have my draft for that doc.
I think the discussion area is full by now with some very good knowledge that could be collected into a suitable howto document perhaps.
Yeah, I mention NB specifically because I do develop in Java, but as a matter of workflow, I use Quarkus to create the project then Netbeans for editing etc. Then I run the Quarkus project in dev mode in a container making changes to the project with NB which Quarkus implements live, itā€™s a nice way to play.

1 Like

I really appreciate your responses. I see that although it is ā€œusableā€, it is still at an active development level incompatible with my need for productivity/stability.

I usually work with proprietary gnu/linux software related to data science, social science and statistics, so I will try to balance a workflow using classic fedora workstation + Flatpaks.

Do you know which permissions? I wanted to use the flatpak but I had to revert back to the in $home directory release but I didnā€™t remember why :sweat_smile:

I am using F34 Silverblue as the only OS on my only laptop for everything (teaching classes at the university about databases and programming - Postgres in a container, Tomcat and Apache in containers, SQL programming in DBeaver, Java programming in Eclipse, Python/Jython programming in Geany, a bit of PHP now and then, ā€¦ ), Libreoffice for daily management work, occasional photo processing in Rawtherapee and GIMP, 3D modelling in Freecad, Wings3D and Blender, ā€¦, from time to time some processing in Audacity).

The only layered packages I have added are: android-tools (for adb and fastboot, but rarely need this) gcc make v4l-utils (to compile the v4l2loopback module - it can be done in a toolbox, but less issues this way) and gnome-tweaks and mozilla-openh264 for obvious reasons. Everything else is either flatpak or apps that run as appimage / portable / or static builds.

I experiment a lot with rebasing to other variants and versions, install and uninstall many things so it is nice to be able to pin several things that do work OK, and you can just reboot to any such configuration 5 minutes before a lecture and have trust in your system that it will just work. Nice work.

My disk broke during the several months I am on Silverblue and had to learn how to make a recovery from a broker SSD with btrfs. Also I had an experience with accidentally shift-deleting in the wrong windows and deleting precious only copy of the sources of a web application that I currently worked on, but was able to restore all the source files in bits and pieces in slightly different versions of modification from btrfs. Itā€™s all rather rudimentary, so I recommend not forgetting to have regular backups and snapshots for your important things for the period in-between backups. Then it will be just fine.

4 Likes

I use it in a virtual mschine and on my private laptop. Works quite well!

I think it could help if there were recipes available for e.g. running intellij on silverblue or a mariadb server, etc. So not everybody has to find it out for herself/himself.

I also saw a post on Silverblue setup with Ansible. That is also interesting to apply different Ansible playbooks to adjust the system or configuration. Such a playbook could be used by somebody to setup the system for java development, or data analytics or something else.

1 Like