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 22:49] – peter | ubuntu:gpu:vulkan:vulkan_try_new_version [2023/08/03 00:14] (current) – peter | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Ubuntu - GPU - Vulkan - Vulkan Try New Version ====== | ====== Ubuntu - GPU - Vulkan - Vulkan Try New Version ====== | ||
- | ===== Download latest | + | Vulkan |
- | * https:// | + | * The loader is responsible for supporting multiple GPUs and their drivers. |
- | * https:// | + | * For supporting the latest |
- | or | + | More information about the loader is available here: [[https:// |
- | <code bash> | + | The upstream Vulkan loader source |
- | git clone https:// | + | |
- | </code> | + | * [[https:// |
+ | * [[https:// | ||
+ | * [[https:// | ||
---- | ---- | ||
- | ===== Extract to a temporary directory ===== | + | ==== Vulkan Validation Layers |
- | Chdir to that temporary directory. | + | The loader also supports the Vulkan validation layers, which are optional components |
- | ---- | + | * Layers can intercept, evaluate, and modify existing Vulkan functions on their way from the application down to the hardware. |
+ | * Layers are a critical component of developing correct Vulkan applications. | ||
+ | * More information about the validation layers is available here: [[https:// | ||
- | ===== Build ===== | + | ---- |
+ | |||
+ | ===== Build the loader | ||
<code bash> | <code bash> | ||
- | sudo apt update && sudo apt install git build-essential libx11-xcb-dev libxkbcommon-dev libwayland-dev libxrandr-dev cmake | + | 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 | mkdir build | ||
cd 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 . | ||
- | or | + | ctest |
- | cmake -C helper.cmake .. | + | </ |
- | cmake --build . | + | |
- | + | ||
- | + | ||
- | To use the newly built loader: | + | |
- | export LD_LIBRARY_PATH=$(pwd)/ | + | or for install... |
- | or | + | <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://github.com/KhronosGroup/Vulkan-Loader.git |
- | VK_ICD_FILENAMES=/ | + | cd Vulkan-Loader && mkdir build && cd build |
- | | + | python3 ../scripts/update_deps.py |
+ | cmake -DCMAKE_BUILD_TYPE=Release | ||
+ | make -j8 | ||
+ | </code> | ||
+ | |||
+ | <WRAP info> | ||
+ | **NOTE: | ||
+ | |||
+ | * Optionally instead of the 2 last lines use this instead: <code bash> | ||
+ | cmake -C helper.cmake .. | ||
+ | cmake --build . | ||
+ | </ | ||
+ | |||
+ | | ||
+ | * **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> | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | ====== Use the newly built loader ====== | ||
+ | |||
+ | To use the newly built loader: | ||
+ | |||
+ | <code bash> | ||
+ | export LD_LIBRARY_PATH=$(pwd)/ | ||
</ | </ | ||
Line 68: | Line 107: | ||
===== Test ===== | ===== Test ===== | ||
+ | |||
+ | <code bash> | ||
+ | VK_ICD_FILENAMES=/ | ||
+ | VK_ICD_FILENAMES=/ | ||
+ | VK_ICD_FILENAMES=/ | ||
+ | </ | ||
Line 80: | Line 125: | ||
LD_LIBRARY_PATH=/ | LD_LIBRARY_PATH=/ | ||
</ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Test ===== | ||
+ | |||
+ | A test suite for the Vulkan loader. | ||
+ | |||
+ | <code bash> | ||
+ | ctest | ||
+ | </ | ||
+ | |||
+ | returns: | ||
+ | |||
+ | <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 | ||
+ | |||
+ | Total Test time (real) = 10.89 sec | ||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== References ===== | ||
+ | |||
+ | https:// | ||
+ | |||
+ | https:// | ||
+ | |||
+ | https:// | ||
+ | |||
+ | https:// | ||
+ | |||
+ | https:// | ||
+ | |||
+ | https:// | ||
+ | |||
+ | https:// | ||
+ | |||
+ | https:// | ||
+ | |||
+ | https:// | ||
+ | |||
+ |
ubuntu/gpu/vulkan/vulkan_try_new_version.1691016557.txt.gz · Last modified: 2023/08/02 22:49 by peter