[Openpvrsgx-devgroup] Reverse engineering SGX 540 userspace driver

Lucas Fryzek lucas.fryzek at hazeco.xyz
Thu Nov 11 23:26:36 CET 2021

Hello Nikolaus,

> It *could* work but was never tested. We have the matching DDK 
> release version in the tree. Just choose CONFIG_PVRSGX_1_14_3759903=y
> It may be that the branch is missing some fixes that have been 
> applied to the versions CONFIG_PVRSGX_1_14_3699939 and 
> CONFIG_PVRSGX_1_17_4948957 which are more or less well running on 
> OMAP3/4/5.
> Do you have the user space for 1.14.3759903? I am not sure but it may 
> be stored in the factory flash image.
>>  I'm trying to get a setup right now where I can compile a kernel 
>> mode driver and make modifications to get a better idea on how the 
>> GPU is being controlled. If I can use a more modern kernel and linux 
>> userland that would be very nice.
> Just get the letux tree: 
> https://github.com/goldelico/letux-kernel/tree/letux-5.15
> It includes everything incl. HDMI driver for the CI20 (use 
> letux_defconfig) and compiles the SGX driver that is configured. But 
> the default is CONFIG_PVRSGX_1_17_4948957=y so there may be surprises 
> when switching to CONFIG_PVRSGX_1_14_3759903 we can discuss how to 
> fix.
I believe my board is currently flashed with the `Debian 8 2015-09-09` 
image from this webpage https://elinux.org/CI20_Distros.
I took a look through the filesystem and I cannot find the DDK as a zip 
package, but all of the PVR libraries seem to be versioned as 
`1.14.544606452`. The reason I referred to `1.14.3759903` before was 
this is the version listed on this web page 

I'm not sure what the latest available kernel module + userland is for 
the CI20. I did find this git repo 
https://github.com/MIPS/CI20_PVR-prebuilts, that seems to have userland 
libraries for version `1.15.4568187`. But I'm not if there is a 
matching open source kernel driver for this repo.

I am currently trying to get a setup where I can build the open PVR 
kernel module and have it work with the userspace. I've been working. 
Building my own kernel with the old debian images seems to break DRM, 
so I suspect there is so version mismatching going on. I'll take a look 
at the kernel in the letux project instead as this looks like a more 
productive use of my time. I'll also take a look at some of the older 
debian images for the CI20 to see if the `1.14.3759903` to attempt to 
use with the letux kernel.

Thanks for the help on first steps!


More information about the openpvrsgx-devgroup mailing list