Chapter 2. Overview of GNOME environments

You can switch between several user interfaces in GNOME. Additionally, GNOME can run on several different graphics back ends.

2.1. GNOME environments, back ends, and display protocols

GNOME 3 provides two user environments:

  • GNOME Standard
  • GNOME Classic

Both environments can use two different protocols as their graphical back ends:

  • The X11 protocol, which uses X.Org as the display server.
  • The Wayland protocol, which uses GNOME Shell as the Wayland compositor and display server.

    This solution of display server is further referred as GNOME Shell on Wayland.

The default combination in RHEL 8 is GNOME Standard environment using GNOME Shell on Wayland as the display server. However, due to certain Wayland limitations, you might want to switch the graphics protocol stack to X11. You may also want to switch from GNOME Standard to GNOME Classic.

Additional resources

2.2. GNOME Standard

GNOME Standard user interface includes these major components:

Top bar
The horizontal bar at the top of the screen provides access to some of the basic functions of GNOME Standard, such as the Activities Overview, clock and calendar, system status icons, and the system menu.
System menu

The system menu is located in the top right corner, and enables you:

  • Updating settings
  • Controlling the sound bar
  • Finding information about your Wi-Fi connection
  • Switching user
  • Logging out
  • Turning off the computer
Activities Overview

The Activities Overview features windows and applications views that let the user run applications and windows and switch between them.

The search entry at the top allows for searching various items available on the desktop, including applications, documents, files, and configuration tools.

The vertical bar on the left side contains a list of favorite and running applications. You can add or remove applications from the default list of favorites according to your needs.

The workspace list displayed on the right side allows the user to switch between multiple workspaces, or move applications and windows from one workspace to another.

Message tray
The message tray provides access to pending notifications. The message tray shows when the user presses Super+M.

The GNOME 3 Standard Desktop

gnome standard new

2.3. GNOME Classic

GNOME Classic represents a mode for users who prefer a more traditional desktop experience that is similar to GNOME 2 environment used with Red Hat Enterprise Linux 6. It is based on GNOME 3 technologies, and at the same time it includes multiple features similar to GNOME 2.

GNOME Classic user interface consists of these major components:

Applications and Places

The Applications menu is displayed at the top left of the screen. It gives the user access to applications organized into categories. If you enable window overview, you can also open the Activities Overview from that menu.

The Places menu is displayed next to the Applications menu on the top bar. It gives the user quick access to important folders, for example Downloads or Pictures.

Taskbar

The taskbar is displayed at the bottom of the screen, and features:

  • A window list
  • A notification icon displayed next to the window list
  • A short identifier for the current workspace and total number of available workspaces displayed next to the notification icon
Four available workspaces
In GNOME Classic, the number of workspaces available to the user is by default set to 4.
Minimize and maximize buttons
Window titlebars in GNOME Classic feature the minimize and maximize buttons that let the user quickly minimize the windows to the window list, or maximize them to take up all of the space on the desktop.
A traditional Super+Tab window switcher
In GNOME Classic, windows in the Super+Tab window switcher are not grouped by application.
System menu

The system menu is located in the top right corner, and enables the following actions:

  • Updating settings
  • Controlling the sound bar
  • Finding information about your Wi-Fi connection
  • Switching user
  • Logging out
  • Turning off the computer

The GNOME 3 Classic desktop with the Rhythmbox application and the Favorites submenu of the Applications menu

gnome classic new

In GNOME Classic, the overview of windows that are open is not available by default. You can see the list of all open windows in the taskbar at the bottom of the screen. However, you can enable the windows overview similar to what is by default available in GNOME Standard by changing the default settings of the GNOME Classic environment as described in Section 2.4, “Enabling window overview in GNOME Classic”.

2.4. Enabling window overview in GNOME Classic

In GNOME Classic, the overview of open windows is not available by default. This procedure enables the window overview for all users on the system.

Important

Enabling the window overview by this procedure is not a permanent change. Each update of the gnome-classic-session package overwrites the configuration file to the default settings, which disable the window overview.

To keep the window overview enabled, apply the procedure after each update of gnome-classic-session.

Procedure

  1. Open the /usr/share/gnome-shell/modes/classic.json file as the root user.
  2. Find the following line in the file:

    "hasOverview": false
  3. Change the line to the following:

    "hasOverview": true
  4. Save changes, and close the /usr/share/gnome-shell/modes/classic.json file.
  5. Restart the user session.

Verification steps

  1. In your GNOME Classic session, open multiple windows.
  2. Press the Super key to open the window overview.
  3. In the overview, check that:

    • The Dash (the vertical panel on the left side of the screen) is displayed.
    • The bottom panel is not displayed.
    • The workspace switcher is displayed on the right side of the screen.

      Window overview with "hasOverview": true

      has overview true

    With the default settings ("hasOverview": false), the overview has the following features:

    • The Dash is not displayed.
    • The bottom panel is displayed. It includes the Window picker button in its left part and the workspace switcher in its right part.

      Window overview with "hasOverview": false

      has overview false

2.5. Graphics back ends in RHEL 8

In RHEL 8, you can choose between two protocols to build a graphical user interface:

X11
The X11 protocol uses X.Org as the display server. Displaying graphics based on this protocol works the same way as in RHEL 7, where this was the only option.
Wayland
The Wayland protocol on RHEL 8 uses GNOME Shell as its compositor and display server, which is further referred as GNOME Shell on Wayland. Displaying graphics based on the Wayland protocol has some differences and limitation compared to X11.

New installations of RHEL 8 automatically select GNOME Shell on Wayland. However, you can switch to X.Org, or select the required combination of GNOME environment and display server as described in Section 2.8, “Selecting GNOME environment and display protocol”.

Note that there are also a few environments where X.Org is preferred over GNOME Shell on Wayland, such as:

  • Cirrus graphics used in a VM environment
  • Matrox graphics
  • Aspeed graphics
  • QXL graphics used in a VM environment
  • Nvidia graphics when used with the proprietary driver
Important

The Nvidia graphics by default use nouveau, which is an open source driver. nouveau is supported on Wayland, hence you can use Nvidia graphics with nouveau on GNOME Shell on Wayland without any limitations. However, using Nvidia graphics with proprietary Nvidia binary drivers is not supported on GNOME Shell on Wayland. In this case, you need to switch to X.Org as described in Section 2.8, “Selecting GNOME environment and display protocol”.

Additional resources

  • You can find the current list of environments for which Wayland is not available in the /usr/lib/udev/rules.d/61-gdm.rules file.
  • For additional information on the Wayland project, see Wayland documentation.

2.6. Key differences between the Wayland and X11 protocol

X11 applications

Client applications need to be ported to the Wayland protocol or use a graphical toolkit that has a Wayland backend, such as GTK, to be able to work natively with the compositor and display server based on Wayland.

Legacy X11 applications that cannot be ported to Wayland automatically use Xwayland as a proxy between the X11 legacy clients and the Wayland compositor. Xwayland functions both as an X11 server and a Wayland client. The role of Xwayland is to translate the X11 protocol into the Wayland protocol and reversely, so that X11 legacy applications can work with the display server based on Wayland.

On GNOME Shell on Wayland, Xwayland is started automatically at startup, which ensures that most X11 legacy applications work as expected when using GNOME Shell on Wayland. However, the X11 and Wayland protocols are different, and hence some clients relying on X11-specific features may behave differently under Xwayland. For such specific clients, you can switch to the X.Org display server as described in Section 2.8, “Selecting GNOME environment and display protocol”.

libinput

Red Hat Enterprise Linux 8 uses a new unified input stack, libinput, which manages all common device types, such as mice, touchpads, touchscreens, tablets, trackballs and pointing sticks. This unified stack is used both by the X.Org and by the GNOME Shell on Wayland compositor.

