non-x86 amdvlk

This commit is contained in:
lif 2024-05-07 19:27:35 -07:00
parent abe115b567
commit 11cd8075b3
2 changed files with 155 additions and 0 deletions

View file

@ -1,6 +1,14 @@
DIST amdvlk-CWPack-4f8cf0584442a91d829d269158567d7ed926f026.tar.gz 39633 BLAKE2B d5b2a88f0d563eef5beb42a8304cf6cdd825e75242c22acc360c5bb9cbd1d02a4f891b6b2f3a4803e1e6b48a4d176aad40f8bdeca92847f2fbf53674dedeaff3 SHA512 06d56baaba1f1224a5266f4a63c1abf70edba7cc16cc4e62f2f5b1ec94fc2c1cfc4c6f11a9c6ef42c23b29be8d07921caad5e919357c0bd82cf714783eee0bcc
DIST amdvlk-CWPack-7387247eb9889ddcabbc1053b9c2052e253b088e.tar.gz 24538 BLAKE2B 76c4da32ea06df355f7e8f77a14c185b2ccab2ce2762988f04a04d65b674e089d4fc27206e744f89b4bd84c9d7226d324414a31941303290e7f574e9d64756cf SHA512 38378ef325e42a7356511c2fc06b6c896581968079e85c4b924a1768d895feecaf1eb8fd65afb59bed0f66e0547104d67c2deb9f82a86f4b9fa65b36e57cd47d DIST amdvlk-CWPack-7387247eb9889ddcabbc1053b9c2052e253b088e.tar.gz 24538 BLAKE2B 76c4da32ea06df355f7e8f77a14c185b2ccab2ce2762988f04a04d65b674e089d4fc27206e744f89b4bd84c9d7226d324414a31941303290e7f574e9d64756cf SHA512 38378ef325e42a7356511c2fc06b6c896581968079e85c4b924a1768d895feecaf1eb8fd65afb59bed0f66e0547104d67c2deb9f82a86f4b9fa65b36e57cd47d
DIST amdvlk-LLVM-dialects-17aafecff46b68206a0ed82d58f5e2fc358367a1.tar.gz 44441 BLAKE2B a94eb01ae3a2a868a1613e17573c5326252fa163d8e336b8c3292d0e3e349e3df98b124d300bbe42870bc2d60d18afe2c566e4484b45beb84a7087c0d58291e4 SHA512 4a6b2484f0fbb63f2cf987184a12f8a4a344ebfbfe5c1f37423fbda88c171f2eee0f7af4d0b066a9a87c3b22e0c92b7f7f1f5536b4c5d59fb2ca10b963cb8e62
DIST amdvlk-MetroHash-18893fb28601bb9af1154cd1a671a121fff6d8d3.tar.gz 11729 BLAKE2B b0e3de885e50c317141d62c885b421c7fd2e1ac783733704342bbed3109bff36a9209ab276f534a2231531483539221bbb1014bd39528a91124161bafc5646eb SHA512 8f12f95e80d594c8bd87a852c67a2d6777ce89d1a13e1a87ee17bbb876a0702c14ffe7a7fd65a244620f2043ad5d22ae8eb863d69f1dc5494d985733bbfb7bf9
DIST amdvlk-MetroHash-3c566dd9cda44ca7fd97659e0b53ac953f9037d2.tar.gz 11804 BLAKE2B 683ca8a9e4b93a945dc455c5cb78a2c6dd9dbdf22432ea9f447a6d2d1b05399cc57b621d1e304dc5695ab936a212a2df110e47ec9141764f4eaa2b184a01f4ba SHA512 ae4fcf09a097ceddfcc9f0b721cae0018fff8a0360d8fbbb195d2a8c2809cf8f3c01090ba8129593d89fe1c041224e42a49e7a1c66f20e60958a5373f6d9027f DIST amdvlk-MetroHash-3c566dd9cda44ca7fd97659e0b53ac953f9037d2.tar.gz 11804 BLAKE2B 683ca8a9e4b93a945dc455c5cb78a2c6dd9dbdf22432ea9f447a6d2d1b05399cc57b621d1e304dc5695ab936a212a2df110e47ec9141764f4eaa2b184a01f4ba SHA512 ae4fcf09a097ceddfcc9f0b721cae0018fff8a0360d8fbbb195d2a8c2809cf8f3c01090ba8129593d89fe1c041224e42a49e7a1c66f20e60958a5373f6d9027f
DIST amdvlk-gpurt-714a028e920c502520011fc4f4556f58ec897424.tar.gz 308297 BLAKE2B aeb699332b76cd6d0ac0dcc47a410e8a6ad0b6b073ca2521b3e6c06b4307ee74b79ae9f7767f43e863b8070f664ffd9ffcbacab5f0b12576069e5469b8f5251e SHA512 8044de6555dd2c73ff75d059bda1bba3ef6960c46bb6a92b4ff77e3ced3a8100380ec3d27e5e8ad49fae2fe6994d548494535aa5023412033a2ed9b9236b52bc
DIST amdvlk-llpc-1ecd9997579b962be571162931c9e38bd86bafad.tar.gz 2618677 BLAKE2B 5849ce333bc52ea1bba47f253834c10974fdc2089ba41fa41a89d9a9fe0249f6e4286985e092c5aaaa52b2e9aff3704dde01ac09fad82d43556b67786156092e SHA512 11f69a6f31a282acc410d1ddd6a8996842e1076cdd49db8f08378ab1401acac1d4eba48788b7f78fb5d5297dda52fd1ceaeec6e68986168c0a92b49222bda3b5
DIST amdvlk-llpc-c89f405e3632f0b639faafe61cd03cb851492f4e.tar.gz 2176219 BLAKE2B b04c159b48e0ba48f5ac283ac9640eab67d4d938e7b181184161372f49aaa4d27f279e6895102db2fb2f59dc37ec7abe27093fe9de2b990a89c8b0ca5e3038da SHA512 24eb4732bbfe98bb65677ffcaced7790d427299e167b6c3dd6cbcf1ceaf26fe7441f672651bba9cac260381e65a3a198c80ccbf7c740e079029a902e56178245 DIST amdvlk-llpc-c89f405e3632f0b639faafe61cd03cb851492f4e.tar.gz 2176219 BLAKE2B b04c159b48e0ba48f5ac283ac9640eab67d4d938e7b181184161372f49aaa4d27f279e6895102db2fb2f59dc37ec7abe27093fe9de2b990a89c8b0ca5e3038da SHA512 24eb4732bbfe98bb65677ffcaced7790d427299e167b6c3dd6cbcf1ceaf26fe7441f672651bba9cac260381e65a3a198c80ccbf7c740e079029a902e56178245
DIST amdvlk-llvm-project-a85ea7baf89016f72d7cb7c94db4c996d70d9898.tar.gz 144442498 BLAKE2B 2e93f4b15ef5934f06380802b01333c7195fb611c5c51b64a4d4055c4a05bf764d546d70254d6e7b25869f60bd429d7abcf38ba1e68c92adab50f855bccce20c SHA512 90357c05230e0653968ecb6e57d816278a30a136ed38aea0c067cd1add6b062a94da22e85e4e2c994c5eaaa4e94c290b31761c519b405f86b3f03b6e3a09cb45 DIST amdvlk-llvm-project-a85ea7baf89016f72d7cb7c94db4c996d70d9898.tar.gz 144442498 BLAKE2B 2e93f4b15ef5934f06380802b01333c7195fb611c5c51b64a4d4055c4a05bf764d546d70254d6e7b25869f60bd429d7abcf38ba1e68c92adab50f855bccce20c SHA512 90357c05230e0653968ecb6e57d816278a30a136ed38aea0c067cd1add6b062a94da22e85e4e2c994c5eaaa4e94c290b31761c519b405f86b3f03b6e3a09cb45
DIST amdvlk-llvm-project-fdc6165b081b7b5e5ba245f4283fcb23d6d9f167.tar.gz 179654477 BLAKE2B 4a09ad5d194525365106b44627693f6eef49b9bd9c38c9eb690ea0288593e7a72467e0f2da757e728b40ee11a26ae3e5305aefe0744965dc7b0166f348539116 SHA512 e8603930e389cbcd0433d48bd72763b0d3ac3acd4f6fadaa3ac68f5148881723863f2816fa6ae34b4cb87538f77a70eb318b31d5ef9c085cc72a5dc9ca83fcb2
DIST amdvlk-pal-02ac99ba650afb3aebff3eb8006862ce93d31968.tar.gz 8285204 BLAKE2B 586611d50f39e8567e2774cb6a418627b6b5582b83de1f108b6f02b46a9dfd4d84bbdf2b03f18a671e0c3f58fa49d3ac24708826dd7e3afbf268366382dc1a55 SHA512 dd47365b4717ac808034ae8a61f6bb05b5d43308562134edb2374231549f1f4a0f8a476fd4dc0e38dc8501f840aeaf2cdbc9da25b686eb0b05b79e72a236df2c DIST amdvlk-pal-02ac99ba650afb3aebff3eb8006862ce93d31968.tar.gz 8285204 BLAKE2B 586611d50f39e8567e2774cb6a418627b6b5582b83de1f108b6f02b46a9dfd4d84bbdf2b03f18a671e0c3f58fa49d3ac24708826dd7e3afbf268366382dc1a55 SHA512 dd47365b4717ac808034ae8a61f6bb05b5d43308562134edb2374231549f1f4a0f8a476fd4dc0e38dc8501f840aeaf2cdbc9da25b686eb0b05b79e72a236df2c
DIST amdvlk-pal-4640888b579bc9b0951c586b08a4552f71780d0d.tar.gz 12404946 BLAKE2B a348bce089766ac86539df1f9297df61d94d5db7993f95d86e8967e8641090949d177e9f6d9c1b257404eac8a0a05836c7f0dd6964b8bfc1946a21c47d7f19e0 SHA512 3b43ff0a86f66a238a02a7c71a0fe957deb63968abf2f48b1222ffd048d8fd3e864240a956fb013ab6336eebebb7a76538f748c0c93fbda9ab110e1d33547ef3
DIST amdvlk-xgl-14397c77fbc0c760397dd3162482407b2721a825.tar.gz 898003 BLAKE2B a0f663a36a9d54b9f9d2600534907bb953f0eb8480de4b5edca4efcca62426044ab0ccaf710e73a41dfb25ece9c9d042db73f524348df680c36718ec1c001234 SHA512 1b697bac073297738e118ce315909cb3aa42f1d10c40c6835dc901ea0729cb36bb5d55bde0b8f7da447931396814681682db8b093ca2fdb775ab8f9a890da666 DIST amdvlk-xgl-14397c77fbc0c760397dd3162482407b2721a825.tar.gz 898003 BLAKE2B a0f663a36a9d54b9f9d2600534907bb953f0eb8480de4b5edca4efcca62426044ab0ccaf710e73a41dfb25ece9c9d042db73f524348df680c36718ec1c001234 SHA512 1b697bac073297738e118ce315909cb3aa42f1d10c40c6835dc901ea0729cb36bb5d55bde0b8f7da447931396814681682db8b093ca2fdb775ab8f9a890da666
DIST amdvlk-xgl-997225355d7fce7392a9e32fe9f0a515f5736d0f.tar.gz 1247401 BLAKE2B 5381474b3e8eb1783ab5b6a6059204fdd1fc6215a4bdc724bef874908d860f3f306773235325c725bddbc1c7e416a00a865e7b11e5218c3bca9fccd09e6bda95 SHA512 4217567268525f934dbde112e4a3b7703576d63cd49776dc1d991897bce406533d5954196cface6c31663d9ae073ec74ea0b084e55dfa91314aca350b9effa47

View file

@ -0,0 +1,147 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# MULTILIB_COMPAT=( abi_x86_{32,64} )
PYTHON_COMPAT=( python3_{10..11} )
inherit check-reqs python-any-r1 cmake-multilib
DESCRIPTION="AMD Open Source Driver for Vulkan"
HOMEPAGE="https://github.com/GPUOpen-Drivers/AMDVLK"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="wayland +raytracing"
# REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )"
BUNDLED_LLVM_DEPEND="sys-libs/zlib:0=[${MULTILIB_USEDEP}]"
DEPEND="wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
${BUNDLED_LLVM_DEPEND}
>=dev-util/vulkan-headers-1.3.224
raytracing? ( dev-util/DirectXShaderCompiler )
dev-util/glslang[${MULTILIB_USEDEP}]"
BDEPEND="${BUNDLED_LLVM_DEPEND}
${PYTHON_DEPS}
virtual/linux-sources"
RDEPEND=" ${DEPEND}
x11-libs/libdrm[${MULTILIB_USEDEP}]
x11-libs/libXrandr[${MULTILIB_USEDEP}]
x11-libs/libxcb[${MULTILIB_USEDEP}]
x11-libs/libxshmfence[${MULTILIB_USEDEP}]
>=media-libs/vulkan-loader-1.3.224[${MULTILIB_USEDEP}]
dev-util/glslang[${MULTILIB_USEDEP}]
dev-libs/openssl[${MULTILIB_USEDEP}]" #890449
CHECKREQS_MEMORY="7G"
CHECKREQS_DISK_BUILD="4G"
S="${WORKDIR}"
CMAKE_USE_DIR="${S}/xgl"
CMAKE_MAKEFILE_GENERATOR=ninja
### SOURCE CODE PER_VERSION VARIABLES
FETCH_URI="https://github.com/GPUOpen-Drivers"
## For those who wants update ebuild: check https://github.com/GPUOpen-Drivers/AMDVLK/blob/${VERSION}/default.xml
## e.g. https://github.com/GPUOpen-Drivers/AMDVLK/blob/v-2022.Q3.5/default.xml
## and place commits in the desired variables
## EXAMPLE: XGL_COMMIT="80e5a4b11ad2058097e77746772ddc9ab2118e07"
## SRC_URI="... ${FETCH_URI}/$PART/archive/$COMMIT.zip -> $PART-$COMMIT.zip ..."
XGL_COMMIT="997225355d7fce7392a9e32fe9f0a515f5736d0f"
PAL_COMMIT="4640888b579bc9b0951c586b08a4552f71780d0d"
LLPC_COMMIT="1ecd9997579b962be571162931c9e38bd86bafad"
GPURT_COMMIT="714a028e920c502520011fc4f4556f58ec897424"
LLVM_PROJECT_COMMIT="fdc6165b081b7b5e5ba245f4283fcb23d6d9f167"
METROHASH_COMMIT="18893fb28601bb9af1154cd1a671a121fff6d8d3"
CWPACK_COMMIT="4f8cf0584442a91d829d269158567d7ed926f026"
# Submodule of LLPC, also updates often. Grab commit version from
# https://github.com/GPUOpen-Drivers/llpc/tree/${LLPC_COMMIT}/imported
LLVM_DIALECTS_COMMIT="17aafecff46b68206a0ed82d58f5e2fc358367a1"
### end of variables
SRC_URI="${FETCH_URI}/xgl/archive/${XGL_COMMIT}.tar.gz -> amdvlk-xgl-${XGL_COMMIT}.tar.gz
${FETCH_URI}/pal/archive/${PAL_COMMIT}.tar.gz -> amdvlk-pal-${PAL_COMMIT}.tar.gz
${FETCH_URI}/llpc/archive/${LLPC_COMMIT}.tar.gz -> amdvlk-llpc-${LLPC_COMMIT}.tar.gz
${FETCH_URI}/gpurt/archive/${GPURT_COMMIT}.tar.gz -> amdvlk-gpurt-${GPURT_COMMIT}.tar.gz
${FETCH_URI}/llvm-project/archive/${LLVM_PROJECT_COMMIT}.tar.gz -> amdvlk-llvm-project-${LLVM_PROJECT_COMMIT}.tar.gz
${FETCH_URI}/MetroHash/archive/${METROHASH_COMMIT}.tar.gz -> amdvlk-MetroHash-${METROHASH_COMMIT}.tar.gz
${FETCH_URI}/CWPack/archive/${CWPACK_COMMIT}.tar.gz -> amdvlk-CWPack-${CWPACK_COMMIT}.tar.gz
${FETCH_URI}/llvm-dialects/archive/${LLVM_DIALECTS_COMMIT}.tar.gz -> amdvlk-LLVM-dialects-${LLVM_DIALECTS_COMMIT}.tar.gz"
PATCHES=(
"${FILESDIR}/amdvlk-2022.3.5-no-compiler-presets.patch" #875821
"${FILESDIR}/amdvlk-2022.4.1-proper-libdir.patch"
"${FILESDIR}/amdvlk-2022.4.2-license-path.patch" #878803
#"${FILESDIR}/amdvlk-2022.4.2-reduced-llvm-installations.patch"
#"${FILESDIR}/amdvlk-2022.4.2-reduced-llvm-installations-part2.patch"
"${FILESDIR}/amdvlk-2022.4.4-r1-disable-Werror.patch" #887777
"${FILESDIR}/amdvlk-2023.1.2-gcc13-cstdint.patch" #905174
)
pkg_pretend(){
ewarn "It's generally recomended to have at least 16GB memory to build"
ewarn "However, experiments shows that if you'll use MAKEOPTS=\"-j1\" you can build it with 4GB RAM"
ewarn "or you can use MAKEOPTS=\"-j3\" with 7.5GB system memory"
ewarn "See https://wiki.gentoo.org/wiki/AMDVLK#Additional_system_requirements_to_build"
ewarn "Use CHECKREQS_DONOTHING=1 if you need to bypass memory checking"
check-reqs_pkg_pretend
}
src_prepare() {
einfo "moving src to proper directories"
mkdir third_party || die
mv xgl-${XGL_COMMIT}/ xgl || die
mv pal-${PAL_COMMIT}/ pal || die
mv llpc-${LLPC_COMMIT}/ llpc || die
mv gpurt-${GPURT_COMMIT}/ gpurt || die
mv llvm-project-${LLVM_PROJECT_COMMIT}/ llvm-project || die
rm -d llpc/imported/llvm-dialects/ || die
mv llvm-dialects-${LLVM_DIALECTS_COMMIT}/ llpc/imported/llvm-dialects/ || die
mv MetroHash-${METROHASH_COMMIT}/ third_party/metrohash || die
mv CWPack-${CWPACK_COMMIT}/ third_party/cwpack || die
cmake_src_prepare
}
multilib_src_configure() {
local mycmakeargs=(
-DBUILD_WAYLAND_SUPPORT=$(usex wayland)
-DVKI_RAY_TRACING=$(usex raytracing)
-DLLVM_HOST_TRIPLE="${CHOST}"
-DLLVM_ENABLE_WERROR=OFF
-DENABLE_WERROR=OFF
-DVAM_ENABLE_WERROR=OFF
-DICD_ANALYSIS_WARNINGS_AS_ERRORS=OFF
-DMETROHASH_ENABLE_WERROR=OFF
-DBUILD_SHARED_LIBS=OFF #LLVM parts don't support shared libs
-DPython3_EXECUTABLE="${PYTHON}"
-DPACKAGE_VERSION="${PV}"
-DPACKAGE_NAME="${PN}"
-DLLVM_INSTALL_TOOLCHAIN_ONLY=ON #Disable installation of various LLVM parts which we had to clean up.
-Wno-dev
)
cmake_src_configure
}
multilib_check_headers() {
einfo "Checking headers skipped: there is no headers"
}
multilib_src_install_all() {
default
einfo "Removing unused LLVM parts…"
rm "${ED}"/usr/lib/libLTO* || die "Can't remove unused LLVM lto library"
rm "${ED}"/usr/lib/libRemarks* || die "Can't remove unused LLVM libRemarks library"
rm -r "${ED}"/usr/lib/cmake || die "Can't remove unused LLVM cmake folder"
einfo "Removal done"
}
pkg_postinst() {
ewarn "Make sure the following line is NOT included in the any Xorg configuration section:"
ewarn "| Driver \"modesetting\""
ewarn "and make sure you use DRI3 mode for Xorg (not revelant for wayland)"
elog "More information about the configuration can be found here:"
elog "https://github.com/GPUOpen-Drivers/AMDVLK"
elog "You can use AMD_VULKAN_ICD variable to switch to the required driver."
elog "AMD_VULKAN_ICD=RADV application - for using radv."
elog "AMD_VULKAN_ICD=AMDVLK application - for using amdvlk."
}