[Letux-kernel] PVR/SGX driver integrated into kernel tree

H. Nikolaus Schaller hns at goldelico.com
Mon Dec 18 14:32:24 CET 2017


Hi all,
I spent some time to work on the PVR/SGX driver and with
4.15-rc4 there is now something available for further study.

What works:
* integration with SoC drivers for OMP3630 and AM335x in
  drivers/gpu/pvr/omap*
* fixes for kernel driver to compile and work against 4.15 API
* a gpu-demo script that installs the (closed) firmware and drivers,
  then starts the µKernel on the SGX and finally tries to
  run a demo - tested on GTA04 and Letux Cortex 8

Well, we do yet not see anything on the display :(

There is one missing piece: the interface of the SGX to the
framebuffer base address.

Unfortunately neither the omaplfb nor the omapdrm backends
of the kernel driver work (although they can be compiled).

If you want to try, SGX is not configured into the latest
4.15-rc4 but it is easy to enable:

1. download sources of 4.15-rc4
   (http://projects.goldelico.com/p/gta04-kernel/)
2. edit letux_defconfig to set
   CONFIG_SGX=y
   CONFIG_SGX_OMAP=m
   optionally CONFIG_SGX_DRM=y
3. build & boot
4. run /root/gpu-demo script

For AM33xx (BeagleBone/PocketBone/LC8) there is one more change:
edit drivers/gpu/pvr/omap3/Makefile for SOC=ti335x.

There is still a lot of things to do:
* fix the framebuffer access issue
* make a variant for omap3430 (OpenPandora 600MHz)
  this needs a different flavour of the user-space package
* make variants for OMAP4 and OMAP5 (driver code is
  already included in source tree)
* for AM33xx there is some tiny bit missing to fully
  automatically enable all clocks. Currently there is
  a devmem2 hack in the gpu-demo script
* I have some ideas to streamline the driver so that
  a single driver binary could support *all* OMAP variants
  and generations but that is a big project which needs
  funding

Please test and report your experiences.

It would be great if we could provide a full set
of tested and maintained (as good as possible)
drivers for *all* omap boards.

And an (optional) 3D acceleration for Replicant.

BR,
Nikolaus



More information about the Letux-kernel mailing list