Chapter 22. Desktop

The following chapter contains the most notable changes to desktop between RHEL 8 and RHEL 9.

22.1. Notable changes to desktop

GNOME updated to version 40

The GNOME environment is now updated from GNOME 3.28 to GNOME 40 with many new features.

GNOME 40 includes a new and improved Activities Overview design. This gives the overview a more coherent look, and provides an improved experience for navigating the system and launching applications. Workspaces are now arranged horizontally, and the window overview and application grid are accessed vertically.

Other improvements to GNOME include:

  • The performance and resource usage of GNOME has been significantly improved.
  • The visual style, including the user interface, the login screen, the icons, and the desktop, has been refreshed.
  • GNOME applications no longer use the application menu, which was available from the top panel. The functionality is now located in a primary menu within the application window.
  • The Settings application has been redesigned.
  • Screen sharing and remote desktop sessions have been improved.
  • If you use the proprietary NVIDIA drivers, you can now launch applications using the discrete GPU:

    1. Open the overview.
    2. Right-click the application icon in the dash.
    3. Select the Launch on Discrete GPU item in the menu.
  • The Power Off / Log Out menu now includes the Suspend option and a new Restart option, which can reboot the system to the boot loader menu when you hold Alt.
  • Flatpak applications now update automatically.
  • You can now group application icons in the overview together into folders using drag and drop.
  • The Terminal application now supports right-to-left and bi-directional text.
  • The Pointer Location accessibility feature now works in the Wayland session. When the feature is enabled, pressing Ctrl highlights the pointer location on the screen.
  • GNOME Shell extensions are now managed by the Extensions application, rather than Software. The Extensions application handles updating extensions, configuring extension preferences, and removing or disabling extensions.
  • The notifications popover now includes a Do Not Disturb button. When the button enabled, notifications do not appear on the screen.
  • System dialogs that require a password now have an option to reveal the password text by clicking the eye (👁) icon.
  • The Software application now automatically detects metered networks, such as mobile data networks. When the current network is metered, Software pauses updates in order to reduce data usage.
  • Each connected display can now use a different refresh rate in the Wayland session.
  • Fractional display scaling is available as an experimental option. It includes several preconfigured fractional ratios.

    To enable the experimental fractional scaling, add the scale-monitor-framebuffer value to the list of enabled experimental features:

    $ gsettings set \
                org.gnome.mutter experimental-features \
                "['scale-monitor-framebuffer']"

    As a result, fractional scaling options are accessible on the Display panel in Settings.

    Note

    If the command fails with the following error:

    error: Failed to execute child process “dbus-launch” (No such file or directory)

    Install the dbus-launch package and repeat the command.

For more details on the changes in GNOME, see versions 3.30 to 40.0 in Release Notes.

X.org Server is now deprecated

The X.org display server is deprecated, and will be removed in a future major RHEL release. The default desktop session is now the Wayland session in most cases.

The X11 protocol remains fully supported using the XWayland back end. As a result, applications that require X11 can run in the Wayland session.

Red Hat is working on resolving the remaining problems and gaps in the Wayland session.

You can switch your user session back to the X.org back end. For more information, see Selecting GNOME environment and display protocol.

The Wayland session is now the default with NVIDIA drivers

When using the NVIDIA drivers, the desktop session now selects the Wayland display protocol by default, if the driver configuration supports Wayland. In previous RHEL releases, the NVIDIA drivers always disabled Wayland.

To enable Wayland with the NVIDIA drivers on your system, add the following options to the kernel command line:

  • nvidia-drm.modeset=1
  • NVreg_PreserveVideoMemoryAllocations=1

Note that Wayland has been the default display protocol with other graphics drivers since RHEL 8.0.

Under certain conditions, the NVIDIA drivers disable the Wayland display protocol and revert to the X.org display server:

  • If the version of the NVIDIA driver is lower than 470.
  • If the system is a laptop that uses hybrid graphics.
  • If you have not enabled the required NVIDIA driver options.
  • If the NVIDIA driver has not installed the required systemd services.

Additionally, Wayland is enabled but the desktop session uses X.org by default if the version of the NVIDIA driver is lower than 510.

Currently, the Wayland session with the NVIDIA drivers is still incomplete and presents certain known issues. Red Hat is actively working with NVIDIA to address these gaps and problems across the GPU stack.

X.Org X11 video drivers have been replaced by modesetting

The following X.Org X11 video drivers have been removed and replaced by the generic modesetting driver:

  • xorg-x11-drv-ati
  • xorg-x11-drv-intel
  • xorg-x11-drv-nouveau
  • xorg-x11-drv-qxl
  • xorg-x11-drv-vesa

GPUs supported by RHEL now automatically use the modesetting driver.

If you apply a custom X.Org configuration for any of the removed drivers in RHEL 8 or earlier, your configuration will have no effect in RHEL 9. Before upgrading to RHEL 9, check your X.Org configuration files and directories, such as /etc/X11/xorg.conf.d/.

This change does not affect the proprietary NVIDIA driver, which is not maintained by Red Hat.

PipeWire is now the default audio service

The PipeWire service now manages all audio output and input. PipeWire replaces the PulseAudio service in general use cases and the JACK service in professional use cases. The system now redirects audio from applications that use PulseAudio, JACK, or the ALSA framework into PipeWire.

Benefits of PipeWire over the previous solutions include:

  • A unified solution for consumer and professional users
  • A flexible, modular architecture
  • High performance and low latency, similar to the JACK service
  • Isolation between audio clients for better security

You no longer have to configure the JACK service for applications that use it. All JACK applications now work in the default RHEL configuration.

PulseAudio is still available in RHEL, and you can enable it instead of PipeWire. For details, see Switching from PipeWire to PulseAudio.

GNOME Boxes have been removed

The GNOME Boxes application has been removed from RHEL 9. Boxes used the SPICE system to connect to virtual machines (VMs). In RHEL 9, SPICE is no longer available, and as a consequence, Boxes have also been removed.

If you require Boxes, Red Hat suggests to install Boxes from the Flathub repository: Boxes on Flathub. This version of Boxes continues to use SPICE, and as a result, it supports the missing features listed previously.

Warning

Flathub is a community repository. Red Hat provides no support or guarantees for Boxes installed from Flathub.

For more information about SPICE in RHEL 9, see the SPICE section.

Power profiles are available in GNOME

You can now switch between several power profiles in the Power panel of Settings in the GNOME environment. The power profiles optimize various system settings for the selected goal.

The following power profiles are available:

Performance
Optimizes for high system performance and reduces battery life. This profile is only available on certain selected system configurations.
Balanced
Provides standard system performance and power consumption. This is the default profile.
Power Saver
Increases battery life and reduces system performance. This profile activates automatically on low battery.

Your power profile configuration persists across system reboots.

The power profiles functionality is available from the power-profiles-daemon package, which is installed by default.

Lightweight, single-application environment

For graphical use cases that only present a single application, a lightweight user interface (UI) is now available.

You can start GNOME in a single-application session, also known as kiosk mode. In this session, GNOME displays only a full-screen window of an application that you have configured.

The single-application session is significantly less resource intensive than the standard GNOME session.

For more information, see Restricting the session to a single application.

Language support is now provided by langpacks

Support for various languages is now available from langpacks packages. You can customize the level of language support that you want to install using the following package names, where code is the short ISO code for the language, such as es for Spanish:

langpacks-core-code

Provides a basic language support, including:

  • The glibc locale
  • The default font
  • The default input method if the language requires it
langpacks-core-font-code
Provides only the default font for the language.
langpacks-code

Provides the complete language support, including the following in addition to the basic language support:

  • Translations
  • Spell checker dictionaries
  • Additional fonts

Motif has been deprecated

The Motif widget toolkit has been deprecated in RHEL, because development in the upstream Motif community is inactive.

The following Motif packages have been deprecated, including their development and debugging variants:

  • motif
  • openmotif
  • openmotif21
  • openmotif22

Additionally, the motif-static package has been removed.

Red Hat recommends using the GTK toolkit as a replacement. GTK is more maintainable and provides new features compared to Motif.

Several bitmap fonts have been removed

The following bitmap font packages have been removed:

  • bitmap-console-fonts
  • bitmap-fixed-fonts
  • bitmap-fonts-compat
  • bitmap-lucida-typewriter-fonts

Red Hat has decided to remove these fonts because bitmap fonts have a limited pixel size. When you try to set a font size that is unavailable, the text might display in a different size or a different font, possibly a scalable one. This also decreases the rendering quality of bitmap fonts and disrupts the user experience.

Additionally, the fontconfig system ignores the Portable Compiled Format (PCF), one of the major bitmap font formats, because it contains no metadata to estimate the language coverage.

Note that the bitmap-fangsongti-fonts bitmap font package continues to be available to support the Lorax tool.

No Sign In button on the login screen

The login screen has been redesigned in this release. As a consequence, the login screen no longer includes a Sign In button, which was present in previous RHEL releases.

To confirm your password, press Enter instead.

Note also that the login options button (⚙) is now located in the lower-right corner of the screen.