How to fix Flickering in Fedora on Virtualbox

The most recent versions of Fedora Desktop run a version of Gnome that has display server to Wayland, replacing GNOME XOrg. Depending on your system configuration, you may experience a very noticeable and headache-inducing screen flicker as a result. The problem appears to be most noticeable in VirtualBox, especially on OSX.

Thankfully, we do not have to endure this tortuous flickering for long. The solution is to simply disable Wayland, forcing XOrg to run as the default display server.

There are a variety of reasons why Wayland introduces flickering when running Virtualbox. From my experiences it has been more prevalent on OSX, however, non-Apple users have completed too

We have two options to disable Wayland. We can either set our new desktop environment from the user session logon screen, or we can outright disable it from the Gnome Desktop Manager configuration, permanently disabling it across the entire system.

Select GNOME on Xorg at Login Screen

Thankfully, Fedora allows us to change our desktop at the user logon screen. This change is per user and is persistent, so every future logon will default to your selection. The downside to using this approach is that every affected user will have to follow the same instructions.

  1. Start the computer.
  2. Select your user session or click not listed? to manually enter your username.
  3. At the user logon screen, click the gear icon located next to the Sign In button.

    Fedora Login Screen
    Fedora Login Screen
  4. A drop down should appear with a few options.
  5. Select GNOME on Xorg.
  6. Enter your password and then click Sign In.

Edit GNOME Desktop Manager

If a system-wide approach is more akin to your liking or you would prefer a more permanent solution, you can edit the GNOME Desktop Manager configuration to explicitly disable Wayland.

The change will effectively force GNOME on Xorg and every user session will be affected.

    1. Open /etc/gdm/custom.conf into a text editor.
    2. Uncomment WaylandEnable, if it is commented out, and ensure it is set to false.
      # GDM configuration storage
      
      [daemon]
      # Uncomment the line below to force the login screen to use Xorg
      WaylandEnable=false
      
      [security]
      
      [xdmcp]
      
      [chooser]
      
      [debug]
      # Uncomment the line below to turn on debugging
      #Enable=true
    3. Alternatively, you can set the default Display server to Xorg by adding the following line under daemon.
      DefaultSession=gnome=xorg.desktop
    4. Save your changes and restart the computer.