PSP2SDK vs VitaSDK – Which should I use for my native PSVita homebrew?
It seems that there are some homebrew developers that are still using the old PSP2SDK for their native homebrews. I am creating this article to clear up all the confusion on which sdk to use and also give some instructions on how to setup the VitaSDK.
The PSP2SDK was the first homebrew sdk created for native homebrew running through Rejuvenate. The main developer behind this (173210) has since become more interested in other platforms and eventually dropped support for the PSP2SDK. This being said, some things are now outdated and either wont work correctly, or will give you issues. Since the PSP2SDK was no longer in development, we needed to either transfer ownership of the PSP2SDK to someone that can continue it, or create a new sdk. There had already been another sdk in development, they went that route.
The VitaSDK is now the preferred sdk for homebrew developers to use. It has better C++ support and overall performs better. It was initially started by Cirne and continued by xyz and yifanlu as well as Netrix and I for various improvements.
Major differences between the two:
- The PSP2SDK relies on devkitARM for the compiler while the VitaSDK includes its own compiler based on gcc-arm-embedded.
- The headers and Makefile used for compiling with VitaSDK are different than that of the PSP2SDK. I’ll explain this later.
Installing the VitaSDK:
(Note: These instructions are for installing on Windows. If you’re running Linux, you probably know how to set it up. Go to #vitasdk on freenode if you need help)
- Install Msys2 (If you already have MinGW or Cygwin installed, those should also work fine.)
Note: you also need make. This can be installed via this command:pacman -S make
- Download the compiled binaries with vita_portlibs included: Click me (up to date at the time of writing this article)
- Extract to C:\vitasdk
- Add the following to your PATH variable: (Here’s a good tutorial in case you don’t already know how to do this)
C:\vitasdk\arm-vita-eabi\bin;C:\vitasdk\bin;
Porting your existing homebrew to VitaSDK:
As I mentioned earlier, there’s a few differences between the PSP2SDK and the VitaSDK. One of them is the prefix of some enums and macros in the headers. For example, in <psp2/ctrl.h> of the PSP2SDK they had a PSP2_ prefix such as PSP2_CTRL_UP. This was changed to the correct SCE_ prefix in the VitaSDK. Just correct the prefix, and you should be good to go. Another difference is commands in the Makefile. I don’t think it’s necessary to explain it, so here’s the Makefile I use in my VitaTester homebrew.
With all this said, I hope we can all continue to create wonderful homebrews for the PSVita. If you have any questions, leave a comment here, or preferably send me a DM to my Twitter account @SMOKE587
Hey was just wondering if the Rejuvenate could be used to alter the vita software… been wondering this for some time and if that could lead to a cfw?
No.
Thanks for the update, I dropped my work on the psp2sdk 3 month ago and plan to come back in a few. Glad you made this update and spare me a lot of time to figure out where we are now 😉
Nice and quick explanation, so vitasdk is the wayto go.
thanks for explanation
Nice article! I was quiet busy since some week and didn’t know too much what was hapenning in the rejuvenate world.
Let me provide extra information.
* I suspended because there were “PSP2SDK developers”.
Originally I planned just to make the base of the SDK (e.g. psp2-fixup, build system, template header files and library source codes) I achieved my goal, and concluded they would take over the project. That was a mistake. But, the Rejuvenate scene didn’t die. vitasdk took over the work.
* Now, I don’t recommend to take over PSP2SDK project
It’s dead. Of course, it depends on you whether you revive the project or not, but it will be probably in vain, because of lack of SDK users.
* I didn’t include GNU toolchains to make it truely “hackable” SDK.
That’s why I made PSP2SDK.
* vitasdk MUST continue improvements.
Or Rejuvenate will end completely.
The article you have shared here very good. This is really interesting information for me. Thanks for sharing!
– gmail sign up
Very informative article. Thanks for share!
JSC Result 2017
Another informative post by you again!
This is really nice post. This post has really impress me through its quality writing. In this article i watch some new writing style which is really nice. So thanks for sharing such a awesome post.
Configure Group Policy Settings