PS Vita (VITASDK): Basics of porting

Description

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,
Ingwie

This docs section is a more straightforward list of steps: https://docs.lvgl.io/latest/en/html/get-started/quick-overview.html#add-lvgl-into-your-project

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! =)