This guide describes how to contribute to this project (and not just this PS Vita HomeBrew) with the least amount of agony.
- Getting Started with PSVita Homebrew Development;
- Fixing linking issues with VitaSDK;
- VitaSDK - Development tools for PS Vita;
- VitaSDK API
- All about PS Vita hardware;
- HENkaku 変革 project;
- taiHEN Quick Start;
- Using the VitaSDK/DolceSDK with Visual Studio Code.
- Vita Nuova Discord server;
- HENkaku Discord server.
- Vitadev Package manager;
- A well-running Vitacompanion fork;
- Python3 vita-parse-core to retrieve information from the PS Vita error dump;
- Various development tools PSVita-RE-tools, including PrincessLog for debug.
- Use automatic code formatting for alignment and indentation (VSCode, Pre-Commit, etc).
Cheat sheets:
- Compile and run:
cargo build --release --bin cli && ./target/release/cli $VITA_IP
; - Clean cargo packages:
cargo clean
; - Upgrade all cargo dependencies:
cargo install cargo-edit
andcargo upgrade
.
Notes:
- To check the data sent to
uinput
it is convenient to useevtest
with evtest-qt.
Cheat sheets:
- Generate build folder:
cmake -S server -B build
; - Compile:
cmake --build build -j
; - Send to PS Vita:
cmake --build build --target send
; - Download and parse error dump:
export PARSECOREPATH=/vita-parse-core/main.py
andcmake --build build --target dump
.
Notes:
- If you change the code in a kernel module, update its version. This will help inform users after the update that they should reboot, as the old module may still be in memory;
- If you modify Cmake instructions, don't be lazy to do a complete cleanup of the project (for the lazy, you can just delete the build folder). This will help you avoid a lot of non-obvious problems;
cmake --build build -j && cmake --build build --target send
a quick way to send changes to the PS Vita. Just don't forget to specify theVITA_IP
variable before generating build instructions viacmake -S server -B build
. The same is true forPARSECOREPATH
;- Keep in mind that
cmake --build build --target send
will only send the module and eboot executable files.