All of 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.