PS Vita (VITASDK): Basics of porting


What MCU/Processor/Board and compiler are you using?

  • Platform: PlayStation Vita
  • Compiler: $VITASDK/bin/vita-gcc: vita-gcc (GNU Tools for ARM Embedded Processors) 10.1.0
  • CPU: ARM CortexTM-A9-Core
  • GPU: PowerVR SGX543MP4+
    (CPU and GPU via Wikipedia)

What do you want to achieve?

Since access to the default Sony GUI is not easily accessible through homebrew toolchains, I want to use LVGL as a “replacement UI” for homebrew applications. This means:

  • Button navigation (CTRL_UP, CTRL_... in psp2kern/ctrl.h)
  • Touch input (#include <psp2/touch.h>)
  • 2D api (vita2d.h)
  • There is a little bit of 3D available (GL/gl.h, GL/glx.h, GL/nglx.h, GL/oscontext.h, GL/vgl.h, GLView.h)

I just need to know how I can tell LVGL to use these.

What have you tried so far?

Looked at the examples, taken a peek at the various headers. This is highly conceptual at the moment, but from what I saw in lv_conf_template.h, it is very doable! Most of the settings in there are easily tweaked to make use of the provided headers in VITASDK. I am just trying to find out how to glue the other bits together in order to get the initialization and navigation going.

Code to reproduce

None - yet.

Screenshot and/or video

None - yet.

If you got a pointer for me, I’d be happy to take it! The porting guide pointed me all over the place - but no straightforward “Call function X, pass Y, assign callback Z, …”. All I want to do at this point is tie the drawing and input APIs together and run an example app and see how it goes.

Kind regards,

This docs section is a more straightforward list of steps:

Exactly what I was looking for! A to the point document to show me where I need to implement what - which also indirectly tells me what symbols will become important. Thanks! =)