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:00] peterubuntu:gpu:vulkan:vulkan_try_new_version [2023/08/03 00:14] (current) peter
Line 13: Line 13:
   * [[https://github.com/KhronosGroup/Vulkan-Loader|Vulkan Loader]]   * [[https://github.com/KhronosGroup/Vulkan-Loader|Vulkan Loader]]
   * [[https://github.com/KhronosGroup/Vulkan-Tools|Vulkan Tools]]   * [[https://github.com/KhronosGroup/Vulkan-Tools|Vulkan Tools]]
 +
 +----
 +
 +==== Vulkan Validation Layers ====
 +
 +The loader also supports the Vulkan validation layers, which are optional components that augment the Vulkan system.
 +
 +  * 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://github.com/KhronosGroup/Vulkan-ValidationLayers|Vulkan Validation Layers]]
  
 ----     ----    
 +
 +===== 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 20: 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
 </code> </code>
 +
 +<WRAP info>
 +**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>
 +
  
 ---- ----
Line 51: 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 +LD_LIBRARY_PATH=/home/peter/Downloads/0/a/Vulkan-Tools-main/build/Vulkan-Loader/build/loader/ vulkaninfo | grep driver
-  cmake -C helper.cmake .. +
-  cmake --build . +
-   +
-   +
-To use the newly built loader: +
- +
-  export LD_LIBRARY_PATH=$(pwd)/loader    +
- +
-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 115: 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 142: Line 173:
  
 https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderInterfaceArchitecture.md https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderInterfaceArchitecture.md
 +
 +https://github.com/KhronosGroup/Vulkan-Loader/blob/master/BUILD.md
 +
 +https://github.com/KhronosGroup/Vulkan-ValidationLayers
 +
 +https://www.khronos.org/conformance/adopters/conformant-products
 +
  
ubuntu/gpu/vulkan/vulkan_try_new_version.1691017217.txt.gz · Last modified: 2023/08/02 23:00 by peter

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki