commit:     d8d414e9b24c4fe6fbedd77d142a2b1e486ede59
Author:     Gonçalo Duarte <gonegrier.duarte <AT> gmail <DOT> com>
AuthorDate: Sat Nov 18 17:23:00 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jan  8 12:40:20 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d8d414e9

media-libs/amdgpu-pro-vulkan: add scripts and update elog

* some programs have a bug when VK_ICD_FILENAMES is not set the can use the 
wrong Vulkan ICD
* (since it exist multiple ICD for AMD GPU)
*
* since PRO driver don't support the AMD_VULKAN_ICD variable
* was implemented this fix:
*
* Added vk_pro and vk_radv scripts:
* vk_pro - launch programs using AMDGPU-PRO Vulkan ICD
* vk_radv - launch programs using RADV Vulkan ICD

Closes: https://bugs.gentoo.org/917447
Signed-off-by: Gonçalo Negrier Duarte <gonegrier.duarte <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 ...=> amdgpu-pro-vulkan-21.50.2.1384496-r1.ebuild} | 16 +++++++++++-
 ...=> amdgpu-pro-vulkan-22.10.4.1452060-r1.ebuild} | 29 +++++++++++-----------
 ...=> amdgpu-pro-vulkan-22.20.5.1511376-r1.ebuild} | 26 +++++++++----------
 ...=> amdgpu-pro-vulkan-22.40.6.1580631-r1.ebuild} | 26 +++++++++----------
 ...=> amdgpu-pro-vulkan-23.10.3.1620044-r1.ebuild} | 26 +++++++++----------
 ...=> amdgpu-pro-vulkan-23.20.0.1654522-r1.ebuild} | 26 +++++++++----------
 media-libs/amdgpu-pro-vulkan/files/vk_pro          |  2 ++
 media-libs/amdgpu-pro-vulkan/files/vk_radv         |  2 ++
 8 files changed, 82 insertions(+), 71 deletions(-)

diff --git 
a/media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-21.50.2.1384496.ebuild 
b/media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-21.50.2.1384496-r1.ebuild
similarity index 85%
rename from 
media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-21.50.2.1384496.ebuild
rename to 
media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-21.50.2.1384496-r1.ebuild
index b391b5756ff5..10cd494f94c5 100644
--- a/media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-21.50.2.1384496.ebuild
+++ b/media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-21.50.2.1384496-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -42,6 +42,8 @@ QA_PREBUILT="
 "
 
 src_unpack() {
+       default
+
        if use abi_x86_64 ; then
                mkdir "${S}/${PN}-amd64" || die
                cd "${S}/${PN}-amd64" || die
@@ -105,4 +107,16 @@ src_install() {
                insinto /usr/share/vulkan/icd.d
                doins 
"${S}"/"${PN}"-i386/opt/amdgpu-pro/etc/vulkan/icd.d/amd_pro_icd32.json
        fi
+
+       # AMDGPU-PRO & RADV Vulkan prefix
+       dobin "${FILESDIR}/vk_pro"
+       dobin "${FILESDIR}/vk_radv"
+}
+
+pkg_postinst() {
+       elog "To execute programs with the amdgpu-pro-vulkan driver:"
+       elog "  - Use the `vk_pro` wrapper script: e.g. 'vk_pro vkcube'"
+       elog "  - Define the following environment variable: "
+       elog "    
VK_DRIVER_FILES=/usr/share/vulkan/icd.d/amd_pro_icd64.json:/usr/share/vulkan/icd.d/amd_pro_icd32.json"
+       elog
 }

diff --git 
a/media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-22.10.4.1452060.ebuild 
b/media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-22.10.4.1452060-r1.ebuild
similarity index 86%
rename from 
media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-22.10.4.1452060.ebuild
rename to 
media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-22.10.4.1452060-r1.ebuild
index dabe6936012a..670a2f29aaf6 100644
--- a/media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-22.10.4.1452060.ebuild
+++ b/media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-22.10.4.1452060-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -44,6 +44,8 @@ QA_PREBUILT="
 "
 
 src_unpack() {
+       default
+
        if use abi_x86_64 ; then
                mkdir "${S}/${PN}-amd64" || die
                cd "${S}/${PN}-amd64" || die
@@ -115,20 +117,19 @@ src_install() {
                insinto /usr/share/vulkan/icd.d
                doins 
"${S}"/"${PN}"-i386/opt/amdgpu-pro/etc/vulkan/icd.d/amd_pro_icd32.json
        fi
-}
 
-pkg_postinst() {
+       # AMDGPU-PRO Vulkan prefix
+       dobin "${FILESDIR}/vk_pro"
 
-       if use abi_x86_32; then
-               elog "To run a 32bit program using the amdgpu-pro vulkan 
driver, the environment variable"
-               elog "     
VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/amd_pro_icd32.json"
-               elog "must be set beforehand"
-               elog
-       fi
+       # AMDGPU-PRO & RADV Vulkan prefix
+       dobin "${FILESDIR}/vk_pro"
+       dobin "${FILESDIR}/vk_radv"
+}
 
-       if use abi_x86_64; then
-               elog "To run a 64bit program using the amdgpu-pro vulkan 
driver, the environment variable"
-               elog "     
VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/amd_pro_icd64.json"
-               elog "must be set beforehand"
-       fi
+pkg_postinst() {
+       elog "To execute programs with the amdgpu-pro-vulkan driver:"
+       elog "  - Use the `vk_pro` wrapper script: e.g. 'vk_pro vkcube'"
+       elog "  - Define the following environment variable: "
+       elog "    
VK_DRIVER_FILES=/usr/share/vulkan/icd.d/amd_pro_icd64.json:/usr/share/vulkan/icd.d/amd_pro_icd32.json"
+       elog
 }

diff --git 
a/media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-22.20.5.1511376.ebuild 
b/media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-22.20.5.1511376-r1.ebuild
similarity index 86%
rename from 
media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-22.20.5.1511376.ebuild
rename to 
media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-22.20.5.1511376-r1.ebuild
index 7545f1b4d580..8152f796b69e 100644
--- a/media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-22.20.5.1511376.ebuild
+++ b/media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-22.20.5.1511376-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -48,6 +48,8 @@ QA_PREBUILT="
 "
 
 src_unpack() {
+       default
+
        if use abi_x86_64 ; then
                mkdir "${S}/${PN}-amd64" || die
                cd "${S}/${PN}-amd64" || die
@@ -119,20 +121,16 @@ src_install() {
                insinto /usr/share/vulkan/icd.d
                doins 
"${S}"/"${PN}"-i386/opt/amdgpu-pro/etc/vulkan/icd.d/amd_pro_icd32.json
        fi
+
+       # AMDGPU-PRO & RADV Vulkan prefix
+       dobin "${FILESDIR}/vk_pro"
+       dobin "${FILESDIR}/vk_radv"
 }
 
 pkg_postinst() {
-
-       if use abi_x86_32; then
-               elog "To run a 32bit program using the amdgpu-pro vulkan 
driver, the environment variable"
-               elog "     
VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/amd_pro_icd32.json"
-               elog "must be set beforehand"
-               elog
-       fi
-
-       if use abi_x86_64; then
-               elog "To run a 64bit program using the amdgpu-pro vulkan 
driver, the environment variable"
-               elog "     
VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/amd_pro_icd64.json"
-               elog "must be set beforehand"
-       fi
+       elog "To execute programs with the amdgpu-pro-vulkan driver:"
+       elog "  - Use the `vk_pro` wrapper script: e.g. 'vk_pro vkcube'"
+       elog "  - Define the following environment variable: "
+       elog "    
VK_DRIVER_FILES=/usr/share/vulkan/icd.d/amd_pro_icd64.json:/usr/share/vulkan/icd.d/amd_pro_icd32.json"
+       elog
 }

diff --git 
a/media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-22.40.6.1580631.ebuild 
b/media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-22.40.6.1580631-r1.ebuild
similarity index 87%
rename from 
media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-22.40.6.1580631.ebuild
rename to 
media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-22.40.6.1580631-r1.ebuild
index ef77796e708e..72aa4ff4dcaf 100644
--- a/media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-22.40.6.1580631.ebuild
+++ b/media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-22.40.6.1580631-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -47,6 +47,8 @@ QA_PREBUILT="
 "
 
 src_unpack() {
+       default
+
        if use abi_x86_64 ; then
                mkdir "${S}/${PN}-amd64" || die
                cd "${S}/${PN}-amd64" || die
@@ -118,20 +120,16 @@ src_install() {
                insinto /usr/share/vulkan/icd.d
                doins 
"${S}"/"${PN}"-i386/opt/amdgpu-pro/etc/vulkan/icd.d/amd_pro_icd32.json
        fi
+
+       # AMDGPU-PRO & RADV Vulkan prefix
+       dobin "${FILESDIR}/vk_pro"
+       dobin "${FILESDIR}/vk_radv"
 }
 
 pkg_postinst() {
-
-       if use abi_x86_32; then
-               elog "To run a 32bit program using the amdgpu-pro vulkan 
driver, the environment variable"
-               elog "     
VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/amd_pro_icd32.json"
-               elog "must be set beforehand"
-               elog
-       fi
-
-       if use abi_x86_64; then
-               elog "To run a 64bit program using the amdgpu-pro vulkan 
driver, the environment variable"
-               elog "     
VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/amd_pro_icd64.json"
-               elog "must be set beforehand"
-       fi
+       elog "To execute programs with the amdgpu-pro-vulkan driver:"
+       elog "  - Use the `vk_pro` wrapper script: e.g. 'vk_pro vkcube'"
+       elog "  - Define the following environment variable: "
+       elog "    
VK_DRIVER_FILES=/usr/share/vulkan/icd.d/amd_pro_icd64.json:/usr/share/vulkan/icd.d/amd_pro_icd32.json"
+       elog
 }

diff --git 
a/media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-23.10.3.1620044.ebuild 
b/media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-23.10.3.1620044-r1.ebuild
similarity index 86%
rename from 
media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-23.10.3.1620044.ebuild
rename to 
media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-23.10.3.1620044-r1.ebuild
index a64dd02a653f..c53292fd171a 100644
--- a/media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-23.10.3.1620044.ebuild
+++ b/media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-23.10.3.1620044-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -46,6 +46,8 @@ QA_PREBUILT="
 "
 
 src_unpack() {
+       default
+
        if use abi_x86_64 ; then
                mkdir "${S}/${PN}-amd64" || die
                cd "${S}/${PN}-amd64" || die
@@ -117,20 +119,16 @@ src_install() {
                insinto /usr/share/vulkan/icd.d
                doins 
"${S}"/"${PN}"-i386/opt/amdgpu-pro/etc/vulkan/icd.d/amd_pro_icd32.json
        fi
+
+       # AMDGPU-PRO & RADV Vulkan prefix
+       dobin "${FILESDIR}/vk_pro"
+       dobin "${FILESDIR}/vk_radv"
 }
 
 pkg_postinst() {
-
-       if use abi_x86_32; then
-               elog "To run a 32bit program using the amdgpu-pro vulkan 
driver, the environment variable"
-               elog "     
VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/amd_pro_icd32.json"
-               elog "must be set beforehand"
-               elog
-       fi
-
-       if use abi_x86_64; then
-               elog "To run a 64bit program using the amdgpu-pro vulkan 
driver, the environment variable"
-               elog "     
VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/amd_pro_icd64.json"
-               elog "must be set beforehand"
-       fi
+       elog "To execute programs with the amdgpu-pro-vulkan driver:"
+       elog "  - Use the `vk_pro` wrapper script: e.g. 'vk_pro vkcube'"
+       elog "  - Define the following environment variable: "
+       elog "    
VK_DRIVER_FILES=/usr/share/vulkan/icd.d/amd_pro_icd64.json:/usr/share/vulkan/icd.d/amd_pro_icd32.json"
+       elog
 }

diff --git 
a/media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-23.20.0.1654522.ebuild 
b/media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-23.20.0.1654522-r1.ebuild
similarity index 86%
rename from 
media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-23.20.0.1654522.ebuild
rename to 
media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-23.20.0.1654522-r1.ebuild
index 4b94367c04b7..21610a0f0b64 100644
--- a/media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-23.20.0.1654522.ebuild
+++ b/media-libs/amdgpu-pro-vulkan/amdgpu-pro-vulkan-23.20.0.1654522-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -46,6 +46,8 @@ QA_PREBUILT="
 "
 
 src_unpack() {
+       default
+
        if use abi_x86_64 ; then
                mkdir "${S}/${PN}-amd64" || die
                cd "${S}/${PN}-amd64" || die
@@ -117,20 +119,16 @@ src_install() {
                insinto /usr/share/vulkan/icd.d
                doins 
"${S}"/"${PN}"-i386/opt/amdgpu-pro/etc/vulkan/icd.d/amd_pro_icd32.json
        fi
+
+       # AMDGPU-PRO & RADV Vulkan prefix
+       dobin "${FILESDIR}/vk_pro"
+       dobin "${FILESDIR}/vk_radv"
 }
 
 pkg_postinst() {
-
-       if use abi_x86_32; then
-               elog "To run a 32bit program using the amdgpu-pro vulkan 
driver, the environment variable"
-               elog "     
VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/amd_pro_icd32.json"
-               elog "must be set beforehand"
-               elog
-       fi
-
-       if use abi_x86_64; then
-               elog "To run a 64bit program using the amdgpu-pro vulkan 
driver, the environment variable"
-               elog "     
VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/amd_pro_icd64.json"
-               elog "must be set beforehand"
-       fi
+       elog "To execute programs with the amdgpu-pro-vulkan driver:"
+       elog "  - Use the `vk_pro` wrapper script: e.g. 'vk_pro vkcube'"
+       elog "  - Define the following environment variable: "
+       elog "    
VK_DRIVER_FILES=/usr/share/vulkan/icd.d/amd_pro_icd64.json:/usr/share/vulkan/icd.d/amd_pro_icd32.json"
+       elog
 }

diff --git a/media-libs/amdgpu-pro-vulkan/files/vk_pro 
b/media-libs/amdgpu-pro-vulkan/files/vk_pro
new file mode 100644
index 000000000000..111626f68bcc
--- /dev/null
+++ b/media-libs/amdgpu-pro-vulkan/files/vk_pro
@@ -0,0 +1,2 @@
+#!/bin/bash
+VK_DRIVER_FILES="/usr/share/vulkan/icd.d/amd_pro_icd32.json:/usr/share/vulkan/icd.d/amd_pro_icd64.json"
 "$@"

diff --git a/media-libs/amdgpu-pro-vulkan/files/vk_radv 
b/media-libs/amdgpu-pro-vulkan/files/vk_radv
new file mode 100644
index 000000000000..43b5e451d074
--- /dev/null
+++ b/media-libs/amdgpu-pro-vulkan/files/vk_radv
@@ -0,0 +1,2 @@
+#!/bin/bash
+VK_DRIVER_FILES="/usr/share/vulkan/icd.d/radeon_icd.i686.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json"
 "$@"

Reply via email to