Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Inspired from the original work of Janusz Lewandowski <lew21@xtreeme.org>
- # and David McFarland <corngood@gmail.com>
- # from https://aur.archlinux.org/pkgbase/amdgpu-pro-installer
- # Modified : nmset@netcourrier.com
- # Thanks to Paullux (https://aur.archlinux.org/account/Paullux)
- # for testing the 32-bit setup and sanitizing the 'provides' instructions.
- #Alien PKGBUILD, not for general use.
- #Download amdgpu-pro-16.50-362463.tar.xz separately (.deb) and makepkg.
- #Reboot after install, libraries are not in standard locations.
- #If X fails to start,
- #log through SSH
- #OR reboot (wildly or with magic SysRq) and chroot in some way to your partition
- #To uninstall in any case:
- #Close DE; in a TTY :
- #pacman -Rdd amdgpu-pro
- #pacman -S xf86-video-amdgpu mesa-libgl ocl-icd lib32-mesa-libgl lib32-ocl-icd
- #Reboot
- pkgbase=amdgpu-pro-alien-installer
- pkgname=(amdgpu-pro)
- pkgver=16.50.362463
- pkgrel=6
- arch=('x86_64')
- url='http://www.amd.com'
- license=('custom:AMD')
- conflicts=('xf86-video-amdgpu' 'lib32-mesa-libgl' 'lib32-ocl-icd' 'mesa-libgl' 'ocl-icd')
- provides=('lib32-libgl' 'libgl' 'libcl' 'opencl-icd-loader')
- source=("amdgpu-pro-16.50-362463.tar.xz")
- sha256sums=("SKIP")
- PKGVER="16.50-362463"
- prepare () {
- cd "${startdir}"
- cat > amdgpu-pro-32.conf <<EOF
- /opt/amdgpu-pro-32/lib/i386-linux-gnu
- /opt/amdgpu-pro-32/lib/i386-linux-gnu/dri
- /opt/amdgpu-pro-32/lib/i386-linux-gnu/gbm
- /opt/amdgpu-pro-32/lib/i386-linux-gnu/dri
- /opt/amdgpu-pro-32/lib/i386-linux-gnu/gstreamer-1.0
- /opt/amdgpu-pro-32/lib/i386-linux-gnu/libomxil-bellagio0
- /opt/amdgpu-pro-32/lib/i386-linux-gnu/gbm
- /opt/amdgpu-pro-32/lib/i386-linux-gnu/vdpau
- /opt/amdgpu-pro-32/lib/i386-linux-gnu/xorg/modules
- /opt/amdgpu-pro-32/lib/i386-linux-gnu/xorg/modules/drivers
- /opt/amdgpu-pro-32/lib/i386-linux-gnu/xorg/modules/extensions
- /usr/lib32/dri
- EOF
- cat > amdgpu-pro-32.sh <<EOF
- export LD_LIBRARY_PATH=\$(tr "\n" ":" < /etc/ld.so.conf.d/amdgpu-pro-32.conf ):\$LD_LIBRARY_PATH
- EOF
- cat > amdgpu-pro.conf <<EOF
- /opt/amdgpu-pro/lib/x86_64-linux-gnu
- /opt/amdgpu-pro/lib/x86_64-linux-gnu/dri
- /opt/amdgpu-pro/lib/x86_64-linux-gnu/gbm
- /opt/amdgpu-pro/lib/x86_64-linux-gnu/dri
- /opt/amdgpu-pro/lib/x86_64-linux-gnu/gstreamer-1.0
- /opt/amdgpu-pro/lib/x86_64-linux-gnu/libomxil-bellagio0
- /opt/amdgpu-pro/lib/x86_64-linux-gnu/gbm
- /opt/amdgpu-pro/lib/x86_64-linux-gnu/vdpau
- /opt/amdgpu-pro/lib/x86_64-linux-gnu/xorg/modules
- /opt/amdgpu-pro/lib/x86_64-linux-gnu/xorg/modules/drivers
- /opt/amdgpu-pro/lib/x86_64-linux-gnu/xorg/modules/extensions
- /usr/lib/dri
- EOF
- cat > amdgpu-pro.sh <<EOF
- export LD_LIBRARY_PATH=\$(tr "\n" ":" < /etc/ld.so.conf.d/amdgpu-pro.conf ):\$LD_LIBRARY_PATH
- EOF
- }
- unpack_deb () {
- ar x $1
- tar -xJf data.tar.xz
- rm -f control.tar.gz
- rm -f debian-binary
- rm -f data.tar.xz
- }
- package_amdgpu-pro () {
- umask 0022
- pkgdesc="This package install all amdgpu-pro components in a monolithic way, except DKMS."
- arch=('x86_64')
- # You should edit the libtinfo PKGBUILDs and uncomment the line dealing with libtinfo.so.5 symlink. libvdpau_amdgpu.so.1.0.0 needs that.
- depends=('lib32-libtinfo' 'libtinfo')
- export XZ_OPT="-T 0"
- SRC="${srcdir}/${pkgname}-${PKGVER}"
- rm -Rf "${srcdir}"
- mkdir "${srcdir}"
- cd "${srcdir}"
- tar -xJf ${startdir}/${pkgname}-${PKGVER}.tar.xz
- #Get rid of dkms stuff.
- rm -f ${SRC}/*dkms*
- #32 bit libs
- cd ${pkgdir} #Quoted vars get problematic below
- for f in ${SRC}/*_i386.deb;do
- unpack_deb ${f}
- sync
- done
- mv ${pkgdir}/lib ${pkgdir}/lib32
- mv ${pkgdir}/lib32/* ${pkgdir}/usr/lib32/
- rm -fR ${pkgdir}/lib32
- mv ${pkgdir}/usr/lib/i386-linux-gnu/* ${pkgdir}/usr/lib32/
- rm -fR ${pkgdir}/usr/lib
- mv ${pkgdir}/opt/amdgpu-pro ${pkgdir}/opt/amdgpu-pro-32
- cd ${pkgdir}/opt/amdgpu-pro-32/lib/i386-linux-gnu/vdpau
- ln -s libvdpau_amdgpu.so.1 libvdpau_amdgpu.so
- cd -
- mkdir -p ${pkgdir}/etc/ld.so.conf.d
- cp ${startdir}/amdgpu-pro-32.conf ${pkgdir}/etc/ld.so.conf.d/
- mkdir -p ${pkgdir}/etc/profile.d
- cp ${startdir}/amdgpu-pro-32.sh ${pkgdir}/etc/profile.d/
- sed -i "s/amdgpu-pro/amdgpu-pro-32/" "${pkgdir}/etc/vulkan/icd.d/amd_icd32.json"
- #Overlaps with 64 bit pkgs.
- rm -fR "${pkgdir}/etc/{amd,xdg}"
- rm -fR "${pkgdir}/usr/share/{doc,X11}"
- sync
- #64 bit libs
- for f in ${SRC}/*_amd64.deb;do
- unpack_deb ${f}
- sync
- done
- mv ${pkgdir}/lib/* ${pkgdir}/usr/lib/
- rm -fR ${pkgdir}/lib
- mv ${pkgdir}/usr/lib/x86_64-linux-gnu/* ${pkgdir}/usr/lib/
- rm -fR ${pkgdir}/usr/lib/x86_64-linux-gnu
- cd ${pkgdir}/opt/amdgpu-pro/lib/x86_64-linux-gnu/vdpau
- ln -s libvdpau_amdgpu.so.1 libvdpau_amdgpu.so
- cd -
- cp ${startdir}/amdgpu-pro.conf ${pkgdir}/etc/ld.so.conf.d/
- cp ${startdir}/amdgpu-pro.sh ${pkgdir}/etc/profile.d/
- #Common pkgs
- for f in ${SRC}/*_all.deb;do
- unpack_deb ${f}
- sync
- done
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement