Preparing for Fedora Workstation 30

I just installed the Fedora Workstation 30 Beta yesterday and so far things are looking great. As many others have reported to, with the GNOME 3.32 update things definitely feels faster and smoother. So I thought it was a good time to talk about what is coming in Fedora Workstation 30 and what we are currently working on.

Fractional Scaling: One of the big features that landed, although still considered experimental was the fractional scaling feature that has been a collaboration between Jonas Ådahl here at Red hat and Marco Trevisan at Canonical. It has taken quite some time since the initial hackfest as it is a complex task, but we are getting close. Fractional scaling is a critical feature for many HiDPI screen laptops to get a desktop size that perfectly fits their screen, not being to small or to large.

Screen sharing support for Chrome and Firefox under Wayland. The Wayland security model doesn’t allow any application to freely grab images or streams of the whole desktop like you could under X. This is of course a huge improvement in security, but it did cause some disruption for valid usecases like screen sharing with things like BlueJeans and Google Hangouts. We been working on resolving that with the help of PipeWire. We been at it for some time and things are now coming together. Chrome 73 ships with everything needed to make this work with Chrome, although you have to turn it on manually (got to this URL to turn it on: chrome://flags/#enable-webrtc-pipewire-capturer). The reason it needs to be manually enabled is not that it is unreliable, it is because the UI is still a little fugly due to a combination of feature overlap between the browser and the desktop and also how the security feature of the desktop is done. We are trying to come up with ways for the UI to be smoother without sacrificing your privacy/security. For Firefox we will keep shipping with our downstream patch until we manage to get it landed upstream.

Firefox for Wayland: Martin Stransky has been hard at work making Firefox be able to run Wayland-native. That work is tantalizingly near, but we decided to postpone it for Fedora Workstation 31 in the end to make sure it is really well polished before releasing it upon the world. The advantage of Wayland native Firefox is that in addition to bring us one step closer to not needing to run an X server (XWayland) all the time it also enables things like fractional scaling mentioned above to work for Firefox.

OpenH264 improved: As many of you know Firefox relies on a library called OpenH264, provided by Cisco, for its H264 video codec support for WebRTC. This library is also provided to Fedora users from Cisco free of charge (you can install it through GNOME Software). However its usefulness have been somewhat limited due to only supporting the baseline profile used for video calling, but not the Main and High profiles used by most online video content. Well what I can tell you is that Red Hat, Endless and Cisco partnered with Centricular some time ago to add support for decoding those profiles to OpenH264 and that work is now almost complete. The basic code enabling them is already merged, but Jan Schmidt at Centricular is working on fixing a few files that are still giving us problems. As soon as that is generally shipping we hope to get Firefox to be able to use OpenH264 also for things like Youtube playback and of course also use OpenH264 to playback any H264 using GStreamer applications like Totem. So a big thank you to Endless, Cisco and Centricular for working with us on this and thus enabling us to have a legal way to offer H264 support to our users.

NVidia binary driver support under Wayland: We been putting it quite a bit of effort trying to tie off the lose ends for using the NVidia binary driver with Wayland. We did manage to fix a long list of bugs like dealing with various colorspace issues, multimonitor setups and so on. For Intel and AMD graphics users things should actually be pretty good to go at this point. The last major item holding us back on the NVidia side is full support for using the binary driver with XWayland applications (native Wayland applications should work fine already). Adam Jackson worked diligently to get all the pieces in place and we do think we have a model now that will allow NVidia to provide an updated driver that should enable XWayland. As it stands though that driver update is likely to only come out towards the fall, so we will keep defaulting to X for NVidia binary driver users for some time more.

Gaming under Wayland. Olivier Fourdan and Jonas Ådahl has trying to crush any major Wayland bug reported for quite some time now and one area where we seem to have rounded the corner is for games. Valve has been kind enough to give us the ability to install and run any steam game for testing purposes, so whenever we found a game giving us trouble we have been able to let Olivier and Jonas reproduce it easily. So on my own gaming box I am now able to run all the Steam games I have under Wayland, including those using Proton, without a hitch. We haven’t tested with the full Steam catalog of course, there are thousands, so if your favourite game is giving you trouble under Wayland still, please let us know. Talking about gaming one area we will try to free up some cycles going forward to look deeper at is Flatpaks and gaming. We already done quite a bit of work in this area, with things like the NVidia binary driver extension and the Steam package on Flathub. But we know from leading linux game devs that there are still some challenges to be resolved, like making host device access for gamepads simpler from within the Flatpak sandbox.

Flatpak Creation in Fedora. Owen Taylor has been in charge of getting Flatpaks building in Fedora, ensuring we can produce Flatpaks from Fedora packages. Owen set up a system to track the Fedora Flatpak status, we got about 10 applications so far, but hope to greatly grow that number of time as we polish up the system. This enables us to start planning for shipping some applications in Fedora Workstation as Flatpaks by default in a future release. This respository will be available by default in Fedora workstation 30 and you can choose the flatpak version of the package through the new drop down box in the top right corner of GNOME Software. For now the RPM version of the package is still the default, but we expect to change that in later releases of Fedora Workstation.

Gedit in GNOME Software with Source drop down box

Gedit in GNOME Software with Source drop down box

Fedora Toolbox – Debarshi Ray is leading the effort we call Fedora Toolbox, which is our starting point for our goal to revitalise and revolutionize development on Linux. Fedora Toolbox is trying to take the model of a pet container for development and make it seamless and natural. Our goal is to make it dead simple to create pet containers for your projects, so you can for instance have a Fedora pet container where you develop against the leading edge libraries and tools in Fedora, and you can have a RHEL based container where you develop against the library versions and tools shipping in RHEL (makes updating and fixing in production applications a lot easier) and maybe a SteamOS container to work on your little game project. Currently the model is that you have one pet container per OS your targeting, but we are pondering if maybe having one pet container per project would be even better if we can find good ways to avoid it being a lot of extra overhead (by for example having to re-install all your favourite command line tools in the container) or just outright confusing (which container got what tools and libraries again). Our goal here though is to ensure Fedora becomes the premier container native OS out there and thus a natural home for developers doing container development.
We are also working with the team inside Red Hat focusing on AI/ML and trying to ensure that we have a super smooth way for you to get a pet container with things like TensorFlow and CUDA up and running quickly.

Being an excellent platform for Openshift and Kubernetes development: We are putting effort into together with the Red Hat developer tools organization to bringing the OpenShift and CodeReady Studio and CodeReady Workspaces tools to Fedora. These tools have so far been very focused on RHEL support, but thanks to Flatpak for CodeReady Studio and web integration for CodeReady Workspaces we now have a path for making them easily available in Fedora too. In the world of Kubernetes OpenShift is where you want to be, and we want Fedora Workstation to be the ultimate portal for OpenShift development.

Fleet Commander with Active Directory support – So we are about to hit a very major milestone with Fleet Commander our large scale desktop management tool for Fedora and RHEL. Oliver Gutierrez has been hard at work making it work with Active Directory in addition to the existing FreeIPA support. We know that a majority of people interested in Fleet Commander are only using Active Directory currently, so being able to use Active Directory with Fleet Commander should make this great tool available to a huge number of new users. So if you are managing a University computer lab or a large number of Fedora or RHEL clients in your company we should soon have a Fleet Commander release out that you can use. And if you are not using Fedora or RHEL today well Fleet Commander is a very big reason for switching over!
We will do a proper announcement with further details once the release with Active Directory support is out.

PipeWire – I don’t have a major development to report, just a lot of steady work being done to stabilize and improve PipeWire. As mentioned earlier we now have Wayland screen sharing and recording working smoothly in the major browsers which is the user facing feature I think most of you will notice. Wim is still working on pushing the audio side it forward, but that is also a huge task. We have started talking about organizing a new hackfest soon to see if we can accelerate the effort further again. Likely scenario at this point in time is that we start enabling the JACK side of PipeWire first, maybe as early as Fedora Workstation 31, and then come back and do the PulseAudio replacement as a last stage.

Improved Input handling Another area we keep focusing on is improving input in Fedora. Peter Hutterer and Benjamin Tissoires are working hard on improving the stack. Peter just sent an extensive RFC out for how to deal with high resolution mice under Linux and Benjamin has been trying to get support for the Dell Totem landed. Neither will be there unfortunately for Fedora Workstation 30,but we expect to land this before Fedora Workstation 31.

Flicker-free boot
Hans de Goede has continued working on his effort to create a flicker-free boot experience with Fedora. The results of this work is on display in Fedora Workstation 30 and will for most of you now provide a seamless bootup experience . This effort is not so much about functionality as it is about ensuring you have an end-to-end polished experience with your Linux desktop. Things like the constant mode changes we seen in the past contribute to giving Linux an image of being unpolished and we want Fedora to be the vehicle that breaks down that image.

Ramping up Silverblue

For those of you following Fedora you are probably aware of Silverblue, which is our effort to re-think the Linux desktop distribution from the ground up and help us take the Linux desktop to a new level. The distribution model hasn’t really changed much over the last 20 years and we probably polished up the offering as far as we can within the scope of that model. For instance I upgraded my system to Fedora 30 beta yesterday and it was a long and tedious process of looking at about 6000 individual packages get updated from the Fedora 29 version to the Fedora 30 version one by one. I didn’t hit a lot of major snags despite this being a beta, but it is screamingly obvious that updating your operating system in this way is both slow and inherently fragile as anyone of those 6000 packages might hit a problem during upgrade and leave the system in a unknown state, especially since its common for packages to run scripts and similar as part of their upgrade.

Silverblue provides a revolutionary replacement for that process. First of all since it ships as a unified image we make life a lot easier for our QE team who can then test and verify against a single image which is in a known state. This in turn ensures that you as a user can feel confident that the new OS version will not break something on your system. And since the new version is just an image stored on your system next to the old one, upgrading is just about rebooting your system. There is no waiting for individual packages to get upgraded, as everything is already there and ready. Compare it to booting into a different kernel version on Fedora, it is quick and trivial.
And this also means that in the unlikely case that there is a problem with the new OS version you can just as easily go back to the previous version, by rebooting again and choosing to boot into that version. So you basically have instant upgrades with instant rollback if needed.
We believe this will radically change the way you look at OS upgrades forever, in fact you might almost forget they are happening.

And since Silverblue will basically be a Flatpak (and other containers) only OS you will have a clean delimitation between OS and applications. This means that even if we do major updates to the host, your applications should remain unaffected by the host OS update.
In fact we have some very interesting developments underway for Flatpak, with some major new efforts underway, efforts that I would love to talk about, but they are tied to some major Red Hat announcements that will happen at this years Red Hat Summit which will happen on May 7th – May 9th, so I will leave it as a teaser and then let you all know once the Summit is underway and Red Hats related major announcements are done.

There is a lot of work happening around Silverblue and as it happens Matthias Clasen wrote a long blog entry about it today. That blog goes into a lot more details on some of the Silverblue work items we been doing.

Anyway, I feel really excited about Silverblue and as we continue to refine the experience and figure out how everything will look in this brave new world I am sure everyone else will get excited too. Silverblue represents the single biggest evolution of the Linux desktop since the original GNOME and KDE releases back in the late nineties. It is not just about trying to tweak the existing experience, but an attempt at taking a big leap forward and provide an operating system that embodies all that we learned over these last 20 years and provide a natural home for developers and creators of all kind in our container centric computing future. Be sure to grab the Silverblue image of Fedora 30 beta and give it a test run. I recommend activating flathub.org repo to get started in order to get a decent range of applications available. As we move forward we are working hard to ensure that you have the world of applications available out of the box, so no need to go an enable any 3rd party repositories, but there are some more work that needs to happen before we can do that.

Summary
So Fedora Workstation 30 is going to be another exiting release of both of traditional RPM based Workstation version and of Silverblue, and I hope they will encourage even more people to join our rapidly growing Fedora community. Be sure to join us in #fedora-workstation on freenode IRC to talk!

19 comments ↓

#1 Sam on 04.03.19 at 20:02

Thanks for the blog post! it’s always nice to read a long list of changes for the better that will be waiting for me when I next upgrade my OS :-)

#2 Eric Mesa on 04.03.19 at 20:09

Wow, that’s pretty awesome. Probably the most exciting Fedora release in a while. I’ll admit being slightly scared of Silverblue only because it’s so different to the way I’ve been Linuxing for the past 16 years, but once everything is ironed out, sounds like it’s going to really improve things a LOT!

#3 Jake on 04.03.19 at 21:26

Amazing effort. I know that it’ll probably take another couple years for everything to be stable and usable especially since there are still a lot of important applications that are stuck on X (all major browsers, Steam, Pidgin, everything Electron based like Skype and Slack and everything Java based like Intellij)

Once everything is working well though I’d even be willing to switch from Arch Linux to Fedora given that upgrading, up to date packages and too few packages (solved by flathub) are my main gripes with the distro ATM.

#4 Scott Dowdle on 04.03.19 at 23:09

You mention flathub.org and then, “no need to go an enable any 3rd party repositories”. Isn’t flathub.org a third-party (flatpak) repository? Or is it sponsored by Red Hat? In addition to all of the FLOSS packages on flathub.org, there are a number of closed and proprietary packages.

#5 uraeus on 04.04.19 at 13:28

Sorry was a little unclear ther.e What I meant is that currently you have to go to flathub.org in your browser and enable the repo. In Fedora Workstation 31 we should have most things you need pre-enabled, either due to having most apps packaged in Fedora or Quay.io or because we have them set up to pull from Flathub in some fashion using our 3rd party software enablement option. So what I said no need to enable 3rd party repos, I mean there should be no need to do something separate through the browser.

