Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Adrian Perez de Castro <aperez@igalia.com>
To: buildroot@busybox.net
Subject: [Buildroot] How to force mesa3d to use llvmpipe?
Date: Sat, 23 Dec 2017 01:11:48 +0200	[thread overview]
Message-ID: <20171223011148.GE26647@momiji> (raw)
In-Reply-To: <20171223010843.GC26647@momiji>

On Sat, 23 Dec 2017 01:08:43 +0200, Adrian Perez de Castro <aperez@igalia.com> wrote:
> Hello Nimai,
> 
> On Fri, 22 Dec 2017 17:10:49 -0500, Nimai Mahajan <nimaim@gmail.com> wrote:
> > On Fri, Dec 22, 2017 at 4:52 PM, Romain Naour <romain.naour@gmail.com> wrote:
> > 
> > > Hi Nimai,
> > >
> > > Le 22/12/2017 ? 22:22, nimaim a ?crit :
> > > > Looks like BR may still not have llvmpipe support. Curious if this patch got
> > > > anywhere?
> > > >  http://lists.busybox.net/pipermail/buildroot/2017-July/195823.html
> 
> I have made those patches as part of a proof-of-concept for a project. The
> people involved have decided to switch over to a GPU-accelerated solution, and
> that means that I have not been devoting time to polish the patch set for
> inclusion upstream. While I think it would be nice to have LLVM packages
> merged, so far I have been working on Buildroot using my laptop and it has
> been prohibitive to me to spend CPU time on side quests which don't help my
> daily work ? sorry about that!
> 
> > > This patch series is still present in the patchwork [1] but this work need
> > > to be updated with the latest llvm/clang release (5.0.1).
> 
> After Christmas I expect to have a powerful build machine and plenty of disk
> space, and then it will be more feasible for me to try do some additional
> contributions to Buildroot. Let's see then whether I can get it updated.
> 
> > > However, you can still test this series and you should be able to use
> > > llvmpipe.
> > 
> > Thanks! Sounds good, I will try to merge Adrian's llvm package and mesa3d
> > patches locally and rebuild mesa and see if I can get Qt to work with the
> > llvm OpenGL driver. By any chance, do you know if llvm v4.0.0 will work
> > with mesa 17.2.x or 17.3.x or will it have to be bumped to v5? Also, not
> > sure how familiar with Qt you are, but do you know if Qt will require
> > special hooks to be able to use this with xcb?
> 
> Any Mesa 17.x should work fine with LLVM 4.x; it should not be needed to
> update the build recipes to LLVM 5. Quoting from the Mesa website:
> 
>   ?Unless otherwise stated, LLVM version 3.4 is recommended; 3.3 or
>    later is required.?
> 
> There is also this note regarding PowerPC support:
> 
>   ?For ppc64le processors, use of the Altivec feature (the Vector Facility) is
>   recommended if supported; use of the VSX feature (the Vector-Scalar
>   Facility) is recommended if supported AND Mesa is built with LLVM version
>   4.0 or later.?
> 
> (See https://www.mesa3d.org/llvmpipe.html for more details.)

One more detail: If Mesa does not realize by itself that it should use a
software-based rendering driver (which can happen when there are multiple
drivers built into Mesa), you can force it at runtime by setting the
?LIBGL_ALWAYS_SOFTWARE=1? environment variable. There is more about the
environment variables supported by Mesa here:

  https://www.mesa3d.org/envvars.html

> > > I have not announced it yet on the mailing list that there will be a
> > > student at Smile working on this subject. He will present his internship
> > > topic during the next Buildroot meeting [2].
> > 
> 
> Nice! I am considering going to FOSDEM, if I do so it could be nice to meet
> and maybe talk a bit about the topic  :-)
> 
> > > Enabling llvmpipe support in mesa is not really difficult but packaging
> > > llvm/clang is a more difficult and time consuming task.
> > 
> > Great! Agreed, something that definitely needs some work. Glad to see
> > someone will be working it.
> 
> Indeed. It would be great to see full support for LLVM in Buildroot, as it
> would be a building block for many other things:
> 
>  - Enabling ?llvmpipe? the and ?swr? rasterizers in Mesa3D. Also, the ?amdgpu?
>    can use (needs?) LLVM for some of the GPUs.
> 
>  - As said, it's a requisite of Clang. And having Clang could open the
>    door to use Clang-based cross-compiler toolchains.
> 
>  - Rust uses LLVM for code generation. There has been patches recently flying
>    by the mailing list which use prebuilt binaries (and that's already a great
>    first step), but it would be nice that Buildroot compiles its own Rust
>    toolchain, like it does for C/C++.
> 
>  - Probably others.
> 
> > > You're welcome to work on this series and give some feedback.
> > >
> > 
> > I'm merely a small time dev and still learning (as is probably evident by
> > all my questions :)), especially with embedded graphics, but will be happy
> > to test and contribute any way I can. Hopefully I can get this in a decent
> > enough state. Quite surprised that this hasn't made it to BR yet.
> 
> We all had to learn at some point, that's all right! Well, I would even say
> that there's always one more thing to learn ;-)
> 
> Best regards,
> 
--
 Adri?n ?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20171223/1ee318ec/attachment.asc>

  reply	other threads:[~2017-12-22 23:11 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-22 20:53 [Buildroot] How to force mesa3d to use llvmpipe? nimaim
2017-12-22 21:22 ` nimaim
2017-12-22 21:52   ` Romain Naour
2017-12-22 22:10     ` Nimai Mahajan
2017-12-22 23:08       ` Adrian Perez de Castro
2017-12-22 23:11         ` Adrian Perez de Castro [this message]
2017-12-23  0:05           ` Nimai Mahajan
2017-12-24 16:46             ` Nimai Mahajan
2017-12-25 12:08               ` Romain Naour
2017-12-26 14:00                 ` Nimai Mahajan
2017-12-22 23:50         ` Nimai Mahajan

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=20171223011148.GE26647@momiji \
    --to=aperez@igalia.com \
    --cc=buildroot@busybox.net \
    /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