BBXM and SGX libs


I am trying to get a BBXM running with the SGX libraries. The requirements of my project are to run an EGL2 application without an X11 server. I’ve followed the steps on without success.

Using Ubuntu 13.10 built kernel version 3.13.5-armv7-x11 but I get no video on my Samsung SyncMaster 931c. Only the orange screen from u-boot then no signal.
I’ve tried installing the “Graphics SDK release” from TI’s website. Installation appears to go smoothly but the pvr service fails to load. Do we know what version of Linux the SGX libraries will work with?

Does anyone have an idea of what direction I need to go in to achieve this?


Use the old directions, with the old kernel.

I ripped out of a wiki for a reason..

Good Luck!


I had some success with the 3.7.x kernel and the SGX libraries! However I could not get the kernel to boot fully with Ubuntu 13.10 (ubuntu-13.10-console-armhf-2014-02-16.tar.xz). I ended up using an old Ubuntu 11.10 I found on our file server (ubuntu-11.10-r14-minimal-armel-2012-09-27.tar.xz).

I might be able to continue using 11.10 but if at all possible we would like update. Can you suggest a version that is more likely to work?

Thanks for your help.

I was able to get Ubuntu 13.10 to boot with this kernel.

By changing my uEnv.txt to there appear to be no issues. I’ve not tried to install the SGX libraries but I suspect they will work, that will be my next task if I decide to abandon the 11.10 version.

The dtb file was causing the boot issue. See RCN’s comment in!category-topic/beagleboard/beagleboard-xm/V2WeJrX4zXY

I have similar issues and achievements. More precisely, I have Beagleboard-XM + 3.7.x stable kernel + Ubuntu 13.10 + Graphics_SDK_setuplinux_4_08_00_02. Both kernel and SGX have been built through the stable-kernel scripts. I do see a

Graphics_SDK_setuplinux_4_08_00_02_hardfp_BinOnly.bin so I guess that it can work. The log below my signature is pretty encouraging.

Nevertheless, I cannot run any demo. I receive the following error:

bash: /opt/sgx/GFX_Linux_SDK/OGLES/SDKPackage/Binaries/X11/Demos/EvilSkull/OGLESEvilSkull: No such file or directory

bash: /opt/sgx/GFX_Linux_SDK/OGLES/SDKPackage/Binaries/Raw/Demos/EvilSkull/OGLESEvilSkull: No such file or directory
The files obviously exist.

Any idea what I’m doing wrong?


root@arm:/opt/sgx# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 13.10
Release: 13.10
Codename: saucy
root@arm:/opt/sgx# uname -a
Linux arm 3.7.10-armv7-devel-r59 #7 SMP Wed Mar 12 17:34:02 PDT 2014 armv7l armv7l armv7lx
root@arm:/opt/sgx# lsmod
Module Size Used by
bufferclass_ti 5820 0
omaplfb 11354 0
pvrsrvkm 177387 2 bufferclass_ti,omaplfb
root@arm:/opt/sgx# /usr/bin/armhf/es5.0/sgx_blit_test
------------------ SGX 3D Blit test -----------------
----------------------- Start -----------------------
Call PVRSRVConnect with a valid argument:
Get number of devices from PVRSRVEnumerateDevices:
… Reported 1 devices
… Device Number | Device Type
Attempt to acquire device 0:
Getting SGX Client info
… ui32ProcessID:875
Display Class API: enumerate devices
PVRSRVEnumerateDeviceClass() returns 1 display device(s)
Display Class API: open device
Display Class API: Get display info
… Name:PowerVR OMAP Linux Display Driver
… MaxSwapChains:1
… MaxSwapChainBuffers:1
… MinSwapInterval:0
… MaxSwapInterval:1
Display Class API: enumerate display formats
… Display format 0 - Pixelformat:1
Display Class API: enumerate display dimensions
… Display dimensions 0 - ByteStride:2048 Width:1024 Height:768
Attempt to create memory context for SGX:
… Shared heap 0 - HeapID:0x7000000 DevVAddr:0x1000 Size:0x87fe000 Attr:0x2014200
… Shared heap 1 - HeapID:0x7000001 DevVAddr:0xc800000 Size:0xfff000 Attr:0x2024200
… Shared heap 2 - HeapID:0x7000002 DevVAddr:0xe400000 Size:0x7f000 Attr:0x2024200
… Shared heap 3 - HeapID:0x7000003 DevVAddr:0xf000000 Size:0x3ff000 Attr:0x2024200
… Shared heap 4 - HeapID:0x7000004 DevVAddr:0xf400000 Size:0x4ff000 Attr:0x2014200
… Shared heap 5 - HeapID:0x7000005 DevVAddr:0xfc00000 Size:0x1ff000 Attr:0x2014200
… Shared heap 6 - HeapID:0x7000006 DevVAddr:0xdc00000 Size:0x7ff000 Attr:0x2014200
… Shared heap 7 - HeapID:0x7000007 DevVAddr:0xe800000 Size:0x7ff000 Attr:0x2014200
… Shared heap 8 - HeapID:0x7000008 DevVAddr:0xd800000 Size:0x3ff000 Attr:0x2024200
… Shared heap 9 - HeapID:0x7000009 DevVAddr:0x8800000 Size:0x0 Attr:0x2024200
… Shared heap 10 - HeapID:0x700000a DevVAddr:0x8800000 Size:0x3fff000 Attr:0x2014200
Display Class API: get the system (primary) buffer
Display Class API: map display surface to SGX
Attempt to create transfer context for SGX:
Do a SRCCOPY blit to the bottom right quadrant of the display:
(bottom right quadrant should be red on blue background):
Do a SRCCOPY blit to the top left quadrant of the display:
(top left quadrant should be striped (r/g/b/w) on blue background):
Do a CUSTOMSHADER blit to the top right quadrant of the display:
(top right quadrant should be yellow):
0xb6ba3000 (host) 0xf407000 (device): Device mem for custom shader program
0xb6ba1000 (host) 0xf408000 (device): Device mem for texture
USE custom shader program: 0x28841001.c0000000 mov.end o0, sa0
Do a SRCCOPY blit with COLOUR DOWNSAMPLING from ARGB8888 to RGB565
and then present the RGB565 to the bottom right quadrant of the screen
(bottom right quadrant should be a red gradient):
Free the off screen surfaces:
Destroy the transfer context:
Display Class API: unmap display surface from SGX
Destroy Device Memory Context
Display Class API: close the device
Release SGX Client Info:
Disconnect from services:
------------------ SGX 3D Blit test -----------------
------------------------ End ------------------------

I had not tried the demos besides the ones that reside in the same directory as the blit test. I decided to give EvilSkull a shot on my board. I noticed however that the instructions on are not 100% correct. Specifically the step after running the blit test. Wiki says:

tar xf GFX_Linux_SDK.tar.gz
cd GFX_Linux_SDK
tar xf OGLES.tar.gz

I had to do:
tar xf GFX_Linux_4.08.00.02_examples.tar.gz

cd GFX_Linux_SDK
tar xf OGLES.tar.gz

From there I was able to run:

Keep in mind that I ran the RAW version. I have no idea what that will do under X11. I don’t have xorg installed so I cannot validate that the X11 version of EvilSkull actually works. I am running Ubuntu 11.10. Might be nothing but my uname is different. Maybe we have different kernels. I changed nothing when building the kernel.

uname -a
Linux SimCDU 3.7.10-x13 #1 SMP Wed Mar 5 15:47:28 MST 2014 armv7l armv7l armv7l GNU/Linux