mirror of
https://github.com/vanilla-wiiu/vanilla.git
synced 2026-10-28 09:43:51 +00:00
* feat: add iOS support * ios: clean up icon * ci: add ios build * fix(gui): revert asset lookups to use "%s/assets/%s/%s" for macOS * refactor(gui): remove extra `iconv` linkage for iOS * chore(gitignore): remove unused `xcuserdata` and `DerivedData` entries * fix(gui): use provided `LibXML2` in non-vendored builds * fix(ci): add Xcode setup step for iOS build * fix(pipe): prevent relay threads from using freed stack memory * fix(input): replace bitfields with explicit wire packing for touch and gyro data * fix merge issues * fix cmake merge bug * cmake: attempt iOS SDL fix * older ios * feat: add iOS support * ios: clean up icon * ci: add ios build * refactor(gui): remove extra `iconv` linkage for iOS * chore(gitignore): remove unused `xcuserdata` and `DerivedData` entries * fix(ci): add Xcode setup step for iOS build * cmake: attempt iOS SDL fix * older ios * cleanup * build signed macOS app alongside iOS app * cmake: detect ios version and include liquid glass icon if available * ci: upload continuous release * cmake: move more ios code to toolchain * remove ios simulator target * improvements * remove CMakePresets.json * Update ios-toolchain.cmake * move ios folder to gui folder * converge Info.plist templates * update comments and readme * cmake: remove redundant code * remove redundant ios folder * cmake: add comments to cache strings * cmake/ci: maybe fix new apple builds * cmake: fix new ios build * cmake: fix macOS build? --------- Co-authored-by: MattKC <34096995+itsmattkc@users.noreply.github.com>
124 lines
5.3 KiB
Markdown
124 lines
5.3 KiB
Markdown
# 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.
|
|
|
|
<p align="center">
|
|
<img src="https://raw.githubusercontent.com/vanilla-wiiu/vanilla/master/images/screenshot3.png">
|
|
<br>
|
|
<a href="https://youtu.be/DSgFu4rDxgc">
|
|
Announcement Video
|
|
</a>
|
|
</p>
|
|
|
|
## Usage/Installing
|
|
|
|
Official builds are provided for all supported platforms on the [Releases](https://github.com/vanilla-wiiu/vanilla/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](https://aur.archlinux.org/packages/vanilla-wiiu-git)
|
|
|
|
## What devices are supported?
|
|
|
|
- [Nintendo Switch](https://github.com/vanilla-wiiu/vanilla/wiki/Nintendo-Switch)
|
|
- [Steam Deck](https://github.com/vanilla-wiiu/vanilla/wiki/Steam-Deck)
|
|
- [Linux](https://github.com/vanilla-wiiu/vanilla/wiki/Linux-Setup-Guide) (check [Wi-Fi hardware compatibility](https://github.com/vanilla-wiiu/vanilla/wiki/Wireless-Compatibility))
|
|
- [Android](https://github.com/vanilla-wiiu/vanilla/wiki/Android)
|
|
- [Windows](https://github.com/vanilla-wiiu/vanilla/wiki/Windows-Setup-Guide) (currently frontend only)
|
|
- [Raspberry Pi](https://github.com/vanilla-wiiu/vanilla/wiki/Single%E2%80%90Board-Computers) (requires [external Wi-Fi adapter](https://github.com/vanilla-wiiu/vanilla/wiki/Linux-Setup-Guide#raspberry-pi))
|
|
- [Orange Pi](https://github.com/vanilla-wiiu/vanilla/wiki/Single%E2%80%90Board-Computers) (requires [external Wi-Fi adapter](https://github.com/vanilla-wiiu/vanilla/wiki/Linux-Setup-Guide#raspberry-pi))
|
|
- macOS (currently frontend only)
|
|
- [iOS](https://github.com/vanilla-wiiu/vanilla/wiki/iOS) (currently frontend only)
|
|
|
|
## 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](https://github.com/vanilla-wiiu/vanilla/wiki/Wireless-Compatibility) page on the wiki to check if a card is confirmed working or not.
|
|
|
|
## Keyboard Mapping
|
|
|
|
### Special Functions
|
|
|
|
Extra Vanilla functionality can be accessed through these keyboard shortcuts. On platforms like the [Steam Deck](https://github.com/vanilla-wiiu/vanilla/wiki/Steam-Deck), these can be mapped to the back grip buttons.
|
|
|
|
| Function | Key |
|
|
| --------------------- | ------------- |
|
|
| Start/Stop Recording | F5 |
|
|
| Toggle Fullscreen | F11 |
|
|
| Take Screenshot | F12 |
|
|
| Disconnect | Esc |
|
|
|
|
### Gameplay
|
|
|
|
While a controller/gamepad is strongly recommended for the best experience, it is possible to use the keyboard as a fallback. This is the default keyboard mapping, but the keys are remappable in the settings:
|
|
|
|
| Gamepad Button | Key |
|
|
| ----------------- | ------------- |
|
|
| A | Z |
|
|
| B | X |
|
|
| X | C |
|
|
| Y | V |
|
|
| Plus (+) | Enter/Return |
|
|
| Minus (-) | Left Ctrl |
|
|
| Home | H |
|
|
| TV | Y |
|
|
| Left Stick Up | W |
|
|
| Left Stick Left | S |
|
|
| Left Stick Down | A |
|
|
| Left Stick Right | D |
|
|
| Left Stick Click | E |
|
|
| D-Pad Up | Up Arrow |
|
|
| D-Pad Left | Left Arrow |
|
|
| D-Pad Down | Down Arrow |
|
|
| D-Pad Right | Right Arrow |
|
|
| Right Stick Up | Keypad 8 |
|
|
| Right Stick Left | Keypad 4 |
|
|
| Right Stick Down | Keypad 2 |
|
|
| Right Stick Right | Keypad 6 |
|
|
| Right Stick Click | Keypad 5 |
|
|
| L | T |
|
|
| ZL | G |
|
|
| R | U |
|
|
| ZR | J |
|
|
|
|
## Compiling (Linux)
|
|
Vanilla currently requires the following dependencies:
|
|
|
|
- **Debian/Ubuntu**
|
|
```sh
|
|
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 libxml2-dev libnm-dev libpolkit-agent-1-dev
|
|
```
|
|
- **Fedora**
|
|
```sh
|
|
dnf install libavcodec-free-devel libavutil-free-devel libavfilter-free-devel libnl3-devel SDL2-devel SDL2_image-devel SDL2_ttf-devel make automake gcc gcc-c++ kernel-devel cmake libxml2-devel NetworkManager-libnm-devel polkit-devel
|
|
```
|
|
- **Arch**
|
|
```sh
|
|
pacman -S base-devel make cmake ffmpeg libnl sdl2 sdl2_image sdl2_ttf libxml2 libnm polkit
|
|
```
|
|
- **Alpine/postmarketOS**
|
|
```sh
|
|
apk add build-base cmake sdl2-dev sdl2_image-dev sdl2_ttf-dev ffmpeg-dev libnl3-dev libxml2-dev networkmanager-dev polkit-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 .
|
|
```
|