Docs

Platform support

What Roomler does on Windows, Linux and macOS, feature by feature, and the reason wherever an operating system cannot do something.

Roomler is one product on three operating systems. When a feature works on one of them, it works on the other two, or the device tells you why it cannot: on the control itself, in roomler status, and in the dashboard. A control that is greyed out always carries the device’s own reason.

βœ… Works β€” on that operating system, today.
🟑 In part β€” the table says which part.
❌ Not yet β€” the OS could do it; Roomler does not yet.
β›” Ruled out β€” the OS itself prevents it. The reason is below.

These tables describe agent 0.4.148; a row that names 0.4.149 is coming in the next release. The engineering record behind them, with the code each verdict comes from, is docs/platform-support.md.

Which install does what

Most of this page follows from one question: does the agent run as the machine, or as you? Joining the private network on a real network adapter needs the machine’s own identity on every OS. Showing your desktop needs a way into your session.

OS Install Runs as Gives you
Windows Machine β€” system a service, with SYSTEM in your session your desktop, the lock and sign-in screens, the private network
Windows Machine β€” attended a service, with you in your session your desktop, the private network
Windows Per user you, from sign-in your desktop
Linux System (--system) root, from boot the private network; your GNOME or KDE desktop while you are at it and it is unlocked
Linux Per user (the default) you your desktop
macOS the per-user half (the default) you, in your login session your desktop
macOS the root half (--daemon-token) root, from boot the private network

A Mac needs both halves for both, and shows up as two devices.

No admin rights? You can still join the network

An install that runs as you cannot create a network adapter, but it can join the network in netstack mode: set ROOMLERD_OVERLAY_NETSTACK_SOCKS to a free port for the agent, and your apps reach the other devices through that local SOCKS5 port. Roomler SSH into this machine still works. A second organization chooses it with roomler org overlay <org> netstack (multi-org).

Remote desktop

Feature Windows Linux macOS
Your desktop, with a system install and nothing configured βœ… 🟑 GNOME and KDE, while your session is unlocked and you can be told who is viewing 🟑 an opt-in
The lock screen and sign-in screen, nobody signed in βœ… Machine β€” system 🟑 only when you switch screen capture on yourself β›”
The computer’s sound βœ… βœ… ❌
Recording with sound βœ… βœ… 🟑 picture only
Ctrl+Alt+Del βœ… the real one, from a Machine β€” system install where policy allows β›” sent as ordinary keys, which GNOME and KDE use to log out β›” hidden: it means nothing on a Mac
An approval panel on the host βœ… βœ… X11 Β· β›” Wayland: the desktop app asks βœ… from agent 0.4.153 Β· before it, the desktop app asks
β€œThe host is locked” before you connect βœ… ❌ βœ… from agent 0.4.150
β€œThe host is locked” while you are connected βœ… βœ… βœ… from agent 0.4.150
The host’s cursor, drawn by your browser βœ… βœ… system installs, and X11 desktops from agent 0.4.147; a per-user Wayland desktop draws it into the picture ❌ the cursor is part of the picture
Remote Apps βœ… βœ… X11 Β· 🟑 Wayland: Xwayland windows ❌
Show and switch the keyboard layout βœ… βœ… X11 desktops with a per-user install, from agent 0.4.148; on GNOME the layout is shown, and you switch it with GNOME’s own shortcut (Super+Space) Β· ❌ Wayland desktops and system installs ❌
Typing text on a non-US layout βœ… βœ… on any layout from agent 0.4.147; before it, a system install types only on a US layout, and refuses rather than mistype βœ…
Match the remote display to your window βœ… βœ… X11 desktops with one screen and a per-user install, from agent 0.4.148, and the agent’s own virtual desktop Β· ❌ Wayland desktops, system installs, several screens ❌
Clipboard: text, formatted text and images βœ… βœ… per-user Β· ❌ a system install βœ…
A copied image arrives by itself βœ… βœ… X11 desktops with a per-user install, from agent 0.4.148 Β· ❌ Wayland desktops and system installs: on request ❌ on request
An idle desktop costs little CPU βœ… βœ… ❌
Privacy mode (the person at the computer sees a notice, not the desktop) βœ… Windows 10 2004 and later ❌ β›”
Lock the computer when the last session ends βœ… βœ… ❌

The same on all three: the main display, high-DPI screens, hardware video encoding (on a Mac, H.264 and HEVC), the relative mouse for 3D apps and games, touch controls, keep-busy, recording, file transfer, and the consent flow. The permissions each OS asks for are on per-OS permissions.

Private network

Feature Windows Linux macOS
Join the network on a real adapter βœ… Machine installs βœ… system install βœ… the root half
One adapter per organization βœ… βœ… βœ…
Use an exit node βœ… βœ… βœ… IPv6 when your connection has it, otherwise blocked rather than leaked
Be an exit node or a subnet router, IPv4 🟑 needs Windows’ Hyper-V; never on Home βœ… βœ… the root half
Be an exit node, IPv6 β›” βœ… βœ… where the Mac has a global IPv6 route
Device names resolve on the computer (MagicDNS) βœ… 🟑 with systemd-resolved; when nothing asks it, roomler status says so βœ…
Your firewall lets the network in βœ… a Machine install adds its own rule 🟑 yours to open; roomler status names the zone ❌ yours to open

The same on all three: direct and relayed connections, the relay floor over 443, tunnels, SOCKS5, access rules, key rotation and ephemeral devices.

SSH and remote commands

Feature Windows Linux macOS
Run as the machine 🟑 SYSTEM on a Machine β€” system install, or once an admin anchors the device βœ… root βœ… root, on the root half
Run as the person at the screen 🟑 where SYSTEM serves the session βœ… βœ…
Run as a named account β›” βœ… βœ…
SFTP and scp as the person at the screen 🟑 where OpenSSH’s sftp-server is installed βœ… βœ…
A session starts in your home folder βœ… βœ… βœ…

More on Roomler SSH.

On the computer itself

Feature Windows Linux macOS
The desktop app βœ… 🟑 a .deb and an .rpm, for x86_64 and arm64; nothing for a computer with neither package manager, such as Arch βœ…
The computer stays awake during a session βœ… βœ… βœ… except a closed laptop with no external display
A received file lands in your own Downloads βœ… βœ… βœ…
The setup wizard installs the agent βœ… ❌ use the one-line install ❌ use the one-line install

Installs and updates

Feature Windows Linux macOS
Updates itself, per-user installs included βœ… βœ… βœ…
Checks a download is the version it was offered as βœ… βœ… βœ…
One-command uninstall βœ… βœ… βœ…
An ephemeral device removes itself when it stops βœ… βœ… βœ…
The tunnel client (roomler self-update) updates itself βœ… βœ… from the next tunnel release βœ… from the next tunnel release
Processors the agent runs on 🟑 x64; ❌ ARM βœ… x86_64 and arm64 🟑 Apple silicon; ❌ Intel
Hardware video encoding on Linux ARM β€” ❌ β€”
The tunnel client and the wizard on Linux ARM β€” βœ… from 0.4.149: the wizard with the agent release, the tunnel client with the first tunnel release from then on β€”

Where the operating system rules it out

Feature OS Why
Ctrl+Alt+Del Linux The desktop decides what the keys do, and GNOME and KDE log you out. The button sends the keys and says so
Ctrl+Alt+Del macOS The keys have no meaning on a Mac, so the button is hidden
An approval panel on a Wayland desktop Linux GNOME and KDE let no ordinary app draw over the desktop. The desktop app asks instead
The lock screen and sign-in screen macOS Capture needs a signed-in session. Reaching the login window would take a different kind of install, managed through MDM
Privacy mode macOS Since macOS 15, no app can keep a window out of screen capture, so the notice would be streamed too
Staying awake with the lid closed macOS A laptop with no external display sleeps when the lid closes, whatever any app asks
Being an IPv6 exit node Windows Windows’ built-in NAT has no IPv6. IPv6 through a Windows exit is blocked, never leaked
Running as a named account Windows Windows cannot start a program as another account without that account’s password

Last updated Β· Edit this page

↑↓ to navigate Β· Enter to open Β· Esc to close