User Tools

Site Tools


ubuntu:gpu:vulkan:vulkan_try_new_version

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
ubuntu:gpu:vulkan:vulkan_try_new_version [2023/08/02 23:03] peterubuntu:gpu:vulkan:vulkan_try_new_version [2023/08/03 00:14] (current) peter
Line 16: Line 16:
 ---- ----
  
-===== Vulkan Validation Layers =====+==== Vulkan Validation Layers ====
  
 The loader also supports the Vulkan validation layers, which are optional components that augment the Vulkan system. The loader also supports the Vulkan validation layers, which are optional components that augment the Vulkan system.
Line 25: Line 25:
  
 ----     ----    
 +
 +===== 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://github.com/KhronosGroup/Vulkan-Loader.git
 +cd Vulkan-Loader
 +mkdir build
 +cd build
 +python ../scripts/update_deps.py
 +cmake -C helper.cmake ..
 +cmake --build .
 +</code>
 +
 +or for tests...
 +
 +<code bash>
 +cmake -D UPDATE_DEPS=ON -D BUILD_TESTS=ON ..
 +cmake --build .
 +
 +ctest
 +</code>
 +
 +or for install...
  
 <code bash> <code bash>
Line 30: Line 54:
 git clone https://github.com/KhronosGroup/Vulkan-Loader.git git clone https://github.com/KhronosGroup/Vulkan-Loader.git
 cd Vulkan-Loader && mkdir build && cd build cd Vulkan-Loader && mkdir build && cd build
-../scripts/update_deps.py+python3 ../scripts/update_deps.py
 cmake -DCMAKE_BUILD_TYPE=Release -DVULKAN_HEADERS_INSTALL_DIR=$(pwd)/Vulkan-Headers/build/install .. cmake -DCMAKE_BUILD_TYPE=Release -DVULKAN_HEADERS_INSTALL_DIR=$(pwd)/Vulkan-Headers/build/install ..
 make -j8 make -j8
Line 37: Line 61:
 <WRAP info> <WRAP info>
 **NOTE:**  Detailed instructions are available in [[https://github.com/KhronosGroup/Vulkan-Loader/blob/master/BUILD.md|Vulkan-Loader/BUILD.md]] **NOTE:**  Detailed instructions are available in [[https://github.com/KhronosGroup/Vulkan-Loader/blob/master/BUILD.md|Vulkan-Loader/BUILD.md]]
 +
 +  * Optionally instead of the 2 last lines use this instead: <code bash>
 +cmake -C helper.cmake ..
 +cmake --build .
 +</code>
 +
 +  * **CMAKE_BUILD_TYPE**:  can be **Release** or **Debug**.
 +  * **VULKAN_HEADERS_INSTALL_DIR**:  the absolute path to a Vulkan-Headers install directory must be provided.
 +  * **CMAKE_INSTALL_PREFIX**:  to customize the install location also modifies the loader search paths to include searching for layers in the specified install location.
 +    * 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 /tmp/build/etc/vulkan/explicit_layer.d and /tmp/build/share/vulkan/explicit_layer.d for the layer JSON files.
 +    * The loader also searches the "standard" system locations of /etc/vulkan/explicit_layer.d and /usr/share/vulkan/explicit_layer.d after searching the two locations under /tmp/build.
 +    * Then run make install as before, which will install the files in /tmp/build <code bash>sudo make install</code>
 +
 </WRAP> </WRAP>
  
Line 66: Line 104:
 </code> </code>
  
 +----
  
- +===== Test =====
-==== +
- +
- +
- +
- +
- +
- +
- +
- +
-===== Download latest Vulkan-Tools ===== +
- +
-  * https://github.com/KhronosGroup/Vulkan-Tools +
-  * https://github.com/KhronosGroup/Vulkan-Tools/tree/main. +
- +
-or+
  
 <code bash> <code bash>
-git clone https://github.com/KhronosGroup/Vulkan-Tools.git+  VK_ICD_FILENAMES=/home/peter/Downloads/0/a/Vulkan-Tools-main/build/icd/VkICD_mock_icd.json vulkaninfo --summary 
 +  VK_ICD_FILENAMES=/home/peter/Downloads/0/a/Vulkan-Tools-main/build/icd/VkICD_mock_icd.json /home/peter/Downloads/0/a/Vulkan-Tools-main/build/vulkaninfo/vulkaninfo --summary 
 +  VK_ICD_FILENAMES=/home/peter/Downloads/0/a/Vulkan-Tools-main/build/icd/VkICD_mock_icd.json /home/peter/Downloads/0/a/Vulkan-Tools-main/build/vulkaninfo/vulkaninfo | grep driver
 </code> </code>
  
----- 
- 
-===== 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=/home/peter/Downloads/0/a/Vulkan-Tools-main/build/Vulkan-Loader/build/loader/ VK_ICD_FILENAMES=/home/peter/Downloads/0/a/Vulkan-Tools-main/build/icd/VkICD_mock_icd.json /home/peter/Downloads/0/a/Vulkan-Tools-main/build/vulkaninfo/vulkaninfo --summary
  
-mkdir build 
-cd build 
-../scripts/update_deps.py 
  
 +LD_LIBRARY_PATH=/home/peter/Downloads/0/a/Vulkan-Tools-main/build/Vulkan-Loader/build/loader/ VK_ICD_FILENAMES=/home/peter/Downloads/0/a/Vulkan-Tools-main/build/icd/VkICD_mock_icd.json /home/peter/Downloads/0/a/Vulkan-Tools-main/build/vulkaninfo/vulkaninfo --summary
  
-  cmake -DCMAKE_BUILD_TYPE=Release -DVULKAN_HEADERS_INSTALL_DIR=$(pwd)/Vulkan-Headers/build/install .. +LD_LIBRARY_PATH=/home/peter/Downloads/0/a/Vulkan-Tools-main/build/Vulkan-Loader/build/loader/ vulkaninfo --summary
-  make -j8 +
- +
-or +
-  cmake -C helper.cmake .. +
-  cmake --build +
-   +
-   +
-To use the newly built loader:+
  
-  export LD_LIBRARY_PATH=$(pwd)/loader    +LD_LIBRARY_PATH=/home/peter/Downloads/0/a/Vulkan-Tools-main/build/Vulkan-Loader/build/loader/ vulkaninfo | grep driver
- +
-or  +
-   +
-  VK_ICD_FILENAMES=/home/peter/Downloads/0/a/Vulkan-Tools-main/build/icd/VkICD_mock_icd.json vulkaninfo --summary +
-  VK_ICD_FILENAMES=/home/peter/Downloads/0/a/Vulkan-Tools-main/build/icd/VkICD_mock_icd.json /home/peter/Downloads/0/a/Vulkan-Tools-main/build/vulkaninfo/vulkaninfo --summary +
-  VK_ICD_FILENAMES=/home/peter/Downloads/0/a/Vulkan-Tools-main/build/icd/VkICD_mock_icd.json /home/peter/Downloads/0/a/Vulkan-Tools-main/build/vulkaninfo/vulkaninfo | grep driver+
 </code> </code>
- 
  
 ---- ----
Line 130: Line 130:
 ===== Test ===== ===== Test =====
  
 +A test suite for the Vulkan loader.
  
 <code bash> <code bash>
-LD_LIBRARY_PATH=/home/peter/Downloads/0/a/Vulkan-Tools-main/build/Vulkan-Loader/build/loader/ VK_ICD_FILENAMES=/home/peter/Downloads/0/a/Vulkan-Tools-main/build/icd/VkICD_mock_icd.json /home/peter/Downloads/0/a/Vulkan-Tools-main/build/vulkaninfo/vulkaninfo --summary+ctest 
 +</code>
  
 +returns:
  
-LD_LIBRARY_PATH=/home/peter/Downloads/0/a/Vulkan-Tools-main/build/Vulkan-Loader/build/loader/ VK_ICD_FILENAMES=/home/peter/Downloads/0/a/Vulkan-Tools-main/build/icd/VkICD_mock_icd.json /home/peter/Downloads/0/a/Vulkan-Tools-main/build/vulkaninfo/vulkaninfo --summary+<code bash> 
 +Test project /home/peter/Downloads/0/a/Vulkan-Loader-main/build 
 +        Start   1: Allocation.Instance 
 +  1/538 Test   #1: Allocation.Instance .............................................................................   Passed    0.01 sec 
 +        Start   2: Allocation.GetInstanceProcAddr 
 +  2/538 Test   #2: Allocation.GetInstanceProcAddr ..................................................................   Passed    0.01 sec 
 +        Start   3: Allocation.EnumeratePhysicalDevices 
 +  3/538 Test   #3: Allocation.EnumeratePhysicalDevices .............................................................   Passed    0.01 sec 
 +        Start   4: Allocation.InstanceAndDevice 
 +  4/538 Test   #4: Allocation.InstanceAndDevice ....................................................................   Passed    0.01 sec 
 +        Start   5: Allocation.InstanceButNotDevice 
 +  5/538 Test   #5: Allocation.InstanceButNotDevice .................................................................   Passed    0.01 sec 
 +        Start   6: Allocation.DeviceButNotInstance 
 +... 
 +... 
 +100% tests passed, 0 tests failed out of 538
  
-LD_LIBRARY_PATH=/home/peter/Downloads/0/a/Vulkan-Tools-main/build/Vulkan-Loader/build/loader/ vulkaninfo --summary +Total Test time (real)  10.89 sec
- +
-LD_LIBRARY_PATH=/home/peter/Downloads/0/a/Vulkan-Tools-main/build/Vulkan-Loader/build/loader/ vulkaninfo | grep driver+
 </code> </code>
  
Line 161: Line 177:
  
 https://github.com/KhronosGroup/Vulkan-ValidationLayers https://github.com/KhronosGroup/Vulkan-ValidationLayers
 +
 +https://www.khronos.org/conformance/adopters/conformant-products
 +
 +
ubuntu/gpu/vulkan/vulkan_try_new_version.1691017425.txt.gz · Last modified: 2023/08/02 23:03 by peter

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki