commit 0172f88e43d2d6569fb02482085e41c41da69de6 Author: MattKC <mattkc@noreply.git.mattkc.com> Date: Mon Aug 18 17:22:55 2025 -0700 fix VAAPI on x11 commit 34f1552c42bf53e3e3a11541d603fa0f0a718494 Author: MattKC <mattkc@noreply.git.mattkc.com> Date: Mon Aug 18 17:08:46 2025 -0700 print more debug info commit 9dadb24c63f46d026c1757237b910c4e514c9dcd Author: MattKC <mattkc@noreply.git.mattkc.com> Date: Mon Aug 18 16:58:08 2025 -0700 prefer wayland if available for VAAPI commit 4db3b14eebf09852129989cc34b2a61c2a376540 Author: MattKC <mattkc@noreply.git.mattkc.com> Date: Mon Aug 18 16:40:53 2025 -0700 print eglGetError commit ad78d993881a198f1532cd5f9ec29ad83500f1af Author: MattKC <mattkc@noreply.git.mattkc.com> Date: Mon Aug 18 15:55:51 2025 -0700 don't include EGL stuff if not using commit f5a9b8966f49b75db849282352d67c842e353c9b Author: MattKC <mattkc@noreply.git.mattkc.com> Date: Mon Aug 18 15:18:07 2025 -0700 link X11 commit 3b498dfdf8cf3d83d8f9b943f0b637f5fb094080 Author: MattKC <mattkc@noreply.git.mattkc.com> Date: Mon Aug 18 15:04:31 2025 -0700 more vaapi libs commit 6fef38233ebbf7ecec5c1249f0792c3837fc1a02 Author: MattKC <mattkc@noreply.git.mattkc.com> Date: Mon Aug 18 14:50:22 2025 -0700 link libva commit 89a185efcafb0048e57a28baf207c0a810ea457f Author: MattKC <mattkc@noreply.git.mattkc.com> Date: Mon Aug 18 14:32:51 2025 -0700 conditionally compile with EGL commit 409edbd810503b919aa03751584b1eadeeade8d5 Author: MattKC <mattkc@noreply.git.mattkc.com> Date: Mon Aug 18 14:22:47 2025 -0700 only enable vaapi on linux builds commit e0c3a001ac4c2c0b36cf2678c69cc7e034de9ed3 Author: MattKC <mattkc@noreply.git.mattkc.com> Date: Mon Aug 18 14:17:37 2025 -0700 check for has_EGL_EXT_image_dma_buf_import EGL extension commit a61f959de2e2946f46432959bb7c478412d55ffc Author: MattKC <mattkc@noreply.git.mattkc.com> Date: Mon Aug 18 14:10:50 2025 -0700 implement VAAPI and DRM commit 4e51af70dbacd2e55e5b67f7154adf424360cea1 Author: MattKC <mattkc@noreply.git.mattkc.com> Date: Mon Aug 18 10:09:22 2025 -0700 get VAAPI frames up to the display thread commit 1270c0dfdaf16f9b80f514fc0c95141256cf8d8c Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com> Date: Mon Aug 18 07:29:00 2025 -0700 began impl
Vanilla
This is a work-in-progress software clone of the Wii U gamepad. No warranty is provided and everything should be considered alpha at best.
Usage/Installing
Official builds are provided for all supported platforms on the Releases page. Most users are recommended to use these.
Distro-specific packages
Vanilla is also available in the package managers of certain Linux distributions.
Arch (AUR)
An Arch User Repository (AUR) package called vanilla-wiiu-git is available for easy installation on Arch Linux and derivatives. For more information, see the AUR page: https://aur.archlinux.org/packages/vanilla-wiiu-git
What devices are supported?
- Steam Deck
- Linux (check Wi-Fi hardware compatibility)
- Nintendo Switch (requires Broadcom firmware patch or external Wi-Fi adapter)
- Android (currently frontend only)
- Windows (currently frontend only)
- Raspberry Pi (requires external Wi-Fi adapter)
- iOS - Coming soon
What Wi-Fi adapter should I use?
At a minimum, you will need an adapter that supports 802.11n 5GHz. Newer standards (e.g. 802.11ac) are backwards compatible and should work as long as they can run at 5GHz.
In practice, not all hardware/drivers appear to work at this time. Check the Wireless Compatibility page on the wiki to check if a card is confirmed working or not.
Compiling (Linux)
Vanilla currently requires the following dependencies:
- Debian/Ubuntu
apt install build-essential cmake libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev libavformat-dev libavcodec-dev libavutil-dev libswscale-dev libnl-genl-3-dev libnl-route-3-dev libssl-dev libxml2-dev libnm-dev - Fedora
dnf install libavcodec-free-devel libavutil-free-devel libavfilter-free-devel libnl3-devel SDL2-devel SDL2_image-devel SDL2_ttf-devel openssl-devel make automake gcc gcc-c++ kernel-devel cmake libxml2-devel NetworkManager-libnm-devel - Arch
pacman -S base-devel make cmake ffmpeg libnl sdl2 sdl2_image sdl2_ttf libxml2 libnm openssl - Alpine/postmarketOS
apk add build-base cmake sdl2-dev sdl2_image-dev sdl2_ttf-dev ffmpeg-dev libnl3-dev libxml2-dev openssl-dev networkmanager-dev
The build process is otherwise normal for a CMake program:
git clone https://github.com/vanilla-wiiu/vanilla.git
cd vanilla
mkdir build && cd build
cmake ..
cmake --build . --parallel
Optionally, to install the program:
sudo cmake --install .
