• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Digital Signal Processors (DSP) » OMAP™ Processors » OMAP35x Processors Forum » GPGPU on OMAP3530 without framebuffer
Share
OMAP™ Processors
  • Forums
  • Announcements
Options
  • Subscribe via RSS
Resources
  • OMAP-L1x DSP+ARM9™-based Processors Product Folder
  • OMAP3525/30 DSP+ARM Cortex™-A8-based SOCs Product Folder

  • Top OMAPL Wiki Links
  • OMAPL3x Schematic Review Checklist
  • OMAPL13x Boot resources

  • OMAPL Document Resources
  • OMAPL137 Technical reference manual
  • OMAPL138 Technical reference manual
  • OMAPL Boot loader App Notes
  • Forums

    GPGPU on OMAP3530 without framebuffer

    This question is answered
    Samuel Gosselin
    Posted by Samuel Gosselin
    on Apr 13 2012 18:02 PM
    Prodigy40 points

    Hello,

    I'm trying to use the OMAP3530's GPU, but I've some problems.
    My final device does not have any screens, so I can't load the omaplfb module in the kernel. Here is what I've done:

    First, I downloaded the Graphics_SDK_setuplinux_4_06_00_01_BinOnly.bin package, then I installed it.
    Secondly, I compiled the  package:

    make all OMAPES=3.x BUILD=release

    I got the three modules:

    •  bufferclass_ti.ko
    • omaplfb.ko
    • pvrsrvkm.ko

    I successfully loaded the bufferclass_ti and the pvrsrvkm modules. But, when I try to load the omaplfb module, it does not work:

    root@igep0020:~/gpu# dmesg

    [ 6945.295196] omaplfb: Unknown symbol fb_blank (err 0)
    [ 6945.300567] omaplfb: Unknown symbol fb_set_var (err 0)
    [ 6945.317932] omaplfb: Unknown symbol registered_fb (err 0)
    [ 6945.324584] omaplfb: Unknown symbol fb_pan_display (err 0)
    [ 6968.406066] omaplfb: Unknown symbol fb_blank (err 0)
    [ 6968.411987] omaplfb: Unknown symbol fb_set_var (err 0)
    [ 6968.417388] omaplfb: Unknown symbol registered_fb (err 0)
    [ 6968.423889] omaplfb: Unknown symbol fb_pan_display (err 0)
    [ 6991.665283] omaplfb: Unknown symbol fb_blank (err 0)
    [ 6991.671203] omaplfb: Unknown symbol fb_set_var (err 0)
    [ 6991.676605] omaplfb: Unknown symbol registered_fb (err 0)
    [ 6991.683135] omaplfb: Unknown symbol fb_pan_display (err 0)

    How can I emulate a framebuffer on my target ?

    Can I do GPGPU Programming without any framebuffer (with OpenCL for example) ?

    Thanks! :)

    omap3530 OMAP 3530 SGX beagleboard 3530 graphics kernel Linux Drivers GPGPU
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    All Replies
    • Prabindh Sundareson
      Posted by Prabindh Sundareson
      on Apr 13 2012 21:01 PM
      Expert4455 points

      You should use the pixmap option (FBDev=0) in build. Refer the Getting started guide for details. OpenCL is not supported on the device you mention. 

       


       

      Note: Post the output of below Script, while posting queries related to SGX drivers:

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

      Also read the below page,

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

      For User Interface queries, submit below details for faster response,

      https://gforge.ti.com/gf/download/docmanfileversion/220/3798/UI_graphics_reqs_sheet_v1.xls

       

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Samuel Gosselin
      Posted by Samuel Gosselin
      on Apr 15 2012 07:23 AM
      Prodigy40 points

      Hello,

      Thank's for your answer.

      I've followed this guide: http://processors.wiki.ti.com/index.php/Graphics_SDK_Quick_installation_and_user_guide 

      Then:

      • make BUILD=release FBDEV=no SUPPORT_XORG=0 all
      • I've copied all the shared objects and the binaries
      • I've inserted all the modules in the kernel with depmod
      But, when I'm executing the gles1test1 binary, I get:
      root@igep0020:~/sgx/sample# ./gles1test1 
      'eglInitialize' returned egl error 'EGL_BAD_ALLOC' (0x3003)
      I think I missed something, but I can't see it. Have I to rebuild the kernel with the framebuffer enabled ? I think I don't have to since omapfb uses the CMEM module if FBDEV=0, but I'm not sure ... :) 
      EDIT:
      Well, in fact I still have the same error as before. When I insert the omapfb module, dmesg prints:
      [   84.317016] cmemk initialized
      [ 84.342651] DSPLINK Module (1.65.00.03) created on Date: Dec 13 2011 Time: 16:38:02
      [ 333.669250] omaplfb: Unknown symbol fb_blank (err 0)
      [ 333.674835] omaplfb: Unknown symbol fb_set_var (err 0)
      [ 333.680206] omaplfb: Unknown symbol registered_fb (err 0)
      [ 333.686676] omaplfb: Unknown symbol fb_pan_display (err 0)
      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Prabindh Sundareson
      Posted by Prabindh Sundareson
      on Apr 15 2012 20:14 PM
      Expert4455 points

      Can the log of gfx_check be attached ?

       


       

      Note: Post the output of below Script, while posting queries related to SGX drivers:

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

      Also read the below page,

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

      For User Interface queries, submit below details for faster response,

      https://gforge.ti.com/gf/download/docmanfileversion/220/3798/UI_graphics_reqs_sheet_v1.xls

       

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Prathap Srinivas
      Posted by Prathap Srinivas
      on Apr 16 2012 01:16 AM
      Expert4140 points

      Hi,

      FBDEV=no option is supported on 387x/389x devices only. This was done/implemented on request basis from a customer & on OMAP35xx devices there was no such request(using without framebuffer) so far .Please see 4th point in the graphics SDK getting strated guide (below link)

      http://processors.wiki.ti.com/index.php/GSG:_AM35x_and_OMAP35x_Rebuilding_the_Software#Building_the_OMAP35x.2F387x.2F389x_Graphics_Demo_Software

      If required you can make the changes in code present under GFX_Linux_KM/services4/3rdparty/dc_omapfb3_linux by refering to GFX_Linux_KM/services4/3rdparty/dc_ti81xx_linux.

      grep for FBDEV in GFX_Linux_KM/services4/3rdparty/dc_ti81xx_linux & implement similar changes in GFX_Linux_KM/services4/3rdparty/dc_omapfb3_linux  folder.

      Please let us know if you require any assistance/clarifications in this regards.

      Thanks,

      Prathap.

       

       

       

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

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Prathap Srinivas
      Posted by Prathap Srinivas
      on Apr 18 2012 06:06 AM
      Verified Answer
      Verified by Samuel Gosselin
      Expert4140 points

      Hi,

      Did you try with the above suggested changes?

      Also attached is the dc_omapfb3_linux code 8358.dc_omapfb3_linux.tar.gzupdated with changes mentioned above.

      Please replace the existing dc_omapfb3_linux folder under GFX_Linux_KM/services4/3rdparty of Graphics SDK release with the attached one & then you can build the graphics SDK release with FBDEV=no.

      After this to test it, you can use the attached sample app 2061.sampleTwoTriangles.tar.gzthat draws 2 triangles.

      Procedure to run sample app -

      1. Ensure that omap-demo script is run and the graphics drivers(pvrsrvkm.ko, omaplfb.ko) have been inserted, initialized successfully.

      2. Insmod cmem.ko that you would have built.

      3. Run attached sample app as ./sampleTwoTriangles 2 800 600

      Logs from our execution for reference -

      root@am37x-evm:/opt# insmod cmemk.ko phys_start=0x88000000 phys_end=0x8FFFFFFF p
      ools=4x2097152,4x1048576,1x117440512 allowOverlap=1
      [ 1009.342315] CMEMK module: built on Apr 13 2012 at 14:55:34
      [ 1009.348175]   Reference Linux version 2.6.37
      [ 1009.352661]   File /home1/prathap/cmem/src/module/cmemk.c
      [ 1009.364044] allocated heap buffer 0xca000000 of size 0x400000
      [ 1009.370178] cmemk initialized

      root@am37x-evm:/opt# ./sampleTwoTriangles 2 800 600
       Modified: March 23, 2011
       inSurfaceType: 2
       inWidth: 800
       inHeight: 600
       eglGetDisplay
       eglInitialize
       eglGetConfigs
       eglChooseConfig
       n_cfgs: 2
       SGX_SURFACE_TYPE_PIXMAP_32
       pixmapwidth: 800
      pixmapHeight: 600
      Physical address = 8fe00000

      // Afrer you see above print, press ctrl+c

      Writing pixmap data to file pixmap.raw
       eglMakeCurrent EGL_NO_SURFACE
       eglDestroyContext
       eglDestroySurface
       eglTerminate
       DONE

      When you run the sample app & press ctrl-c, you will get the output -pixmap.raw file. This can be viewed with any image viewer(For example IrfanView) that supports viewing raw RGB files. Use the setting of 800x600 and 32 bpp while viewing the pixmap.raw file.

      Please mark this as Verified answer once you confirm the above.

      Thanks,

      Prathap.

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

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Samuel Gosselin
      Posted by Samuel Gosselin
      on Apr 18 2012 15:01 PM
      Prodigy40 points

      Hi,

      Thank's for working on my problem!

      I've re-installed the SDK then put your modification (I already modified the files, but I prefer to use your solution). Secondly I compile the SDK:

      make BUILD=release OMAPES=5.0 FBDEV=no SUPPORT_XORG=0 all

      Then, installed it on my target's file system:

      make OMAPES=5.0 install

      But I get the following error:

      WARNING: /media/rootfs/lib/modules/2.6.35.11/extra/omaplfb.ko needs unknown symbol fb_blank
      WARNING: /media/rootfs/lib/modules/2.6.35.11/extra/omaplfb.ko needs unknown symbol fb_set_var
      WARNING: /media/rootfs/lib/modules/2.6.35.11/extra/omaplfb.ko needs unknown symbol registered_fb
      WARNING: /media/rootfs/lib/modules/2.6.35.11/extra/omaplfb.ko needs unknown symbol fb_pan_display

      What do you think ?
      I'll try to keep on working on that, but I think the module will not be able to be loaded by the kernel ... 

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Samuel Gosselin
      Posted by Samuel Gosselin
      on Apr 18 2012 16:06 PM
      Prodigy40 points

      Hi again,

      I modified the "omaplfb_linux.c" and try to avoid calling "fb_*" functions. You can find a patch of my modification here: http://dl.dropbox.com/u/28058500/omaplfb_linux.patch
      Thanks to these modifications, I'm able to load the different modules! I generated the raw file, and it works!

      You can find this image here: http://dl.dropbox.com/u/28058500/pixmap.raw

      Could you give me the source of your example please ?

      Thank you very much for your help! :)

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Prathap Srinivas
      Posted by Prathap Srinivas
      on Apr 24 2012 07:51 AM
      Expert4140 points

      You are welcome. Please find the source of the sample application attached5287.sampleTwoTriangles.tar.gz. It has a README which explains how to build & run.

      Thanks,

      Prathap.

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

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    TI E2E™ Community
    • Support Forums
    • Blogs
    • Videos
    • Groups
    • Site Support & Feedback
    • Settings
    TI E2E™ Community Groups
    • TI University Program
    • Make the Switch
    • Microcontroller Projects
    • Motor Drive & Control
    Other Communities
    • Deyisupport
    • Designsomething.org
    • beagleboard.org
    • TI on Element 14
    • TI on TechXchangeSM
    Other Technical & Support Resources
    • WEBENCH® Design Center
    • Product Information Centers
    • Technical Documents
    • TI Design Network
    • TI Technical Articles
    • TI Training

    All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

    Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

    Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
    TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

    TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
    embedded processors, along with software, tools and the industry’s largest sales/support staff.

    © Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
    Trademarks | Privacy Policy | Terms of Use