10 testedPackage = "amdvlk";
17 nativeBuildInputs = [ vulkan-tools ];
19 VK_ICD_FILENAMES = "${amdvlk}/share/vulkan/icd.d/amd_icd64.json";
20 XDG_RUNTIME_DIR = "/tmp";
22 # AMDVLK needs access to /dev/dri/card0 (or another card), but normally it is rw-rw----
23 # Change the permissions to be rw for everyone
24 prepareRunCommands = ''
25 function reset_perms()
27 # Reset permissions to previous state
28 for card in /dev/dri/card*; do
29 sudo ${coreutils}/bin/chmod "0''${cardPerms[$card]}" $card
33 # Save permissions on /dev/dri/card*
35 for card in /dev/dri/card*; do
36 cardPerms[$card]=$(stat -c "%a" $card)
39 sudo ${coreutils}/bin/chmod o+rw /dev/dri/card*
44 # Check that there is at least one card with write-access
45 if ! ls -l /dev/dri/card* | cut -b8-9 | grep -q rw; then
46 echo 'AMDVLK needs rw access to /dev/dri/card0 or a fitting card, please run `sudo chmod o+rw /dev/dri/card*`'
51 echo "Checking version"
52 vulkaninfo --summary | grep '= ${amdvlk.version}'
55 meta = with lib.maintainers; {
56 maintainers = [ Flakebi ];