Desktop

Install Budgie Desktop on Fedora 45 / 44: Wayland, labwc and SDDM

Budgie on Fedora is a Wayland desktop now. There is no X11 session to pick, the window manager is the labwc compositor, and the login screen is SDDM, so most of the Budgie Desktop on Fedora instructions still floating around (including the ~/.xinitrc and startx trick this page used to carry) no longer start anything.

Original content from computingforgeeks.com - post 156444

Below is the path that does work: choosing between the full Budgie environment and the bare group, installing it with dnf, switching the machine to a graphical boot, logging in through SDDM, confirming the session really runs on Wayland and labwc, and removing Budgie again without leaving half of it behind. Every command and output here comes from two minimal Fedora Cloud Base VMs with SELinux enforcing, one on Fedora 45 (Budgie 10.10.3) and one on Fedora 44 (Budgie 10.10.2), in October 2026.

Pick the environment or the bare group

Fedora ships Budgie as one environment and two groups. List them:

dnf environment list | grep -i budgie
dnf group list --hidden | grep -i budgie

Fedora 45 and Fedora 44 print the same three IDs:

budgie-desktop-environment        Budgie Desktop                              no
budgie-desktop             Budgie                                             no
budgie-desktop-apps        Budgie Desktop Applications                        no

The environment, budgie-desktop-environment, pulls in both Budgie groups plus base-x, fonts, multimedia, printing, input methods and hardware support. The budgie-desktop group is the shell alone: panel, control center, labwc, SDDM and the Miriway greeter. The budgie-desktop-apps group adds the default applications. They are mostly KDE programs (Konsole, Dolphin, Kate, Okular, Ark, Discover), plus Firefox, Rhythmbox, Parole and Seahorse.

This catches people out. The bare group ships no terminal and no file manager. Log in after a group-only install and the panel menu has almost nothing to launch. Install budgie-desktop-apps with it unless you plan to add your own tools.

Sizes from a dry run on each minimal VM:

SelectionFedora 45Fedora 44
@budgie-desktop-environment1321 packages, 2 GiB download, 4 GiB installed1379 packages, 1 GiB download, 4 GiB installed
budgie-desktop group664 packages, 519 MiB download, 2 GiB installed685 packages, 501 MiB download, 2 GiB installed
budgie-desktop-apps on top of the groupnot measured231 packages, 396 MiB download, 1 GiB installed

On a Workstation install that already runs GNOME, many of the base groups in the environment are already present, so expect a smaller transaction. The numbers above are the worst case: a server or cloud image with no desktop at all. If you are starting from a fresh Fedora install, the Fedora 45 Server and Workstation install guide covers the base system first.

Install Budgie with dnf

Preview the transaction before committing to a few gigabytes:

sudo dnf install --assumeno @budgie-desktop-environment

On the Fedora 45 VM the summary read:

Transaction Summary:
 Installing:      1321 packages

Total size of inbound packages is 2 GiB. Need to download 2 GiB.
After this operation, 4 GiB extra will be used (install 4 GiB, remove 0 B).
Operation aborted by the user.

Install the full environment:

sudo dnf install @budgie-desktop-environment

For the smaller footprint, install the shell group and the application group instead. We ran them one after the other on Fedora 44:

sudo dnf group install budgie-desktop
sudo dnf group install budgie-desktop-apps

Either route lands the same core packages. Query them to see which display manager came along:

rpm -q budgie-desktop budgie-session labwc sddm sddm-wayland-miriway lightdm gdm budgie-control-center budgie-desktop-view budgie-screensaver gtklock

Fedora 45 output. SDDM and the Miriway greeter are in, LightDM and GDM are not, and gtklock is the screen locker instead of budgie-screensaver:

budgie-desktop-10.10.3-2.fc45.x86_64
budgie-session-1.0.1-3.fc45.x86_64
labwc-0.20.2-2.fc45.x86_64
sddm-0.21.0-16.fc45.x86_64
sddm-wayland-miriway-26.08-1.fc45.noarch
package lightdm is not installed
package gdm is not installed
budgie-control-center-2.1.3-3.fc45.x86_64
budgie-desktop-view-10.10.3-2.fc45.x86_64
package budgie-screensaver is not installed
gtklock-4.0.0-4.fc45.x86_64

Fedora 44 returned the same package set with older builds. The comparison table at the end lists both.

Only one session file exists, and it is a Wayland one:

ls /usr/share/xsessions/ /usr/share/wayland-sessions/

The X11 directory is empty on both releases:

/usr/share/wayland-sessions/:
budgie-desktop.desktop

/usr/share/xsessions/:

