Remote Desktop on Fedora: RDP over Wayland with Native Performance

Fedora tutorial - IT technology blog
Fedora tutorial - IT technology blog

Quick Start: Enable Remote Desktop in 3 Easy Steps

If you’re currently at your Fedora workstation and want to quickly enable remote access for later, follow these 3 steps:

  1. Go to Settings > Sharing.
  2. Turn on the Sharing switch (top right), then select Remote Desktop.
  3. Toggle Remote Desktop to On. Click the field below to set a unique Username and Password for RDP connections.

Next, open the firewall port so other machines on the network can “see” you:

sudo firewall-cmd --permanent --add-service=rdp
sudo firewall-cmd --reload

Done! You can now use MSTSC on Windows or Remmina on Linux to connect to your Fedora machine’s IP. The mouse movement will feel significantly smoother than traditional VNC.

After 6 Months of Real-World Use: Why RDP on Wayland is the Way to Go

I’ve used Fedora as my primary coding machine for two years. Previously, mentioning Remote Desktop on Linux meant dealing with the frustrations of VNC—screen tearing, 200-300ms latency, and cumbersome security configurations. When Fedora moved completely to Wayland, those old solutions became even more buggy.

Starting with GNOME 42, the gnome-remote-desktop project integrated Microsoft’s RDP protocol directly into Wayland. The results are impressive: stable 60fps frame rates, highly responsive copy-pasting for text and files, and default TLS security.

My favorite feature is the resolution scaling. When remoting from a 13-inch laptop into a 4K workstation, Fedora automatically resizes perfectly. You’ll never have to scroll horizontally or vertically just to find an application window again.

Detailed Configuration and Technical Explanation

RDP is smarter than VNC because it does more than just send pixels. On Fedora, GNOME uses PipeWire for screen capture and leverages DMA-BUF for ultra-fast graphics data transmission with minimal CPU overhead.

Checking System Packages

While usually included in the Workstation edition, users on Minimal or Server installs should check using this command:

sudo dnf install gnome-remote-desktop

Authentication and Security

GNOME stores RDP passwords in the system Keychain. This password is entirely separate from your user login password, which is a great security feature if you need to share remote access with colleagues without revealing your primary credentials.

Advanced: Mastering the Command Line with grdctl

If you are logged in via SSH and need to enable remote access for a remote machine, the grdctl tool is your best bet.

Configure the username and password via CLI:

grdctl rdp set-credentials "myuser" "mypassword"

Enable view-only mode (viewing only, no control) for product demos:

grdctl rdp set-view-only yes

And finally, activate the service:

grdctl rdp enable

Real-World Experience: Solving Tricky Issues

Over the past six months, I’ve encountered a few classic issues. Here is how I handled them.

1. Black Screen Error Before Login (Headless)

The most frustrating issue is when a Fedora machine restarts and gets stuck at the GDM login screen, preventing you from remoting in. This happens because the user session hasn’t started yet.

Solution: Enable Automatic Login in Settings if the machine is at home. For servers in a data center, use the command loginctl enable-linger user to keep the session running in the background even if no one is physically logged in.

2. Choosing the Right Client

  • Windows: Remote Desktop Connection (mstsc.exe) is the best choice, offering 100% compatibility.
  • Linux: Remmina is the top choice. If your network is slow, set the Color Depth to 16bpp to reduce lag.
  • macOS: The Microsoft Remote Desktop app from the App Store works very reliably.

3. Optimizing Network Performance

To reduce latency to under 30ms on a LAN, you should disable “Desktop Wallpaper” in the client settings. Not having to transmit a static background image allows the bandwidth to focus entirely on mouse movements and keystrokes.

Conclusion

Fedora and GNOME have done a fantastic job bringing RDP to Wayland. You no longer need to install Xrdp or manually edit .xsession files like back in the Ubuntu 18.04 days. Keep your system updated with sudo dnf update as the Fedora team regularly pushes fixes for this area. Once you try it, you’ll likely forget all about VNC.

Share: