[OE-core] [PATCH] mesa: enable additional drivers for gallium-llvm x86/x86-64

Martin Jansa martin.jansa at gmail.com
Tue Aug 20 21:09:02 UTC 2013


On Tue, Aug 20, 2013 at 08:41:03PM +1000, Jonathan Liu wrote:
> On 20/08/2013 8:24 PM, Martin Jansa wrote:
> > On Tue, Aug 20, 2013 at 08:10:41PM +1000, Jonathan Liu wrote:
> >> The additional Gallium drivers are needed for open source ATI Radeon
> >> and NVIDIA graphics drivers.
> >>
> >> The radeonsi and r600 drivers require LLVM 3.3 built with r600
> >> PACKAGECONFIG so they must be explicitly enabled by adding r600 to the
> >> mesa PACKAGECONFIG.
> > BTW: I just got interesting question about egl_gallium:
> >
> > libEGL warning: Could not open driver /usr/lib/egl/egl_gallium.so
> > (libLLVM-3.3.so: cannot open shared object file: No such file or
> > directory)
> > Could not initialize egl display
> >
> > EGL error
> > Aborted
> > root at qemux86:~# ls -alh /usr/lib/llvm3.3/
> > drwxr-xr-x    2 root     root        1.0K Aug 20 02:47 .
> > drwxr-xr-x   35 root     root       10.0K Aug 20 02:47 ..
> > -rwxr-xr-x    1 root     root       15.8M Aug 19 14:02 libLLVM-3.3.so
> > -rwxr-xr-x    1 root     root       78.2K Aug 19 14:02 libLTO.so
> > -rwxr-xr-x    1 root     root       10.1K Aug 19 14:02 libprofile_rt.so
> >
> > I don't know yet why it worked in my tests when I was updating mesa and
> > llvm, but it's true that we need to make sure that mesa finds
> > libLLVM-3.3.so in versioned subdirectory in runtime.
> LLVM has been working fine for me with llvmpipe (Intel GMA 3600 - 
> PowerVR-based), radeon (ATI Radeon HD5450) and nouveau (NVIDIA ION 
> GeForce 9400M) drivers.
> 
> There is a symbolic link in /usr/lib:
> $ cd /usr/lib
> $ ls -l libLLVM-3.3.so
> lrwxrwxrwx 1 root root 22 Aug 19 21:03 libLLVM-3.3.so -> 
> llvm3.3/libLLVM-3.3.so

But this one is from llvm3.3-dev package which isn't installed by
default, isn't it in your setup?

> I intend to submit xf86-video-ati and xf86-video-nouveau to 
> meta-openembedded later this week. I tested this change using those 
> recipes, linux-firmware (needed for ATI 3D acceleration) and the 
> following kernel options:
> CONFIG_DRM_RADEON=m
> CONFIG_DRM_RADEON_KMS=y
> CONFIG_DRM_NOUVEAU=y
> 
> Regards,
> Jonathan
> >
> >> Signed-off-by: Jonathan Liu <net147 at gmail.com>
> >> ---
> >>   meta/recipes-graphics/mesa/mesa.inc | 4 ++++
> >>   1 file changed, 4 insertions(+)
> >>
> >> diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc
> >> index 447e186..e985d67 100644
> >> --- a/meta/recipes-graphics/mesa/mesa.inc
> >> +++ b/meta/recipes-graphics/mesa/mesa.inc
> >> @@ -50,6 +50,10 @@ PACKAGECONFIG[egl] = "--enable-egl --with-egl-platforms=${EGL_PLATFORMS}, --disa
> >>   PACKAGECONFIG[openvg] = "--enable-openvg, --disable-openvg"
> >>   
> >>   GALLIUMDRIVERS = "swrast"
> >> +GALLIUMDRIVERS_LLVM33 = "${@base_contains('PACKAGECONFIG', 'r600', 'radeonsi,r600', '', d)}"
> >> +GALLIUMDRIVERS_LLVM = "r300,svga,nouveau${@base_version_less_or_equal('MESA_LLVM_RELEASE', '3.2', '', ',${GALLIUMDRIVERS_LLVM33}', d)}"
> >> +GALLIUMDRIVERS_append_x86 = "${@base_contains('PACKAGECONFIG', 'gallium-llvm', ',${GALLIUMDRIVERS_LLVM}', '', d)}"
> >> +GALLIUMDRIVERS_append_x86-64 = "${@base_contains('PACKAGECONFIG', 'gallium-llvm', ',${GALLIUMDRIVERS_LLVM}', '', d)}"
> >>   # keep --with-gallium-drivers separate, because when only one of gallium versions is enabled, other 2 were adding --without-gallium-drivers
> >>   PACKAGECONFIG[gallium]      = "--with-gallium-drivers=${GALLIUMDRIVERS}, --without-gallium-drivers"
> >>   PACKAGECONFIG[gallium-egl]  = "--enable-gallium-egl, --disable-gallium-egl"
> >> -- 
> >> 1.8.3.4
> >>
> >> _______________________________________________
> >> Openembedded-core mailing list
> >> Openembedded-core at lists.openembedded.org
> >> http://lists.openembedded.org/mailman/listinfo/openembedded-core
> 

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20130820/17b29002/attachment-0002.sig>


More information about the Openembedded-core mailing list