Bug 3488

Summary: Enable Mesa's llvmpipe
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Alexandru Georgescu <alexandru.c.georgescu>
Component: graphicsAssignee: Unassigned <unassigned>
Status: RESOLVED FIXED QA Contact:
Severity: enhancement    
Priority: Medium CC: holger.behrens, jessica.zhang, meta.mr.watcher, meta.watcher, richard.purdie, ross.burton, sgw
Version: 1.5   
Target Milestone: Future   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)

Description Alexandru Georgescu 2012-11-26 08:11:45 UTC
When trying to run a C clutter app from Eclipse to a qemux86 application, there is an error when determining the OpenGl version.

ENVIRONMENT:
Host: Fedora 17 64bit
Eclipse: Juno
Eclipse plugin: http://autobuilder.yoctoproject.org/pub/nightly/20121121-3/eclipse-plugin/
Tooclhain used: built with poky (bitbake meta-ide-support). 
Poky used: http://autobuilder.yoctoproject.org/pub/nightly/20121121-3/poky-0d7d413d64bab8d3c758414c6c8c653ccc325653.tar.bz2
Sysroot used: http://autobuilder.yoctoproject.org/pub/nightly/20121121-3/machines/qemu/qemux86/core-image-sato-sdk-qemux86-20121121211442.rootfs.ext3
bzimage: http://autobuilder.yoctoproject.org/pub/nightly/20121121-3/machines/qemu/qemux86/bzImage-qemux86.bin


STEPS TO REPRODUCE:
1. have a Juno configured with yocto eclipse-plugin
2. Configure it to use the toolchain created with bitbake (bitbake meta-ide-support), the sysroot and kernel using the files from above.
3. Create a C clutter project.
4. Reconfigure
5. build
6. Launch qemu within Eclipse (Run -> External Tools -> qemu_i586-poky-linux)
7. Create a new TCF connection for QEMU
8. After the connection is created, try to use it to deploy the app to qemu:
Run -> Run Configurations -> C/C++ Remote Application -> "name of the project"
In the Main window select the TCF connection if available. If not, create a new one.
9. Enter the path of the app on qemu in the "Rempote Absolute File Path for C/C++ Application". 
e.g: /home/root/b2 (I have used "b2" as my app remote absoulte path)
10. In the "Commands to execute before application" enter: 
 export DISPLAY=:0.0
11. Press Apply then RUN



EXPECTED RESULT
11. The app is deployed and run in QEMU



ACTUAL RESULT
11. The following error appears in "Console" tab within Eclipse:



root@qemux86:/# 
echo $PWD'>'
/>
root@qemux86:/# export 
DISPLAY=:0.0;/home/root/b2;exit

(b2:986): Clutter-CRITICAL **: Unable to initialize Clutter: The OpenGL version could not be determined
Segmentation fault
logout
Comment 1 Ross Burton 2012-11-26 11:00:37 UTC
GL should work on qemux86 through software GL - maybe something is still thinking we're using the old qemugl passthrough tricks?
Comment 2 Ross Burton 2012-11-26 11:25:32 UTC
Ah, turns out swrast is broken.

We should be using Mesa's llvmpipe for software rendering for the SDK builds.
Comment 3 Ross Burton 2013-11-08 16:43:41 UTC
This means bringing LLVM into oe-core.
Comment 4 Ross Burton 2014-03-25 14:36:45 UTC
Mesa currently has llvmpipe PACKAGECONFIG options that depend on meta-oe providing llvm itself.
Comment 5 Richard Purdie 2019-06-05 18:57:10 UTC
OE-Core now has llvm which can be used by mesa though configuration options.OE-Core now has llvm which can be used by mesa though configuration options.