#8341 closed enhancement (fixed)
Incorrect LLVM dependency in Mesa
Reported by: | Armin K | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | 8.0 |
Component: | BOOK | Version: | SVN |
Severity: | normal | Keywords: | |
Cc: |
Description (last modified by ) ¶
Note on the Mesa page states that LLVM and elfutils are required for several drivers.
That's not entirely true.
LLVM only is required for r300 (not elfutils), and it doesn't need the AMDGPU target.
Neither LLVM or elfutils are needed for r600 unless one uses --enable-r600-llvm-compiler or enables OpenCL, neither which is default in BLFS, and OCL requires additional deps not in the book; Former switch shouldn't be used anyways, SB is superior to llvm compiler.
--enable-r600-llvm-compiler: Use this switch to enable an experimental R600 LLVM backend for graphics shaders which claims to speed up the driver.
This statement should be reworked/removed, as it's no longer true (it may have been at one period in the past).
Both elfutils and LLVM are required only for radeonsi.
And still, only LLVM, without AMDGPU target, is needed for swr/llvmpipe. If llvm is not present, llvmpipe won't be built, but softpipe will be (both are different swrast implementations).
https://cgit.freedesktop.org/mesa/mesa/tree/configure.ac#n2409
https://cgit.freedesktop.org/mesa/mesa/tree/configure.ac#n2318
Change History (9)
comment:1 by , 9 years ago
Description: | modified (diff) |
---|
comment:2 by , 9 years ago
Description: | modified (diff) |
---|
comment:3 by , 9 years ago
comment:4 by , 9 years ago
This ticket is not clear to me. From a grep of the source elfutils is needed for radeon: src/gallium/drivers/radeon/radeon_elf_util.c
I'm guessing that the ticket is about the line in the first note on the page: "Please note that elfutils and LLVM are required for the Gallium3D r300, r600, radeonsi, and SWR drivers."
Is the best solution to just delete that sentence? The comments in the Recommended section of dependencies seems to be correct.
Upon review there are several changes that need to be made to mesa:
- --enable-gles1 is now the default
- --enable-gles2 is now the default
- --enable-gbm is auto and is enabled if -with-egl-platforms contains "drm"
Two of the listed drivers are for really old video cards (r300, r600). Do we really need to list them as the default?
There is no --enable-r600-llvm-compiler option any more. There is --enable-gallium-llvm that is enabled by default on x86/x86_64. It is not clear which gallium drivers explicitly need/use llvm. It may be all of them or just one or two.
Why do we not build the new i915 driver by default?
comment:5 by , 9 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:6 by , 9 years ago
Fixed at revision 17816, but leaving open for a few days for review.
Does anyone know why the recommended dependencies have libva for systemd only? Why isn't it appropriate for sysv?
comment:7 by , 9 years ago
Yeah, I asked about that and was told to keep it systemd only. It might have something to do with wayland as well. Once I get my sysvinit system far enough, I'd be happy to see if it works or not.
comment:8 by , 9 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Actually, there are a lot of other places where dependencies are not accurate, for example I read yesterday that gpgme could be used for wget, but we do not cite that as a dependency. I'd say the book needs some overhaul in this respect. OTOH, following the recommended dependency chain allows, maybe at the price of some useless packages or part of packages, to build almost all packages in the book.
I must go out of town for a few days, but if nobody beats me on this, I'll take this ticket and look at the ways to organise the said overhaul.