The Exec= line in that file is /usr/bin/startbudgielabwc. The script exports the Wayland toolkit variables, copies a Budgie-specific labwc config into ~/.config/budgie-desktop/labwc/ on first run, and then starts labwc with budgie-desktop as its startup command. X11 applications still run through Xwayland.

Switch the machine to a graphical boot

The install enables SDDM but leaves the boot target alone. Check both:

ls -l /etc/systemd/system/display-manager.service; systemctl is-enabled sddm; systemctl get-default

SDDM owns the display-manager link, but the machine still boots to text:

lrwxrwxrwx. 1 root root 36 Oct  8 10:49 /etc/systemd/system/display-manager.service -> /usr/lib/systemd/system/sddm.service
enabled
multi-user.target

On a server, cloud or minimal install, set the graphical target. Without it, a reboot drops you at a console login and SDDM never starts:

sudo systemctl set-default graphical.target

systemd swaps the default.target symlink:

Removed '/etc/systemd/system/default.target'.
Created symlink '/etc/systemd/system/default.target' → '/usr/lib/systemd/system/graphical.target'.

Both lab VMs started with no display manager at all. Workstation already boots to graphical.target, and GDM may still hold the display-manager link there. We did not test that edition, so run the same ls -l check on it before rebooting and see which service the link names. Reboot:

sudo reboot

Log in through SDDM

The Fedora SDDM config runs the greeter on Miriway, a small Wayland compositor (DisplayServer=wayland in /usr/lib/sddm/sddm.conf.d/miriway.conf). On our VMs the screen stayed black after boot until the first key press or mouse move, and then the greeter drew. A blank screen right after the reboot does not mean the install failed. Press Shift first.

The Session menu at the top left already shows Budgie Desktop, since it is the only session on the box. Pick your user and type the password:

SDDM Miriway greeter showing the Budgie Desktop session menu on Fedora 44

The user cards show the GECOS full name, not the login. Cloud images create users with the generic “Fedora Cloud User” comment, so set a real name with sudo usermod -c "Your Name" youruser if you have more than one account and need to tell them apart.

After the environment install, the menu has the full application set from the apps group, including Firefox, Dolphin, Kate and Discover:

Budgie desktop on Fedora 45 with the application menu open after the environment install

Panel layout, themes, fonts, Raven and autostart entries all live in Budgie Desktop Settings. The Style page also has a separate Labwc Compositor Theme dropdown, which controls window borders independently of the GTK theme:

Budgie Desktop Settings window with widget, icon and labwc compositor theme options on Fedora 45

Network, sound, displays and users are in Budgie Control Center, a separate app in the same menu.

Confirm the session runs on Wayland and labwc

Open Konsole from the menu and print the session type, the desktop name and the component versions:

echo $XDG_SESSION_TYPE $XDG_CURRENT_DESKTOP; budgie-desktop --version | head -1; labwc --version; cat /etc/fedora-release

On Fedora 45 the terminal reports a Wayland session named Budgie, running on labwc and wlroots:

Konsole on Budgie showing wayland session, budgie-desktop and labwc versions on Fedora 45

The same command on the Fedora 44 VM, after adding the apps group to get Konsole, printed wayland Budgie and the older Budgie and labwc builds from the table at the end.

logind gives a second opinion, and it works from an SSH shell too. It reads the properties of the session on the physical seat:

loginctl show-session $(loginctl list-sessions --no-legend | awk '$4=="seat0"{print $1}') -p Type -p Desktop -p Service -p TTY -p Remote

Both releases returned an SDDM-started Wayland session on tty2:

TTY=tty2
Remote=no
Service=sddm
Desktop=Budgie
Type=wayland

Check the running processes for your user:

ps -u $USER -o comm= | grep -E -x "labwc|budgie-panel|budgie-daemon|budgie-session|budgie-desktop-view|budgie-wm|gtklock|swayidle|Xwayland|nemo|thunar|nautilus" | sort -u

labwc is the compositor, budgie-panel and budgie-daemon are the shell, and swayidle handles idle timeouts:

budgie-daemon
budgie-panel
labwc
swayidle

pgrep -a Xorg printed nothing on either VM. Neither had gnome-shell or mutter installed, and coredumpctl list reported no coredumps after the logins. Budgie still pulls in gnome-settings-daemon and mutter-common, but it does not need GNOME Shell. If you want a different Wayland setup on the same machine, the Sway and Waybar guide for Fedora sits on the same wlroots family as labwc.

Why the old startx method no longer works

Older guides told you to put this in ~/.xinitrc and run startx:

env GNOME_SHELL_SESSION_MODE=Budgie:GNOME /usr/bin/budgie-desktop

