Linux Setup Guide - vanilla-wiiu/vanilla GitHub Wiki

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 / Orange Pi / other single-board computers

A single-board computer is a natural fit for building a gamepad around, being small, low-powered, yet capable. They have their own dedicated page on this wiki for further details about setting them up.

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.