GNOME Shell on Wayland uses libinput directly for all devices, and no switchable driver support is available. Under X.Org, libinput is implemented as the X.Org libinput driver, and driver support is outlined below.

Mice, touchscreens, trackballs, pointing sticks
Red Hat Enterprise Linux 8 uses the X.Org libinput driver for these devices. The X.Org evdev driver, which was used in Red Hat Enterprise Linux 7, is available as fallback where required.
Touchpads
Red Hat Enterprise Linux 8 uses the X.Org libinput driver for touchpads. The X.Org synaptics driver, which was used for touchpads in Red Hat Enterprise Linux 7, is no longer available.
Graphics tablets
Red Hat Enterprise Linux 8 continues using the X.Org wacom driver, which was used for tablet devices in Red Hat Enterprise Linux 7. However, the X.Org libinput driver is available where required.
Other input devices
Red Hat Enterprise Linux 7 used the X.Org evdev driver for other input devices that are not included in the above categories. Red Hat Enterprise Linux 8 uses the X.Org libinput driver by default but can fall back to the X.Org evdev driver if a device is incompatible with libinput.

Gestures

GNOME Shell on Wayland supports new touchpad and touchscreen gestures. These gestures include:

  • Switching workspaces by dragging up or down with four fingers.
  • Opening the Activities overview by bringing three fingers closer together.

2.7. Current Wayland limitations

Nvidia drivers

Proprietary Nvidia binary drivers are not supported with GNOME Shell on Wayland. To avoid any complications while using the Nvidia GPU, GNOME Shell automatically falls back to X.Org, which means that the login screen does not provide any option based on the Wayland protocol.

Note

The nouveau driver is still supported and is the default driver for Nvidia graphics.

Remote desktop

With GNOME Shell on Wayland, VNC support is provided by the gnome-remote-desktop package. Remote access using VNC via gnome-remote-desktop currently requires an already logged in session, and only the primary monitor is accessible. Screen sharing with GNOME Shell on Wayland is possible using the PipeWire media server. For more details on the PipeWire media server, see PipeWire project.

For more advanced VNC usage, you need to switch to X.org, where traditional VNC tools are available. For more information, see Section 2.8, “Selecting GNOME environment and display protocol” .

X Display Manager

The X Display Manager Control Protocol (XDMCP) is not supported with GNOME Shell on Wayland.

Hence, it is not possible to use the X display manager to start a session on the X.Org display server from the same or another computer.

Additional limitations

The following additional limitations related to the Wayland protocol should be noted:

  • X.Org screen manipulation utilities are not available.
  • The xrandr utility is not supported because Wayland handles layout, rotations, and resolutions differently.
  • GNOME Shell cannot be restarted using the Alt+F2 r shortcut.
  • Due to stability issues, using X.org instead of Wayland is recommended in virtual environments. The graphics based on the Wayland protocol are not available for virtual machines that use the qxl driver.
  • Wayland does not support the custom or niche input devices that cannot be handled by the libinput driver.

Additional resources

  • You can find the current list of environments for which Wayland-based graphics are unavailable in the /usr/lib/udev/rules.d/61-gdm.rules file.

2.8. Selecting GNOME environment and display protocol

The default desktop environment for Red Hat Enterprise Linux 8 is GNOME Standard with GNOME Shell on Wayland as the display server. However, due to certain limitations of Wayland, you might want to switch the graphics protocol stack. You might also want to switch from GNOME Standard to GNOME Classic.

Procedure

  1. From the login screen (GDM), click the cogwheel next to the Sign In button.

    Note

    You cannot access this option from the lock screen. The login screen appears when you first start Red Hat Enterprise Linux 8 or when you log out of your current session.

    gnome environments new

  2. From the drop-down menu that appears, select the option that you prefer.

    Note

    Note that in the menu that appears on the login screen, the X.Org display server is marked as X11 display server.

Important

The change of GNOME environment and graphics protocol stack resulting from the above procedure is persistent across user logouts, and also when powering off or rebooting the computer.