#6 Ryan Gonzalez on 04.04.19 at 07:16

> Chrome 73 ships with everything needed to make this work with Chrome, although you have to turn it on manually.

Could you go into a bit more detail about this? It seems pretty exciting but I can’t seem to find any other info on it…

#7 uraeus on 04.04.19 at 13:23

Yeah, I was going to add the details,but forgot to get back to it. Will edit the article, but the place to turn it on is by opening this page in Chrome: chrome://flags/#enable-webrtc-pipewire-capturer

#8 Luke on 04.04.19 at 13:31

Will we loose integrity and security of a regular repositories when switching to Flatpaks? Will we get an official and curated flatpak registry or we’ll end up with a shovelware “store” that holds 150 versions of vlc-forks-with-different-icons video player?

#9 uraeus on 04.04.19 at 16:28

The plan is to have a curated store just like today. The main source for apps will be the Fedora container registry. There will be further content hosted in Quay.io and beyond that we expect to pull in specific packages from elsewhere, similar to what we do with Chrome and NVidia driver today.

#10 Jean-Baptiste // jibecfed on 04.04.19 at 15:23

Hi, really interesting, do I have your approval for translating this article into French and publish it?

#11 uraeus on 04.04.19 at 16:26

Sure, go ahead! Same goes to anyone else wanting to translate and publishing that translation somewhere.

