Trouble Activating SGX on BeagleBone Black with Kernel 5.10.168-ti-r64

I’m trying to activate the SGX (PowerVR) on my BeagleBone Black with the kernel version 5.10.168-ti. Here are the steps I’ve taken so far:

  1. Verifying the loaded module (pvrsrvkm):
    The command shows that the module is loaded, which is a positive sign:lsmod | grep pvr pvrsrvkm
pvrsrvkm 368640 0
  1. Checking system messages:
    The command shows that the kernel has detected and initialized the driver without any apparent errors:dmesg | grep -i pvr pvr
[   73.563532] pvrsrvkm: loading out-of-tree module taints kernel.
[   74.023666] [drm] Initialized pvr 1.17.4948957 20110701 for 56000000.gpu on minor 1
  1. Attempting to start the rc.pvr service:
    When I try to start the service using the command , I encounter the following error:/etc/init.d/rc.pvr start
PVR:(Error): PVRSRVBridgeCall: Failed to access device.
PVR:(Error): OpenServices: PVRSRVBridgeCall failed.
PVR:(Error): PVRSRVInitSrvConnect: PVRSRVConnect failed.
SrvInit: PVRSRVInitSrvConnect failed (4)
/usr/bin/pvrsrvctl: SrvInit failed (already initialized?) (err=PVRSRV_ERROR_INIT_FAILURE)

Has anyone encountered this issue, or can provide guidance on how to successfully activate SGX on this kernel version?

activate SGX on BeagleBone Black with Kernel 5.10.168-ti-r64, and ensure SGX support is enabled in the kernel configuration. you may need to load the SGX driver and potentially apply custom patches if it’s not natively supported. check forums for specific kernel patches or instructions related to SGX on your board.

I looked at that a long time ago, it appears to be a dinosaur.

Hello,

After successfully enabling SGX on my BeagleBone Black, thanks to the guidance from this repository GitHub - robertkirkman/sm64ex-bbb-doc: Guide and patches for playing Super Mario 64 PC port with hardware 3D acceleration enabled on the Texas Instruments BeagleBone Black, I still encounter issues with hardware rendering. Despite the SGX being activated, rendering is still done via software.

To provide more context, I’ve opened a discussion in the repository: Issue #2.

Could you please take a look and let me know if there’s something I might be missing or misconfigured?

Thanks in advance for your help!

I could very well be wrong with this, the github content provider is wishful dreaming regarding the GPU.

How were you able to activate the SGX, where did you get the kernal module / driver for it?

I was able to activate SGX by following the steps outlined in the guide from the same repository I linked earlier. The repository provides instructions on how to install and initialize SGX, including setting up the necessary kernel module and driver.

Let me know if you’d like me to share more details about the specific steps I followed.

1 Like

I did not see anything for the gpu, SDL is cpu rendering.

The repository documentation includes instructions for updating the system, installing dependencies for graphics and development on the BeagleBone Black, compiling and installing a proprietary graphics driver for the PowerVR SGX530 (supporting OpenGL ES 2.0 and EGL 1.5 with KMS/DRM and RGB565), and patching and building SDL2 optimized for hardware rendering on the BeagleBone Black.

1 Like

@foxsquirrel
i followed the instructions, following is what i get when running one of the apps.
kmscube --gears
CPU useage is about 4% user, 24% sys with 20 fps

OpenGL ES 2.x information:
version: “OpenGL ES 2.0 build 1.17@4948957”
shading language version: “OpenGL ES GLSL ES 1.00 build 1.17@4948957”
vendor: “Imagination Technologies”
renderer: “PowerVR SGX 530”

1 Like

Cool!!!
I will have to try that, thank you very much for sharing that.

1 Like

I’m glad to hear that you followed the instructions and got it running! Could you let me know which kernel version you are using? Also, did you only follow the steps from the guide, or did you need to make any additional adjustments?

I’d love to see if someday it’s possible to run a QML program with hardware rendering instead of just running an example like kmscube.

1 Like

That is the real test, the cube is a pre-compiled binary. Until you have all the other code that is needed you are not going any place.

used this image
am335x-debian-11.8-iot-armhf-2023-10-07-4gb
did not have to make any changes for
Minimal SDL demo
kmscube

also tried this image
bone-debian-10.3-iot-armhf-2020-04-06-4gb
it didn’t work, couldn’t get kmscube to build

tried some of the unfinished, ya they all seem to have failure points that i could get past

thanks for the tutorial,