That line is dead on both releases. /usr/bin/budgie-desktop is now a shell script that waits for a Wayland compositor before it starts the session, so under a bare X server it has nothing to attach to. The GNOME_SHELL_SESSION_MODE variable belongs to the old GNOME-based Budgie and is ignored. We still tried it, from a text console on Fedora 45, to see how far it gets.

Error: “/usr/libexec/Xorg.wrap: Only console users are allowed to run the X server”

The environment install does bring in the Xorg server (base-x is one of its groups), so startx exists. On Fedora 45 it still stopped before X came up:

/usr/libexec/Xorg.wrap: Only console users are allowed to run the X server
xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error
Couldn't get a file descriptor referring to the console.

The reason is the Fedora 45 console. Its virtual terminals run kmscon instead of agetty, so a “console” login is really a pseudo-terminal. logind recorded our tty3 login as TTY=pts/1, and Xorg.wrap refuses to start for that. The swap happens through a preset and an alias link:

ls -l /etc/systemd/system/[email protected]

autovt@ is an alias for kmsconvt@:

lrwxrwxrwx. 1 root root 41 Sep  5 18:04 /etc/systemd/system/[email protected] -> /usr/lib/systemd/system/[email protected]

Switch to a couple of consoles, then list the console units:

rpm -q kmscon; systemctl list-units --no-legend "kmsconvt@*" "autovt@*" "getty@*"

Every console we had opened was a kmscon instance, and no getty was running:

kmscon-10.0.4-1.fc45.x86_64
  [email protected] loaded active running KMS System Console on tty2
  [email protected] loaded active running KMS System Console on tty3

kmscon is in Fedora 45’s core group, and redhat-systemd-presets-common enables kmsconvt@ and disables getty@. Our Fedora 44 VM had no kmscon installed, and its group-only Budgie install does not include the Xorg server at all, so startx has no server to launch there either.

Error: “Failed to open device: ‘/dev/dri/card0’: Device or resource busy”

The modern equivalent of startx is running startbudgielabwc from a console login. On Fedora 45 labwc could not get the GPU:

00:00:00.013 [ERROR] [libseat] [libseat/backend/logind.c:121] Could not take device: Device or resource busy
00:00:00.013 [ERROR] [backend/session/session.c:340] Failed to open device: '/dev/dri/card0': Device or resource busy
00:00:00.013 [ERROR] [backend/backend.c:245] Found 0 GPUs, cannot create backend
00:00:00.013 [ERROR] [backend/backend.c:420] Failed to open any DRM device
00:00:00.025 [ERROR] [../src/server.c:525] unable to create backend

fuser -v /dev/dri/card0 showed two kmscon processes holding the card, next to the Miriway shell that draws the SDDM greeter. We also started a classic getty on tty4 by hand and tried again. labwc then gave up with “Timeout waiting session to become active”. On Fedora 45, log in through SDDM. Fighting kmscon for the DRM device is not worth it on a desktop that has a working greeter.

Error: “Failed to acquire DBus service name org.buddiesofbudgie.Services”

Fedora 44 uses plain agetty consoles, and there startbudgielabwc from tty3 did bring up a full Budgie session, with one condition: the same user must not already be logged in through SDDM. With the SDDM session still running on tty2, the console attempt failed:

[critical] Failed to acquire DBus service name org.buddiesofbudgie.Services
(EE) failed to read Wayland events: Broken pipe
Gdk-Message: 10:57:12.900: Error reading events from display: Broken pipe

The Budgie services daemon claims a name on the per-user session bus, and only one session can hold it. Log out of the graphical session (or loginctl terminate-session it), then run startbudgielabwc again from the console. The second attempt registered with logind as a Wayland session:

loginctl show-session $(loginctl list-sessions --no-legend | awk '$7=="tty3"{print $1}') -p TTY -p Type -p Service -p Active

Service is login rather than sddm, and the type is still wayland:

TTY=tty3
Service=login
Type=wayland
Active=yes

In the VM, labwc also logged “Software rendering detected, please use the WLR_RENDERER_ALLOW_SOFTWARE environment variable to proceed” and an EGL failure, then came up anyway. On hardware with a working GPU driver those lines should not appear.

Remove Budgie

Point the boot target back to text first, so the next reboot does not try to start a display manager you are about to delete:

sudo systemctl set-default multi-user.target

How the rest goes depends on what you installed. Removing the environment is the one that surprises people:

sudo dnf remove @budgie-desktop-environment

On Fedora 45 that removed 438 of the 1321 packages and only re-marked 90 others:

Transaction Summary:
 Removing:         438 packages
 Changing reason:   90 packages

After this operation, 2 GiB will be freed (install 0 B, remove 2 GiB).

Budgie itself survived. Query the main packages:

rpm -q budgie-desktop labwc sddm sddm-wayland-miriway firefox dolphin konsole

Everything except Konsole was still installed, and SDDM was still the display manager:

budgie-desktop-10.10.3-2.fc45.x86_64
labwc-0.20.2-2.fc45.x86_64
sddm-0.21.0-16.fc45.x86_64
sddm-wayland-miriway-26.08-1.fc45.noarch
firefox-157.0-1.fc45.x86_64
dolphin-26.08.1-1.fc45.x86_64
package konsole is not installed

Running dnf group remove budgie-desktop budgie-desktop-apps at this point does nothing, because dnf no longer lists those groups as installed. The leftovers are now marked as dependencies, so autoremove is what finishes the job:

sudo dnf autoremove

Read the list before you confirm. On our VM it held 820 packages, and afterwards the kernel, systemd, sudo, NetworkManager, openssh-server and cloud-init were all still installed:

Transaction Summary:
 Removing:         820 packages

After this operation, 3 GiB will be freed (install 0 B, remove 3 GiB).

After that, budgie-desktop, labwc, SDDM, Firefox, Dolphin and the Xorg server were all gone, along with the display-manager link. The VM went from 1877 packages and 4445 MiB used on / to 619 packages and 1547 MiB.

The group route behaves more predictably. On Fedora 44:

sudo dnf group remove budgie-desktop budgie-desktop-apps

That removed 680 packages, including SDDM and the display-manager link, and took the VM from 1455 packages to 775. A follow-up sudo dnf autoremove found 237 more orphans worth 599 MiB, which left 538 packages and 1474 MiB used. That is the same package count our Fedora 44 Cloud Base VM had before any desktop in the earlier Cinnamon lab. The group removal also downgraded libsoup3 to the build from the base fedora repository, so run sudo dnf upgrade afterwards to pull the current update back in.

On both releases dnf leaves your home directory alone. ~/.config/budgie-desktop/, with the copied labwc rc.xml, environment and menu.xml, stays behind. Delete it if you are not coming back. Want a different desktop next? The Cinnamon on Fedora guide and the KDE Plasma install guide use the same group workflow. Xfce and Pantheon are covered too.

Fedora 45 and Fedora 44 side by side

What differed between the two VMs, and what did not:

ItemFedora 45Fedora 44
budgie-desktop10.10.3-2.fc4510.10.2-1.fc44
labwc0.20.2-2.fc450.9.6-1.fc44
sddm / sddm-wayland-miriway0.21.0-16 / 26.08-10.21.0-13 / 26.01-2
Session types availableWayland onlyWayland only
Boot target after installmulti-user.target (set graphical by hand)multi-user.target (set graphical by hand)
SDDM loginWorks, Type=waylandWorks, Type=wayland
Text consolekmscon (login shows as pts)agetty
startbudgielabwc from a consoleFails, /dev/dri/card0 busyWorks once no SDDM session is open for the user
xinitrc + startxFails, Xorg.wrap refusesNo Xorg server with the group install
Clean removaldnf remove @environment, then dnf autoremovednf group remove both groups, then dnf autoremove

The short version: install the environment or both groups, set graphical.target, log in through SDDM, and treat startx as history. Once the desktop is up, the things to do after installing Fedora 45 list covers codecs, Flathub and updates, which apply under Budgie the same way they do under GNOME.

Keep reading

Enable RPM Fusion and Install Multimedia Codecs on Fedora 45 / 44 / 43 Fedora Enable RPM Fusion and Install Multimedia Codecs on Fedora 45 / 44 / 43 Backup and Restore Linux Systems with Timeshift Debian Backup and Restore Linux Systems with Timeshift Things to Do After Installing CachyOS Arch Linux Things to Do After Installing CachyOS dnf versionlock on Fedora: Lock Packages and Kernels (dnf5) Fedora dnf versionlock on Fedora: Lock Packages and Kernels (dnf5) Fix ptrace Operation not permitted for gdb and strace on Fedora Fedora Fix ptrace Operation not permitted for gdb and strace on Fedora Best PDF to Image Converter on Windows and Mac Desktop Best PDF to Image Converter on Windows and Mac

1 thought on “Install Budgie Desktop on Fedora 45 / 44: Wayland, labwc and SDDM”

  1. Hi thanx for you blog. I would like to know which graphical manager works with Bougie desktop ? x11? Wayland ? Or both ?

    Reply

Leave a Comment

Press ESC to close