Skip to main content

GNOME

Base GNOME Packages

Base GNOME packages for the full GNOME experience. Bundle with other packages to prevent package conflicts providing the same functionality. Explicitly selected packages take precedence over packages auto-selected via dependencies.

pacman -S gnome gnome-extra

Video Acceleration

Drivers for hardware accelerated desktop rendering, improving performance and fidelity.

Intel

pacman -S mesa vulkan-intel intel-media-driver libva-intel-driver
yay -S intel-hybrid-codec-driver

AMDGPU

pacman -S xf86-video-amdgpu libva-mesa-driver vulkan-radeon amdvlk 

Nvidia

Nouveau open source driver

pacman -S libva-mesa-driver mesa-vdpau
yay -S nouveau-fw

Proprietary driver

pacman -S nvidia nvidia-utils # Includes Vulkan driver

Audio

Use PipeWire as a more current and modern low-latency sound server. Also better suited for WebRTC and screen recording in Wayland sessions (GNOME uses Wayland by default)

pacman -S pipewire pipewire-pulse pipewire-jack pipewire-alsa wireplumber

Bluetooth

pacman -S bluez bluez-utils
systemctl enable bluetooth

Spell Checking

pacman -S hunspell hunspell-de hunspell-en_US hyphen hyphen-de 

Printing

pacman -S cups logrotate system-config-printer
systemctl enable cups

Firefox

pacman -S firefox firefox-i18n-de
echo "MOZ_X11_EGL=1" >> /etc/environment
echo "MOZ_ENABLE_WAYLAND=1" >> /etc/environment
echo "MOZ_WEBRENDER=1" >> /etc/environment

Alternatively, navigate to about:config and set gfx.webrender.all to true to enable WebRender compositor.

Hardware Decoding

Set the following in about:config

media.ffmpeg.vaapi.enabled                     => true
media.ffvpx.enabled                            => false
media.rdd-vpx.enabled                          => false
media.navigator.mediadatadecoder_vpx_enabled   => true

Setting up display manager

Start GDM on boot

Start the GNOME Display Manager (GDM) on boot to be presented with a graphical login screen.

systemctl enable gdm

When using Nvidia proprietary drivers

For the longest time Nvidia only supported their EGLStreams interface for Wayland sessions. Despite GNOME having support for both EGLStreams and the more popular GBM interface, the GNOME Display Manager disables the Wayland session via a udev rule, if it detects the proprietary driver is in use, to prevent problems with the login screen not showing.

To force enable GNOME's Wayland session even with the proprietary Nvidia driver installed, check the following files

    /etc/gdm/custom.conf: Make sure the line WaylandEnable=false is commented out /usr/lib/udev/rules.d/61-gdm.rules: Make sure the line DRIVER=="nvidia", RUN+="/usr/lib/gdm-runtime-config set daemon WaylandEnable false" is commented out

    Keep in mind that Wayland depends on Kernel Mode Setting to function properly, so it is necessary to include the appropriate kernel modules in the kernel image and the setting the kernel commandline parameter to enable KMS support for the proprietary Nvidia driver!

      In /etc/mkinitcpio.conf add the following modules:
      MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)
      
      Rebuild the kernel image
      mkinitcpio -P
      
      Add the following kernel commandline parameter to your boot manager configuration
      nvidia-drm.modeset=1
      

      Set Keymap for GDM

      NOTE: Executing this does not workcommand while chrooted into an installation.installation will produce an error that the locale could not be found. Set after rebooting the system.

      localectl set-x11-keymap de
      

      Plymouth

      Optionally, as an alternative, install gdm-plymouth (AUR) for a smooth transition from boot splash:

      yay -S gdm-plymouth
      systemctl enable gdm-plymouth
      

      Generate well-known user directories

      xdg-user-dirs-update
      

      Misc additional packages

      Additional packages you might want:

      • gthumb: Image viewer with simple editing capabilities
      • lollypop: Music player for GNOME
      • seahorse: Secrets manager (login credentials, SSH key passphrases, GPG keys)
      • fwupd: Firmware update manager; allows UEFI capsule updates in GNOME Software if supported by firmware
      • gnome-software-packagekit-plugin: Manage Arch packages in GNOME Software
      pacman -S gthumb lollypop seahorse fwupd gnome-software-packagekit-plugin
      

      Remove potentially unwanted packages

      GNOME Dev Tools

      pacman -Rsc accerciser devhelp glade gnome-builder sysprof
      

      User Software

      pacman -Rsc gnome-recipes
      

      Games

      pacman -Rsc five-or-more four-in-a-row gnome-chess gnome-klotski gnome-mahjongg gnome-mines gnome-nibbles gnome-robots gnome-robots gnome-sudoku gnome-taquin gnome-tetravex hitori iagno lightsoff polari quadrapassel swell-foop tali
      

      Customize GDM (wallpaper, logo, message)

      1. Create directories:
        mkdir -p /etc/dconf/profile
        mkdir -p /etc/dconf/db/gdm.d/
        
      2. Create config files
        touch /etc/dconf/profile/gdm
        touch /etc/dconf/db/gdm.d/01-login-screen
        
      3. Contents of /etc/dconf/profile/gdm
        user-db:user
        system-db:gdm
        file-db:/usr/share/gdm/greeter-dconf-defaults
        
      4. Contents of /etc/dconf/db/gdm.d/01-login-screen
        [org/gnome/login-screen]
        banner-message-enable=true
        banner-message-text='Lorem ipsum dolor sit amet'
        logo='/path/to/image.file'
        [org/gnome/desktop/background]
        picture-uri='file:///usr/share/backgrounds/arsmedium/background.jpg'
        
      5. Update gconf to apply configs
        dconf update