Skip to content

prevter/phantompad-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Phantom Pad Server

Game controller emulator for Windows and Linux

Build GitHub License GitHub Downloads GitHub Release Google Play


About

Phantom Pad turns your smartphone into a wireless game controller for your PC.

It runs as a lightweight background service on Windows and Linux, receiving input data from the mobile app and emulating a real hardware gamepad. Games recognize it as a standard controller, so no additional configuration is needed in most cases.

On Windows, Phantom Pad uses the ViGEmBus driver to emulate an Xbox 360 controller.

On Linux, it creates a virtual input device using the uinput subsystem, which is compatible with most games and applications.

Designed with performance and low latency in mind:

  • Low input latency (typically below 5ms on a local Wi-Fi network under optimal conditions).
  • Efficient data transmission using UDP protocol.
  • Minimal CPU usage on the host machine.
  • Supports up to 8 simultaneous controllers, allowing for local multiplayer gaming.
  • Cross-platform support (Windows & Linux)

How to Use

  1. Download and install the Phantom Pad Server on your PC from the releases page.

Windows users:

For regular users, the .msi installer is recommended. It will set up the service and install the necessary driver automatically.

If you prefer to run the server without installing it, you can download the portable .exe version. In this case, you will need to install the ViGEmBus driver manually from here.

Linux users:

You can run the server using the prebuilt binary, or build it from source. A systemd service file is included in the repository if you wish to run the server as a background service.

  1. Install the Phantom Pad app on your mobile device from the Google Play Store.
  2. Make sure your PC and mobile device are connected to the same Wi-Fi network.
  3. Launch the app and pick your computer in the nearby devices list.
  4. If everything is set up correctly, computer should recognize a new connected game controller.

Third-party Libraries

Phantom Pad Server uses the following third-party libraries:

  • fmtlib - text formatting library (MIT)
  • Result - rust-like Result<Ok, Err> container (BSL-1.0)
  • ViGEmClient - gamepad driver for Windows (MIT)

Additionally, the installer for Windows includes the ViGEmBus driver, which is licensed under the BSD-3-Clause license.

License

This project is licensed under Apache License 2.0 - see the LICENSE file for details.

About

Game controller emulator for Windows and Linux using an Android device

Topics

Resources

License

Stars

Watchers

Forks

Contributors