ubuntu:gpu:vulkan:vulkan_try_new_version
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
ubuntu:gpu:vulkan:vulkan_try_new_version [2023/08/02 23:06] – peter | ubuntu:gpu:vulkan:vulkan_try_new_version [2023/08/03 00:14] (current) – peter | ||
---|---|---|---|
Line 27: | Line 27: | ||
===== Build the loader ===== | ===== Build the loader ===== | ||
+ | |||
+ | <code bash> | ||
+ | sudo apt-get update && sudo apt-get install git build-essential libx11-xcb-dev libxkbcommon-dev libwayland-dev libxrandr-dev cmake | ||
+ | git clone https:// | ||
+ | cd Vulkan-Loader | ||
+ | mkdir build | ||
+ | cd build | ||
+ | python ../ | ||
+ | cmake -C helper.cmake .. | ||
+ | cmake --build . | ||
+ | </ | ||
+ | |||
+ | or for tests... | ||
+ | |||
+ | <code bash> | ||
+ | cmake -D UPDATE_DEPS=ON -D BUILD_TESTS=ON .. | ||
+ | cmake --build . | ||
+ | |||
+ | ctest | ||
+ | </ | ||
+ | |||
+ | or for install... | ||
<code bash> | <code bash> | ||
Line 32: | Line 54: | ||
git clone https:// | git clone https:// | ||
cd Vulkan-Loader && mkdir build && cd build | cd Vulkan-Loader && mkdir build && cd build | ||
- | ../ | + | python3 |
cmake -DCMAKE_BUILD_TYPE=Release -DVULKAN_HEADERS_INSTALL_DIR=$(pwd)/ | cmake -DCMAKE_BUILD_TYPE=Release -DVULKAN_HEADERS_INSTALL_DIR=$(pwd)/ | ||
make -j8 | make -j8 | ||
Line 39: | Line 61: | ||
<WRAP info> | <WRAP info> | ||
**NOTE: | **NOTE: | ||
+ | |||
+ | * Optionally instead of the 2 last lines use this instead: <code bash> | ||
+ | cmake -C helper.cmake .. | ||
+ | cmake --build . | ||
+ | </ | ||
+ | |||
+ | * **CMAKE_BUILD_TYPE**: | ||
+ | * **VULKAN_HEADERS_INSTALL_DIR**: | ||
+ | * **CMAKE_INSTALL_PREFIX**: | ||
+ | * The default value for CMAKE_INSTALL_PREFIX is /usr/local, which would be used if you do not specify CMAKE_INSTALL_PREFIX. | ||
+ | * Setting CMAKE_INSTALL_PREFIX to /tmp/build causes the loader to search / | ||
+ | * The loader also searches the " | ||
+ | * Then run make install as before, which will install the files in /tmp/build <code bash> | ||
+ | |||
</ | </ | ||
Line 67: | Line 103: | ||
sudo ldconfig | sudo ldconfig | ||
</ | </ | ||
- | |||
- | |||
- | |||
- | ==== | ||
---- | ---- | ||
- | ---- | + | ===== Test ===== |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | ===== Download latest Vulkan-Tools | + | |
- | + | ||
- | * https:// | + | |
- | * https:// | + | |
- | + | ||
- | or | + | |
<code bash> | <code bash> | ||
- | git clone https://github.com/KhronosGroup/ | + | VK_ICD_FILENAMES=/home/peter/ |
+ | VK_ICD_FILENAMES=/home/ | ||
+ | VK_ICD_FILENAMES=/ | ||
</ | </ | ||
- | ---- | ||
- | |||
- | ===== Extract to a temporary directory ===== | ||
- | |||
- | Chdir to that temporary directory. | ||
- | |||
- | ---- | ||
- | |||
- | ===== Build ===== | ||
<code bash> | <code bash> | ||
- | sudo apt update && sudo apt install git build-essential libx11-xcb-dev libxkbcommon-dev libwayland-dev libxrandr-dev cmake | + | LD_LIBRARY_PATH=/ |
- | mkdir build | ||
- | cd build | ||
- | ../ | ||
+ | LD_LIBRARY_PATH=/ | ||
- | cmake -DCMAKE_BUILD_TYPE=Release | + | LD_LIBRARY_PATH=/ |
- | make -j8 | + | |
- | or | + | LD_LIBRARY_PATH=/ |
- | cmake -C helper.cmake .. | + | |
- | cmake --build . | + | |
- | + | ||
- | + | ||
- | To use the newly built loader: | + | |
- | + | ||
- | export | + | |
- | + | ||
- | or | + | |
- | + | ||
- | VK_ICD_FILENAMES=/ | + | |
- | VK_ICD_FILENAMES=/ | + | |
- | VK_ICD_FILENAMES=/ | + | |
</ | </ | ||
- | |||
---- | ---- | ||
Line 136: | Line 130: | ||
===== Test ===== | ===== Test ===== | ||
+ | A test suite for the Vulkan loader. | ||
<code bash> | <code bash> | ||
- | LD_LIBRARY_PATH=/home/ | + | ctest |
+ | </code> | ||
+ | returns: | ||
- | LD_LIBRARY_PATH=/ | + | <code bash> |
+ | Test project | ||
+ | Start 1: Allocation.Instance | ||
+ | 1/538 Test #1: Allocation.Instance ............................................................................. | ||
+ | Start 2: Allocation.GetInstanceProcAddr | ||
+ | 2/538 Test #2: Allocation.GetInstanceProcAddr .................................................................. | ||
+ | Start 3: Allocation.EnumeratePhysicalDevices | ||
+ | 3/538 Test #3: Allocation.EnumeratePhysicalDevices ............................................................. | ||
+ | Start 4: Allocation.InstanceAndDevice | ||
+ | 4/538 Test #4: Allocation.InstanceAndDevice .................................................................... | ||
+ | Start 5: Allocation.InstanceButNotDevice | ||
+ | 5/538 Test #5: Allocation.InstanceButNotDevice ................................................................. | ||
+ | Start 6: Allocation.DeviceButNotInstance | ||
+ | ... | ||
+ | ... | ||
+ | 100% tests passed, 0 tests failed out of 538 | ||
- | LD_LIBRARY_PATH=/ | + | Total Test time (real) |
- | + | ||
- | LD_LIBRARY_PATH=/ | + | |
</ | </ | ||
Line 169: | Line 179: | ||
https:// | https:// | ||
+ | |||
+ |
ubuntu/gpu/vulkan/vulkan_try_new_version.1691017566.txt.gz · Last modified: 2023/08/02 23:06 by peter