Additional Drivers¶
Additional drivers can be installed to enable extra features of the Reemo Agent.
- On Windows, additional drivers can be installed to enable:
Microphone & Virtual Sound Card
Reemo provides a virtual sound card driver that enables microphone redirection on your remote computer. This driver must be installed on the remote computer to use microphone forwarding with Reemo, regardless of whether your computer has a physical sound card. Additionally, this driver provides a virtual sound card for audio output on headless computers (machines without a physical sound card). Once installed, you will be able to record remote audio through Reemo as well as transmit your microphone.
This driver is also required to use the hybrid and hybridmic agent configuration options, which automatically switch the default Windows audio device during a remote session.
To install the driver manually:
md "C:\Program Files\Reemo\drivers"
powershell Invoke-WebRequest 'https://downloads.reemo.io/drivers/reemaudio_v2.zip' -OutFile 'C:\Program Files\Reemo\drivers\reemaudio.zip'
powershell Expand-Archive -LiteralPath 'C:\Program Files\Reemo\drivers\reemaudio.zip' -DestinationPath 'C:\Program Files\Reemo\drivers\'
"C:\Program Files\Reemo\drivers\reemaudio\devcon.exe" install "C:\Program Files\Reemo\drivers\reemaudio\reemaudio.inf" ROOT\reemaudio
To uninstall the driver:
"C:\Program Files\Reemo\drivers\reemaudio\devcon.exe" remove ROOT\reemaudio
Virtual Webcam
To emulate a virtual webcam that Reemo can use, you must install our virtual webcam driver. Once installed, the virtual webcam will appear in the device manager of your remote computer.
To install the driver:
md "C:\Program Files\Reemo\drivers"
powershell Invoke-WebRequest 'https://downloads.reemo.io/drivers/reecam.zip' -OutFile 'C:\Program Files\Reemo\drivers\reecam.zip'
powershell Expand-Archive -LiteralPath 'C:\Program Files\Reemo\drivers\reecam.zip' -DestinationPath 'C:\Program Files\Reemo\drivers\'
"C:\Program Files\Reemo\drivers\reecam\devcon.exe" install "C:\Program Files\Reemo\drivers\reecam\reecam.inf" REECAM
To uninstall the driver:
"C:\Program Files\Reemo\drivers\reecam\devcon.exe" remove REECAM
USB Passthrough
If you need to forward USB devices, Reemo provides a virtual USB driver — included by default in the Reemo Agent installer. Available on Windows, Linux and macOS, the USB transfer feature requires Reemo for Windows version 1.13.0.1 or higher, Reemo for Linux version 2.3.1 or higher, and Reemo for macOS version 2.6.0 or higher (macOS 10.15 or later).
Note
The Reemo USB passthrough feature is designed for HID devices (graphics tablets, remote controls, cryptographic keys, etc.). Audio and video devices are not supported for USB redirection due to real-time performance requirements.
If you still wish to install it separately, you can follow this example:
md "C:\Program Files\Reemo\drivers"
powershell Invoke-WebRequest 'https://downloads.reemo.io/drivers/reemousb.zip' -OutFile 'C:\Program Files\Reemo\drivers\reemousb.zip'
powershell Expand-Archive -LiteralPath 'C:\Program Files\Reemo\drivers\reemousb.zip' -DestinationPath 'C:\Program Files\Reemo\drivers\'
"C:\Program Files\Reemo\drivers\reemousb\devcon.exe" install "C:\Program Files\Reemo\drivers\reemousb\reemousb.inf" ROOT\ReemUSB
To uninstall the driver:
"C:\Program Files\Reemo\drivers\reemousb\devcon.exe" remove ROOT\ReemUSB
To forward local USB devices, your local computer must also run the USB Companion App — see USB Companion App in the Settings panel for the download links.
Virtual Displays
If you want to use Reemo on a “headless” computer (without a monitor), Reemo provides a virtual monitor driver. On Windows, this driver must be installed on the remote computer to emulate up to 5 monitors. Once installed, you will see a new monitor on your remote computer and can add others dynamically from the web client menu.
Note
To install the driver manually:
md "C:\Program Files\Reemo\drivers"
powershell Invoke-WebRequest 'https://downloads.reemo.io/drivers/reemon.zip' -OutFile 'C:\Program Files\Reemo\drivers\reemon.zip'
powershell Expand-Archive -LiteralPath 'C:\Program Files\Reemo\drivers\reemon.zip' -DestinationPath 'C:\Program Files\Reemo\drivers\'
"C:\Program Files\Reemo\drivers\reemon\devcon.exe" install "C:\Program Files\Reemo\drivers\reemon\reemon.inf" Root\reemon
To uninstall the driver:
"C:\Program Files\Reemo\drivers\reemon\devcon.exe" remove Root\reemon
Gamepads
If you want to use gamepads with Reemo, you must install the ViGEmBus driver on the remote computer. You can download the driver here: https://github.com/ViGEm/ViGEmBus/releases
Note
Gamepads are now also natively supported through the Reemo USB driver (see USB Passthrough), which is the recommended solution: better latency and support for advanced features (Adaptive Triggers and Trackpad on the DualSense, for example). ViGEmBus remains recommended only for Bluetooth use.
To uninstall the driver:
Uninstall the ViGEmBus driver using Windows Settings: go to Settings > Apps > Apps & features, find ViGEmBus in the list, and click Uninstall.
Note
- On Linux, additional components can be installed to enable:
Virtual Displays
On Intel and AMD graphics, virtual displays work with no additional installation. Reemo activates a video output that no physical monitor occupies, so the number of virtual displays you can add is limited to the outputs your graphics card leaves free.
On NVIDIA graphics with the proprietary driver, a free output cannot be used: the desktop environment treats it as a secondary PRIME output and forces it to 640x480. Reemo therefore requires the EVDI kernel module on these machines, and turns virtual displays off when it is missing. EVDI provides 5 virtual displays. You can also install it on Intel and AMD graphics, where those 5 displays are added to the free outputs.
To install EVDI on the remote computer:
# Debian-based (Ubuntu, Debian, etc.)
curl -sL -o /tmp/reemo_evdi.x 'https://download.reemo.io/linux/deb/setup_evdi.x'
sudo bash /tmp/reemo_evdi.x
# RHEL-based (Rocky Linux, Fedora, etc.)
curl -sL -o /tmp/reemo_evdi.x 'https://download.reemo.io/linux/rpm/setup_evdi.x'
sudo bash /tmp/reemo_evdi.x
The script builds EVDI for your running kernel through DKMS. Reboot the machine at the end of the installation: the virtual displays become available only after that restart.
Note
virtual_monitors = false in the [linux] section of reemo.ini.USB Forwarding
USB forwarding requires the vhci-hcd kernel module on the remote computer. This module is the virtual USB controller that a forwarded device attaches to, as if it had been plugged into a physical port of that computer. Without it, a forwarded device never reaches the remote session.
The Reemo Agent install script takes care of this module and writes /etc/modules-load.d/vhci-hcd.conf so that it is loaded again after a reboot. What it installs depends on the distribution:
Distribution |
What the install script does |
|---|---|
Ubuntu, Debian |
Installs |
Fedora |
Installs |
RHEL, Rocky Linux, AlmaLinux |
Installs |
Arch Linux |
Nothing to install: the module is part of the standard kernel. |
The kernel itself is never modified and nothing is compiled on the remote computer: a module is only added beside the running kernel. When no module can be obtained, the script reports it and the installation continues. The Agent then runs normally, without USB forwarding.
To check the result on the remote computer:
lsmod | grep vhci_hcd # the module is loaded
ls /sys/devices/platform/vhci_hcd.0/ # the virtual controller exists
cat /etc/modules-load.d/vhci-hcd.conf # it is loaded again after a reboot
Note
Autodesk workstations
On an Autodesk workstation (Flame, Flare, Flame Assist or Lustre), the install script recognises the station and does not install the module. USB forwarding stays unavailable there until you ask for it explicitly, for two reasons:
The NVIDIA driver on these stations is not based on DKMS. It is compiled against one specific kernel and does not rebuild itself, so any change to the kernel breaks the graphics driver. The install script leaves the Autodesk-managed kernel untouched.
Loading
vhci-hcdmarks the kernel as tainted. This flag only records that a module built outside the official kernel was loaded. It changes no behaviour and clears at the next reboot, but on a certified workstation it should be a deliberate decision.
To install the module on such a station, add --force-usb to the install command:
curl -sL -o /tmp/reemo.x 'https://download.reemo.io/linux/rpm/setup.x'
sudo bash /tmp/reemo.x --key <PRIVATE_KEY> --force-usb
When /opt/reemo/reemo.ini already exists on the station, the key is kept and --key can be omitted.
Important
On Enterprise Linux kernels older than el9_7, forwarding a Wacom or Cintiq graphics tablet crashes the remote computer while the device is being enumerated. The defect is in the kernel’s own tablet driver and was corrected in el9_7, so these tablets require an el9_7 kernel or newer on the remote computer. Other devices, such as storage, mice, keyboards and dongles, forward normally. On a Flame station the kernel is pinned by the DKU release, so this depends on Autodesk shipping a DKU based on el9_7 or newer.
On macOS, virtual displays are supported by default with no additional driver installation required.
- Additional drivers can also be installed to enable:
Installing or removing the drivers only
On a Mac where the agent is already installed, the microphone and webcam drivers can be installed or removed separately with a dedicated script:
curl -skL -o /tmp/install_reemo_drivers.x 'https://download.reemo.io/macos/drivers/setup_drivers.x'
# Install both devices (default)
sudo bash /tmp/install_reemo_drivers.x
# Or only one of them
sudo bash /tmp/install_reemo_drivers.x --microphone-driver
sudo bash /tmp/install_reemo_drivers.x --webcam-driver
# Remove both devices, or only one of them
sudo bash /tmp/install_reemo_drivers.x --uninstall
sudo bash /tmp/install_reemo_drivers.x --uninstall --microphone-driver
sudo bash /tmp/install_reemo_drivers.x --uninstall --webcam-driver
Note
--uninstall.sudo) and internet access to download.reemo.io. No Mac restart is needed. Universal binaries (Intel and Apple Silicon).Microphone
During a Reemo session to this Mac, the connected user’s microphone becomes available on the Mac as the “Reemo Microphone” audio input device — any application on the Mac can record from it like a regular microphone.
Note
To install the driver:
sudo bash /tmp/install_reemo_drivers.x --microphone-driver
Installing the driver briefly restarts the Mac’s audio service (1-2 seconds of audio interruption). No user approval and no Mac restart are required — the agent picks up the new device automatically.
To check the result: System Settings > Sound > Input should list “Reemo Microphone”, or run system_profiler SPAudioDataType | grep Reemo in the Terminal.
Select “Reemo Microphone” as the input device in the Mac application you want to use (Teams, Zoom, OBS, etc.). The microphone is transmitted only while the application is recording from “Reemo Microphone”.
To uninstall the driver:
sudo bash /tmp/install_reemo_drivers.x --uninstall --microphone-driver
This removes the driver and restarts the audio service (same brief interruption). No user interaction is required.
Virtual Webcam
During a Reemo session to this Mac, the connected user’s webcam becomes available on the Mac as the “Reemo Camera” camera. When no video is being sent, the camera shows a gray image.
Note
To install the driver:
sudo bash /tmp/install_reemo_drivers.x --webcam-driver
Installing the driver adds “Reemo Camera.app” to /Applications, bundling the com.hubitech.reemo.camera.extension system camera extension. macOS then shows a notification to allow the new camera extension; opening it from there prompts for the Mac’s administrator password, the same as at uninstall time. The exact path depends on the macOS version:
macOS 15 Sequoia and later: System Settings > General > Login Items & Extensions > Camera Extensions section > enable “Reemo Camera”.
macOS 13 Ventura / 14 Sonoma: System Settings > Privacy & Security > Security section > “System software from application ‘Reemo Camera’ was blocked” > Allow.
Important
This approval cannot be granted over SSH — it requires a user at the screen, or a mobile device management (MDM) profile (see below). If nobody is logged in at install time, the agent re-prompts at the next login, then at each start until approval is granted.
To retry the approval manually, double-click /Applications/Reemo Camera.app.
Note
Managed fleets (MDM): pre-approve the extension with a SystemExtensions configuration profile — Team ID UC3NDD63KG, extension bundle ID com.hubitech.reemo.camera.extension. No user interaction is then required.
Once approved, the camera is available immediately — no agent restart is needed.
To check the result: open Photo Booth or FaceTime, then check the Camera menu for “Reemo Camera”, or run systemextensionsctl list in the Terminal — it should show com.hubitech.reemo.camera.extension as [activated enabled].
Select “Reemo Camera” as the camera in the Mac application you want to use (Teams, Zoom, OBS, etc.). The webcam is transmitted only while the application is using “Reemo Camera”.
To uninstall the driver:
sudo bash /tmp/install_reemo_drivers.x --uninstall --webcam-driver
Removing the extension requires an administrator password from the logged-in user (not possible over SSH alone). Once approved, the app is removed from /Applications — macOS sometimes finalizes the removal at the next restart. If nobody is logged in, or the request is cancelled or fails, “Reemo Camera.app” is left in place and the command can be run again.
Audio (BlackHole)
If you have an older version of macOS (prior to Ventura), you will need to install a separate driver to capture desktop audio. BlackHole provides a GPL-licensed driver that Reemo can record from.
Note
To install the driver:
brew install blackhole-2ch
Or you can download the installer provided here: https://existential.audio/blackhole/