Skip to content

Instantly share code, notes, and snippets.

@pgaskin
Last active June 3, 2026 17:10
Show Gist options
  • Select an option

  • Save pgaskin/0b440c4ca29631d4b76c545e9557e30b to your computer and use it in GitHub Desktop.

Select an option

Save pgaskin/0b440c4ca29631d4b76c545e9557e30b to your computer and use it in GitHub Desktop.
Using the hidden wayland (wlroots) support in RealVNC 7.17.0.

RealVNC Server 7.17.0 has hidden Wayland support.

You need to bind-mount or replace vncagent-x11 with vncagent-wlr and run it in user mode (e.g., /usr/bin/bwrap --bind / / --bind /usr/bin/vncagent-wlr /usr/bin/vncagent-x11 /usr/bin/vncserver-x11). It will use Xwayland (via DISPLAY) for the UI, but vncagent will use the WAYLAND_DISPLAY.

It uses the following protocols: zwlr_screencopy_frame_v1 zwlr_screencopy_manager_v1 zwlr_virtual_pointer_manager_v1l zwlr_virtual_pointer_v1 zwlr_data_control_offer_v1 zwlr_data_control_source_v1 zwlr_data_control_device_v1 zwlr_data_control_manager_v1 zwp_virtual_keyboard_manager_v1 zwp_virtual_keyboard_v1.

[Unit]
PartOf=graphical-session.target
After=graphical-session.target
Requisite=graphical-session.target
[Service]
ExecStart=/usr/bin/bwrap --bind / / --bind /usr/bin/vncagent-wlr /usr/bin/vncagent-x11 /usr/bin/vncserver-x11
Restart=always
[Install]
WantedBy=niri.service
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment