Installation
The Phantom Pad Server is a lightweight background process that receives input from the mobile app and emulates a game controller on your PC. Follow the instructions for your platform below.
Windows
Section titled “Windows”Installer (recommended)
Section titled “Installer (recommended)”- Go to the latest release and download the
phantompad-x.x.x-setup.exefile. - Run the installer and follow the prompts.
- The installer will:
- Install and start the Phantom Pad background service.
- Automatically install the ViGEmBus driver required for controller emulation.
- Add the firewall rule to allow the server to work properly
- No further configuration is needed. The service starts automatically with Windows.
Portable (.exe)
Section titled “Portable (.exe)”Use this if you don’t want to install anything system-wide.
- Download the portable
.exefrom the releases page. - Install the ViGEmBus driver manually — download
ViGEmBus_<version>.exefrom the ViGEmBus releases page and run it. - Launch
phantompad.exe. It will run in the foreground until closed.
Note: The portable version does not run as a background service and will not start automatically on boot.
Firewall
Section titled “Firewall”If you chose to skip the installer, Windows Firewall may prompt you to allow Phantom Pad through the firewall. Allow access on private networks so the mobile app can discover and connect to your PC.
If you dismissed the prompt or blocked it by accident, you can add a manual rule:
- Open Windows Defender Firewall with Advanced Security.
- Add an Inbound Rule for
phantompad.exe, allowing UDP on port35700.
Prebuilt Binary
Section titled “Prebuilt Binary”- Download the prebuilt binary for your architecture from the releases page.
- Make it executable:
Terminal window chmod +x phantompad - The server uses the uinput kernel subsystem. Make sure the module is loaded:
Terminal window sudo modprobe uinput - Your user needs write access to
/dev/uinput. Either run the server withsudo, or add a udev rule (recommended):Then log out and back in for the group change to take effect.Terminal window echo 'KERNEL=="uinput", GROUP="input", MODE="0660"' | sudo tee /etc/udev/rules.d/99-uinput.rulessudo udevadm control --reload-rules && sudo udevadm triggersudo usermod -aG input $USER - Run the server:
Terminal window ./phantompad
systemd Service
Section titled “systemd Service”To have the server start automatically in the background:
- Complete the prebuilt binary steps above.
- Copy the binary to a permanent location, e.g.
/usr/local/bin/:Terminal window sudo cp phantompad /usr/local/bin/ - Copy the service file from the repository (or download it separately):
Terminal window sudo cp phantompad.service /etc/systemd/system/ - Reload systemd and enable the service:
Terminal window sudo systemctl daemon-reloadsudo systemctl enable --now phantompad - Check that it’s running:
Terminal window sudo systemctl status phantompad
Firewall (Linux)
Section titled “Firewall (Linux)”If you’re running a firewall (e.g. ufw), allow UDP traffic on the server’s port:
sudo ufw allow 35700/udpMobile App
Section titled “Mobile App”Regardless of platform, install the Phantom Pad app on your Android device from the Google Play Store: https://play.google.com/store/apps/details?id=com.prevter.phantompad
Make sure your PC and phone are on the same Wi-Fi network before launching the app.