Opened 8 years ago

Closed 8 years ago

Last modified 7 years ago

#8341 closed enhancement (fixed)

Incorrect LLVM dependency in Mesa

Reported by: Armin K Owned by: bdubbs@…
Priority: normal Milestone: 8.0
Component: BOOK Version: SVN
Severity: normal Keywords:
Cc:

Description (last modified by Armin K)

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 Armin K, 8 years ago

Description: modified (diff)

comment:2 by Armin K, 8 years ago

Description: modified (diff)

comment:3 by Pierre Labastie, 8 years ago

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.

comment:4 by bdubbs@…, 8 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 bdubbs@…, 8 years ago

Owner: changed from blfs-book@… to bdubbs@…
Status: newassigned

comment:6 by bdubbs@…, 8 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 Douglas R. Reno, 8 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 bdubbs@…, 8 years ago

Resolution: fixed
Status: assignedclosed

Made some tweaks in r17818 and r17819.

Closing.

comment:9 by bdubbs@…, 7 years ago

Milestone: 7.118.0

Milestone renamed

Note: See TracTickets for help on using tickets.