DolceSDK is a homebrew SDK forked from VitaSDK due to the latter's glacial pace of development and incoherent policy on backward compatibility.
DolceSDK favours correctness over backward compatibility.
DolceSDK can be installed alongside VitaSDK so it is possible to build projects using either.
Getting Started
Prerequisite
Linux
Install the following (adapt the command for your system): apt-get install make git-core cmake python patch
OSX
Windows
If you have Bash on Ubuntu on Windows, then the recommended way is to follow the Linux directions above. Otherwise, continue reading.
- Install msys2
- Run mingw64 shell and install the dependencies:
pacman -Su make git cmake tar mingw64/mingw-w64-x86_64-libwinpthread-git python patch
Installing
Set the environment variable DOLCESDK
to be the install destination for DolceSDK. We recommend using /usr/local/dolcesdk
. We also recommend making the change to your .bashrc
or equivalent (.bash_profile
on OSX) since using the toolchain requires DOLCESDK
to be set.
export DOLCESDK=/usr/local/dolcesdk
export PATH=$DOLCESDK/bin:$PATH # add dolcesdk tool to $PATH
Download the host package manager and install to $DOLCESDK
git clone https://github.com/dolcesdk/ddpm
cd ddpm
./bootstrap-dolcesdk.sh
./install-all.sh
This will install the toolchain and the most common libraries (including zlib, freetype, libvita2d, taihen and more).
Updating
With DolceSDK installed and in your PATH
, just run dolcesdk-update
to get the latest toolchain build.
Removing
To remove all traces of DolceSDK, just delete your $DOLCESDK
directory. You can then reverse the steps in installing the prerequisite.
Platform
Changes over VitaSDK
Writing Code
The APIs are gathered from reversing the Vita’s firmware. It includes everything you can do with the system. It is recommended that you start by cloning the samples and by reading through them and understanding them. The environment is POSIX but the true power comes from the Sony specific APIs.
Plugins and Extensions
It is highly recommended that you are familiar with writing homebrews before attempting to write a plugin, which is significantly more difficult to do. Advanced developers can check out taiHEN for a substrate that allows you to hook system functions.
Building
Building is done with CMake and you should familiarize yourself with the hello world CMake file to better understand how it works.
SELF is the executable format that the Vita runs and the included CMake macro dolce_create_self
will build it for you. VPK is the homebrew package format and is an archive of the SELF along with data files and LiveArea and is done by the CMake macro dolce_create_vpk
. VPK is what is installed to the Vita as a bubble.
Running
To run homebrew, you need a hacked Vita or PS TV.
Porting libraries
DolceSDK ships with a flexible makepkg
-based build system for building packages that can later be installed into the SDK. To get started, clone dolcesdk/packages, cd
into a directory with a VITABUILD
file and run dolce-makepkg
. Once the package is built, you can install it with ddpm ./name-version-arm.tar.xz
.
If you want to write your own VITABUILD
file, here are a few examples that you can follow: a library using autotools-style build, a library using CMake, and a library where a Vita-specific patch is required.
Community
Thanks to the VitaSDK team for VitaSDK! The VitaSDK logo was designed by @Acemad_.
You can find most of us in the CBPS Discord server.