Opened 11 months ago

Closed 10 months ago

Last modified 10 months ago

#19832 closed enhancement (fixed)

mesa-24.1.1

Reported by: Bruce Dubbs Owned by: Douglas R. Reno
Priority: normal Milestone: 12.2
Component: BOOK Version: git
Severity: normal Keywords:
Cc:

Description

New minor version.

Change History (14)

comment:1 by martyj19, 11 months ago

If I am reading this correctly the Intel drivers now have libclc as a required dependency, which pulls in llvm and clang. Not something I am thrilled to see happen.

comment:3 by Xi Ruoyao, 11 months ago

Intel vulkan driver needs the Python ply module.

comment:4 by Xi Ruoyao, 11 months ago

SPIRV-LLVM-Translator:

cmake -DCMAKE_BUILD_TYPE=Release  \
      -DCMAKE_INSTALL_PREFIX=/usr \
      -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=/usr -G Ninja ..

libclc:

cmake -DCMAKE_BUILD_TYPE=Release  \
      -DCMAKE_INSTALL_PREFIX=/usr -G Ninja ..

ply is just the "by-the-book" Python module installation.

in reply to:  4 ; comment:5 by Joe Locash, 11 months ago

Replying to Xi Ruoyao:

SPIRV-LLVM-Translator:

cmake -DCMAKE_BUILD_TYPE=Release  \
      -DCMAKE_INSTALL_PREFIX=/usr \
      -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=/usr -G Ninja ..

I would add

-DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=/usr/include/spirv/ -DBUILD_SHARED_LIBS=ON

otherwise the build will try to download the spirv headers even though they are installed already, and by default it will build the static library.

I also see rust, bindgen, and cbindgen being needed for the swrast vulkan driver:

../meson.build:328:2: ERROR: Problem encountered: swrast vulkan requires gallium swrast

After adding gallium I get:

Compiler for language rust for the build machine not found.

../src/nouveau/headers/meson.build:75:2: ERROR: Unknown compiler(s): [['rustc']]
The following exception(s) were encountered:
Running `rustc --version` gave "[Errno 2] No such file or directory: 'rustc'"

Install rust and then:

../src/nouveau/headers/meson.build:115:28: ERROR: Program 'bindgen' not found or not executable

Install bindgen (https://github.com/rust-lang/rust-bindgen) and then:

../src/nouveau/nil/meson.build:15:16: ERROR: Program 'cbindgen' not found or not executable

Install cbindgen and all is good.

in reply to:  5 ; comment:6 by Xi Ruoyao, 11 months ago

Replying to Joe Locash:

Replying to Xi Ruoyao:

SPIRV-LLVM-Translator:

cmake -DCMAKE_BUILD_TYPE=Release  \
      -DCMAKE_INSTALL_PREFIX=/usr \
      -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=/usr -G Ninja ..

I would add

-DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=/usr/include/spirv/ -DBUILD_SHARED_LIBS=ON

otherwise the build will try to download the spirv headers even though they are installed already, and by default it will build the static library.

-DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=/usr already prevents downloading the headers.

I also see rust, bindgen, and cbindgen being needed for the swrast vulkan driver:

Let's disable it then. I don't think it makes too much sense to use swrast for vulkan when a GPU is available.

in reply to:  6 ; comment:7 by Xi Ruoyao, 10 months ago

Replying to Xi Ruoyao:

Replying to Joe Locash:

Replying to Xi Ruoyao:

SPIRV-LLVM-Translator:

cmake -DCMAKE_BUILD_TYPE=Release  \
      -DCMAKE_INSTALL_PREFIX=/usr \
      -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=/usr -G Ninja ..

I would add

-DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=/usr/include/spirv/ -DBUILD_SHARED_LIBS=ON

otherwise the build will try to download the spirv headers even though they are installed already, and by default it will build the static library.

-DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=/usr already prevents downloading the headers.

I also see rust, bindgen, and cbindgen being needed for the swrast vulkan driver:

Let's disable it then. I don't think it makes too much sense to use swrast for vulkan when a GPU is available.

Oops but it seems Nouveau vulkan drivers (for NVIDIA cards) need them as well.

Last edited 10 months ago by Xi Ruoyao (previous) (diff)

comment:8 by Douglas R. Reno, 10 months ago

Summary: mesa-24.1.0 (Wait for 24.1.1)mesa-24.1.1

Now 24.1.1

comment:9 by Douglas R. Reno, 10 months ago

Owner: changed from blfs-book to Douglas R. Reno
Status: newassigned

in reply to:  4 comment:10 by Xi Ruoyao, 10 months ago

rust-bindgen: https://github.com/rust-lang/rust-bindgen/archive/v0.69.4/rust-bindgen-0.69.4.tar.gz

Building this package needs an Internet connection.

cargo build --release
cargo test --release
sudo install -vm755 target/release/bindgen /usr/bin

in reply to:  7 comment:11 by Xi Ruoyao, 10 months ago

Replying to Xi Ruoyao:

Replying to Xi Ruoyao:

Replying to Joe Locash:

Replying to Xi Ruoyao:

SPIRV-LLVM-Translator:

cmake -DCMAKE_BUILD_TYPE=Release  \
      -DCMAKE_INSTALL_PREFIX=/usr \
      -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=/usr -G Ninja ..

I would add

-DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=/usr/include/spirv/ -DBUILD_SHARED_LIBS=ON

otherwise the build will try to download the spirv headers even though they are installed already, and by default it will build the static library.

-DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=/usr already prevents downloading the headers.

Let's add -DCMAKE_SKIP_INSTALL_RPATH=ON to prevent unnecessary rpath. I.e. the full cmake command:

cmake -DCMAKE_BUILD_TYPE=Release  \
      -DCMAKE_INSTALL_PREFIX=/usr \
      -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=/usr \
      -DBUILD_SHARED_LIBS=ON \
      -DCMAKE_SKIP_INSTALL_RPATH=ON -G Ninja ..

comment:12 by Douglas R. Reno, 10 months ago

Resolution: fixed
Status: assignedclosed

This update was relatively complex due to the amount of changes required.

in reply to:  5 ; comment:13 by Xi Ruoyao, 10 months ago

Replying to Joe Locash:

I also see rust, bindgen, and cbindgen being needed for the swrast vulkan driver:

This is incorrect. Building swrast vulkan driver does not invoke rustc at all. They are actually needed by the nouveau vulkan driver.

in reply to:  13 comment:14 by Joe Locash, 10 months ago

Replying to Xi Ruoyao:

Replying to Joe Locash:

I also see rust, bindgen, and cbindgen being needed for the swrast vulkan driver:

This is incorrect. Building swrast vulkan driver does not invoke rustc at all. They are actually needed by the nouveau vulkan driver.

I understand that. Try building swrast vulkan with gallium disabled.

Note: See TracTickets for help on using tickets.