TI E2E Community
Digital Signal Processors (DSP)
OMAP35x Processors Forum
GPGPU on OMAP3530 without framebuffer
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:
I successfully loaded the bufferclass_ti and the pvrsrvkm modules. But, when I try to load the omaplfb module, it does not work:
[ 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) ?
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:
Also read the below page,
For User Interface queries, submit below details for faster response,
Thank's for your answer.
I've followed this guide: http://processors.wiki.ti.com/index.php/Graphics_SDK_Quick_installation_and_user_guide
[ 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)
Can the log of gfx_check be attached ?
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)
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.
If my reply answers your question then please click on the "Verify Answer" button.
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 pools=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: 800pixmapHeight: 600Physical 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.
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/188.8.131.52/extra/omaplfb.ko needs unknown symbol fb_blankWARNING: /media/rootfs/lib/modules/184.108.40.206/extra/omaplfb.ko needs unknown symbol fb_set_varWARNING: /media/rootfs/lib/modules/220.127.116.11/extra/omaplfb.ko needs unknown symbol registered_fbWARNING: /media/rootfs/lib/modules/18.104.22.168/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 ...
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.patchThanks 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! :)
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.
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.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.