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.

Gaphics SDK build/install problems (bufferclass_ti)

Other Parts Discussed in Thread: AM3517

When my target board ( LogicPD am3517 Zoom board) boots it complains about missing bufferclass_ti.

I thought that maybe I had not done the Graphics SDK build and install quite right so I thought I would go through that.

Now that I know that the board SDK linux-devkit toolchain (arm-arago-linux-gueabi) is the preferred one, I fixed the graphics SDK Rules.make to use that.

Unfotunately, some of the sub makes have their own hard coded CROSS_COMPILE definition set to arm-none-linux-gnueabi (the old code sorcery toolchain).

I started fixing those, but then decided to just make symlinks in the linux-devkit/bin directory to alias the old toolkit names to the new ones.

Does that seem like a reasonable workaround?

 

With regard to the bufferclass_ti problem, that appears to be for streaming video which I don't really need but it seems that not having it is screwing up powervr?

I do have graphics working, but maybe it's using some alternative mechanism?

Also, eglinfo complains that it can't open the display which would seem to indicate some fundamental problem.

So I guess that the question for now is, am I correct to be concerned about the bufferclass_ti problem, and do you have any hints about the right way to solve it?

Is rebuilding the graphics SDK and reinstalling it the right thing to try?

Any common pitfalls anyone can point out?

 

  • Hi,

    The next release of graphics SDK (planned for end of next week) will fix the issue about taking CROSS_COMPILE definition from only 1 location ie Rules.make.

    bufferclass_ti is not required for running the 3D graphics apps or demos. Its a propreitary implementation useful for streaming rapidly changing textures like video.

    Also make sure you are using eglinfo from the graphics SDK release.

    Can you provide details on the graphics SDK release and environment you are using with below script -

    https://gforge.ti.com/gf/download/docmanfileversion/203/3715/gfx_check.sh

    Also you can refer to user guide at -

    http://processors.wiki.ti.com/index.php/Graphics_SDK_Quick_installation_and_user_guide

    This is applicable to building and using graphics SDK standalone.

    Debugging tips, FAQ -

    http://processors.wiki.ti.com/index.php/SGXDbg

    Thanks,

    Prathap.

     

  • I had previously posted about a graphics library mismatch:

    http://e2e.ti.com/support/embedded/f/354/p/135980/502304.aspx#502304

    I fixed up all the symlinks in my target /usr/lib to point to the 4117 version libraries and now I no longer get the SGX_init error.

    ("(FAIL) SGXInit: Incompatible driver DDK revision (4117)/device DDK revision (3977)").

    I have 2 apparently graphics related problems reported as my target boots, a omap_hwmod error and a psPVRSRVMutex error right after the bufferclass_ti not found.

    error outputs and gfx_check output follow.

    As I say, my graphics does appear to be working, but I am concerned that things are really not set up right, and that it's going to get me into trouble later.

    omap_hwmod error
    ********************************************************************************************************
    [    0.000000] ------------[ cut here ]------------
    [    0.000000] WARNING: at arch/arm/mach-omap2/pm.c:94 _init_omap_device+0x84/0xa4()
    [    0.000000] _init_omap_device: could not find omap_hwmod for iva
    [    0.000000] Modules linked in:
    [    0.000000] [<c004a348>] (unwind_backtrace+0x0/0xec) from [<c0070928>] (warn_slowpath_common+0x4c/0x64)
    [    0.000000] [<c0070928>] (warn_slowpath_common+0x4c/0x64) from [<c00709c0>] (warn_slowpath_fmt+0x2c/0x3c)
    [    0.000000] [<c00709c0>] (warn_slowpath_fmt+0x2c/0x3c) from [<c0051a18>] (_init_omap_device+0x84/0xa4)
    [    0.000000] [<c0051a18>] (_init_omap_device+0x84/0xa4) from [<c00100ec>] (omap2_common_pm_init+0x2c/0x10c)
    [    0.000000] [<c00100ec>] (omap2_common_pm_init+0x2c/0x10c) from [<c003a3b8>] (do_one_initcall+0xc8/0x1a0)
    [    0.000000] [<c003a3b8>] (do_one_initcall+0xc8/0x1a0) from [<c0008690>] (kernel_init+0x94/0x14c)
    [    0.000000] [<c0008690>] (kernel_init+0x94/0x14c) from [<c0045590>] (kernel_thread_exit+0x0/0x8)
    [    0.000000] ---[ end trace 1b75b31a2719ed1c ]---
    ********************************************************************************************************


    end of console output as target arago linux starts:
    ********************************************************************************************************
    Starting PVR
    FATAL: Module bufferclass_ti not found.
    [   42.094421]
    [   42.094451] =============================================
    [   42.101654] [ INFO: possible recursive locking detected ]
    [   42.107330] 2.6.37 #2
    [   42.109710] ---------------------------------------------
    [   42.115356] pvrsrvinit/1790 is trying to acquire lock:
    [   42.120727]  (psPVRSRVMutex){+.+.+.}, at: [<bf00b7e4>] PVRMMapRegisterArea+0x10/0x60 [pvrsrvkm]
    [   42.130096]
    [   42.130096] but task is already holding lock:
    [   42.136199]  (psPVRSRVMutex){+.+.+.}, at: [<bf00e55c>] PVRSRV_BridgeDispatchKM+0x1c/0xec [pvrsrvkm]
    [   42.145812]
    [   42.145812] other info that might help us debug this:
    [   42.152648] 1 lock held by pvrsrvinit/1790:
    [   42.157043]  #0:  (psPVRSRVMutex){+.+.+.}, at: [<bf00e55c>] PVRSRV_BridgeDispatchKM+0x1c/0xec [pvrsrvkm]
    [   42.167083]
    [   42.167083] stack backtrace:
    [   42.171722] [<c004a348>] (unwind_backtrace+0x0/0xec) from [<c009ecdc>] (__lock_acquire+0xe58/0x17e8)
    [   42.181304] [<c009ecdc>] (__lock_acquire+0xe58/0x17e8) from [<c009f748>] (lock_acquire+0xdc/0x100)
    [   42.190704] [<c009f748>] (lock_acquire+0xdc/0x100) from [<c040fc14>] (mutex_lock_nested+0x60/0x2e4)
    [   42.200286] [<c040fc14>] (mutex_lock_nested+0x60/0x2e4) from [<bf00b7e4>] (PVRMMapRegisterArea+0x10/0x60 [pvrsrvkm])
    [   42.211486] [<bf00b7e4>] (PVRMMapRegisterArea+0x10/0x60 [pvrsrvkm]) from [<bf00e390>] (OSAllocPages_Impl+0x64/0xa0 [pvrsrvkm])
    [   42.223602] [<bf00e390>] (OSAllocPages_Impl+0x64/0xa0 [pvrsrvkm]) from [<bf005150>] (BM_ImportMemory+0xe4/0x290 [pvrsrvkm])
    [   42.235412] [<bf005150>] (BM_ImportMemory+0xe4/0x290 [pvrsrvkm]) from [<bf009874>] (RA_Alloc+0xb4/0x238 [pvrsrvkm])
    [   42.246520] [<bf009874>] (RA_Alloc+0xb4/0x238 [pvrsrvkm]) from [<bf004b34>] (BM_Alloc+0xac/0x298 [pvrsrvkm])
    [   42.256958] [<bf004b34>] (BM_Alloc+0xac/0x298 [pvrsrvkm]) from [<bf00a780>] (AllocDeviceMem+0x7c/0x104 [pvrsrvkm])
    [   42.267974] [<bf00a780>] (AllocDeviceMem+0x7c/0x104 [pvrsrvkm]) from [<bf00ac9c>] (_PVRSRVAllocDeviceMemKM+0x80/0x158 [pvrsrvkm])
    [   42.280395] [<bf00ac9c>] (_PVRSRVAllocDeviceMemKM+0x80/0x158 [pvrsrvkm]) from [<bf014f5c>] (PVRSRVAllocDeviceMemBW+0xa4/0x1a8 [pvrsrvkm])
    [   42.293548] [<bf014f5c>] (PVRSRVAllocDeviceMemBW+0xa4/0x1a8 [pvrsrvkm]) from [<bf0126a8>] (BridgedDispatchKM+0xd4/0x12c [pvrsrvkm])
    [   42.306152] [<bf0126a8>] (BridgedDispatchKM+0xd4/0x12c [pvrsrvkm]) from [<bf00e600>] (PVRSRV_BridgeDispatchKM+0xc0/0xec [pvrsrvkm])
    [   42.318664] [<bf00e600>] (PVRSRV_BridgeDispatchKM+0xc0/0xec [pvrsrvkm]) from [<c01087d4>] (vfs_ioctl+0x20/0x3c)
    [   42.329223] [<c01087d4>] (vfs_ioctl+0x20/0x3c) from [<c0108ed8>] (do_vfs_ioctl+0x510/0x554)
    [   42.337982] [<c0108ed8>] (do_vfs_ioctl+0x510/0x554) from [<c0108f68>] (sys_ioctl+0x4c/0x6c)
    [   42.346740] [<c0108f68>] (sys_ioctl+0x4c/0x6c) from [<c0044540>] (ret_fast_syscall+0x0/0x3c)
    Starting Matrix GUI application.

    ********************************************************************************************************
    gfx_check output:
    ********************************************************************************************************
    WSEGL settings
    [default]
    WindowSystem=libpvrPVR2D_FRONTWSEGL.so
    #WindowSystem=libpvrPVR2D_FLIPWSEGL.so
    ------
    ARM CPU information
    Processor    : ARMv7 Processor rev 7 (v7l)
    BogoMIPS    : 597.64
    Features    : swp half thumb fastmult vfp edsp thumbee neon vfpv3
    CPU implementer    : 0x41
    CPU architecture: 7
    CPU variant    : 0x1
    CPU part    : 0xc08
    CPU revision    : 7

    Hardware    : OMAP3517/AM3517 EVM
    Revision    : 0020
    Serial        : 0000000000000000
    ------
    SGX driver information
    Version 1.6.16.4117 (release) /home/user/Graphics_SDK_4_04_00_03/GFX_Linux_KM
    System Version String: SGX revision = 1.2.1
    ------
    Framebuffer settings

    mode "480x272"
        geometry 480 272 480 273 16
        timings 0 0 0 0 0 0 0
        rgba 5/11,6/5,5/0,0/0
    endmode

    Frame buffer device information:
        Name        : omapfb
    **************************************************************************************************************************************

  • I did find one problem, I had lost the graphics SDK bootargs, probably in the course of getting my tftp/nfs boot to work automatically.

    I now have this:

    console=ttyO2,115200n8 noinitrd rw ip=dhcp root=/dev/nfs nfsroot=192.168.1.141:/home/user/ti-sdk-am3517-evm-05.02.00.00/targetNFS,nolock, mem=256M vram=10M omapfb.vram=0:4M,1:3M,2:3M

     

    The part from "nolock" on wasn't there before - but it did not appear to affect the errors output at booting.

  • Hi,

    The graphics SDK 04.05.00.03 release fixes the problems related to taking CROSS_COMPILE from a single location ie Rules.make & eglinfo not working issue.

    You can download the release from -

    http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/latest/index_FDS.html

    Please try this release & close this query(with clicking on verify answer) if it solves the issues discussed in this thread.

    Thanks,

    Prathap.