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:08:43 +0200	[thread overview]
Message-ID: <20171223010843.GC26647@momiji> (raw)
In-Reply-To: <CALoSW666QZZCi=XMkir+UP=8N+dG6hbZQ0ZiFLM=nGKRxQRB-Q@mail.gmail.com>

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.)
 
> > 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/7ee84224/attachment.asc>

  reply	other threads:[~2017-12-22 23:08 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 [this message]
2017-12-22 23:11         ` Adrian Perez de Castro
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=20171223010843.GC26647@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