DolceSDK

Playstation Vita homebrew SDK

Site Forum Discord Twitter Github

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

  1. Install either brew or MacPorts
  2. Run either brew install wget cmake or port install wget cmake.

Windows

If you have Bash on Ubuntu on Windows, then the recommended way is to follow the Linux directions above. Otherwise, continue reading.

  1. Install msys2
  2. 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

See this forum thread here.

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.