Hello Fedorans! The F40 election campaign is now in full swing, and this cycle will be running a little differently than the previous F39, F38, etc. We are welcoming the EPEL Steering Committee to our elections cycle and having our Council elections move to once per year too. Read on for the details
Moving Council Elections to Once Per Year
During the Fedora Council’s hackfest in February this year, the Council discussed administrative items, including the timing of the Fedora Council elections. It was unanimously agreed that the elections move to a once-per-year cadence, rather than every six months. The reason being that having a member exit and a new one enter the council every six months has become a little disruptive, and stabilizing the term to a continuous 12-month period would be more beneficial to not only the council members, but the project itself, with the Council having some continuity. This also makes travel planning for the annual Council hackfest easier.
So to start this off, the F40 election will be the only election for the Fedora Council this year, and going forward, the Council will hold its election after the Spring/Summer release.
Important Election Information
The F40 election will have two open seats for Fedora Council.
The elected term for the elected Council member seats will remain 12 months.
The F39 elected member(s) on Fedora Council will continue to serve their 12-month term, ending in November 2024.
The next Council election after F40 will be F42, and F44, etc.
The format of the Council elections, and all other Fedora elections will remain unchanged
Nominations take place via the groups wiki page
Interview questions will be completed via private ticket in the elections repo by each candidate per group
Interviews will be published ~2 weeks prior to voting
The Elections app will still be used as the voting mechanism.
Fedora Mindshare Committee and FESCo elections remain unchanged at this time and will continue to be held per release.
New Addition: EPEL Steering Committee Elections
Another exciting update to our elections circuit is the addition of the EPEL Steering Committee elections campaign! The EPEL Steering Committee elections will now be run by the Fedora Operations Architect and will be held once per year, after the Spring/Summer release of Fedora Linux. You can nominate yourself, or someone else (with their consent), by visiting the nominations page and adding your name in the nominations box at the end. Interview questions are being finalized and will be available to candidates very soon.
Election Format and Schedule
Our F40 elections schedule is currently viewable here and all elections – Council (x2 seats), FESCo (x4 seats), Mindshare (x1 seat) and EPEL (x4 seats), will follow this schedule. Nominations have begun on April 24th so if you or someone you know would be a great asset to one of these governance bodies, consider nominating yourself or them (with their consent of course) before the nomination period closes on May 8th!
We are happy to announce the Fedora Week of Diversity (FWD) 2024 from June 17th to 22nd, organized by the Fedora DEI Team. FWD is a time when we come together to honor the diverse voices, perspectives, and skills that enrich the vibrant Fedora community.
What is Fedora Week of Diversity (FWD)?
Every year, FWD serves as a platform to spotlight the different members and their noteworthy contributions to the community and projects they work on. This year’s theme, “Empowering Diversity, Enriching Communities,” acknowledges the views, perspectives, and talents of individuals from different backgrounds, experiences, and walks of life, impacting not only our community but also extending across the entire open-source ecosystem.
FWD runs from June 17th to 22nd, 2024, featuring a series of interviews with community members sharing their Fedora stories. Additionally, we will host a virtual event on June 21st – 22nd, featuring talks, panel discussions and social activities. FWD will showcase highlights from this content to emphasize Fedora’s diversity.
Important Fedora Week of Diversity dates
June 17th – 22nd, 2024: Series of interviews with community members
June 21st – 22nd, 2024: FWD virtual event
How to participate
By participating in FWD, you can contribute to creating an open-source community where everyone is empowered to succeed and make a difference.
Submit your Fedora Week of Diversity proposal
As part of FWD, we are opening Call for Proposals (CFP) to invite community members to share their insights, experiences, and expertise on topics related to diversity, equity, and inclusion in open source. This year’s theme for FWD is “Empowering Diversity, Enriching Communities.” We aim to explore how diversity in perspectives, backgrounds, and experiences strengthens our open-source community and fosters innovation. Don’t forget to apply by May 11.
Check out the Fedora Contributor Stories
During Fedora Week of Diversity, we’ll be publishing Contributor Stories from our vibrant Fedora community members. Dive into CommBlog to explore their unique journeys with Fedora and join us in celebrating their valuable contributions to the world of open source.
Help us organize FWD
Would you like to assist with specific tasks related to FWD? Check our repository to learn more about our workflow and add a comment on the issue you want to help out with.
Let’s celebrate together
Let’s celebrate our differences together, amplify the voice of those underrepresented, and stand shoulder to shoulder, united in our commitment to diversity, equity, and inclusion. Join us for Fedora Week of Diversity 2024, and together, let’s create a future where everyone’s voice is heard, their contributions valued, and every individual has the opportunity to succeed. If you have any questions, ping us on Matrix.
Fedora 40 has been released! So let’s see what comes in this new release for the Fedora Atomic Desktops variants (Silverblue, Kinoite, Sway Atomic and Budgie Atomic).
Introducing Fedora Atomic Desktops
As you might have guessed from the title, we are now called Fedora Atomic Desktops! See the Introducing Fedora Atomic Desktops Fedora Magazine article for all the details.
The summary is that the Fedora Atomic Desktops are made up of four atomic spins:
Status update on bootloader updates (bootupd integration)
Unfortunately, we could not land bootupd support in this release due to an issue found late in Anaconda’s handling of bootupd installations which relied on incomplete functionality in bootupd.
We will attempt to add bootupd again after the release, via an update.
If you encounter Secure Boot errors or need to update your bootloader in the meantime, you can try the instructions from fedora-silverblue#543. Make sure to have a Live USB ready in case you encounter an issue. Please make backups beforehand.
We are hoping to land improvements to bootupd that should simplify this process.
No longer overlay language packages (langpack) by default
GNOME Software will no longer overlay the langpack packages for your locale on the first update. This should make updates much faster as they won’t need to overlay packages anymore (unless you explicitly decide to overlay some packages).
If you are updating from a previous release, you will have to remove this overlayed package manually. For example:
1. Find the overlayed package using rpm-ostree status:
$ rpm-ostree status State: idle Deployments: ● fedora:fedora/40/x86_64/silverblue Version: 40.20240410.1 (2024-04-10T03:43:23Z) Commit: 2428fdbec13787633b3bcd79d4f002ab48582bae8c6a473ca357a1ad43573a94 GPGSignature: Valid signature by E8F23996F23218640CB44CBE75CF5AC418B8E74C LayeredPackages: langpacks-fr
Note that this will remove the dictionaries for the corresponding language from your system and thus for applications included in the image.
For Flatpaks, the dictionaries are downloaded according to the languages set in the Flatpak config. If you have set your preferred languages in GNOME Settings, this configuration should have been set already. For example:
# Get the current config $ flatpak config --list languages: en;fr;de (default: en) extra-languages: *unset*
# Set the languages to use $ flatpak config --set languages "en;fr"
Also note that with this change the translated man pages for system commands will also be removed. To get the man pages back, you can install them in a container using toolbox for example:
If you have an NVIDIA GPU and encounter issues, I recommend looking at Universal Blue images (see below), waiting for an upcoming NVIDIA driver update that will hopefully improve Wayland support or trying out the updated Nouveau / NVK stack for supported cards.
KDE Apps as Fedora Flatpaks
A subset of KDE Apps are now installed by default as Fedora Flatpaks by Ananconda for new installations. The Flatpaks are not installed on updates but you can install them from the Fedora Flatpak remote or from Flathub.
KDE Flatpaks on Flathub
Most KDE Apps are directly published and maintained on Flathub by the KDE community and we have mostly completed the transition to the Qt 6.6 and KDE Framework 6 Runtime.
Fedora Budgie Atomic ships with the latest release of the Budgie Desktop 10.9 “release series”. Budgie 10.9 features some initial porting work to libxfce4windowing as it progresses towards its move to Wayland and redesigns its Bluetooth applet with new direct (dis-)connect functionality.
Additionally, Fedora Budgie Atomic ships with the latest Budgie Control Center and takes into use budgie-session. As Buddies of Budgie officially supports Fedora, Budgie Desktop has also received numerous backported bug fixes to provide Fedora users an even better experience.
I hope you are all enjoying F40 and for some information on a few upcoming important stuff ‘n’ things in Fedora, read on
Flock to Fedora CfP Closes Soon
If you have not already submitted a talk/workshop/whatever you have been thinking about doing to the Flock to Fedora cfp, you are in luck – submission closes tomorrow, April 29th so you have one more day to get that great idea of yours into us.
Flock to Fedora is set for August 7th – 10th in Rochester, NY, USA. Check out the website for more details on our annual contributors conference.
To nominate yourself or someone else, you just need to visit the nominations page of whichever group you would like to be elected to and fill out your name and FAS ID in the nominations box at the end. A set of interview questions will then be shared with each candidate after the nominations period closes for them to answer, which will be published on the community blog a few weeks before voting opens.
For more information on the elections process in Fedora, visit our docs site and for other key dates, you can view the elections schedule too.
Fedora Linux 41
Development is now underway (and has been for a while) on Fedora Linux 41 and our release schedule is live. Here are some dates you should keep in mind if you have any changes you would like to propose for F41:
June 19th – Changes requiring infrastructure changes
June 25th – Changes requiring mass rebuild
June 25th – System Wide changes
July 16th – Self Contained changes
If you are unsure of how to propose a change, there is some excellent documentation and video tutorial to help, and you can always reach out directly to me too.
Below are some recently announced changes for F41 and feedback is most welcome:
There is a lot of conversations happening around Fedora, and it can be hard to keep track of them all! Below is the top two on my own list from both discussion.fpo and devel@lists.fedoraproject.org, in case you need some inspiration
Did you know there is a weekly hack-athon on the Fedora Infra apps happening? Aurélien Bompard hosts a weekly stream on twitch every Friday (that hes available) where he goes through bugfixes. Turn on notifications to Aurélien’s topic thread on discourse and catch him on twitch on Fridays!
As always, package reviews are needed and welcome and if you would like to adopt any packages that have been orphaned, you can find the full list from the most recent email, or visit the packager dashboard here.
We provide you with both an infographic and a text version of the weekly report. If you just want to quickly look at what we did, just look at the infographic. If you are interested in more in-depth details look at the infographic.
Week: 22 April – 26 April 2024
Infrastructure & Release Engineering
The purpose of this team is to take care of day-to-day business regarding CentOS and Fedora Infrastructure and Fedora release engineering work. It’s responsible for services running in Fedora and CentOS infrastructure and preparing things for the new Fedora release (mirrors, mass branching, new namespaces etc.). List of planned/in-progress issues
Fedora Infra
In progress:
Zabbix: putting missing configuration under source control.
Zabbix: template for handling external hosts outside iad2.
Extra Packages for Enterprise Linux (or EPEL) is a Fedora Special Interest Group that creates, maintains, and manages a high-quality set of additional packages for Enterprise Linux, including, but not limited to, Red Hat Enterprise Linux (RHEL), CentOS, Scientific Linux (SL) and Oracle Linux (OL).
Working on getting Troy’s will-it project to run on github-actions
Community Design
CPE has a few members who are working as part of the Community Design Team. This team is working on anything related to design in the Fedora Community.
Updates
Choose Your Own Adventure Sticker #159 in progress
Avocado-framework logo and website design #146 in progress
Various stickers created for Red Hat Summit related to Podman Desktop
If you have any questions or feedback, please respond to this report or contact us on #redhat-cpe channel on matrix.
Fedora Silverblue is an operating system for your desktop built on Fedora Linux. It’s excellent for daily use, development, and container-based workflows. It offers numerous advantages such as being able to roll back in case of any problems. If you want to update or rebase to Fedora Linux 40 on your Fedora Silverblue system, this article tells you how. It not only shows you what to do, but also how to revert things if something unforeseen happens.
Update your existing system
Prior to actually doing the rebase to Fedora Linux 40, you should apply any pending updates. Enter the following in the terminal:
$ rpm-ostree update
or install updates through GNOME Software and reboot.
Note
rpm-ostree is the underlying atomic technology that all the Fedora Atomic Desktops use. The techniques described here for Silverblue will apply to all of them with proper modifications for the appropriate desktop.
Rebasing using GNOME Software
GNOME Software shows you that there is new version of Fedora Linux available on the Updates screen.
First thing to do is download the new image, so select the Download button. This will take some time. When it is done you will see that the update is ready to install.
Select the Restart & Upgrade button. This step will take only a few moments and the computer will restart when the update is completed. After the restart you will end up in a new and shiny release of Fedora Linux 40. Easy, isn’t it?
Rebasing using terminal
If you prefer to do everything in a terminal, then this part of the guide is for you.
Rebasing to Fedora Linux 40 using the terminal is easy. First, check if the 40 branch is available:
$ ostree remote refs fedora
You should see the following in the output:
fedora:fedora/40/x86_64/silverblue
If you want to pin the current deployment (meaning that this deployment will stay as an option in GRUB until you remove it), you can do this by running this command:
# 0 is entry position in rpm-ostree status
$ sudo ostree admin pin 0
To remove the pinned deployment use the following command:
# 2 is entry position in rpm-ostree status
$ sudo ostree admin pin --unpin 2
Next, rebase your system to the Fedora Linux 40 branch.
$ rpm-ostree rebase fedora:fedora/40/x86_64/silverblue
Finally, the last thing to do is restart your computer and boot to Fedora Linux 40.
How to roll back
If anything bad happens (for instance, if you can’t boot to Fedora Linux 40 at all) it’s easy to go back. At boot time, pick the entry in the GRUB menu for the version prior to Fedora Linux 40 and your system will start in that previous version rather than Fedora Linux 40. If you don’t see the GRUB menu, try to press ESC during boot. To make the change to the previous version permanent, use the following command:
$ rpm-ostree rollback
That’s it. Now you know how to rebase Fedora Silverblue to Fedora Linux 40 and roll back. So why not do it today?
FAQ
Because there are similar questions in comments for each blog about rebasing to newer version of Silverblue I will try to answer them in this section.
Question: Can I skip versions during rebase of Fedora? For example from Fedora 38 Silverblue to Fedora 40 Silverblue?
Answer: Although it could be sometimes possible to skip versions during rebase, it is not recommended. You should always update to one version above (38->39 for example) to avoid unnecessary errors.
Question: I have rpm-fusion layered and I get errors during rebase. How should I do the rebase?
Answer: If you have rpm-fusion layered on your Silverblue installation, you should do the following before rebase:
After doing this you can follow the guide in this blog post.
Question: Could this guide be used for other ostree editions (Fedora Atomic Desktops) as well like Kinoite, Sericea (Sway Atomic), Onyx (Budgie Atomic),…?
Yes, you can follow the Rebasing using the terminal part of this guide for every Fedora Atomic Desktop. Just use the corresponding branch. For example, for Kinoite use fedora:fedora/40/x86_64/kinoite
Oh, wow. This feels like a big number! I’m proud to announce the 40th release of Fedora Linux, a community-built and community-maintained operating system that belongs to all of us. I’m also happy to note that we’re back on track with an on-time release. Thank you to all Fedora contributors who made that possible, and who have, yet again, made this our best one ever.
This is also a personally exciting number for me, because this marks the 20th release for which I’ve served as Fedora Project Leader. We’ve gone through a lot in this last decade, and I’m incredibly happy to see our community thrive and grow. In addition to many long-familiar names and faces, it’s exciting to see a new generation with new energy and ideas. In some cases, this is literally a new generation, as many of you have grown up with Fedora. But at whatever age, I’m proud we’ve built such a welcoming and friendly community, and that we continue to work at improving our inclusiveness, diversity, and accessibility.
But anyway! Enough of that. Time to see what we’ve got for you in Fedora Linux 40! If you have a system already, Upgrading Fedora to a New Release is easy. If you’re new, or just curious, head to Get Fedora for installation options.
Desktop news
Fedora Workstation Edition features the GNOME desktop environment, now updated to version 46. Check out What’s New in Fedora Workstation 40? for the highlights!
The KDE Spin now includes KDE Plasma 6, and runs with Wayland out of the box. Read more about that and other KDE Spin updates at What’s New in Fedora KDE 40?
We’re also officially reviving the “Fedora Atomic Desktop” brand for all of our variants which use ostree or image-based provisioning. Our technology isn’t really “immutable”, so this provides a better grouping. Read more about this at Introducing Fedora Atomic Desktops — but in short, Fedora Silverblue and Fedora Kinoite will remain, while the other desktop variants will become Fedora Sway Atomic and Fedora Budgie Atomic.
Tools for AI development
Fedora Linux 40 ships with our first-ever PyTorch package. PyTorch is a popular framework for deep learning, and it can be difficult to reliably install with the right versions of drivers and libraries and so on. The current package only supports running on the CPU, without GPU or NPU acceleration, but this is just the first step. Our aim is to produce a complete stack with PyTorch and other popular tools ready to use on a wide variety of hardware out-of-the-box.
We’re also shipping with ROCm 6 — open-source software that provides acceleration support for AMD graphics cards. We plan to have that enabled for PyTorch in a future release.
Updates all around!
As usual, we’ve rebuilt everything in the distribution using updated compilers and libraries (and, of course, those updated tools are ready for developers to use). These updates bring bugfixes, security improvements, and performance gains.
And, of course, hundreds of Fedora packagers and testers have worked to integrate the latest versions of open source software from thousands of upstream projects. Those projects, in turn, are made by an uncountable number of developers and contributors working on marketing, design, documentation, code, quality, translations, communications, events, governance, infrastructure, security, and so much more. Thank you again to everyone who makes Fedora amazing, and to everyone whose work has built this whole universe of free and open source software.
Speaking of updates…
There are several important release-day bugfix and security updates available today as well. If you upgrade from an earlier Fedora Linux release, you’ll get them as part of that. For new installations, please make sure to check for and apply updates as soon as possible.
In the unlikely event of a problem…
If you run into a problem, visit our Ask Fedora user support forum. This includes a category for common issues.
Also, remember that our annual contributor conference, Flock To Fedora, is coming up! It’ll be in Rochester, New York this August. The call for session proposals is still open, if you have something you’d like to share or work on. If you’re already a Fedora contributor, or are interested in being one, or think you might be, we’d love to see you there!
The response from the Fedora community to the Fedora Slimbook 16” and 14” has been great! More and more people are noticing the quality of these laptops. We’ve even had a demo unit at events like FOSDEM and SCaLE for community members to play with.
To build on that excitement, Slimbook and the Fedora Project are announcing Slimbook Fedora 2!
Slimbook Fedora 2
The Slimbook Fedora 2 comes in the 14” and 16” models and brings with it fantastic new options.
Silver is popular, but how about a smooth black Magnesium chassis?
For those who need it, you now have the option of a US ANSI keyboard layout so you can work without skipping a beat!
CPU is being upgraded to Intel’s 13th Gen i7 processor
Take your work to the next level with the Nvidia RTX 4000 series graphics card in the 16” model
Of course we can’t forget that the Slimbook Fedora 2 will also come with the Fedora logo engraved on the lid, as well as on the super key.
This hardware update comes with a software upgrade courtesy of Fedora’s latest release, Fedora Workstation 40. Featuring GNOME 46 and numerous other enhancements, Slimbook Fedora 2 continues to be a great travel companion. Fedora Linux 40 also comes with the latest Nouveau drivers to give you a much better out of the box experience with the Nvidia graphics card in the 16” model.
Slimbook is dedicated to supporting open source initiatives. As part of that, 3% of the proceeds from each Slimbook Fedora unit sold will continue to be donated to the GNOME Foundation.
Besides that there is also the Fedora contributor discount which gives you an additional €100 off! If you’re a contributor to the Fedora Project you can find more info on how to get this discount from this Community Blog post.
Additionally, Slimbook offers a €150 discount for everyone on last year’s model. You can purchase the previous model with a discount through this link: https://fedora.slimbook.com.
More details below:
Slimbook Fedora 2, 16” Model
Intel® Core i7-13700H Processor
NVIDIA GeForce RTX 4060 GPU
Sleek Color Options: Silver and Black (magnesium chassis)
16-inch 16:10, 100% sRGB, 90Hz Display (2560 x 1600 Resolution)
Versatile Keyboard Options: ISO and ANSI (Available in almost any language)
Up to 64 GB SO-DIMM DDR5 RAM (removable)
Up to 8 TB M.2 SSD NVMe Gen 4.0 (removable)
Thunderbolt 4 & USB-C 3.2 Gen2 10Gbps
82 Wh Battery
Lightweight Design: 1.6 kg (3.5 lbs)
Slimbook Fedora 2, 14” Model
Intel® Core i7-13700H Processor
Sleek Color Options: Silver and Black
14-inch 16:10, 100% sRGB, 90Hz Display (2880 x 1800 Resolution)
Fedora Linux is a community developed and maintained operating system. Fedora KDE is one of our adaptations of Fedora Linux for your laptop or desktop. With this milestone release of Fedora KDE 40, we hope that you’ll be interested in trying an OS that belongs to you from start to finish, from install to first shut down, from UI customizations to major changes under the hood!
KDE Plasma 6
The all-encompassing change in Fedora KDE 40 is the introduction of KDE Plasma 6. It’s the first major release of the Plasma desktop environment in nine years! Additionally, Fedora KDE is one of the first major distros to ship Plasma 6, and we’re the first Fedora Linux desktop variant to ship Wayland-only (not to worry, we retain full support for X11 applications!), enabling the project to push forward improvements to Wayland for the benefit of the entire Linux community. This builds upon the work done in previous Fedora Linux releases to have Fedora KDE run in Wayland from login to shutdown by default.
Featured Highlights
There’s a new Overview Effect for keeping tabs on all of your open applications across all your virtual desktops.
Partial support for HDR is implemented in this release on the way to having full support.
Accessibility improvements have been introduced with color blindness correction filters.
A new look to the taskbar comes in the form of a floating panel! Plasma 6 also makes customizing panels easier than ever with an understandable UI to help users make the changes they want with minimal effort.
The Breeze UI theme that has been a hallmark of Plasma for a while gets a refresh with simplifications and modernizations where needed.
NeoChat, KDE’s Matrix client, is provided by default for you to try.
The Cube has returned! The new Overview Effect is cool, but using the Cube to manage your virtual desktops is a fantastic party trick to impress your friends next time you’re sharing your screen.
You can find more changes and improvements in KDE Plasma 6 from their megarelease page!
A word about Kinoite…
If you have an interest in what all of the immutable / atomic / cloud-native / composable / image-based fuss is about, Fedora Atomic Desktops is a great entry point into that world. Case in point, check out Fedora Kinoite 40, an atomic implementation of Fedora KDE that also comes with Plasma 6!
Also check out…
All of the fun events Fedora has coming up!
Be on the lookout for dates for the Fedora 40 Release Party, a virtual, user-focused, two day conference all about the new things in Fedora and the exciting things happening from our contributors. Will (hopefully) happen in May.
KDE’s contributor conference, Akademy, will come to Germany on September 7-12.
Thanks for learning about Fedora KDE 40. We hope that it will continue to be the reliable and exciting desktop OS you know and love. Share your appreciation or feedback on social media with #FedoraKDE!
Fedora Workstation, the flagship open source Linux desktop OS from the Fedora Project, has reached a new milestone with the release of Fedora Workstation 40. This release has been made possible due to the contributions of our global community, including your contributions! Fedora Workstation 40 comes packed with new features and performance enhancements that promise a smoother and more responsive computing experience. Read on to learn about the latest features and improvements in the sections below. You can download Fedora Workstation 40 from the Fedora Workstation webpage, or upgrade your existing install within the Software app or with dnf system-upgrade in your favorite terminal emulator.
GNOME 46
Fedora Workstation 40 features GNOME 46, the latest version of the GNOME desktop environment. Key updates include a notable upgrade of the Files app, introducing new features and enhancements. Additionally, many aspects of accessibility have received improvements, ensuring a more inclusive user experience. The Settings app and other core apps have been refined for better usability. More details can be found in the GNOME 46 release notes.
Many other improvements have been made throughout GNOME 46, such as:
Grouping of notifications by app. Now, each notification has a header. It shows the app’s name and icon. This makes it possible to see which app sent an alert. Notification now also has an expand button.
You can now open a new window for apps pinned to the dash by adding the Ctrl modifier. For example: Super+Ctrl+1 opens a new window for the first app in the dash, complementing the existing shortcut of Super+<Number> that launches the app itself.
By default, Tap to Click is now enabled for touchpad.
GNOME 46 now features Remote Login option. You can remotely connect using RDP to a new dedicated desktop session when there isn’t an active session.
Core apps
GNOME’s core applications have had significant improvements in the new version. Some of these include:
Settings
GNOME 46 comes with exciting updates to the Settings app, making it more user-friendly than ever. The latest version has more keyboard mnemonics which make navigation easier. It also has a sleek modern interface. The appearance settings load faster than before and with sharper previews. This new release provides more precise control of Wacom stylus pressure.
In addition to the upgrades mentioned above, the Settings app has received major improvements that are worth mentioning:
The Settings app has a new system panel. It groups Region & Language, Date & Time, Remote Desktop, and About into one settings pane. This new design makes the app easier to navigate.
GNOME 46 has updated touchpad settings with two new options. The first, called Secondary Click, lets you choose how to perform a right-click on the touchpad: either with two fingers or by clicking in a corner. The second option allows you to keep the touchpad active while typing, which helps in some apps and games where you need to use the keyboard and touchpad at the same time.
Files
One of the notable upgrades to Files is the introduction of a new global search feature. The global search feature lets you search files across all configured locations. You can search the contents of files, filter files by type and modification date, and search multiple locations at once. Click the icon next to the file path field to activate this feature.
In GNOME 46, the sidebar dynamic progress section at the bottom allows you to monitor file operations more effectively with more details on their progress.
Switching between list and grid views in Files now happens quickly. This fixes the lag noticed in prior versions.
Other changes to the Files app include a new search field within the Files preferences. It helps find specific settings. There’s now also an option to show date and time in a consistent format, and improved network discovery. These refinements make managing files more efficient.
Other core applications have also received upgrades
The Software app now displays verified badges for trusted Flathub apps, ensuring software authenticity.
Maps app offers a new editing experience, support for dark mode, and expanded public transit routing.
The Extensions and Calendar apps boast modernized designs and usability improvements.
GNOME 46 upgrades Clocks and Contacts apps. It lets you set a timer quickly in Clocks. And, import multiple VCard files at once in Contacts.
The Disks app has a new I/O resource graph for monitoring disk usage.
Performance Improvements
GNOME 46 provides substantial under-the-hood improvements for a more efficient and polished experience. Key improvements include:
Reduced memory usage in search.
Significant speed boosts in terminal apps.
More appealing visuals as app interfaces appear sharper, text on the screen clearer, and UI elements more defined, particularly when using fractional display scales due to GTK’s new renders.
Experimental support for Variable Refresh Rate (VRR) for smoother video performance. You can enable this feature with the command: gsettings set org.gnome.mutter experimental-features "['variable-refresh-rate']" Once enabled, the refresh rate can be set in the display settings.
Under-the-hood changes in Fedora Linux 40
Fedora Linux 40 features many under-the-hood changes. Here are some notable ones:
IPV4 Address Conflict Detection is enabled by default in NetworkManager to address conflicts caused by duplicate IPV4 addresses in the same physical network.
Fedora 40 integrates PyTorch directly into its software repository. This makes it easier for users to access the open source machine learning framework for their projects. Installation is now a breeze through a single command: sudo dnf install python3-torch
Starting with Fedora Linux 40, the term “immutable” will no longer be used to describe all rpm-ostree based variants of Fedora Linux (Silverblue, Kinoite, Sway and Budgie). Instead, they will be referred to as “Atomic” desktops with Sericea now known as Fedora Atomic Sway. This change is part of a rebranding aimed at simplifying the naming conventions for Fedora spins. More information on this change may be found here.
Also check out…
Cool happenings throughout the Fedora Project!
Stay tuned and get ready to engage with the Fedora community at some upcoming events! In June, join us in Brno, Czechia, for the DevConf CZ conference — a gathering filled with insightful discussions, workshops, and the chance to meet fellow enthusiasts.
Then, mark your calendars for August, when our flagship contributor conference, Flock, takes place. For more details on Flock 2024, check out this post.
And what a week it was! Fedora Linux 40 got the ‘GO’ at the Go/No-Go meeting on Thursday so that means a brand new release of Fedora Linux is arriving to you tomorrow, Tuesday 23rd April!
Read on to hear about other exciting Fedora news
CfPs & Events
Flock to Fedora
The CfP for Flock to Fedora has been extended until Monday April 29th, so dont delay if you have been thinking about submitting something – here is your chance!
Devconf.us
Devconf.us is returning this year in Boston, MA from August 14th – 16th. Their cfp is closing today, so get it in quick if you have had something in draft.
Fedora Linux 41
Now that F40 is releasing, attention will be on the development of F41 which has been happening for a while now. Here are some deadlines for all you change proposal enthusiasts, and for other key dates like the beginning of the Beta freeze and mass rebuild, please view the release schedule.
June 19th – Changes requiring infrastructure changes
June 25th – Changes requiring mass rebuild
June 25th – System Wide changes
July 16th – Self Contained changes
If you are unsure of how to propose a change, there is some excellent documentation and video tutorial to help, and you can always reach out directly to me too.
A full list of the already accepted changes for Fedora Linux 41 can be found on the change set page too.
Elections
The F40 elections will begin soon! There are some changes to this cycle, which you can read about them in more detail in the Elections blog post coming later this week and do consider nominating yourself or someone you think would be a great person on Council, FESCo, Mindshare or EPEL when the nominations page is live. Please do make sure the person you are nominating is on board with their nomination too
Help Wanted
Help is always greatly appreciated.We also have some packages needing some new maintainers and others needing reviews. See below links to adopt and review packages!
The Flock to Fedora 2024 call for proposals (CFP) is now extended to Monday, April 29th 2024 at 11:59 PM US Eastern. Now is the last chance to get your great idea or topic into the Flock 2024 CFP before it closes. This will be the only extension and the new deadline is final.
We provide you both an infographic and a text version of the weekly report. If you just want to quickly look at what we did, just look at the infographic. If you are interested in more in-depth details look at the infographic.
Week: 15 April – 19 April 2024
Infrastructure & Release Engineering
The purpose of this team is to take care of day-to-day business regarding CentOS and Fedora Infrastructure and Fedora release engineering work. It’s responsible for services running in Fedora and CentOS infrastructure and preparing things for the new Fedora release (mirrors, mass branching, new namespaces, etc.). List of planned/in-progress issues
Extra Packages for Enterprise Linux (or EPEL) is a Fedora Special Interest Group that creates, maintains, and manages a high quality set of additional packages for Enterprise Linux, including, but not limited to, Red Hat Enterprise Linux (RHEL), CentOS, Scientific Linux (SL) and Oracle Linux (OL).
Updates
Texas Linux Fest (TXLF) was held from 12-13 April
Carl gave talk on the state of EPEL
Also manned the EPEL and Fedora booth
EPEL docs are being reworked to include onboarding processes
Also including an overall cleanup, better UI/UX
Community Design
CPE has few members that are working as part of Community Design Team. This team is working on anything related to design in Fedora Community.
Matrix is an open protocol for decentralized, secure communications built on the principles of interoperability and decentralization. You can create an account on a home server and then join channels across different home servers. This means if you have an account through Matrix.org, you can use it to join our community spaces! One of those is Fedora Chat.
The Matrix Foundation acts as the guardian of the Matrix protocol, ensuring it remains a free and open standard for secure, decentralized communication. It’s responsible for developing and maintaining the Matrix Specification along with working closely with the community to enhance interoperability and innovation.
What is Fedora Chat?
Fedora Chat is what we call our Matrix homeserver instance. It is a set of two homeservers, one for our community rooms as fedoraproject.org as well as the fedora.im homeserver which provides accounts for our users to join the fedoraproject.org rooms. Both of these are hosted by Element Matrix Services (“EMS”) thanks to our sponsorship from Red Hat.
You can use your fedora.im account to join other Matrix homeservers as well and collaborate with other communities, including Gnome, Mozilla, and Ubuntu!
Getting Started on Fedora Chat
Ready to jump into Fedora Chat? If you do not have a Matrix account already, you can use the fedora.im homeserver to get an account and join our community space! If you already have Matrix – you can join our Fedora space through this link.
Visit https://chat.fedoraproject.org and click the blue “Sign in” and then “Continue with your Fedora Account” to login with your FAS account.
You should be added to our Space automatically which is a collection of rooms, but if not, join the room here #fedora-space:fedoraproject.org
You can then choose different rooms in the menu in which to say hello. Find a room and then say hello!
Exploring Other Matrix Clients
While Fedora Chat uses the hosted Element client, the Matrix universe is vast. Explore other clients that suit your needs, from desktop apps to mobile solutions. Each offers unique features, allowing you to tailor your experience. You can find an updated list of different clients on the Matrix.org website.
Understanding Encryption, Keys, and Device Verification
Matrix’s end-to-end encryption ensures that only the communicating users in a room can read messages. Some rooms are end-to-end encrypted, but most public rooms are not. Most rooms in Fedora community spaces are not end-to-end encrypted, and you can see the history. However, if you directly message another user or join an E2E room, your messages will be encrypted by default. This is achieved through the management of cryptographic keys that secure each conversation. The encryption process involves generating unique keys your client stores on your behalf.
Protecting your encryption keys is essential, and your Recovery Key is critical to keep. The Recovery Key allows you to restore access to your encrypted conversations if you lose access to your primary key backup. Keep your Recovery Key in a safe location.
Session verification further enhances security by allowing users to verify their identity across multiple devices, ensuring that verified devices can only read encrypted messages.
The SCaLE (The Southern California Linux Expo) community Linux event delivered an iconic experience with four days of open source training, exhibits, and general presentations. This year’s conference took place in Pasadena (Los Angeles) area.
This expo drew worldwide guests to discuss AI, Linux, security, embedded, IoT, and more. The Conference Chair, Mr. Ilan Rabinovitch, and Technical Committee Chairperson, Owen Delong paved the way for a smooth registration.
Ilan Rabinovitch
Conference Highlights
Fedora @ SCaLE 21x Linux Conference – Ready, Set, Go!
Justin Flory arranged and shipped hand-selected swag and marketing items to Brian Monroe. Items include: pens, stickers, commuter mugs, badge ribbons, badge lanyards, and more.
Furthermore, the ambassadors gathered up supplies for the conference.
Day 1: Thursday 14 March
Red Hatter Brian Proffitt carefully delivered our marketing notebook system.
In addition, Perry brought the following:
Dry-board markers
Dry-board flipchart easel
Opportunity drawing tickets
Leftover ribbons, mini-swag from 19x event
Safety scissors
Gaffers tape
Glue
And more!
Some of our ambassadors travelled in the morning, to catch earlier events and workshops. Others, however, arrived later to factor in traffic.
Portal to New Linux Ideas
The back of the Fedora booth this year…a sheet wall..
We met in the exhibit hall to check out the booth and to discuss strategy. Henceforth, we thought about our discussions and engagement to attract visitors. In contrast to SCaLE 20x, our booth was some distance away from the Red Hat booth.
The booth did not receive any free-standing banners this year. Thus, aside from our table cover, swag, and flip chart, we had few items to work with which had large Fedora branding. Soon, we discovered that some guests had initial challenges trouble locating our booth.
Upon dropping things off, some of us reconvened at the KWAAI Summit, new for 2024. Matt Small, Reza Rassool, Román Pineda, Khai Pham, John Willis, and others closed out the the event with an engaging Q&A, introductions, wrap up, and reception, for example.
Afterwards, Fedora joined the Red Hat and CentOS teams and others for a meal at the Yard House.
From L to R: Matthew Miller, Shaun McCance, Perry Rivera, and Carl George
Day 2: Friday 15 March
Checking in on the other variants…
Alejandro and I set out for breakfast Friday and discussed booth and expo plans for the days ahead. Eventually, we headed off to the NixCon track co-located in SCaLE 21x to learn about Nix. We were surprised to find a very packed workshop.
Booth Setup
After a brief look into these OSes, we returned to the Expo Hall to begin putting our booth together. For example, Scott arrived to install a notebook system that he configured with Flatpak pinball game running atop Universal Blue.
A guest re-discovers pinball on an immutable desktop
Red Hatters setting up a booth
Next, Perry set up a Fedora flip chart and pasted in a handy QR that Alejandro generated for guests to claim a Fedora badge. Then, Alejandro later wrote in our Fedora scheduled talks, which was handy for guests to take pictures of as they stopped by. Concurrently, Brian strategically set up swag items and carefully routed power within the booth.
Perry later stopped by the Red Hat booth to help raise the 5-person banner. It’s not heavy, however, but it is awkward and difficult to stand up with fewer than 5-people in attendance.
What an Exhibit at Fedora @ SCaLE 21x Linux Conference
At 10am, the Exhibit Hall opened. As a result, we had a steady stream of community throughout the reminder of the conference. Then, we took turns for breaks from time to time; however, as we were down a person, things felt a bit busier this year. We definitely missed not having Iván Chavero there.
We greeted approximately 400+ this day.
One of the many highlights from today was discovering a vending machine that dispenses temporary VMs. The buttons were quite amusing.
Eye-deal VM Vending Re-use.
At length, a few of us met up with Red Hat, CentOS, at El Portal Restaurant for dinner.
El Portal Restaurant for dinner.
Rob McBryde: Coordinator of Karaoke goodness.
Subsequently, we met up with Red Hat and CentOS later at Barney’s Beanery to enjoy karaoke and merriment.
Day 3: Saturday 16 March
Specifically, Brian Monroe, Scott, and Perry met up early Saturday morning to go over slide logistics for our Exploring Immutable Linux Desktops with Fedora presentation later that day. Afterward, we caught up with Alejandro at the booth to continue engaging with guests and greeted approximately 500+ this day.
Perry dropped in on a Digital Art / Krita open-source application workshop that went over how the fundamentals of using this tool. They gave pointers on how they use the app in their workflow, for instance.
Nicholas Maramba and Helen Ortiz present “Digital Art Makes You Smart”
Humberto Macias, lucky winner of a Fedora commuter tumbler.
Portal to the endless wonder of immutable desktops..
Guests listened attentively at the Immutable Desktop presentation
Scott Williams chats with Joshua Loscar at the Red Hat Booth
Jeff Carlson ponders his next move..
We also held opportunity drawings throughout the week to beckon more booth interest. Indeed, this proved a success. 40+ people stopped by for each draw.
Comparatively, Perry, Brian Monroe, and Scott later delivered their presentation to 45+ guests.
Thereafter, we re-joined Alejandro to finish up meeting our community at the booth for the expo day. We ate a late linner at the Dog Haus to reflect on the week’s events.
Soon, SCaLE 21x held their annual game night event. Next, we reunited with friends and associates to catch up and enjoy.
Day 4: Sunday 17 March
All of us packed up our rooms early Sunday. Naturally, Alejandro and I re-joined up at the Cordova Cafe for breakfast.
Consequently, we made our way over to the Exhibit Hall to finish up a final day with guests. Altogether, we had a little breather to visit the CentOS booth and say hello.
Shaun McCance and Carl George exhibiting at the CentOS booth
The final exhibit day brought in about 250 guests to our booth. Following, our team packed up the booth for transport.
Ultimately, to complete a fine Sunday, we attentively listened to an excellent closing keynote provided by Bill Cheswick.
Suggestion / Feedback Box Items for Fedora @ SCaLE 21x Linux Conference
In addition, we had a booth sign-in sheet for visitors to help collect feedback and suggestions about Fedora and related efforts.
From data compiled, we summarize these key highlights:
Marketing: Many requests for Fedora new logo swag and shirts. Could use stuffed animals, socks, or something different, USB stick. More creative ideas, sticker ideas (hex are popular), floor banners with new logo, DEI stickers were very popular. Portable swag (small and travel-ready) is great for travelers.
Marketing: One guest suggested a Fedora merch store where community could purchase Fedora logo swag/stickets/items. Above all, proceeds ideally would funnel back to Fedora community where needed.
Cross: One Debian guest continues prefers Debian for consistency, but wouldn’t mind using Fedora if a consistent spin was available. Potentially opportunity for immutable education or Debian/Ubuntu/NixOS etc. to Fedora presentations.
Info: Another Debian guest wanted to know key differences between Debian and Fedora. Ultimately, potential opportunity for explainer or migrating presentation or Why Use Fedora vs. ________?
Usage: One mentioned they are a Rawhide user.
Info: One requested more information about NeuroFedora. In other words, clearer information about what it is and the status of that Special Interest Group (SIG). Explainer card might be helpful at the booth.
Usage: One guest enjoys QT packages with DX build.
Licensing/Booth Info: One guest wanted clearer definition of the licensing relationship and sponsorship between Fedora / RHEL, if any.
Fedora Activity Day: It might be advantageous for Fedora to identify an organizer for a Fedora Activity Day (or two). For example, possible topics include: Debian to Fedora, command-line, Gnome, KDE, Immutable, Ambassadoring, Why Use Fedora vs. X?, etc.
Other: Changes for CentOS and Red Hat were points of concern and confusion for some guests.
Comm: Connect with Universal Blue folks, Lutris, Nobaro (sp?). Bazzite quality badges
Booth: Engagement with community at the table, opportunity drawing seems to be a success. Let’s get people in the front door of Fedora…for SCaLE 22x, provide challenge or engaging gimmick.
Thank You/Derivative: Ultramarine user says thank you for Fedora.
Thank You/Support: Thank you for Data Transit (GTFS) support
Magic Wormhole and Fedora are great. Ultimately, we referred this guest to Matthew Miller.
One guest tracking 39 and 40 Beta packaging and kernel. Definitely, this visitor expressed interest in helping with general or immutable. Additionally, we referred this guest.
In conclusion, we look forward to seeing you at next year’s SCaLE!
Snaps from Fedora @ SCaLE 21x Linux Conference
Perry Rivera and Kevin Howell
Conference Center Conversation Flows. Photo by Carl George
Patrick Finie and Perry Rivera
An engaging kernels workshop by Neil Gompa, Shaun McCance, and Carl George. Photo by Carl George.
Ana Ma and Perry Rivera
Romy Meyerson@SuSe stops by to visit to say hello..
Rob McBryde, Jaime Burwood, Katherine Nnanwubar, Perry Rivera, and Brian Proffitt
Perry Rivera and Siggy
Perry Rivera and Marc Provitt from SCaLE 21x’s Game Night event.
Discussing SCaLE strategies. L to R: Scott Williams, Brian Monroe, Shaun McCance, and Carl George.
Perry Rivera and Bill Cheswick
Clockwise, L to R: Joshua Loscar, Shaun McCance, Brian Proffitt, Cali Dolfi, Perry Rivera, Alex Acosta, Carl George, and Joshua’s oldest son discussing SCaLE week highlights at Lunasia Dim Sum House…
It’s official — CVE-2024-3094 is the “Backdoor in XZ Utils That Almost Happened“. Fortunately, the malware was detected before we released the compromised version as an official update. If you are using a Fedora Linux 38 or 39, or an up-to-date Fedora Linux 40 Beta, you should be all set, and the upcoming Fedora Linux 40 final release is not affected.
The XZ backdoor is a devious piece of work. It affects the SSH remote login protocol, which has a feature where users can be authenticated using a public-private key pair. The exploit sneaks a public key right into the allow-list, so someone out there with the corresponding key could log in to a compromised machine with full root access — without a trace. We have no evidence that the attackers ever got a chance to take advantage of this, but if the malware had slipped by undetected, it could have been devastating.
Fortunately, the plot was foiled by Andres Freund while doing volunteer work in his spare time. He noticed that there was a slight change in performance, and decided to investigate. One of my Fedora friends quoted John Denver: “What one man can do is change the world and make it work again! Here you see what one man can do.”
If you have a system with the Fedora Linux 40 Beta or Fedora Rawhide, and you applied updates during the time the compromised package was in our updates-testing repository, you should check to make sure that it is now reverted, and apply current updates if not. (You should have xz-5.4.6, as of this post.) On Fedora Workstation systems, the ssh daemon does not run by default, which additionally limits possible risk. However, if you did have the bad update on a system, or think you might have, we recommend a full reinstall out of an abundance of caution.
Fedora Linux 38 and 39 never had even a candidate update for the compromised package, and we pulled the test update for 40, so it was never merged into the release.
We provide you both infographic and text version of the weekly report. If you just want to quickly look at what we did, just look at the infographic. If you are interested in more in depth details look below the infographic.
Week: 08 April – 12 April 2024
Infrastructure & Release Engineering
The purpose of this team is to take care of day to day business regarding CentOS and Fedora Infrastructure and Fedora release engineering work. It’s responsible for services running in Fedora and CentOS infrastructure and preparing things for the new Fedora release (mirrors, mass branching, new namespaces etc.). List of planned/in-progress issues
Fedora Infra
In progress:
Adding template to handle monitoring of external hosts to zabbix
Extra Packages for Enterprise Linux (or EPEL) is a Fedora Special Interest Group that creates, maintains, and manages a high quality set of additional packages for Enterprise Linux, including, but not limited to, Red Hat Enterprise Linux (RHEL), CentOS, Scientific Linux (SL) and Oracle Linux (OL).
The Fedora Diversity, Equity, & Inclusion (DEI) Team rounded out 2023 with a focus on celebrating the 20th anniversary of the Fedora Project and officially welcoming new team members. This post is a brief recap of the fourth quarter of 2023 (October to December) for the DEI Team. The end of the year is typically a slower time in Fedora due to holidays, but we had some major highlights in 2023 Q4 anyways:
Shifted our sprint planning from a monthly cadence to a quarterly cadence.
Fedora Pride was established, and represented at some of our virtual events.
This post summarizes these highlights and also paints a picture of what we were looking forward to in 2024 Q1. Read on to get the full scoop!
Shifting from monthly to quarterly planning
In our previous sprint report, the new GitLab-centered workflow was introduced. We originally launched with a monthly cadence. However, we quickly realized that a monthly cadence was not the right fit for our team. Many of our projects span many months, like planning an event. This means that a few things get done every month, but many ongoing tasks shift every month.
Adopting a quarterly format worked better because that better matches the cadence at which the Fedora DEI Team operates. Event planning might span two to three months. This means that most events could fit into a three-month window. Some things still get shifted from quarter to quarter, but as long as we anticipate that, it works fine for us!
Most importantly, a quarterly cadence means that we can always clearly describe what was accomplished, what we are working on, and we can speculate on the future. Our hope is that it also makes reports like this easier to read!
A successful Fedora Appreciation Week
The previous report mentioned that planning for the Fedora Appreciation Week was underway. And it successfully happened! For context, Fedora Appreciation Week first started in 2018 for the 15th anniversary of Fedora. Fedora Appreciation Week, abbreviated as FAW, is a week-long event organized by the Fedora DEI Team. It is dedicated to celebrating the efforts of Fedora Project contributors and expressing gratitude to one another. Fedora Appreciation Week happened from November 6–12, 2023.
Thanks a lot to everyone who contributed to making Fedora Appreciation Week happen! Your participation and contributions have made this event a truly special and memorable experience. As we move forward, let’s carry the spirit of gratitude with us and continue to acknowledge the exceptional efforts of our Fedora community.
Welcoming Robert and Emma to the DEI Team
Our Fedora DEI Team continues to grow! Although neither of these two names were new to us, we officially nominated and voted Robert Wright and Emma Kidney as the newest inductees to the Fedora DEI Team. Robert is an infrastructure contributor and co-lead to the Community Operations Community Initiative. Emma is a Design Team member and she has been a key contributor for managing graphic design and brand identity for events like Fedora Flock and our release parties. She also designed our team logo!
We are so excited to have Robert and Emma join us as official team members! Although their contributions span before they were officially inducted, we cannot wait to see them continue to contribute and shine in our team.
Fedora Pride establishes as a Fedora DEI Community
In Q4 2023, Fedora Pride achieved several notable accomplishments:
Successfully hosted a release party mini-event for Fedora 39, featuring an engaging session of the game Among Us. This event fostered community engagement and celebrated the new release.
Held meetings in October 2023 (and a few months of 2023). The session focused on strategizing future initiatives and strengthening community involvement.
Initiated the development of a new GitLab project to hold SIG identified issues.
Looking ahead to 2024 Q1
At the time of publishing, this report is already coming out at the end of 2024 Q1. Oops! That means you can expect to see a 2024 Q1 article later this April. However, to give you an early sneak preview, this is a summary of what the DEI Team was working on from January to March 2024:
Fedora Council Hackfest: The Fedora Council held its annual in-person hackfest in February 2024 for annual planning. The DEI Advisor, Jona Azizaj, represented the DEI Team in conversations about the Fedora Strategy and more. Look out for more about the Council Hackfest in future Community Blog posts.
Fedora Week of Diversity: Planning is already underway for the DEI Team’s next virtual in June 2024. Fedora Week of Diversity is the successor to Fedora Women’s Day, originally started in 2016 as a celebration of the diverse people who make up our Fedora community. Volunteers are needed! See the issue for more details.
GNOME collaboration: Following the initial meeting of some DEI Team members with the GNOME community at GNOME Asia 2023, we wanted to continue collaboration with the GNOME D&I team. Jona Azizaj and Justin W. Flory continue to represent the Fedora community there upstream and provide guidance based on past experiences with the Fedora DEI Team.
Marketing Team collaboration: Following up on a request from Marketing Team member Daimar Stein, the DEI Team is working together with the Marketing Team to provide more perspectives and ideas to messaging campaigns. Since the issue was opened, we are working on an outreach timeline for Fedora Week of Diversity and collaborated on a post for World Autism Acceptance/Awareness Day.
Stay tuned for the full 2024 Q1 report in an upcoming article. In reflection, the end of 2023 was a busy ending to a year that saw the comeback of the DEI Team after a dormant period. As we continue building up our capacity and focusing in our team vision and mission, we are also slowly growing our team and exploring new ways to not just recognize, but also celebrate the unique diversity that makes up our global Fedora contributor community.
One of our datacenters primary network link is down.
A secondary link is up, but some providers are still
trying to route over the down link, resulting in
connectivity problems.
Affected fedora resources include:
pagure.io
download-cc-rdu01
The provider is looking for the outage cause and networking
is working on …
In this article you will see how we are using Accessibility as an automation tool to test desktop applications just like a real user would using keyboard key presses and mouse clicks.
Although this topic and all of its parts can be talked about for hours to exhaust everything, I will attempt to describe how we are dealing with automation testing in a more digestible form.
For those interested there is a link to a full technical solution at the end of this post, with all of our tools and how to use them. We also provide our full GNOME Terminal testing suite for anyone to try.
Let us start wit the very core of our ability. Accessibility.
What is Accessibility
Accessibility (AT-SPI) in software development aims to make software products available to people of all abilities. While being used for various tools present throughout many distributions, it can be used for other purposes.
We are using Accessibility through Python.
Specifically we utilize Python module GObject introspection that holds Python bindings and support for GTK toolkit and GNOME applications, namely the Atspi module.
While Atspi is already providing useful functions, in general this is not enough, we need quite a few more tools to do our job effectively.
With that in mind lets go over our automation stack.
Automation stack
We do not have a single project that we could utilize. No such project that would fulfill all of our criteria exists, to our knowledge.
Therefore, we are using multiple open source projects together to achieve our goal of testing desktop applications. We are maintainers and contributors to most of the following projects.
The API – dogtail
Usage on Wayland – gnome-ponytail-daemon
The project template – behave
Gathering results – behave-html-pretty-formatter
Library of tools – qecore
The API – dogtail
dogtail is a GUI test tool and automation framework written in Python. It is an extension and wrapper around Atspi and pyatspi2 python libraries.
Atspi provides almost everything we need. The dogtail framework, however, is more user friendly in matters of usage.
dogtail is how we obtain positions and sizes of various widgets. It also provides functions to press single keyboard keys, do key combinations, typing of text, and mouse button clicking.
Usage on Wayland
Another piece of the stack is the gnome-ponytail-daemon project.
This is a helper daemon intended for dogtail on Wayland. Wayland does not expose desktop coordinates so gnome-ponytail-daemon uses remote-desktop and screen-cast APIs in order to work around that.
Working with gnome-ponytail-daemon is not trivial. Fortunately, most of what we need from it is hidden behind dogtail which uses gnome-ponytail-daemon functions when needed. This enables seamless work without the need to change API calls.
Let us continue to the structure of our automation code.
The project template – behave
behave provides a way to connect natural language, which serves as our step by step suite definition, to an implementation in Python. To illustrate a more specific example, here are behave‘s feature files that contain natural language…
@showing_off_behave
Feature: Showing off behave
Scenario: Run a simple test
Given we have behave installed
When we implement 5 tests
Then behave will test them for us!
… which is implemented in Python as you can see below…
from behave import given, when, then, step
@given('we have behave installed')
def step_impl(context):
pass
@when('we implement {number:d} tests')
def step_impl(context, number):
assert number > 1 or number == 0
context.tests_count = number
@then('behave will test them for us!')
def step_impl(context):
assert context.failed is False
assert context.tests_count >= 0
We also use behave‘s file structure as a project template for our testing suites. Therefore, our suites are started by behave in all of our cases.
Starting a single test:
$ behave -kt showing_off_behave
There is more that behave does for us but that is not relevant here.
Lets explore how we gather the results of our testing.
Gathering result – behave-html-pretty-formatter
behave provides results, after execution, in user specified format. There are a lot of built-in formats but none of them are useful for us. We are testing GUI applications after all, so we need a lot more than what behave provides.
While behave‘s formats are not useful for us, it does provides us with a way to add a new one as a module.
We wrote our own formatter for behave called behave-html-pretty-formatter. This formatter returns the output as HTML which we can direct to a file. We have functions specified in our module that enable us to embed data into the HTML file as links, strings, screenshots and videos.
The following is an example of starting a test, specifying what the output format will be, and what file to output the data to.
$ behave -kt <test> -f html-pretty -o test.html
Library of tools – qecore
With the tools above we have a way to implement our test, have the steps written in natural language, have them executed, and obtain the output of this execution in an HTML file for review. In spite of having all of that, we still need more, much more.
For that reason we have a library of tools that is present in all of our automation suites. It provides everything else we might need in our solution. When we need a new feature, we will add it to this project.
To list a few examples of what qecore is used for:
System configuration.
Video recording.
Data gathering.
Debugging on error.
Image matching.
Summary of parts
qecore will start a session and execute behave.
behave starts executing its parts.
qecore initiates and executes commons functions.
Test will execute.
Automation testing via dogtail /ponytail.
Test finishes.
qecore gathers all data and lets behave know how to include them in our file.
behave finishes its parts and provides results in HTML format.
qecore may or may not terminate the session based on user setup.
#!/usr/bin/python3
from dogtail.tree import root
from time import sleep
# Load application root to variable.
shell = root.application("gnome-shell")
# Search the application tree for objects.
system_menu = shell.child("System", "menu")
# Click it.
system_menu.click()
#!/usr/bin/python3
from dogtail.rawinput import typeText, pressKey
from time import sleep
# Start the application.
# Open overview.
pressKey("Super")
# Give overview a little time to show.
sleep(1)
# Search application.
typeText("Terminal")
# Confirm by Enter.
pressKey("Enter")
#!/usr/bin/python3
from dogtail.tree import root
from dogtail.rawinput import typeText, pressKey
from time import sleep
# Start the application.
# Open overview.
pressKey("Super")
# Give overview a little time to show.
sleep(1)
# Search application.
typeText("Terminal")
# Confirm by Enter.
pressKey("Enter")
typeText("seq 100")
pressKey("Enter")
scroll_bar = terminal.findChild(
lambda x: x.roleName == "scroll bar"
)
s_min = int(scroll_bar.minValue)
s_max = int(scroll_bar.maxValue)
for i in range(s_max, s_min, -1):
scroll_bar.value = i
sleep(0.05)
for i in range(s_min,s_max):
scroll_bar.value = i
sleep(0.05)
#!/usr/bin/python3
from dogtail.tree import root
from dogtail.rawinput import typeText, pressKey
from time import sleep
# First open the application.
pressKey("Super") # Open overview.
sleep(1) # Give overview a little time to show.
# Search application.
typeText("Terminal")
# Confirm by Enter.
pressKey("Enter")
# Load application root to variable.
app = root.application("gnome-terminal-server")
# Search the application tree for objects.
terminal = app.child("Terminal", "terminal")
# Right click in the terminal.
terminal.click(3)
# Give menu some time to show.
sleep(1)
# Find the item Show Menubar that is showing
show_menubar = app.findChild(
lambda x: x.name == "Show Menubar" and
x.roleName == "check menu item" and
x.showing
)
# Click it if the option is not checked.
if not show_menubar.checked:
show_menubar.click()
else:
# Close the menu if option is checked.
pressKey("Esc")
sleep(1)
app.child("File", "menu").click()
app.child("New Tab", "menu").click()
app.findChild(lambda x: "1." in x.name).click()
sleep(1)
# Execute the command.
typeText("echo Hello World")
pressKey("Enter")
#!/usr/bin/python3
from dogtail.tree import root
from time import sleep
import dogtail.rawinput
# Load application root to variable.
shell = root.application("gnome-shell")
# Search the application tree for objects.
shell.child("Activities", "label").click()
sleep(2) # Give overview a little time to show.
shell.child("Show Apps", "toggle button").click()
sleep(2)
shell.child("Calculator", "label").click()
sleep(2)
# Load the Calculator Atspi object to a variable.
calculator = root.application("gnome-calculator")
# For calculator we have to account for shadows.
def _update_coords(coords):
return (coords[0] + 40, coords[1] + 40)
dogtail.rawinput.update_coords = _update_coords
# Or you can disable box-shadow for gtk4 css.
# Simple calculation.
calculator.child("3").click()
calculator.child("+").click()
calculator.child("5").click()
calculator.child("=").click()
# Simple check.
assert calculator.child("3+5").showing
assert calculator.child("8").showing
Examples of an automation suite output files
Passed test in GNOME Terminal Suite
Passed test in GNOME Terminal Suite in High Contrast.
We have teammates with visual impairment. While designing the output format we thought about a button that would remove all color as a core feature.
Failed test in a Zenity Testing Suite
Our automation solution will provide as much data as possible after any error.
You will notice the amount of data present in a failed page. This page has everything a developer will need to debug a problem.
Set of steps taken to reproduce the issue.
Screenshot at the moment of the failure.
Video of the reproducer.
Journal logs.
Full backtrace from coredumps – all relevant debuginfo/debugsource packages are installed.
Status shows what version of an application is tested.
We also have debug logs for our own tools to verify we did not introduce the issue.
Advantages of our solution
It does not matter what theme is in use.
It does not matter what font is in displayed on the screen.
It does not matter where on the screen the application is located.
In GNOME Control Center we can enable Zoom, Large Text or High Contrast and the automation will still work.
If the application is in the Atspi tree in can be tested:
Evolution
Firefox
GNOME Control Center
GNOME Shell
GNOME Software
Disadvantages of our solution
Accessibility is primarily not meant to be used for automation.
Most applications we test have the Accessibility layer in imperfect/incomplete state.
Wrong coordinates.
Incorrect or missing names, roles or attributes.
Widgets for scroll bars have their limit set to 0 and cannot be changed even if a user can scroll in the GUI with no issues.
While most of the issues we find have relatively simple workarounds they still exist and have to be dealt with.
Problems with Accessibility in context of an automation are not a priority and might not get the attention they would need.
Full technical solution
For those interested in more details I am providing full technical solution for automation testing of GNOME Terminal on Fedora 38 with Wayland.
The article will guide you to fully functional Automation Testing solution.
from Fedora Project Leader Matthew Miller, on behalf of the Fedora Council
First, a personal note! As you may have seen, I was out sick with Covid for a month after getting home from our annual Council face-to-face meeting. It’s not been fun — some respiratory symptoms, but primarily, overwhelming fatigue. Somewhat ironically, the timing suggests that I managed to avoid catching anything at FOSDEM itself (where I wore a mask most of the time), or at the Council meeting, but rather on the plane or in the airport on the way back. Although emergency measures have been lifted, there really is still a pandemic going on. Be careful, everyone, especially when traveling! In any case, I’m back to myself now, and am excited for Fedora’s next big steps.
The Story so Far
So! I’ve been talking about “Strategy 2028” for a while — we started this effort seriously about a year ago. If you’re just joining in, or want a refresher, Fedora Strategy 2028: a topic index for our planning process is a great place to start. I won’t rehash all of that here.
The important thing is: 2023 was kind of a hard year, and although we made some progress, we lost momentum. The Council hackfest helped get things back on track, and we’re moving forward now. We’re not making any fundamental changes, but we are restructuring how we present things — and we’re moving on from theory to practical work.
A New Presentation
Over the last year, we got feedback from many people who felt that the organization into Themes and Focus Areas was overwhelming and confusing. It felt really big, maybe too much, and hard to know where one might fit in.
After some discussion, we decided that we could better present our various objectives as they align with something we’re all already very familiar with: Fedora’s “four foundations”: Freedom, Friends, Features, and First. The objectives we’ve talked about over the past year aren’t going away, but this gives us an easier way to organize and prioritize them over the next few years.
What Else?
Even with a big and ambitious plan, we left some important ideas behind. For example, we want to better tell our Fedora stories (both inside and outside the project), and we want work to improve distribution security. We’re not immediately adding planned effort on these, but our new framing around the Foundations gives us more room to add those things as needed.
Our project has amazing, passionate people who have done amazing things for Fedora and for the world of community-built, free and open source software in general. We should do more to celebrate them, to give everyone the recognition they deserve. We should show new and potential contributors the incredible things we’ve done and the exciting things we’re doing — and what it means to be part of our community.
The recent xz exploit relied on long-term, persistent social engineering within an open source project, along with a very sophisticated technical attack. A long discussion on the devel mailing list shows that we have many ideas for how we can make Fedora more resilient against such attacks as a project, and Fedora Linux safer as an operating system. Initiatives to work on these improvements may end up under a different umbrella, but will certainly have some interconnection.
As we go through the next five years, don’t be surprised to see us add Community Initiatives focused on these things — and others, as they emerge.
And then, there’s AI
We’ve all heard a lot about various “large language model” chatbots, and about image and even video creation. There is obviously a lot of hype around AI — and inevitably, over-the-top nonsense. We’re not really “just five years away” from actual generalized Artificial Intelligence. This isn’t the start of Skynet from The Terminator movies. Human creativity isn’t being replaced, and I don’t think all programmers will end up as “prompt engineers”.
However, there is something real here.
Advances in accelerated hardware and machine-learning software have unlocked possibilities which were imagined last century, but which were not practical at the time. When the dust settles around the hyperbole, I believe we’ll still be left with something significant, powerful.
In addition to the big showy LLM-based tools for chat and code generation, these advances have brought big jumps for more tailored tasks: for translation, file search, home automation, and especially for accessibility (already a key part of our strategy). For example, open source speech synthesis has long lagged behind proprietary options. Now, what we have in Fedora is not even close to the realism, nuance, and flexibility of AI-generated speech.
Right now, most of all this is proprietary. It’s corporate-owned closed models trained with hidden data, largely running on hardware without open source drivers. If we ignore this, we’re going to be left behind — not just Fedora, but free and open source software entirely. On the other hand, we can take a leadership position, and build a future where AI belongs to all of us.
The Guiding Star for Strategy 2028 is about growing our contributor base. We can make Fedora Linux the best community platform for AI, and in doing so, open a new frontier of contribution and community potential.
This won’t be easy. We have a lot of basic work on platform fundamentals. That’s drivers and tooling, packages and containers, and even new ways of distributing Fedora software. We also need to improve developer experience — for example, it’d be nice to have Podman Desktop as part of Fedora, with easy paths to getting started.
We can use AI/ML as part of making the Fedora Linux OS. New tools could help with package automation and bug triage. They could note anomalies in test results and logs, maybe even help identify potential security issues. We can also create infrastructure-level features for our users. For example, package update descriptions aren’t usually very meaningful. We could automatically generate concise summaries of what’s new in each system update — not just for each package, but highlighting what’s important in the whole set, including upstream change information as well.
At the same time, we need to work with the rest of the free and open source world to create labels for AI technology which aligns with our values. We need polices on what we allow, and on what we encourage. We may even need to fight for legal frameworks friendly to community-built software.
Finally, of course, we can provide models in the OS. This includes accessibility tooling, which can benefit everyone: imagine an all-local voice assistant that doesn’t send your conversations to some big datacenter or try to sell you things while simultaneously selling your personal data. We could also include tools that make it easier to find help, features to simplify system administration tasks, and interfaces to better organize your documents and media — all within your control, all running on a free and open source software stack.
We’re just getting started here (with, for example, Pytorch coming in Fedora Linux 40 1, CPU-only — for now). There will be more exciting things coming soon.
Next Steps
The next post will be the high-level view of Strategy 2028, updated from this new perspective.
The Council’s next immediate step is to identify Executive Sponsors and leaders for each Focus Area under the broad umbrellas of our Four Foundations. Then, we’ll plan and schedule concrete outputs and practical activities in each area. For larger efforts, we expect to launch Community Initiatives, but much of the work will be organized as smaller projects under each focus area banner. Expect more announcements soon as we build this out!