From: Jonathan Liu <net147@gmail.com>
To: Martin Jansa <martin.jansa@gmail.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH] mesa: enable additional drivers for gallium-llvm x86/x86-64
Date: Tue, 20 Aug 2013 20:41:03 +1000 [thread overview]
Message-ID: <521347BF.7090507@gmail.com> (raw)
In-Reply-To: <20130820102427.GE522@jama>
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@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
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@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@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
next prev parent reply other threads:[~2013-08-20 10:46 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-20 10:10 [PATCH] mesa: enable additional drivers for gallium-llvm x86/x86-64 Jonathan Liu
2013-08-20 10:24 ` Martin Jansa
2013-08-20 10:41 ` Jonathan Liu [this message]
2013-08-20 21:09 ` Martin Jansa
2013-08-20 22:42 ` Jonathan Liu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=521347BF.7090507@gmail.com \
--to=net147@gmail.com \
--cc=martin.jansa@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox