Skip to content
MattKC edited this page Apr 29, 2026 · 13 revisions

GNU/Linux is the most compatible and recommended operating system to use with Vanilla, and thankfully it is available on many of Vanilla's target devices such as the Steam Deck and Nintendo Switch.

For the most part, any modern Linux PC should be able to run Vanilla out of the box, however you should double check the Wireless Compatibility page to see if the wireless hardware on your computer is known to be compatible or not.

The following are notes on specific platforms/situations that should be taken into account:

Full Screen/Windowed Mode

The full screen state can be toggled in the Settings. However, on some setups (e.g. embedded systems), it may be preferable to start Vanilla in full screen or windowed mode without having to change anything in the config. The following command-line arguments can be used to override the setting in the config:

-w      Force Vanilla to launch in windowed mode
-f      Force Vanilla to launch in full screen mode

For example, to force Vanilla to launch in windowed mode, you can run:

./vanilla -w

Note

When running in full screen, the cursor is hidden to best accommodate devices with touch screens. The UI can still be navigated using button controls.

Skipping the sudo/root/administrator prompt when syncing or connecting to a console

Warning

Following this guide has security risks. Make sure you read through everything before deciding whether to do this or not.

Connecting to the Wii U as a gamepad requires obtaining low-level access to the wireless hardware, which requires vanilla-pipe to run as root. By default, running a program as root on Linux requires the user to enter their password (or the password of an administrator), which can be inconvenient and irritating when trying to play games, especially on touch-based platforms where a keyboard is not readily available and/or typing is inconvenient.

To solve this, Vanilla can optionally install a Polkit rule that allows vanilla-pipe to run as root without password entry. Note that there are inherent security risks with allowing an executable to run as root without user intervention, and while vanilla-pipe doesn't do anything explicitly dangerous, we cannot make any security guarantees when doing this.

In order to install the Polkit action, enter Vanilla's "Settings" screen, and press "Enable Root Password Skip".

Controller gyroscope

Note

Only try this if the gyroscope does not function. Vanilla will try to automatically detect and setup the gyroscope.

While the gyroscope should work fine out of the box, you may need to add a udev rule to /etc/udev/rules.d/70-gyro.rules to get the gyroscope working properly.

SUBSYSTEM=="input", ENV{ID_INPUT_ACCELEROMETER}=="?*", TAG+="uaccess"

After adding the rule, the gyroscope should function.

Raspberry Pi

The Raspberry Pi Zero and Zero 2 are officially supported targets for Vanilla. As tiny, cheap, yet highly capable computer boards, they are a natural fit as the "brain" of a gamepad clone made from scratch. Vanilla provides prebuilt images (made with Buildroot) in the Releases section that should get you started on building something like this.

However there are some caveats you should be made aware of:

  • The onboard Wi-Fi chipsets of the Zero W and Zero 2W cannot be used with Vanilla since they are 2.4GHz-only (the gamepad connection requires 5GHz). A compatible 5GHz USB Wi-Fi adapter must be used instead.
  • The Pi's hardware decoder does not appear to be capable of zero latency decoding. There always appears to be roughly four frames of latency, enough to be just barely noticeable during gameplay. Depending on the kinds of games you play, this may or may not be a dealbreaker, but certainly isn't ideal.
    • While this isn't an issue with software decoding, the Pi Zero and Zero 2W's CPUs are not quite fast enough to decode the Wii U's video feed in realtime.

Other than those concerns, the Pi Zero is a fine hardware platform for a dedicated Vanilla device.

Nintendo Switch

The Nintendo Switch is an officially supported target for Vanilla. It has its own dedicated page on this wiki for further details about setting it up.

Steam Deck

The Steam Deck is an officially supported target for Vanilla. It has its own dedicated page on this wiki for further details about setting it up.

Clone this wiki locally