[AMD] Installer les pilotes AMDGPU-PRO

Reconnaissance et configuration du matériel / kernel linux
shim80
Hankyu
Messages : 31
Inscription : ven. 30 sept. 2016, 10:05

[AMD] Installer les pilotes AMDGPU-PRO

Message par shim80 »

Bonjour.
Voilà un moment que j'essaye d'installer les derniers pilotes en date AMDGPU-PRO sur Arch Linux (noyau 4.14-40).
Les pilotes disponible sur AUR étant malheureusement plus mis à jour depuis 6 mois (version 17.40), j'ai dû récupérer et modifier leur PKGBUILD pour y installer la dernière version en date (version 18.20).
PKGBUILD :

Code : Tout sélectionner

pkgbase=amdgpu-pro-installer
pkgname=(amdgpu-pro amdgpu-pro-dkms amdgpu-pro-gst-omx amdgpu-pro-libdrm amdgpu-pro-libgl amdgpu-pro-mesa-omx amdgpu-pro-opencl amdgpu-pro-vdpau amdgpu-pro-vulkan lib32-amdgpu-pro lib32-amdgpu-pro-gst-omx lib32-amdgpu-pro-libdrm lib32-amdgpu-pro-libgl lib32-amdgpu-pro-mesa-omx lib32-amdgpu-pro-opencl lib32-amdgpu-pro-vdpau lib32-amdgpu-pro-vulkan xf86-video-amdgpu-pro)
pkgver=18.20.579836
pkgrel=1
arch=('x86_64')
url='http://www.amd.com'
license=('custom:AMD')
makedepends=('wget')

DLAGENTS='https::/usr/bin/wget --referer https://support.amd.com/en-us/kb-articles/Pages/Radeon-Software-for-Linux-18.20-Early-Preview-Release-Notes.aspx -N %u'

source=(https://www2.ati.com/drivers/linux/ubuntu/amdgpu-pro-18.20-579836.tar.xz
        0003-add-archlinux-as-build-option.patch)
sha256sums=(SKIP
        SKIP)


# extracts a debian package
# $1: deb file to extract
extract_deb() {
	local tmpdir="$(basename "${1%.deb}")"
	rm -Rf "$tmpdir"
	mkdir "$tmpdir"
	cd "$tmpdir"
	ar x "$1"
	tar -C "${pkgdir}" -xf data.tar.xz
}
# move ubuntu specific /usr/lib/x86_64-linux-gnu to /usr/lib
# $1: library dir
# $2: destination (optional)
move_libdir() {
	local libdir="usr/lib"
	if [ -n "$2" ]; then
		libdir="$2"
	fi
	if [ -d "$1" ]; then
		if [ -d "${pkgdir}/${libdir}" ]; then
			cp -ar -t "${pkgdir}/${libdir}/" "$1"/*
			rm -rf "$1"
		else
			mkdir -p "${pkgdir}/${libdir}"
			mv -t "${pkgdir}/${libdir}/" "$1"/*
			rmdir "$1"
		fi
	fi
}


package_amdgpu-pro () {
	pkgdesc="The AMDGPU Pro driver package"
	install=amdgpu-pro-core.install
	arch=('x86_64')
	depends=('binfmt-support-git' 'libedit>=2.11-20080614' 'libffi>=3.0.9' 'libx11' 'libxext' 'libxfixes' 'ncurses' 'ncurses5-compat-libs>=6' 'zlib>=1.2.0')

	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./amdgpu-pro_18.20-579836_amd64.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./amdgpu-pro-core_18.20-579836_all.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./amdgpu-pro-lib32_18.20-579836_amd64.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./ids-amdgpu_1.0.0-579836_all.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./libgbm1-amdgpu-pro_18.20-579836_amd64.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./libgbm1-amdgpu-pro-base_18.20-579836_all.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./libgbm1-amdgpu-pro-dev_18.20-579836_amd64.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./libgl1-amdgpu-pro-dri_18.20-579836_amd64.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./libllvm6.0-amdgpu_6.0-579836_amd64.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./llvm-amdgpu_6.0-579836_amd64.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./llvm-amdgpu-6.0_6.0-579836_amd64.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./llvm-amdgpu-6.0-dev_6.0-579836_amd64.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./llvm-amdgpu-6.0-doc_6.0-579836_all.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./llvm-amdgpu-6.0-runtime_6.0-579836_amd64.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./llvm-amdgpu-dev_6.0-579836_amd64.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./llvm-amdgpu-runtime_6.0-579836_amd64.deb

	move_libdir "${pkgdir}/lib"

	# extra_commands:
	mv "${pkgdir}"/usr/lib/x86_64-linux-gnu/dri ${pkgdir}/usr/lib/
	# This is needed because libglx.so has a hardcoded DRI_DRIVER_PATH
	ln -s /usr/lib/dri ${pkgdir}/usr/lib/x86_64-linux-gnu/dri
	mkdir -p "${pkgdir}/etc/ld.so.conf.d/"
	echo "/opt/amdgpu-pro/lib/x86_64-linux-gnu/" > "${pkgdir}"/etc/ld.so.conf.d/amdgpu-pro.conf
}


package_amdgpu-pro-dkms () {
	pkgdesc="amdgpu-pro driver in DKMS format."
	arch=('any')
	depends=('amdgpu-pro=18.20.579836-1' 'dkms>=1.95')

	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./amdgpu-dkms_18.20-579836_all.deb

	move_libdir "${pkgdir}/lib"

	# extra_commands:
	msg 'Applying patches...'
	(cd ${pkgdir}/usr/src/amdgpu-18.20-579836;
		sed -i 's/\/extra/\/extramodules/' dkms.conf
		msg2 '0003-add-archlinux-as-build-option.patch'
		patch -p1 -i "${srcdir}/0003-add-archlinux-as-build-option.patch"
	)
}


package_amdgpu-pro-gst-omx () {
	pkgdesc="GStreamer OpenMAX plugins for AMDGPU Pro"
	arch=('x86_64')
	depends=('glib2>=2.37.3' 'gst-plugins-base>=1.6.0' 'gstreamer>=1.0.0' 'libomxil-bellagio')

	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./gst-omx-amdgpu_1.0.0.1-579836_amd64.deb

	move_libdir "${pkgdir}/lib"

}


package_amdgpu-pro-libdrm () {
	pkgdesc="The AMDGPU Pro userspace interface to kernel DRM services"
	arch=('x86_64')
	provides=('libdrm')
	conflicts=('libdrm')
	depends=('amdgpu-pro=18.20.579836-1' 'bcunit')

	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./libdrm-amdgpu-amdgpu1_2.4.91-579836_amd64.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./libdrm-amdgpu-dev_2.4.91-579836_amd64.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./libdrm-amdgpu-radeon1_2.4.91-579836_amd64.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./libdrm-amdgpu-utils_2.4.91-579836_amd64.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./libdrm2-amdgpu_2.4.91-579836_amd64.deb

	move_libdir "${pkgdir}/lib"

}


package_amdgpu-pro-libgl () {
	pkgdesc="The AMDGPU Pro libgl library symlinks"
	arch=('x86_64')
	provides=('libgl')
	conflicts=('libgl')
	depends=('amdgpu-pro-libdrm=18.20.579836-1' 'amdgpu-pro=18.20.579836-1' 'libx11' 'libx11>=1.4.99.1' 'libxcb' 'libxcb>=1.8' 'libxcb>=1.9.2' 'libxdamage>=1.1' 'libxext' 'libxfixes' 'libxshmfence' 'libxxf86vm')

	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./libegl1-amdgpu-pro_18.20-579836_amd64.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./libgl1-amdgpu-pro-appprofiles_18.20-579836_all.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./libgl1-amdgpu-pro-ext_18.20-579836_amd64.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./libgl1-amdgpu-pro-glx_18.20-579836_amd64.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./libgles2-amdgpu-pro_18.20-579836_amd64.deb

	move_libdir "${pkgdir}/lib"

}


package_amdgpu-pro-mesa-omx () {
	pkgdesc="Mesa OpenMAX video drivers for AMDGPU Pro"
	arch=('x86_64')
	depends=('amdgpu-pro-libdrm=18.20-579836-1' 'amdgpu-pro=18.20-579836-1' 'libomxil-bellagio' 'libx11' 'libxcb' 'libxcb>=1.8' 'ncurses5-compat-libs>=6' 'zlib>=1.2.0')

	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./mesa-amdgpu-omx-drivers_18.0.0-579836_amd64.deb

	move_libdir "${pkgdir}/lib"

}


package_amdgpu-pro-opencl () {
	pkgdesc="The AMDGPU Pro OpenCL implementation"
	arch=('x86_64')
	provides=('opencl-driver')
	depends=('amdgpu-pro=18.20-579836-1' 'pciutils>=3.3.1-1')

	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./clinfo-amdgpu-pro_18.20-579836_amd64.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./libopencl1-amdgpu-pro_18.20-579836_amd64.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./opencl-amdgpu-pro-icd_18.20-579836_amd64.deb

	move_libdir "${pkgdir}/lib"

}


package_amdgpu-pro-vdpau () {
	pkgdesc="The AMDGPU Pro VDPAU driver"
	arch=('x86_64')
	depends=('amdgpu-pro-libdrm=18.20.579836-1' 'amdgpu-pro=18.20.579836-1' 'libvdpau>=1.1' 'libxcb' 'libxcb>=1.8' 'ncurses5-compat-libs>=6' 'zlib>=1.2.0')

	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./mesa-amdgpu-vdpau-drivers_18.0.0-579836_amd64.deb

	move_libdir "${pkgdir}/lib"

	# extra_commands:
	mkdir -p "${pkgdir}"/usr/lib/
	ln -s /opt/amdgpu/lib/x86_64-linux-gnu/vdpau/libvdpau_amdgpu.so.1.0.0 "${pkgdir}"/usr/lib/libvdpau_amdgpu.so.1.0.0
	ln -s /opt/amdgpu/lib/x86_64-linux-gnu/vdpau/libvdpau_amdgpu.so.1.0.0 "${pkgdir}"/usr/lib/libvdpau_amdgpu.so.1
	ln -s /opt/amdgpu/lib/x86_64-linux-gnu/vdpau/libvdpau_amdgpu.so.1.0.0 "${pkgdir}"/usr/lib/libvdpau_amdgpu.so
}


package_amdgpu-pro-vulkan () {
	pkgdesc="The AMDGPU Pro Vulkan driver"
	arch=('x86_64')
	provides=('vulkan-driver')
	depends=('amdgpu-pro=18.20.579836-1')

	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./vulkan-amdgpu-pro_18.20-579836_amd64.deb

	move_libdir "${pkgdir}/lib"

	# extra_commands:
	mkdir -p "${pkgdir}"/usr/share/vulkan/icd.d/
	mv "${pkgdir}"/etc/vulkan/icd.d/amd_icd64.json "${pkgdir}"/usr/share/vulkan/icd.d/
	sed -i "s@abi_versions\(.*\)0.9.0\(.*\)@api_version\11.0.61\2@" "${pkgdir}"/usr/share/vulkan/icd.d/amd_icd64.json
	rm -rf "${pkgdir}"/etc/vulkan/
}


package_lib32-amdgpu-pro () {
	pkgdesc="Meta package to install amdgpu Pro components. (32bit libraries)"
	arch=('x86_64')
	depends=('binfmt-support-git' 'lib32-libedit>=2.11-20080614' 'lib32-libffi>=3.0.9' 'lib32-libx11' 'lib32-libxext' 'lib32-libxfixes' 'lib32-ncurses' 'lib32-ncurses5-compat-libs>=6' 
'lib32-zlib>=1.2.0')

	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./amdgpu-pro_18.20-579836_i386.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./libgbm1-amdgpu-pro_18.20-579836_i386.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./libgbm1-amdgpu-pro-dev_18.20-579836_i386.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./libgl1-amdgpu-pro-dri_18.20-579836_i386.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./libllvm6.0-amdgpu_6.0-579836_i386.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./llvm-amdgpu_6.0-579836_i386.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./llvm-amdgpu-6.0_6.0-579836_i386.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./llvm-amdgpu-6.0-dev_6.0-579836_i386.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./llvm-amdgpu-6.0-runtime_6.0-579836_i386.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./llvm-amdgpu-dev_6.0-579836_i386.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./llvm-amdgpu-runtime_6.0-579836_i386.deb

	move_libdir "${pkgdir}/lib" "usr/lib32"

	# extra_commands:
	mkdir -p "${pkgdir}"/usr/lib32/
	mv "${pkgdir}"/usr/lib/i386-linux-gnu/dri "${pkgdir}"/usr/lib32/
	rm -rf "${pkgdir}"/etc
	mkdir -p "${pkgdir}/etc/ld.so.conf.d/"
	echo "/opt/amdgpu-pro/lib/i386-linux-gnu/" > "${pkgdir}"/etc/ld.so.conf.d/lib32-amdgpu-pro.conf

	# lib32 cleanup
	rm -rf "${pkgdir}"/usr/{bin,lib,include,share} "${pkgdir}/var" "${pkgdir}"/opt/amdgpu-pro/{bin,include,share}
	rm -rf "${pkgdir}"/opt/amdgpu-pro/lib/xorg/modules/extensions/

}


package_lib32-amdgpu-pro-gst-omx () {
	pkgdesc="GStreamer OpenMAX plugins for AMDGPU Pro (32bit libraries)"
	arch=('x86_64')
	depends=('lib32-glib2>=2.37.3' 'lib32-gst-plugins-base>=1.6.0' 'lib32-gstreamer>=1.0.0' 'lib32-libomxil-bellagio')

	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./gst-omx-amdgpu_1.0.0.1-579836_i386.deb

	move_libdir "${pkgdir}/lib" "usr/lib32"


	# lib32 cleanup
	rm -rf "${pkgdir}"/usr/{bin,lib,include,share} "${pkgdir}/var" "${pkgdir}"/opt/amdgpu-pro/{bin,include,share}
	rm -rf "${pkgdir}"/opt/amdgpu-pro/lib/xorg/modules/extensions/

}


package_lib32-amdgpu-pro-libdrm () {
	pkgdesc="The AMDGPU Pro userspace interface to kernel DRM services (32bit libraries)"
	arch=('x86_64')
	provides=('lib32-libdrm')
	conflicts=('lib32-libdrm')
	depends=('amdgpu-pro-libdrm=18.20.579836-1' 'amdgpu-pro=18.20.579836-1')

	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./libdrm-amdgpu-amdgpu1_2.4.91-579836_i386.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./libdrm-amdgpu-dev_2.4.91-579836_i386.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./libdrm-amdgpu-radeon1_2.4.91-579836_i386.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./libdrm2-amdgpu_2.4.91-579836_i386.deb

	move_libdir "${pkgdir}/lib" "usr/lib32"


	# lib32 cleanup
	rm -rf "${pkgdir}"/usr/{bin,lib,include,share} "${pkgdir}/var" "${pkgdir}"/opt/amdgpu-pro/{bin,include,share}
	rm -rf "${pkgdir}"/opt/amdgpu-pro/lib/xorg/modules/extensions/

}


package_lib32-amdgpu-pro-libgl () {
	pkgdesc="The AMDGPU Pro libgl library symlinks (32bit libraries)"
	arch=('x86_64')
	provides=('lib32-libgl')
	conflicts=('lib32-libgl')
	depends=('amdgpu-pro-libdrm=18.20.579836-1' 'amdgpu-pro-libgl=18.20.579836-1' 'amdgpu-pro=18.20.579836-1' 'lib32-libx11' 'lib32-libx11>=1.4.99.1' 'lib32-libxcb' 'lib32-libxcb>=1.8' 'lib32-libxcb>=1.9.2' 'lib32-libxdamage>=1.1' 'lib32-libxext' 'lib32-libxfixes' 'lib32-libxshmfence' 'lib32-libxxf86vm')

	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./libegl1-amdgpu-pro_18.20-579836_i386.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./libgl1-amdgpu-pro-ext_18.20-579836_i386.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./libgl1-amdgpu-pro-glx_18.20-579836_i386.deb
	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./libgles2-amdgpu-pro_18.20-579836_i386.deb

	move_libdir "${pkgdir}/lib" "usr/lib32"

	# extra_commands:
	rm -rf "${pkgdir}"/etc

	# lib32 cleanup
	rm -rf "${pkgdir}"/usr/{bin,lib,include,share} "${pkgdir}/var" "${pkgdir}"/opt/amdgpu-pro/{bin,include,share}
	rm -rf "${pkgdir}"/opt/amdgpu-pro/lib/xorg/modules/extensions/

}


package_lib32-amdgpu-pro-mesa-omx () {
	pkgdesc="Mesa OpenMAX video drivers for AMDGPU Pro (32bit libraries)"
	arch=('x86_64')
	depends=('amdgpu-pro-libdrm=18.20.579836-1' 'amdgpu-pro=18.20.579836-1' 'lib32-libomxil-bellagio' 'lib32-libx11' 'lib32-libxcb' 'lib32-libxcb>=1.8' 'lib32-ncurses5-compat-libs>=6' 'lib32-zlib>=1.2.0')

	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./mesa-amdgpu-omx-drivers_18.0.0-579836_i386.deb

	move_libdir "${pkgdir}/lib" "usr/lib32"

	# extra_commands:
	rm -f "${pkgdir}"/etc/xdg/gstomx.conf

	# lib32 cleanup
	rm -rf "${pkgdir}"/usr/{bin,lib,include,share} "${pkgdir}/var" "${pkgdir}"/opt/amdgpu-pro/{bin,include,share}
	rm -rf "${pkgdir}"/opt/amdgpu-pro/lib/xorg/modules/extensions/

}


package_lib32-amdgpu-pro-opencl () {
	pkgdesc="The AMDGPU Pro OpenCL implementation"
	arch=('x86_64')
	provides=('lib32-opencl-driver')
	depends=('amdgpu-pro=18.20.579836-1')

	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./libopencl1-amdgpu-pro_18.20-579836_i386.deb

	move_libdir "${pkgdir}/lib" "usr/lib32"


	# lib32 cleanup
	rm -rf "${pkgdir}"/usr/{bin,lib,include,share} "${pkgdir}/var" "${pkgdir}"/opt/amdgpu-pro/{bin,include,share}
	rm -rf "${pkgdir}"/opt/amdgpu-pro/lib/xorg/modules/extensions/

}


package_lib32-amdgpu-pro-vdpau () {
	pkgdesc="The AMDGPU Pro VDPAU driver (32bit libraries)"
	arch=('x86_64')
	depends=('amdgpu-pro-libdrm=18.20.579836-1' 'amdgpu-pro=18.20.579836-1' 'lib32-libvdpau>=1.1' 'lib32-libxcb' 'lib32-libxcb>=1.8' 'lib32-ncurses5-compat-libs>=6' 'lib32-zlib>=1.2.0')

	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./mesa-amdgpu-vdpau-drivers_18.0.0-579836_i386.deb

	move_libdir "${pkgdir}/lib" "usr/lib32"

	# extra_commands:
	mkdir -p "${pkgdir}"/usr/lib32/
	ln -s /opt/amdgpu-pro/lib/i386-linux-gnu/vdpau/libvdpau_amdgpu.so.1.0.0 "${pkgdir}"/usr/lib32/libvdpau_amdgpu.so.1.0.0
	ln -s /opt/amdgpu-pro/lib/i386-linux-gnu/vdpau/libvdpau_amdgpu.so.1.0.0 "${pkgdir}"/usr/lib32/libvdpau_amdgpu.so.1
	ln -s /opt/amdgpu-pro/lib/i386-linux-gnu/vdpau/libvdpau_amdgpu.so.1.0.0 "${pkgdir}"/usr/lib32/libvdpau_amdgpu.so

	# lib32 cleanup
	rm -rf "${pkgdir}"/usr/{bin,lib,include,share} "${pkgdir}/var" "${pkgdir}"/opt/amdgpu-pro/{bin,include,share}
	rm -rf "${pkgdir}"/opt/amdgpu-pro/lib/xorg/modules/extensions/

}


package_lib32-amdgpu-pro-vulkan () {
	pkgdesc="The AMDGPU Pro Vulkan driver (32bit libraries)"
	arch=('x86_64')
	provides=('lib32-vulkan-driver')
	depends=('amdgpu-pro=18.20.579836-1')

	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./vulkan-amdgpu-pro_18.20-579836_i386.deb

	move_libdir "${pkgdir}/lib" "usr/lib32"

	# extra_commands:
	mkdir -p "${pkgdir}"/usr/share/vulkan/icd.d/
	mv "${pkgdir}"/etc/vulkan/icd.d/amd_icd32.json "${pkgdir}"/usr/share/vulkan/icd.d/
	sed -i "s@abi_versions\(.*\)0.9.0\(.*\)@api_version\11.0.61\2@" "${pkgdir}"/usr/share/vulkan/icd.d/amd_icd32.json
	rm -rf "${pkgdir}"/etc/vulkan/

	# lib32 cleanup
	rm -rf "${pkgdir}"/usr/{bin,lib,include,share} "${pkgdir}/var" "${pkgdir}"/opt/amdgpu-pro/{bin,include,share}
	rm -rf "${pkgdir}"/opt/amdgpu-pro/lib/xorg/modules/extensions/

}


package_xf86-video-amdgpu-pro () {
	pkgdesc="The AMDGPU Pro X.org video driver"
	arch=('x86_64')
	provides=('xf86-video-amdgpu')
	conflicts=('xf86-video-amdgpu' 'xorg-server<1.19.0' 'X-ABI-VIDEODRV_VERSION<23' 'X-ABI-VIDEODRV_VERSION>=24')
	groups=('xorg-drivers')
	depends=('amdgpu-pro-libdrm=18.20.579836-1' 'amdgpu-pro=18.20.579836-1' 'libsystemd>=183')

	extract_deb "${srcdir}"/amdgpu-pro-18.20-579836/./xserver-xorg-amdgpu-video-amdgpu_1.4.0-579836_amd64.deb
													  

	move_libdir "${pkgdir}/lib"

}
0003-add-archlinux-as-build-option.patch :

Code : Tout sélectionner

From a15dae29e472aff257f7aa8d536ab057a683c354 Mon Sep 17 00:00:00 2001
From: David McFarland <corngood@gmail.com>
Date: Sat, 8 Apr 2017 15:58:42 -0300
Subject: [PATCH 3/3] add archlinux as build option

---
 Makefile | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/Makefile b/Makefile
index 13b1f74..6b3686b 100644
--- a/Makefile
+++ b/Makefile
@@ -26,6 +26,9 @@ else ifeq ("sles",$(OS_NAME))
 subdir-ccflags-y += -DOS_NAME_SLE
 else ifeq ("amzn",$(OS_NAME))
 subdir-ccflags-y += -DOS_NAME_AMZ
+else ifeq ("arch",$(OS_NAME))
+subdir-ccflags-y += -DOS_NAME_ARCH
+OS_VERSION = "0.0"
 else
 subdir-ccflags-y += -DOS_NAME_UNKNOWN
 endif
-- 
2.14.1
Le tout basé sur le pilote version 17.40.492261 disponible ici => https://aur.archlinux.org/pkgbase/amdgpu-pro-installer/

Je lance ensuite l'installation via yaourt, et j'obtiens une multitude d'erreurs liées à des dépendances manquantes. Pas de soucis, les paquets manquant sont tous dispo sur AUR: Shim: binfmt-support, lib32-libedit, lib32-ncurses5-compat-libs et lib32-libomxil-bellagio.
Une fois réglé ce souci, je lance de nouveau l'installation. Ouch! Une pléthore d'erreurs supplémentaires liées cette fois à des dépendances impossible à résoudre (par exemple, impossible de remplacer libdrm par librm-amdgpu car cela casse la dépendance avec Xorg...).
Qu'à cela ne tienne. Je n'ai qu'à supprimer temporairement les paquets problématiques via pacman -Rdd.
Cette fois, c'est la bonne. Je lance de nouveau l'installation, convaincu que rien ne se mettra plus en travers de mon chemin... et PAF! Un grand nombre d'erreurs, cette fois liés à des fichiers qui existent déjà dans un emplacement du système ("... file already exist on..."), la plupart causées lors de l'installation d'un paquet et de son équivalent lib32 (m'enfin?!).
Bref. Je suis sur le point de tout laisser tomber, et j'ai grand besoin de vos lumières.

Ma config:
CPU: AMD Jaguar 8 coeurs
GPU: AMD GCN (Sea Islands) Liverpool 1Go
RAM: 7Go
Arch Linux LXDE Kernel 4.14-40
bobo
Elfe
Messages : 593
Inscription : mar. 08 avr. 2014, 22:47

Re: [AMD] Installer les pilotes AMDGPU-PRO

Message par bobo »

Quel est ton objectif avec l'installation de amdgpu-pro?
De mon point de vue les pilotes libres xf86-video-amdgpu ont tout ce qu'il faut, depuis que la gestion du son a été ajoutée; et l'installation se fait sans douleur. C'est pour cette facilité que j'ai pris une des dernières cartes graphiques AMD: utiliser des pilotes libres sur du matos suffisamment performant sans prise de tête, et encourager un boite qui facilite le développement de pilotes libres

J'ai vite fait une recherche pour me faire une idée des difficultés à l'installation, et j'ai trouvé ça:
https://wiki.archlinux.org/index.php/AMDGPU#AMDGPU_PRO
Il est question de downgrade nécessaire du noyau en 4.9 et X en 1.18. Le noyau LTS est maintenant 4.14 et Xorg est en 1.20

La version d'amdgpu-pro que tu essayes d'installée est très récente, quel est l'état des lieux sur les downgrades nécessaires?

Edit: désolé de ne pas pouvoir aider davantage
dwm — BÉPO — vim — “more is less !”
shim80
Hankyu
Messages : 31
Inscription : ven. 30 sept. 2016, 10:05

Re: [AMD] Installer les pilotes AMDGPU-PRO

Message par shim80 »

bobo a écrit : sam. 26 mai 2018, 00:25 Quel est ton objectif avec l'installation de amdgpu-pro?
Salut. Merci de ta réponse. Mon objectif est d'utiliser Vulkan. Une API graphique bas niveau pourra me permettre d'exploiter au mieux mon GPU dans les jeux et les émulateurs.
bobo a écrit : sam. 26 mai 2018, 00:25 Il est question de downgrade nécessaire du noyau en 4.9 et X en 1.18. Le noyau LTS est maintenant 4.14 et Xorg est en 1.20
En effet, mais la version du pilote concernée dans ce wiki est la 17.10.
bobo a écrit : sam. 26 mai 2018, 00:25 La version d'amdgpu-pro que tu essayes d'installée est très récente, quel est l'état des lieux sur les downgrades nécessaires?
Aucune idee. Je n'ai cependant pas choisi cette version au hasard. D'apres le site d'AMD, cette version est compatible avec le dernier Ubuntu 18.04, j'ai donc bon espoir a ce que la dernière version de X, ainsi qu'un kernel Linux plus récent soient également supportés.
bobo
Elfe
Messages : 593
Inscription : mar. 08 avr. 2014, 22:47

Re: [AMD] Installer les pilotes AMDGPU-PRO

Message par bobo »

je voulais regarder le contenu (versions de X et de kernel) de ubuntu 18.04 sur distrowatch… il semble que le site soit down ce matin
dwm — BÉPO — vim — “more is less !”
shim80
Hankyu
Messages : 31
Inscription : ven. 30 sept. 2016, 10:05

Re: [AMD] Installer les pilotes AMDGPU-PRO

Message par shim80 »

bobo a écrit : dim. 27 mai 2018, 08:48 je voulais regarder le contenu (versions de X et de kernel) de ubuntu 18.04 sur distrowatch… il semble que le site soit down ce matin
Je viens de voir.
Ubuntu 18.04 tourne sous kernel Linux 4.15, et avec xorg-server 1.19.6.

C'est pas bien loin des dernieres version en date...
Répondre