#12 Frank on 04.04.19 at 15:53

I use the Silverblue variant beta and it’s great! Thank you very much. But there still are quite some Plymouth issues (already filed), would be cool if somebody would finalize that polishing process.

Will Fedora IoT be officialized with v30? Sadly not mentioned anywhere… would be rad!

#13 kroos on 04.04.19 at 19:52

That’s a cool stuff i found on this blog. cheers keep going

#14 Botond Erdős on 04.05.19 at 07:03

Hey this is very exciting news. I’ve been waiting for using appear.in under wayland quite some time. I know this is about Fedora, but I’m using arch atm and though I can switch the flag, it won’t start screen sharing. Is this some difference between Fedora and arch? Could you maybe point some info on what needs to be done to use these exciting improvements in other distros as well? Thanks

#15 Stu on 04.05.19 at 08:55

Have you tested fractional scaling by trying something like a mac with a > HiDPI screen and a 1920×1080 screen on the desktop?

This was my test case pre-fractional scaling and things were just really odd – windows that were double sized on one screen and the right size on the other.

Just looked weird dragging a window from laptop to screen and one half becoming enormous.

#16 Johannes on 04.05.19 at 13:25

> if your favourite game is giving you trouble under Wayland still, please let us know

Maybe you can work on this fdo bug for Europa Universalis IV, Hearts of Iron IV, and Stellaris which won’t start on XWayland: https://bugs.freedesktop.org/show_bug.cgi?id=98272

As far as I can tell a Mesa core developer already diagnosed the problem does not know enough about XWayland to fix it.

#17 Martin on 04.05.19 at 15:18

Will Fedora 30 include any form of remote desktop access? Use cases include: remote help and presentation screen sharing, remote access to your own desktop, doing these activities through a reflector server where one or both sides are NATed.

#18 vmeson on 04.06.19 at 00:43

That’s an interesting post and it will be interesting to see what comes of this modular Linux OS development effort.

Note that there are a rash of typos and grammatical errors near the end of the blog:
“…for developers and creators of all s/kind/kinds/ in our container centric computing future.
… so no need to go s/an/and/ enable any 3rd party repositories, but there s/are/is/ some more work that needs to happen before we can do that.

So Fedora Workstation 30 is going to be another s/exiting/exciting/ release

There, I feel better! :)

#19 Adil on 04.06.19 at 04:02

With Fleet Commander (and rest of Fedora) becoming really polished, I really hope Red Hat pushes RHED heavily in the enterprise desktop space. There is a huge opportunity for growth in this area as Linux in general is easier to maintain, more stable, dominates the popular developer tooling (containers, nodejs, Java) and with the growing cloud delivered software popularity it gives Linux the best shot at the enterprise desktop in decades. I feel a partnership with companies like Adobe and a push like Red Hat did with Openshift would be enough to starting taking sizable marketshare.