Rustdesk / Wayland / Omarchy - "Wayland requires higher version of linux distro. Please try X11 desktop or change your OS" #4313
Replies: 9 comments 2 replies
|
Try restarting the portal, it may work... if the reason was a crash to start with.. it worked with me tho. |
|
same error |
|
Yeah, same error. Cant get rustdesk to work from macOS |
|
I got a different error. It throws |
|
This article helped me: |
|
Solved this today on Omarchy 4.0.2. The root cause is not a crashed portal and not RustDesk failing to detect the distro — RustDesk's dialog is misleading. The real error is in Confirm it on your own machine: gdbus introspect --session --dest org.freedesktop.portal.Desktop \
--object-path /org/freedesktop/portal/desktop | grep -c portal.RemoteDesktop
FixInstall a backend that implements it. yay -S --needed xdg-desktop-portal-luminousThen [preferred]
default=hyprland;gtk
org.freedesktop.impl.portal.RemoteDesktop=luminous
org.freedesktop.impl.portal.ScreenCast=luminoussystemctl --user restart xdg-desktop-portal-hyprland xdg-desktop-portalNote this file replaces Why ScreenCast has to move tooThis is the part that will waste your afternoon if you skip it. I first tried routing only RemoteDesktop to luminous and leaving ScreenCast on Hyprland. That cannot work. In xdg-desktop-portal's xdp_dbus_impl_screen_cast_call_select_sources (screen_cast->impl, ...)So a split routing hands luminous's session handle to Hyprland's backend, which has never seen it. Both interfaces must point at the same backend. Also worth knowing: What this affectsAnything using the ScreenCast portal moves to luminous — browser screen sharing, OBS's PipeWire source. Nothing Omarchy-native is affected: Revert with Verifying# must now print 1
gdbus introspect --session --dest org.freedesktop.portal.Desktop \
--object-path /org/freedesktop/portal/desktop | grep -c portal.RemoteDesktop
# 7 = keyboard | pointer | touchscreen
gdbus call --session --dest org.freedesktop.portal.Desktop \
--object-path /org/freedesktop/portal/desktop \
--method org.freedesktop.DBus.Properties.Get \
org.freedesktop.portal.RemoteDesktop AvailableDeviceTypesOn a real connection You get a one-time picker asking which screen to share on the first connection; subsequent connections reused it for me. EnvironmentOmarchy 4.0.2-1 · Hyprland 0.56.2-1 · xdg-desktop-portal 1.22.1-2 · xdg-desktop-portal-hyprland 1.4.1-1 · xdg-desktop-portal-luminous 0.1.21-1 · rustdesk 1.4.9-1 · NVIDIA GTX 1080 Ti (580.178.04) |
Follow-up: my earlier answer was only half of itThe portal fix above gets you video. It does not get you a mouse, and I want to correct that before anyone burns an afternoon the way I did. Screen capture and input injection on Wayland are two completely separate mechanisms in RustDesk, and fixing one tells you nothing about the other. Full working setup on Omarchy 4.0.2 is below. All three parts are needed. Part 1 — video: the RemoteDesktop portalUnchanged from my earlier comment: install Verify with: gdbus introspect --session --dest org.freedesktop.portal.Desktop \
--object-path /org/freedesktop/portal/desktop | grep -c portal.RemoteDesktop
Part 2 — mouse and keyboard: the root service, not the portalRustDesk does not inject input through the portal. It writes to
If you only have the user half, you get a perfect picture and a dead mouse. That was my mistake: I had wrapped sudo systemctl enable --now rustdeskThe part that actually bites on HyprlandEnabling it is not enough. The root service has to find your session to spawn the user-side server, and it does so by grepping for a GNOME process:
The user-side server then starts with exactly one environment variable — Fix — hand it the session directly: sudo mkdir -p /etc/systemd/system/rustdesk.service.d
sudo tee /etc/systemd/system/rustdesk.service.d/session-env.conf >/dev/null <<'EOF'
[Service]
Environment=DISPLAY=:0
Environment=WAYLAND_DISPLAY=wayland-1
Environment=XDG_CURRENT_DESKTOP=Hyprland
Environment=XDG_SESSION_TYPE=wayland
EOF
sudo systemctl daemon-reload && sudo systemctl restart rustdeskAdjust Verify it survived the handoff — the service passes it through tr '\0' '\n' < /proc/$(pgrep -u $USER -f 'rustdesk --server')/environ | grep -E 'DISPLAY|WAYLAND'You want to see Do not also run your own user-level unit for Part 3 — the screen picker, and automating itWith the above working you get a picker on connect, sometimes. It is genuinely nondeterministic, and here is why:
So it asks whenever that in-memory session is gone. For unattended access that is fatal — nobody is there to click, and the peer times out. I watched a connection die six seconds after the picker appeared. Luminous has a supported hook for thisBoth selection paths are gated on a socket simply existing: // src/screencast.rs, and identically in src/remotedesktop.rs
let (target, source_type) = if SERVER_SOCK.exists() {
let monitors: Vec<String> = outputs.iter().map(|o| o.name.clone()).collect();
let index = get_selection_from_socket(monitors)?;
...
} else {
// draw the GUI picker
}Note it is Protocol, from Luminous ships Two things that will burn you
|
2026-09-05.15-15-40.-.redacted-blur.mov |
|
I would absolutely love to see this built into the next Omarchy update. While there are plenty of us who are more than willing to piece it together ourselves, I do kind of miss that it just worked out of the box with Fedora 44 Workstation on my laptop and desktop. This isn't just a nostalgia thing for me, I run my Omarchy laptop as a daily driver and remote into a second machine on-demand whenever I need more horsepower. Right now that means a raw VNC-over-SSH tunnel, which works but has none of the clipboard/file-transfer/performance stuff RustDesk gave me for free. I'd guess I'm not the only one hitting this either — anyone coming over from Fedora/GNOME/KDE where RustDesk just worked is going to notice this is the one piece of their workflow that doesn't carry over. I saw Bulwark-Black's post further up about getting this working with xdg-desktop-portal-luminous from the AUR, plus a custom systemd env override just so the root rustdesk service can even SEE the wayland session, and then another script on top of that just to auto-click through the screen picker dialog. And hey, it works, and I genuinely appreciate someone put in the effort to document all that — but that's three separate pieces I'd have to go dig up and duct-tape together myself, for something that was just there, out of the box, on Fedora. This is exactly the kind of thing that should be baked into Omarchy by default instead of "here's a guide", the same way pretty much everything else about Omarchy already just works. Love the fact that we've got a fix, but outside of people like us, there are plenty of people who would like to remote into other machines but wouldn't have the gumption to put it all together like this. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Has anyone come accross this error? I believe Rustdesk has Wayland support for a while now.
I can control MacOS Macbook from my Omarchy Arch Linux but not the other way around. Is anyone aware of this issue?
I wonder, does Omarchy Arch Linux not report it's version correctly or ist it with Rustdesk not recognizing Omarchy Arch Linux as a "Distro"?
All reactions