FreeBSD.software
Home/Guides/State of Wayland on FreeBSD in 2026
guide·2026-04-09·9 min read

State of Wayland on FreeBSD in 2026

Comprehensive look at Wayland support on FreeBSD in 2026. Compositor status, GPU driver support, application compatibility, XWayland, and the roadmap ahead.

State of Wayland on FreeBSD in 2026

Wayland on FreeBSD has moved from "experimental curiosity" to "daily-drivable for the brave." The progress in the past 18 months has been substantial, driven by the drm-kmod updates, compositor ports, and dedicated developer effort. But gaps remain. This post covers exactly where things stand in early 2026: what works, what does not, and what is coming.

Background: Why Wayland on FreeBSD Took So Long

Wayland was designed on Linux. Not theoretically -- practically. The protocol itself is display-server agnostic, but the ecosystem around it depends heavily on Linux-specific kernel interfaces: KMS (Kernel Mode Setting), GBM (Generic Buffer Management), evdev, logind, and udev.

FreeBSD had to build or port equivalents for each of these:

  • KMS/DRM: The drm-kmod port brings Linux DRM drivers to FreeBSD via LinuxKPI. This has been the largest effort and is now in good shape for Intel and AMD GPUs.
  • evdev: FreeBSD's evdev compatibility layer in the kernel handles input devices. It has been stable since FreeBSD 12.
  • logind: ConsoleKit2 and seatd provide session management. seatd is the preferred option and works well on FreeBSD.
  • udev: libudev-devd bridges the gap, translating devd events into the udev API that Wayland compositors expect.

The critical piece was always DRM/KMS. Without working GPU drivers with proper kernel mode setting, nothing else matters. The drm-kmod port reached usable maturity around 2023-2024, and that unlocked everything else.

Current Compositor Status

Sway

Sway is the most mature Wayland compositor on FreeBSD. It is available in ports as x11-wm/sway and works reliably on Intel and AMD hardware.

Current status:

  • Version in ports: 1.9.x (tracks upstream closely)
  • Stability: Good for daily use on supported hardware
  • Known issues: Some multi-monitor configurations with mixed DPI are flaky. HiDPI on a single monitor works.
  • Configuration: Identical to Linux. Your existing sway config files transfer without changes.

Getting started:

sh
pkg install sway seatd foot wmenu sysrc seatd_enable=YES service seatd start pw groupmod video -m youruser pw groupmod input -m youruser

Create ~/.config/sway/config or copy the default:

sh
mkdir -p ~/.config/sway cp /usr/local/etc/sway/config ~/.config/sway/config

Launch from a TTY (not from within X11):

sh
sway

Wayfire

Wayfire, the 3D compositor with Compiz-like effects, is available as x11-wm/wayfire. It works on FreeBSD but is less tested than Sway.

sh
pkg install wayfire wcm wf-shell

Wayfire provides a more traditional desktop feel with window animations, wobbly windows, and a panel. It uses the same wlroots library as Sway, so hardware support is identical.

Hikari

Hikari was a FreeBSD-focused Wayland compositor that has been discontinued by its developer. It is no longer recommended. If you were using hikari, migrate to Sway or Wayfire.

Hyprland

Hyprland, the popular tiling compositor with smooth animations, has experimental FreeBSD support. It is available in ports as x11-wm/hyprland but should be considered beta quality on FreeBSD. The main issues are:

  • Occasional crashes with certain animation configurations
  • Some plugins designed for Linux do not work
  • Screen capture and screen sharing require extra setup

Despite these caveats, several FreeBSD users report running Hyprland as their daily driver.

Labwc

Labwc is a wlroots-based compositor that aims to be a Wayland replacement for Openbox. It is lightweight, stable, and works well on FreeBSD. Available as x11-wm/labwc.

sh
pkg install labwc

Labwc is a good choice if you want a simple stacking window manager without the complexity of tiling. It supports server-side decorations and theming.

KDE Plasma Wayland

KDE Plasma 6 with Wayland session is available on FreeBSD. The Wayland session works but is less stable than the X11 session. Major issues include:

  • Screen recording and screenshots have inconsistent behavior
  • Some KDE-specific protocols are not fully ported
  • Performance is slightly worse than the X11 session on older hardware
sh
pkg install plasma6-plasma-desktop plasma6-plasma-workspace-wayland

GNOME Wayland

GNOME on Wayland works on FreeBSD but is behind the Linux version in terms of stability. GNOME's reliance on systemd-logind creates complications that the ConsoleKit2/seatd workarounds do not fully address. Expect occasional session management quirks.

GPU Driver Support

This is the critical section. Your Wayland experience depends entirely on your GPU.

Intel GPUs

Intel is the best-supported GPU vendor on FreeBSD for Wayland.

  • Generations supported: Haswell (2013) through Alder Lake (2021). Raptor Lake and Meteor Lake have partial support.
  • Driver: i915kms via drm-kmod
  • Status: Stable. This is the recommended hardware for a FreeBSD Wayland desktop.
sh
pkg install drm-kmod sysrc kld_list+="i915kms"

AMD GPUs

AMD support has improved dramatically and is now usable for daily work.

  • Generations supported: GCN 1.0 (HD 7000 series) through RDNA 2 (RX 6000 series). RDNA 3 (RX 7000 series) has experimental support in the latest drm-kmod development branch.
  • Driver: amdgpu via drm-kmod
  • Status: Good. Some power management features are missing compared to Linux.
sh
pkg install drm-kmod sysrc kld_list+="amdgpu"

NVIDIA GPUs

NVIDIA remains problematic on FreeBSD for Wayland. The proprietary NVIDIA driver does not support GBM on FreeBSD. The nouveau driver has limited support via drm-kmod but lacks the performance and feature parity of the proprietary driver.

  • Proprietary driver: Works for X11 only. No Wayland support.
  • Nouveau: Basic functionality for older GPUs (Kepler and earlier). No Turing/Ampere/Ada support.
  • Status: Not recommended for Wayland on FreeBSD. If you need Wayland, use Intel or AMD.

Virtio-GPU

For virtual machines, virtio-gpu works with Wayland compositors. This is useful for testing in bhyve or other hypervisors.

Application Compatibility

Native Wayland Applications

Most GTK4 and Qt6 applications run natively on Wayland without issues:

  • Firefox: Native Wayland support. Set MOZ_ENABLE_WAYLAND=1 or it auto-detects.
  • Chromium: Runs with --ozone-platform=wayland. Some versions require --enable-features=UseOzonePlatform.
  • LibreOffice: Native Wayland support in recent versions.
  • mpv: Native Wayland output.
  • Alacritty, foot, kitty: All work as native Wayland terminal emulators.
sh
# Set environment for Wayland-native Firefox export MOZ_ENABLE_WAYLAND=1 firefox &

XWayland

XWayland provides backward compatibility for X11 applications. It is included with the xwayland package and most compositors start it automatically.

sh
pkg install xwayland

Applications that still require XWayland:

  • Older GTK2 applications
  • Most Java/Swing applications
  • Electron apps older than version 28
  • Wine/Proton (though Wayland-native Wine is in development)
  • Some IDEs (older IntelliJ versions, older Eclipse)

XWayland works well enough that most users will not notice the difference. The main limitation is that XWayland applications cannot use Wayland-specific features like per-window scaling or fractional scaling.

Screen Sharing and Capture

Screen sharing through WebRTC (for video calls) requires PipeWire and xdg-desktop-portal:

sh
pkg install pipewire xdg-desktop-portal-wlr

For Sway and other wlroots compositors, xdg-desktop-portal-wlr handles the screen capture portal. For KDE, use xdg-desktop-portal-kde.

This is one area where FreeBSD still lags behind Linux. PipeWire on FreeBSD works but has occasional buffer underrun issues that cause brief video freezes during screen sharing.

Clipboard

Wayland clipboard works through wl-clipboard:

sh
pkg install wl-clipboard # Copy echo "text" | wl-copy # Paste wl-paste

Clipboard sharing between Wayland-native and XWayland applications works automatically in most compositors.

Input Methods

Input method support for CJK and other complex scripts works through fcitx5:

sh
pkg install fcitx5 fcitx5-gtk fcitx5-qt

Set the environment variables in your shell profile:

sh
export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS=@im=fcitx

Fcitx5 has native Wayland support and works in both Wayland-native and XWayland applications.

Known Limitations

What Does Not Work

  • NVIDIA proprietary driver: No Wayland support on FreeBSD.
  • Fingerprint readers: Most fingerprint reader drivers require Linux-specific interfaces.
  • Secure boot with Wayland: Not applicable on FreeBSD currently.
  • HDR output: Not yet supported in any FreeBSD Wayland compositor.

What Works but Has Rough Edges

  • Multi-monitor with mixed refresh rates: Works in Sway but may have tearing on the lower-refresh display.
  • Fractional scaling: Works in Sway 1.9+ but some XWayland apps render blurry.
  • Gaming: Wayland-native gaming works for some titles. See the gaming state post for details.
  • Screen recording: OBS with PipeWire capture works but requires manual configuration.

Migration from X11

If you are currently running X11 on FreeBSD and want to try Wayland, the migration is not all-or-nothing. You can keep your X11 setup and launch a Wayland compositor from a separate TTY.

Steps for a gradual migration:

  1. Install sway and dependencies alongside your existing X11 setup
  2. Test on a separate TTY (Ctrl+Alt+F2, log in, run sway)
  3. Identify which applications you use that need XWayland vs. native Wayland
  4. Set environment variables in your .profile for Wayland sessions
  5. Once comfortable, make Wayland your default session

Key environment variables for a Wayland session:

sh
export XDG_SESSION_TYPE=wayland export XDG_CURRENT_DESKTOP=sway export MOZ_ENABLE_WAYLAND=1 export QT_QPA_PLATFORM=wayland export SDL_VIDEODRIVER=wayland export _JAVA_AWT_WM_NONREPARENTING=1

Roadmap: What Is Coming

The FreeBSD Wayland story is improving on multiple fronts:

  • drm-kmod updates: RDNA 3 and Intel Meteor Lake support are priorities for the drm-kmod team. Expect usable support in late 2026.
  • PipeWire maturation: The FreeBSD PipeWire port is actively maintained and closing feature gaps with Linux.
  • Compositor updates: Sway and Hyprland track upstream releases within weeks.
  • Wayland protocols: Newer protocols like ext-session-lock, fractional-scale, and cursor-shape are being adopted by FreeBSD ports of compositors as they stabilize upstream.

The biggest remaining gap is NVIDIA support. Until NVIDIA releases a FreeBSD driver with GBM support or the nova/nouveau driver matures, NVIDIA users are stuck with X11.

FAQ

Can I use Wayland on FreeBSD for daily work right now?

Yes, if you have an Intel or AMD GPU. Sway is stable enough for daily use. Expect minor annoyances but nothing that blocks productive work.

Which compositor should I start with?

Sway if you want a tiling window manager. Labwc if you want a traditional stacking window manager. Both are the most stable options on FreeBSD.

Do I need to switch from PulseAudio to PipeWire for Wayland?

PipeWire is recommended for screen sharing and capture, but Wayland itself does not require PipeWire for audio. You can use PulseAudio for audio and PipeWire only for the screen capture portal. However, PipeWire can replace PulseAudio entirely and is increasingly the recommended setup.

Will my X11 configuration (xorg.conf) affect Wayland?

No. Wayland compositors have their own configuration and do not read xorg.conf. Your X11 setup remains untouched if you want to switch back.

Is Wayland faster than X11 on FreeBSD?

In most cases, Wayland has lower input latency and smoother rendering. However, some OpenGL applications may perform slightly worse under XWayland compared to native X11. For desktop use (browser, terminal, office apps), Wayland feels noticeably smoother.

Can I run a remote desktop over Wayland on FreeBSD?

VNC and RDP for Wayland are still maturing on FreeBSD. wayvnc works with wlroots-based compositors for VNC access. For RDP, there is no mature solution yet on FreeBSD. If remote access is critical, X11 with x11vnc or xrdp remains more reliable.

How do I debug Wayland issues on FreeBSD?

Run your compositor from a TTY with verbose logging. For Sway: sway -d 2> /tmp/sway.log. Check /var/log/Xorg.0.log only applies to XWayland. Most compositor logs go to stderr or the systemd journal equivalent (syslog on FreeBSD).

Get more FreeBSD guides

Weekly tutorials, security advisories, and package updates. No spam.