So I have over the last few years blogged regularly about upcoming features in Fedora Workstation. Well I thought as we putting the finishing touches on Fedora Workstation 27 I should try to look back at everything we have achieved since Fedora Workstation was launched with Fedora 21. The efforts I highlight here are efforts where we have done significant or most development. There are of course a lot of other big changes that has happened over the last few years by the wider community that we leveraged and offer in Fedora Workstation, examples here include things like Meson and Rust. This post is not about those, but that said I do want to write a post just talking about the achievements of the wider community at some point, because they are very important and crucial too. And along the same line this post will not be speaking about the large number of improvements and bugfixes that we contributed to a long list of projects, like to GNOME itself. This blog is about taking stock and taking some pride in what we achieved so far and major hurdles we past on our way to improving the Linux desktop experience.
This blog is also slightly different from my normal format as I will not call out individual developers by name as I usually do, instead I will focus on this being a totality and thus just say ‘we’.
- Wayland – We been the biggest contributor since we joined the effort and have taken the lead on putting in place all the pieces needed for actually using it on a desktop, including starting to ship it as our primary offering in Fedora Workstation 25. This includes putting a lot of effort into ensuring that XWayland works smoothly to ensure full legacy application support.
- Libinput – A new library we created for handling all input under both X and Wayland. This came about due to needing input handling that was not tied to X due to Wayland, but it has even improved input handling for X itself. Libinput is being rapidly developed and improved, with 1.9 coming out just a few days ago.
- glvnd – Dealing with multiple OpenGL implementations have been a pain under Linux for years. We worked with NVidia on this effort to ensure that you can install multiple OpenGL implementations on the system and have your system be able to use the correct one depending on which GPU and driver you are using. We keep expanding on this solution to cover more usecases, so for Fedora Workstation 27 we expect to bring glvnd support to XWayland for instance.
- Porting Firefox to GTK3 – We ported Firefox to GTK3, including making sure it works under Wayland. This work also provided the foundation for HiDPI support in Firefox. We are the single biggest contributor to Firefox Linux support.
- Porting LibreOffice to GTK3 – We ported LibreOffice to GTK3, which included Wayland support, touch support and HiDPI support. Our team is one of the major contributors to LibreOffice and help the project forward on a lot of fronts.
- Google Drive integration – We extended the general Google integration in GNOME 3 to include support for Google Drive as we found that a lot of our users where relying on Google Apps at their work.
- Flatpak – We created Flatpak to lead the way in moving desktop applications into their own namespaces and containers, resolving a lot of long term challenges for desktop applications on Linux. We expect to have new infrastructure in place in Fedora soon to allow Fedora packagers to quickly and easily turn their applications into Flatpaks.
- Linux Firmware Service – We created the Linux Firmware service to provide a way for Linux users to get easy access to UEFI firmware on their linux system and worked with great vendors such as Dell and Logitech to get them to support it for their devices. Many bugs experienced by Linux users over the years could have been resolved by firmware updates, but with tooling being spotty many Linux users where not even aware that there was fixes available.
- GNOME Software – We created GNOME Software to give us a proper Software Store on Fedora and extended it over time to include features such as fonts, GStreamer plugins, GNOME Shell extensions and UEFI firmware updates. Today it is the main Store type application used not just by us, but our work has been adopted by other major distributions too.
- mp3, ac3 and aac support – We have spent a lot of time to be able to bring support for some of the major audio codecs to Fedora like MP3, AC3 and AAC. In the age of streaming supporting codecs is maybe of less importance than it used to be, but there is still a lot of media on peoples computers they need and want access to.
- Fedora Media Creator – Cross platform media creator making it very easy to create Fedora Workstation install media regardless of if you are on Windows, Mac or Linux. As we move away from optical media offering ISO downloads started feeling more and more outdated, with the media creator we have given a uniform user experience to quickly create your USB install media, especially important for new users coming in from Windows and Mac environments.
- Captive portal – We added support for captive portals in Network Manager and GNOME 3, ensuring easy access to the internet over public wifi networks. This feature has been with us for a few years now, but it is still a much appreciated addition.
- HiDPI support – We worked to add support for HiDPI across X, Wayland, GTK3 and GNOME3. We lead the way on HiDPI support under Linux and keep working on various applications to this date to polish up the support.
- Touch support – We worked to add support for touchscreens across X, Wayland, GTK3 and GNOME3. We spent significant resources enabling this, both on laptop touchscreens, but also to support modern wacom devices.
- QGNOME Platform – We created the QGNOME Platform to ensure that Qt applications work well under GNOME3 and gives a nice native and integrated feel. So while we ship GNOME as our desktop offering we want Qt applications to work well and feel native. This is an ongoing effort, but for many important applications it already is a great improvement.
- Nautilus improvements. Nautilus had been undermaintained for quite a while so we had Carlos Soriano spend significant time on reworking major parts of it and adding new features like renaming multiple files at ones, updating the views and in general bring it up to date.
- Night light support in GNOME – We added support for automatic adjusting the color and light settings on your system based on light sensors found in modern laptops. This integrated functionality that you before had to install extra software like Red Shift to enable.
- libratbag – We created a library that enable easy configuration of high end mice and other kind of input devices. This has led to increased collaboration with a lot of gaming mice manufacturers to ensure full support for their devices under Linux.
- RADV – We created a full open source Vulkan implementation for ADM GPUs which recently got certified as Vulkan compliant. We wanted to give open source Vulkan a boost, so we created the RADV project, which now has an active community around it and is being tested with major games.
- GNOME Shell performance improvements – We been working on various performance improvements to GNOME Shell over the last few years, with significant improvements having happened. We want to push the envelope on this further though and are planning a major performance hackfest around Shell performance and resource usage early next year.
- GNOME terminal developer improvements – We worked to improve the features of GNOME Terminal to make it an even better tool for developers with items such as easier naming of terminals and notifications for long running jobs.
- GNOME Builder – Improving the developer story is crucial for us and we been doing a lot of work to make GNOME Builder a great tool for developer to use to both improve the desktop itself, but also development in general.
- Pipewire – We created a new media server to unify audio, pro-audio and video. First version which we are shipping in Fedora 27 to handle our video capture.
- Fleet Commander – We launched Fleet Commander our new tool for managing large Linux desktop deployments. This answer a long standing call from many of Red Hats major desktop customers and many admins of large scale linux deployments at Universities and similar for a powerful yet easy to use administration tool for large desktop deployments.
I am sure I missed something, but this is at least a decent list of Fedora Workstation highlights for the last few years. Next onto working on my Fedora Workstation 27 blogpost :)
The development of Wayland is still the most important part I was following. I hope the legacy application immigration progress would be expedited. Never to see X-windows again.
As far as I could see, Firefox on Wayland would still blink on startup nowadays. Addtionally, removing Firefox titlebar should be expedited as well due to it takes up too much vertical space.
It looks like Flatpak pushing progress is not as expected. Though originally scheduled to bring out more graphic applications at version 27, it was delayed to version 28. The progress should be expedited.
The second part I was following is the performance of Gnome shell, especially for the animation effects when poping up applications, which is terriblely fragile, not to metion RAM and I/O consumption.
Pipewire needs to be expedited as well. Cannot wait to see the day for unified audio and video.
Bus1?Dbus-broken? Looks like there is such a project for higher performance bus. I would keep expecting on this as well.
Firefox Client Side Decorations may be enabled in about:config since Firefox 57 beta. Because htitle legacy extension won’t work, you may consider this alternative.
Speaking as someone who has used Linux for over 15 years, and actually contributed at the start of Fedora, this has been fantastic to watch: I am more positive and enthusiastic about Linux on the desktop (and Fedora) than I have been in a decade.
The whole is greater than the sum of the parts: I installed Fedora Workstation 25 and it hit me that not only was F25 another good Fedora release, it is a good desktop, period. It looks great, feels quite responsive, the key desktop functions are present and easy to use, and the overall experience is better than Windows 10.
There are a few missing bits (like a really simple backup tool), and areas that are still in progress (Flatpak), but the whole system is becoming not just usable, but effortless. Macs aren’t a joy to use because of a few features, but because every detail is done well: the day-to-day experience is largely hassle-free, and has nothing to spoil it. GNOME on Linux, and particularly Fedora, are reaching that level, and it’s thanks to all of these projects, and the years of work from all of the developers involved.
Nice,
But well this transitions to Wayland, Flatpak etc created a window of painful times for users here and there. It goes with things like FIrefox and Chrome lagging a lot under XWayland and still having no native stable builds. Or having some performance regressions on the Xorg session (which I think is caused by the performance improvements targeting Wayland) . Or stuff like no good usage of portals yet, even in the builds provided by Fedora guys.
But I’m still optimist, if the efforts don’t stall we’ll have a much nicer user experience in a year or two than we had before.
And it’s nice to hear you guys are gonna focus on performance too, good luck and thanks!
typo “ADM GPUs”
” are planning a major performance hackfest around Shell performance and resource usage early next year.”
At last! I started to really love Gnome but as of late the memory usage has become quite big and had me worried.
Keep up with the good work!
Is the bus1 work part of the “we”? (https://github.com/bus1/dbus-broker)
The items listed where handled by the Desktop Engineering Team, dbus1 is handled by a different team, but we are all one big happy family here so maybe I should have included it :)
Great work! Looking forward to seeing all the pieces fall into place and let’s hope the performance (and stability) efforts on gnome start paying off quickly.
This is just amazing :)
I’d kind of gives a look on how much work goes behind the scenes and makes you appreciate even more the freedom Fedora gives you seeing how much there is too keep up with.
That’s a ton of massively important stuff. Thanks for all of this!
I happened to see this post highlighted on lwn.net and indeed that is a large set of accomplishments and I am grateful for all the work that went into it.
I will say however that as of version 25, to me Fedora has almost become unusable as a workstation due to the bug reported here: https://bugzilla.redhat.com/show_bug.cgi?id=1437610.
It is also disappointing to see that there’s literally not even an acknowledgment of the issue. I tried the #systemd chat on freenode which seemed to think this was indeed a bug, though perhaps it’s just an odd config.
I realize Fedora is a volunteer effort and if it doesn’t work I can move on to something else. But I’ve used RH based systems since version 2.1 and generally it suits me fine.
I’d just argue that the bug reporting and triaging is still a work in progress…
Either way thanks for all the hard work an the interesting blog post!
systemd belongs to a different team than mine, but I will try to follow-up to see if I can at least get a response on the bug.
Christian, can you point me to someone who can help with 8bitdo controller support? My controller has been bricked ever since F26.
Bastien Nocera is probably your best choice. You find his details on hadess.net