This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

BBB AM335x and Graphics SDK 4.10.0.1

Intellectual 270 points

Replies: 71

Views: 260129

I am trying to get the Graphics SDK 4.10.0.1 running on my BBB in order to run Qt5 QtQuick2 applications which need OpenGL ES.

My Kernel is from the RoberCNelson tree: 

root@arm:~# uname -a
Linux arm 3.8.13-bone28 #1 SMP Wed Oct 23 21:43:09 CEST 2013 armv7l GNU/Linux

Compiler is gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux

I downloaded the Graphics_SDK_setuplinux_4_10_00_01_hardfp_minimal_demos.bin and also the Graphics_SDK_setuplinux_4_10_00_01.bin. In the second one compilng with SUPPORT_XORG=1 is not working. So I used the hardfp package.

Here the steps I made:

For the Kernel:

cloned https://github.com/RobertCNelson/linux-dev and checkout out the 3.8.13-bone28 branch

run ./kernel_build.sh to build the kernel

For the SDK:

  • Modified the Rules.make for my environment
  • Modified the /GFX_Linux_KM/services4/3rdparty/linux_drm/Kbuild file (uncommented Kernel 3.4 - 3.8 section and commented the default config)
  • Run make BUILD=release OMAPES=8.x FBDEV=yes SUPPORT_XORG=1 all
  • Run sudo make BUILD=release OMAPES=8.x FBDEV=yes SUPPORT_XORG=1 install

Loading the modules:

Run /etc/init.d/335x-demo

log: 2335.install_on_device.txt

reboot

root@arm:/etc/init.d# lsmod
Module Size Used by
g_multi 56821 0
libcomposite 17153 1 g_multi
nfsd 234170 2
exportfs 3701 1 nfsd
hid_multitouch 7690 0

root@arm:/etc/init.d# modprobe pvrsrvkm
[ 1628.158673] pvrsrvkm: Unknown symbol drm_pvr_dev_remove (err 0)
[ 1628.167921] pvrsrvkm: Unknown symbol drm_pvr_dev_add (err 0)
ERROR: could not insert 'pvrsrvkm': Unknown symbol in module, or unknown parameter (see dmesg)

root@arm:/etc/init.d# modprobe --show-depends drm
insmod /lib/modules/3.8.13-bone28/extra/drm.ko

root@arm:/etc/init.d# modprobe --show-depends pvrsrvkm
insmod /lib/modules/3.8.13-bone28/extra/drm.ko
insmod /lib/modules/3.8.13-bone28/extra/pvrsrvkm.ko

Also a depmod -a does not help. Any idea what it could be?

71 Replies

  • Please direct questions concerning BB Black and the Angstrom build to the Beagleboard community support: http://www.beagleboard.org/Community/Forums

     

    Best Regards
    Biser
  • In reply to Biser Gatchev-XID:

    I think this is very TI related as it is about installing the SDK on Linux for support of you hardware.

    EDIT: When I build the SDK without SUPPORT_XORG the pvrsrvkm.ko module is able to load. But omaplfb gives me following output

    root@arm:/opt/gfxsdkdemos/ogles2# modprobe omaplfb
    [ 705.240036] Unable to handle kernel NULL pointer dereference at virtual address 00000000
    [ 705.248709] pgd = df744000
    [ 705.251643] [00000000] *pgd=00000000
    [ 705.255507] Internal error: Oops: 5 [#1] SMP ARM
    [ 705.260356] Modules linked in: omaplfb(O+) pvrsrvkm(O) g_multi libcomposite nfsd exportfs hid_multitouch
    [ 705.270417] CPU: 0 Tainted: G O (3.8.13-bone28 #1)
    [ 705.276959] PC is at AllocateDeviceID+0x0/0x48 [pvrsrvkm]
    [ 705.282732] LR is at PVRSRVRegisterDCDeviceKM+0xf0/0x178 [pvrsrvkm]
    [ 705.289318] pc : [<bf07c640>] lr : [<bf0786a8>] psr: 40000013
    [ 705.289318] sp : de66be18 ip : de6bcc98 fp : 0000001c
    [ 705.301351] r10: 000bb800 r9 : 00000000 r8 : 00000001
    [ 705.306838] r7 : df33e898 r6 : 00000000 r5 : df33e804 r4 : 00000000
    [ 705.313687] r3 : de6bcbc0 r2 : 00000001 r1 : de6bcbc8 r0 : 00000000
    [ 705.320539] Flags: nZcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
    [ 705.328026] Control: 10c5387d Table: 9f744019 DAC: 00000015
    [ 705.334056] Process modprobe (pid: 2932, stack limit = 0xde66a240)
    [ 705.340542] Stack: (0xde66be18 to 0xde66c000)
    [ 705.347974] be00: df74f280 de6bcbc0
    [ 705.356808] be20: 00000032 df33e800 00000000 00000000 000c8000 bf0b0cfc c009d008 60000013
    [ 705.365548] be40: c097d874 ffffffff bf0b1d5c bf0b1d5c de66bf58 00000000 00000001 bf0b1da4
    [ 705.374234] be60: bf0b4000 bf0b4008 de66a000 c0008890 bf0b4000 00000000 00000001 bf0b1d5c
    [ 705.382901] be80: bf0b1d5c de66bf58 00000000 00000001 bf0b1da4 00000001 df74f7c0 c0089bac
    [ 705.391568] bea0: bf0b1d68 00007fff c0085ab4 00000010 c008709c 00000028 00000000 bf0b1d68
    [ 705.400233] bec0: bf0b1eb0 000000c7 c06254ec e0f53228 de66beec b6f46d50 20000013 c088fca0
    [ 705.408899] bee0: de66bf1c c061ab58 e0f55000 b6f5f000 00000b01 00000000 00000000 00000000
    [ 705.417558] bf00: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [ 705.426219] bf20: 00000000 00000000 00000000 00000000 000000d2 b6f57000 00008b81 b6f46d50
    [ 705.437886] bf40: 00000080 c000da04 de66a000 00000000 00000000 c0089f28 e0f4d000 00008b81

    Message from syslogd@arm at Oct 24 08:25:08 ...
    kernel:[ 705.255507] Internal error: Oops: 5 [#1] SMP ARM
    [ 705.468541] bf60: e0f52c10 e0f52a60 e0f553b0 00001ecc 0000268c 00000000 00000000 00000000

    Message from syslogd@arm at Oct 24 08:25:08 ...
    kernel:[ 705.334056] Process modprobe (pid: 2932, stack limit = 0xde66a240)

    Message from syslogd@arm at Oct 24 08:25:08 ...
    kernel:[ 705.340542] Stack: (0xde66be18 to 0xde66c000[ 705.503545] bf80: 00000027 00000028 00000015 00000019 00000012 00000000 00000000 b6f9b228
    )

    Message from syslogd@arm at Oct 24 08:25:08 ...
    kernel:[ 705.347974] be00: df74f280 de6bcbc0

    Message from syslogd@arm at Oct 24 08:25:08 ...
    kernel:[ 705.356808] be20: 00000032 df33e800 00000000 00000000 000c8000 bf0b0cfc c009d008 60000013

    Message from syslogd@arm at Oct 24 08:25:08 ...
    kernel:[ 7[ 705.546509] bfa0: b6f9b338 c000d880 00000000 b6f9b228 b6f57000 00008b81 b6f46d50 00000002
    05.365548] be40: c097d874 ffffffff bf0b1d5c bf0b1d5c de66bf58 00000000 00000001 bf0b1da4

    Message from syslogd@arm at Oct 24 08:25:08 ...
    kernel:[ 705.374234] be60: bf0b4000 bf0b4008 de66a000 c0008890 bf0b4000 00000000 00000001 bf0b1d5c

    Message from syslogd[ 705.579638] bfc0: 00000000 b6f9b228 b6f9b338 00000080 00000000 b6f46d50 00008b81 00000000
    @arm at Oct 24 08:25:08 ...
    kernel:[ 705.382901] be80: bf0b1d5c de66bf58 00000000 00000001 bf0b1da4 00000001 df74f7c0 c0089bac

    Message[ 705.600313] bfe0: 00040000 bedb98f4 b6f40b07 b6ec3d94 80000010 b6f57000 00000000 00000000
    from syslogd@ar[ 705.610243] [<bf07c640>] (AllocateDeviceID+0x0/0x48 [pvrsrvkm]) from [<bf0786a8>] (PVRSRVRegisterDCDeviceKM+0xf0/0x178 [pvrsrvkm])
    m at Oct 24 08:2[ 705.623804] [<bf0786a8>] (PVRSRVRegisterDCDeviceKM+0xf0/0x178 [pvrsrvkm]) from [<bf0b0cfc>] (OMAPLFBInit+0x410/0x578 [omaplfb])
    5:08 ...
    kern[ 705.637178] [<bf0b0cfc>] (OMAPLFBInit+0x410/0x578 [omaplfb]) from [<bf0b4008>] (OMAPLFB_Init+0x8/0x2c [omaplfb])
    el:[ 705.391568[ 705.649217] [<bf0b4008>] (OMAPLFB_Init+0x8/0x2c [omaplfb]) from [<c0008890>] (do_one_initcall+0x90/0x160)
    ] bea0: bf0b1d68[ 705.660619] [<c0008890>] (do_one_initcall+0x90/0x160) from [<c0089bac>] (load_module+0x1944/0x1bf4)
    00007fff c0085a[ 705.671473] [<c0089bac>] (load_module+0x1944/0x1bf4) from [<c0089f28>] (sys_init_module+0xcc/0xec)
    b4 00000010 c008[ 705.682243] [<c0089f28>] (sys_init_module+0xcc/0xec) from [<c000d880>] (ret_fast_syscall+0x0/0x30)
    709c 00000028 00[ 705.693236] Code: e3e00000 ebffed06 e1a00004 e8bd8038 (e5902000)
    [ 705.700816] ---[ end trace ce03e9003225b855 ]---


    Message from syslogd@arm at Oct 24 08:25:08 ...
    kernel:[ 705.400233] bec0: bf0b1eb0 000000c7 c06254ec e0f53228 de66beec b6f46d50 20000013 c088fca0

    Message from syslogd@arm at Oct 24 08:25:08 ...
    kernel:[ 705.408899] bee0: de66bf1c c061ab58 e0f55000 b6f5f000 00000b01 00000000 00000000 00000000

    Message from syslogd@arm at Oct 24 08:25:08 ...
    kernel:[ 705.417558] bf00: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

    Message from syslogd@arm at Oct 24 08:25:08 ...
    kernel:[ 705.426219] bf20: 00000000 00000000 00000000 00000000 000000d2 b6f57000 00008b81 b6f46d50

    Message from syslogd@arm at Oct 24 08:25:08 ...
    kernel:[ 705.437886] bf40: 00000080 c000da04 de66a000 00000000 00000000 c0089f28 e0f4d000 00008b81

    Message from syslogd@arm at Oct 24 08:25:08 ...
    kernel:[ 705.468541] bf60: e0f52c10 e0f52a60 e0f553b0 00001ecc 0000268c 00000000 00000000 00000000

    Message from syslogd@arm at Oct 24 08:25:08 ...
    kernel:[ 705.503545] bf80: 00000027 00000028 00000015 00000019 00000012 00000000 00000000 b6f9b228

    Message from syslogd@arm at Oct 24 08:25:08 ...
    kernel:[ 705.546509] bfa0: b6f9b338 c000d880 00000000 b6f9b228 b6f57000 00008b81 b6f46d50 00000002

    Message from syslogd@arm at Oct 24 08:25:08 ...
    kernel:[ 705.579638] bfc0: 00000000 b6f9b228 b6f9b338 00000080 00000000 b6f46d50 00008b81 00000000

    Message from syslogd@arm at Oct 24 08:25:09 ...
    kernel:[ 705.600313] bfe0: 00040000 bedb98f4 b6f40b07 b6ec3d94 80000010 b6f57000 00000000 00000000

    Message from syslogd@arm at Oct 24 08:25:09 ...
    kernel:[ 705.693236] Code: e3e00000 ebffed06 e1a00004 e8bd8038 (e5902000)
    Segmentation fault


    gfx_check gives me following:

    root@arm:/opt# ./gfx_check.sh
    WSEGL settings
    [default]
    WindowSystem=libpvrPVR2D_FRONTWSEGL.so
    #WindowSystem=libpvrPVR2D_FLIPWSEGL.so

    ------
    ARM CPU information
    processor : 0
    model name : ARMv7 Processor rev 2 (v7l)
    BogoMIPS : 198.72
    Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls
    CPU implementer : 0x41
    CPU architecture: 7
    CPU variant : 0x3
    CPU part : 0xc08
    CPU revision : 2

    Hardware : Generic AM33XX (Flattened Device Tree)
    Revision : 0000
    Serial : 0000000000000000
    ------
    SGX driver information
    Version SGX_DDK_Linux_CustomerTI sgxddk 1.10@2359475 (release) /home/alexander/bin/linuxcnc2/Graphics_SDK_4_10_00_01_hardfp/GFX_Linux_KM
    System Version String: None
    ------
    Framebuffer settings

    mode "800x480"
    geometry 800 480 800 480 16
    timings 0 0 0 0 0 0 0
    accel true
    rgba 5/11,6/5,5/0,0/0
    endmode

    Frame buffer device information:
    Name :
    Address : 0x9e300000
    Size : 768000
    Type : PACKED PIXELS
    Visual : TRUECOLOR
    XPanStep : 1
    YPanStep : 1
    YWrapStep : 0
    LineLength : 1600
    Accelerator : No
    ------
    Rotation settings
    0
    ------
    Kernel Module information
    Module Size Used by
    omaplfb 16623 1
    pvrsrvkm 179036 1 omaplfb
    g_multi 56821 0
    libcomposite 17153 1 g_multi
    nfsd 234170 2
    exportfs 3701 1 nfsd
    hid_multitouch 7690 0
    ------
    Boot settings
    console=ttyO0,115200n8 capemgr.disable_partno=BB-BONELT-HDMI,BB-BONE-EMMC-2G video=HDMI-A-1:800x480M@85e root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait fixrtc ip=
    ------
    Linux Kernel version
    Linux arm 3.8.13-bone28 #1 SMP Wed Oct 23 21:43:09 CEST 2013 armv7l GNU/Linux

  • In reply to Alexander Rössler:

    I have now modified my kernel boot parameters to fit to the parameters mentioned in the install wiki. Still getting the same results when trying to load the omaplfb module. The omaplfb still seems to get loaded but when I try to run a demo I get PVRShell: EGL Error (EGL_BAD_ALLOC) error.

    root@arm:/opt# ./gfx_check.sh
    WSEGL settings
    [default]
    WindowSystem=libpvrPVR2D_FRONTWSEGL.so
    #WindowSystem=libpvrPVR2D_FLIPWSEGL.so

    ------
    ARM CPU information
    processor : 0
    model name : ARMv7 Processor rev 2 (v7l)
    BogoMIPS : 198.72
    Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls
    CPU implementer : 0x41
    CPU architecture: 7
    CPU variant : 0x3
    CPU part : 0xc08
    CPU revision : 2

    Hardware : Generic AM33XX (Flattened Device Tree)
    Revision : 0000
    Serial : 0000000000000000
    ------
    SGX driver information
    Version SGX_DDK_Linux_CustomerTI sgxddk 1.10@2359475 (release) /home/alexander/bin/linuxcnc2/Graphics_SDK_4_10_00_01_hardfp/GFX_Linux_KM
    System Version String: None
    ------
    Framebuffer settings

    mode "800x480"
    geometry 800 480 800 480 16
    timings 0 0 0 0 0 0 0
    accel true
    rgba 5/11,6/5,5/0,0/0
    endmode

    Frame buffer device information:
    Name :
    Address : 0x8e300000
    Size : 768000
    Type : PACKED PIXELS
    Visual : TRUECOLOR
    XPanStep : 1
    YPanStep : 1
    YWrapStep : 0
    LineLength : 1600
    Accelerator : No
    ------
    Rotation settings
    0
    ------
    Kernel Module information
    Module Size Used by
    omaplfb 16623 1
    pvrsrvkm 179036 1 omaplfb
    g_multi 56821 0
    libcomposite 17153 1 g_multi
    nfsd 234170 2
    exportfs 3701 1 nfsd
    hid_multitouch 7690 0
    ------
    Boot settings
    console=ttyO0,115200n8 capemgr.disable_partno=BB-BONELT-HDMI,BB-BONE-EMMC-2G video=HDMI-A-1:800x480M@85e root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait fixrtc mem=256M ip=dhcp earlyprintk=serial vram=50M
    ------
    Linux Kernel version
    Linux arm 3.8.13-bone28 #1 SMP Wed Oct 23 21:43:09 CEST 2013 armv7l GNU/Linux

  • In reply to Alexander Rössler:

    Hi,

    Can you please check if the kernel sources you are using has the frame buffer driver support available & enabled for the device you are using?

    Please check kernel menuconfig & also after it boots up, are you able to see /dev/fb0 node & are you able to run any frame buffer aplication successfully?

    Thanks,

    Prathap.

    If my reply answers your question then please click on the "Verify Answer" button.

  • In reply to Prathap Srinivas:

    Hi,

    /dev/fb0 is available. Can you give me an example for a simple framebuffer application so I can check whether it would work or not.

    This should be my current kernel config:  3482.config.txt

    Alexander

  • In reply to Alexander Rössler:

    Hi,

    Thanks for sharing the kernel config.

    I see that in your config, linux bootup logo is enabled.

    Do you see the penguin logo while linux bootup?

    If so frame buffer display is fine.

    If you are using the TI AMSDK file system, you can run the matrix gui application. This uses the frame buffer for display.

    Thanks,

    Prathap.

    If my reply answers your question then please click on the "Verify Answer" button.

  • In reply to Prathap Srinivas:

    Hi,

    The penguin shows up at boot. I have no AMSDK installed but I tested /dev/fb0 with this small application:

    http://git.ideasonboard.org/fbdev-test.git

    the framebuffer seems to work correctly. Also the application gave me following output:

    root@arm:/opt/testapp/fbdev-test# ./fbdev-test -f /dev/fb0
    Device /dev/fb0 opened:

    --- Fixed screen info ---
    Type: Packed Pixels
    Visual: True Color
    Chip/card: no hardware accelerator
    Memory: 768000 bytes @0x8e300000
    X Pan Step: 1
    Y Pan Step: 1
    Line Length: 1600 bytes

    --- Variable screen info ---
    Resolution: 800x480
    Virtual Resolution: 800x480
    X/Y Offset: (0,0)
    Size: 4294967295mm x 4294967295mm
    Pixel organization: RRRRRGGGGGGBBBBB
    (16 bits per pixel) 4321054321043210

    FB memory mapped at 0xb6dfe000
    Filling frame buffer with SMPTE test pattern

    Regards,

    Alexander

    EDIT: Here is the boot log of my system: 5047.boot.txt

    EDIT2: I get also:

    root@arm:~# /etc/init.d/rc.pvr start
    /usr/local/bin/pvrsrvctl: SrvInit failed (already initialized?) (err=4)

    I tried different configurations with PM_RUNTIME=0 and PM_RUNTIME=1 getting always the same errors. I think this has no effect for Kernel 3.8.

  • In reply to Alexander Rössler:

    Hi,

    Thanks for the confirmation on frame buffer.

    If you refer to the graphics SDK 04.10.00.01 release notes, it has been validated against 3.2 kernel.

    http://processors.wiki.ti.com/index.php/RN_4_10_00_01#Kernel.28Linux_PSP.29_versions_supported_or_used_for_validation

    Also good to see you are following other  threads where users have got the graphics SDK working on their setups with our suggestion -

    http://e2e.ti.com/support/arm/sitara_arm/f/791/t/275714.aspx

    Were you able to try as mentioned in above thread?

    Also please see other threads below where users have got graphics SDK working on their setups  -

    http://e2e.ti.com/support/arm/sitara_arm/f/791/t/283259.aspx

    http://e2e.ti.com/support/arm/sitara_arm/f/791/p/275648/964119.aspx

    http://e2e.ti.com/support/arm/sitara_arm/f/791/p/284135/991262.aspx

    If you are still very particular on 3.8 only, we can help you with relevant patches but please note that the 04.10.00.01 release was validated against the kernel as mentioned in the release notes.

    Thanks,

    Prathap.

     

     

    If my reply answers your question then please click on the "Verify Answer" button.

  • In reply to Prathap Srinivas:

    Hi,

    I have not got it working using the above threads and steps for the 3.2 kernel. RobertCNelson told me that there are some bits are missing in the 3.8 kernel and that the GPU seems to be disabled. It would be great if you could provide patches for the 3.8 kernel. As mentioned in the beginning I use RoberCNelson linux-dev scripts with the 3.8.13-bone23 kernel

    Regards

    Alexander

  • In reply to Alexander Rössler:

    There is a lot of people in the beaglebone community that need the assistance of TI on this subject.... We really love this product and this community! Please help us. 

    We are actually working with 3.8 kernel but if we have to move to the 3.12 or 3.13 kernel we will do it. But without you, we can't... 

This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.