diff options
author | Vi0L0 | 2015-06-08 20:12:20 +0200 |
---|---|---|
committer | Vi0L0 | 2015-06-08 20:12:20 +0200 |
commit | e35366549b4c75c38ff4fd02d455f79e639ea2ed (patch) | |
tree | 96726ad5ceab1b21253d2829e4f7182796a4a0f7 | |
download | aur-e35366549b4c75c38ff4fd02d455f79e639ea2ed.tar.gz |
Initial import
-rw-r--r-- | .SRCINFO | 79 | ||||
-rw-r--r-- | PKGBUILD | 263 | ||||
-rw-r--r-- | arch-fglrx-authatieventsd_new.patch | 88 | ||||
-rw-r--r-- | atieventsd.service | 9 | ||||
-rw-r--r-- | atieventsd.sh | 41 | ||||
-rw-r--r-- | catalyst-libgl.install | 5 | ||||
-rw-r--r-- | catalyst-utils.install | 72 | ||||
-rw-r--r-- | catalyst.conf | 1 | ||||
-rw-r--r-- | catalyst.sh | 11 | ||||
-rwxr-xr-x | pxp_switch_catalyst | 152 | ||||
-rwxr-xr-x | switchlibGL | 110 | ||||
-rwxr-xr-x | switchlibglx | 90 | ||||
-rw-r--r-- | temp-links-catalyst.service | 13 | ||||
-rw-r--r-- | temp_links_catalyst | 38 |
14 files changed, 972 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..84b00f5ca86b --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,79 @@ +pkgbase = catalyst-utils + pkgver = 15.5 + pkgrel = 1 + url = http://www.amd.com + arch = i686 + arch = x86_64 + license = custom + options = staticlibs + options = libtool + options = !strip + options = !upx + source = http://www2.ati.com/drivers/linux/amd-catalyst-omega-15.5-linux-run-installers.zip + source = catalyst.sh + source = atieventsd.sh + source = atieventsd.service + source = catalyst.conf + source = arch-fglrx-authatieventsd_new.patch + source = switchlibGL + source = switchlibglx + source = pxp_switch_catalyst + source = temp_links_catalyst + source = temp-links-catalyst.service + md5sums = 979f9f2e0948fa6e92ff0125f5c6b575 + md5sums = bdafe749e046bfddee2d1c5e90eabd83 + md5sums = 9d9ea496eadf7e883d56723d65e96edf + md5sums = 90a37e010f4e5f45e270cd000894d553 + md5sums = 3e19c2285c76f4cb92108435a1e9c302 + md5sums = b3ceefeb97c609037845f65d0956c4f0 + md5sums = 394bc493fdf493a5093f9e2095096d02 + md5sums = 3226230592fa3c91ff22389114fc5dc7 + md5sums = 9e706c272feb167be55ba7201dfa8d51 + md5sums = 0e6d963436dd23dbb45ae0f4fc9b661c + md5sums = 2c22bb4d4f828cb8b024f670c1ae7e45 + +pkgname = catalyst-utils + pkgdesc = AMD/ATI drivers. Utilities and libraries. Radeons HD 2 3 4 xxx ARE NOT SUPPORTED + install = catalyst-utils.install + depends = xorg-server>=1.7.0 + depends = xorg-server<1.17.0 + depends = libxrandr + depends = libsm + depends = fontconfig + depends = libxcursor + depends = libxi + depends = gcc-libs + depends = libxinerama + optdepends = qt4: to run ATi Catalyst Control Center (amdcccle) + optdepends = libxxf86vm: to run ATi Catalyst Control Center (amdcccle) + optdepends = acpid: acpi event support / atieventsd + optdepends = catalyst-libgl: Catalyst drivers libraries symlinks. + optdepends = opencl-catalyst: OpenCL implemention for AMD Catalyst + optdepends = lib32-catalyst-utils: Utilities and libraries (32-bit) + provides = libatical=15.5 + provides = dri + provides = libtxc_dxtn + conflicts = catalyst-test + conflicts = catalyst-total + conflicts = catalyst-total-pxp + conflicts = catalyst-utils-pxp + +pkgname = catalyst-libgl + pkgdesc = AMD/ATI drivers. Catalyst drivers libraries symlinks + experimental powerXpress support. + install = catalyst-libgl.install + depends = catalyst-utils + depends = mesa>=10.1.0-4 + provides = libgl + provides = mesa-libgl + provides = mesa-libgl-git + conflicts = libgl + conflicts = mesa-libgl + conflicts = mesa-libgl-git + +pkgname = opencl-catalyst + pkgdesc = AMD/ATI drivers. OpenCL implemention for AMD Catalyst + depends = gcc-libs + optdepends = opencl-headers: headers necessary for OpenCL development + provides = libcl + conflicts = libcl + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..acc5929b5080 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,263 @@ +# Maintainer: Vi0L0 <vi0l093@gmail.com> +# Great Contributor: Eduardo "kensai" Romero (previous maintainer) +# Contributor: csslayer +# Contributor: cvigano +# Contributor: lordheavy +# Contributor: zoqaeski (authatieventsd' patch for lightdm) +# Contributor: zoopp +# Contributor: solar (authatieventsd' patch s/-1/255) + +pkgbase=catalyst-utils +pkgname=('catalyst-utils' 'catalyst-libgl' 'opencl-catalyst') + +pkgver=15.5 +pkgrel=1 +#_amdver=15.101.1001 +arch=('i686' 'x86_64') +url="http://www.amd.com" +license=('custom') +options=('staticlibs' 'libtool' '!strip' '!upx') + +url_ref="http://support.amd.com/en-us/download/desktop?os=Linux+x86" +DLAGENTS="http::/usr/bin/curl --referer ${url_ref} -o %o %u" + +source=( + http://www2.ati.com/drivers/linux/amd-catalyst-omega-${pkgver}-linux-run-installers.zip + catalyst.sh + atieventsd.sh + atieventsd.service + catalyst.conf + arch-fglrx-authatieventsd_new.patch + switchlibGL + switchlibglx + pxp_switch_catalyst + temp_links_catalyst + temp-links-catalyst.service) + +md5sums=('979f9f2e0948fa6e92ff0125f5c6b575' + 'bdafe749e046bfddee2d1c5e90eabd83' + '9d9ea496eadf7e883d56723d65e96edf' + '90a37e010f4e5f45e270cd000894d553' + '3e19c2285c76f4cb92108435a1e9c302' + 'b3ceefeb97c609037845f65d0956c4f0' + '394bc493fdf493a5093f9e2095096d02' + '3226230592fa3c91ff22389114fc5dc7' + '9e706c272feb167be55ba7201dfa8d51' + '0e6d963436dd23dbb45ae0f4fc9b661c' + '2c22bb4d4f828cb8b024f670c1ae7e45') + +build() { + /bin/sh ./amd-catalyst-omega-${pkgver}-linux-run-installers.run --extract archive_files +} + +package_catalyst-libgl() { + pkgdesc="AMD/ATI drivers. Catalyst drivers libraries symlinks + experimental powerXpress support." + depends=('catalyst-utils' 'mesa>=10.1.0-4') + conflicts=('libgl' 'mesa-libgl' 'mesa-libgl-git') + provides=('libgl' 'mesa-libgl' 'mesa-libgl-git') + install=catalyst-libgl.install + + install -m755 -d ${pkgdir}/usr/lib/xorg/modules/extensions + ln -snf /usr/lib/xorg/modules/extensions/fglrx/fglrx-libglx.so ${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so + + install -m755 -d ${pkgdir}/usr/lib/fglrx + ln -snf /usr/lib/fglrx/fglrx-libGL.so.1.2 ${pkgdir}/usr/lib/fglrx/libGL.so.1.2.0 + ln -snf /usr/lib/fglrx/fglrx-libGL.so.1.2 ${pkgdir}/usr/lib/fglrx/libGL.so.1 + ln -snf /usr/lib/fglrx/fglrx-libGL.so.1.2 ${pkgdir}/usr/lib/fglrx/libGL.so + ln -snf /usr/lib/fglrx/fglrx-libGL.so.1.2 ${pkgdir}/usr/lib/libGL.so.1.2.0 + ln -snf /usr/lib/fglrx/fglrx-libGL.so.1.2 ${pkgdir}/usr/lib/libGL.so.1 + ln -snf /usr/lib/fglrx/fglrx-libGL.so.1.2 ${pkgdir}/usr/lib/libGL.so + + + # We have to provide symlinks to mesa, as catalyst doesn't ship them + ln -s /usr/lib/mesa/libEGL.so.1.0.0 ${pkgdir}/usr/lib/libEGL.so.1.0.0 + ln -s libEGL.so.1.0.0 ${pkgdir}/usr/lib/libEGL.so.1 + ln -s libEGL.so.1.0.0 ${pkgdir}/usr/lib/libEGL.so + + ln -s /usr/lib/mesa/libGLESv1_CM.so.1.1.0 ${pkgdir}/usr/lib/libGLESv1_CM.so.1.1.0 + ln -s libGLESv1_CM.so.1.1.0 ${pkgdir}/usr/lib/libGLESv1_CM.so.1 + ln -s libGLESv1_CM.so.1.1.0 ${pkgdir}/usr/lib/libGLESv1_CM.so + + ln -s /usr/lib/mesa/libGLESv2.so.2.0.0 ${pkgdir}/usr/lib/libGLESv2.so.2.0.0 + ln -s libGLESv2.so.2.0.0 ${pkgdir}/usr/lib/libGLESv2.so.2 + ln -s libGLESv2.so.2.0.0 ${pkgdir}/usr/lib/libGLESv2.so + + + # powerXpress + install -m755 ${srcdir}/switchlibGL ${pkgdir}/usr/lib/fglrx + install -m755 ${srcdir}/switchlibglx ${pkgdir}/usr/lib/fglrx + # switching script: switch xorg.conf + aticonfig --px-Xgpu + switchlibGL + add/remove fglrx into MODULES + install -m755 -d ${pkgdir}/usr/bin + install -m755 ${srcdir}/pxp_switch_catalyst ${pkgdir}/usr/bin + + # License + install -m755 -d ${pkgdir}/usr/share/licenses + ln -s catalyst-utils ${pkgdir}/usr/share/licenses/${pkgname} +} + +package_opencl-catalyst() { + pkgdesc="AMD/ATI drivers. OpenCL implemention for AMD Catalyst" + provides=('libcl') + conflicts=('libcl') + depends=('gcc-libs') + optdepends=('opencl-headers: headers necessary for OpenCL development') + + if [ "${CARCH}" = "i686" ]; then + cd ${srcdir}/archive_files/arch/x86 + _arc=32 + _lib=lib + elif [ "${CARCH}" = "x86_64" ]; then + cd ${srcdir}/archive_files/arch/x86_64 + _arc=64 + _lib=lib64 + fi + + install -m755 -d ${pkgdir}/etc/OpenCL/vendors + install -m644 etc/OpenCL/vendors/amdocl${_arc}.icd ${pkgdir}/etc/OpenCL/vendors + + install -m755 -d ${pkgdir}/usr/lib + install -m755 usr/${_lib}/libamdocl*.so ${pkgdir}/usr/lib + install -m755 usr/${_lib}/libOpenCL.so.1 ${pkgdir}/usr/lib + ln -s libOpenCL.so.1 ${pkgdir}/usr/lib/libOpenCL.so + + install -m755 -d ${pkgdir}/usr/bin + install -m755 usr/bin/clinfo ${pkgdir}/usr/bin + + # License + install -m755 -d ${pkgdir}/usr/share/licenses + ln -s catalyst-utils ${pkgdir}/usr/share/licenses/${pkgname} +} + +package_catalyst-utils() { + pkgdesc="AMD/ATI drivers. Utilities and libraries. Radeons HD 2 3 4 xxx ARE NOT SUPPORTED" + depends=('xorg-server>=1.7.0' 'xorg-server<1.17.0' 'libxrandr' 'libsm' 'fontconfig' 'libxcursor' 'libxi' 'gcc-libs' 'libxinerama') + optdepends=('qt4: to run ATi Catalyst Control Center (amdcccle)' + 'libxxf86vm: to run ATi Catalyst Control Center (amdcccle)' + 'acpid: acpi event support / atieventsd' + 'catalyst-libgl: Catalyst drivers libraries symlinks.' + 'opencl-catalyst: OpenCL implemention for AMD Catalyst') + if [ "${CARCH}" = "x86_64" ]; then + optdepends+=('lib32-catalyst-utils: Utilities and libraries (32-bit)') + fi + conflicts=('catalyst-test' 'catalyst-total' 'catalyst-total-pxp' 'catalyst-utils-pxp') + provides=("libatical=${pkgver}" 'dri' 'libtxc_dxtn') + install=catalyst-utils.install + + ## Install userspace tools and libraries + # Create directories + install -m755 -d ${pkgdir}/etc/ati + install -m755 -d ${pkgdir}/etc/rc.d + install -m755 -d ${pkgdir}/etc/profile.d + install -m755 -d ${pkgdir}/etc/acpi/events + install -m755 -d ${pkgdir}/etc/security/console.apps + + install -m755 -d ${pkgdir}/usr/lib/xorg/modules/dri + install -m755 -d ${pkgdir}/usr/lib/xorg/modules/drivers + install -m755 -d ${pkgdir}/usr/lib/xorg/modules/extensions/fglrx + install -m755 -d ${pkgdir}/usr/lib/xorg/modules/linux + install -m755 -d ${pkgdir}/usr/lib/dri + install -m755 -d ${pkgdir}/usr/lib/fglrx + install -m755 -d ${pkgdir}/usr/lib/systemd/system +# install -m755 -d ${pkgdir}/usr/lib/hsa + + install -m755 -d ${pkgdir}/usr/bin + + install -m755 -d ${pkgdir}/usr/include/GL + + install -m755 -d ${pkgdir}/usr/share/applications + install -m755 -d ${pkgdir}/usr/share/ati/amdcccle + install -m755 -d ${pkgdir}/usr/share/licenses/${pkgname} + install -m755 -d ${pkgdir}/usr/share/man/man8 + install -m755 -d ${pkgdir}/usr/share/pixmaps + + # X.org driver + if [ "${CARCH}" = "i686" ]; then + cd ${srcdir}/archive_files/xpic/usr/X11R6/lib/modules + elif [ "${CARCH}" = "x86_64" ]; then + cd ${srcdir}/archive_files/xpic_64a/usr/X11R6/lib64/modules + fi + + install -m755 *.so ${pkgdir}/usr/lib/xorg/modules + install -m755 drivers/*.so ${pkgdir}/usr/lib/xorg/modules/drivers + install -m755 linux/*.so ${pkgdir}/usr/lib/xorg/modules/linux + install -m755 extensions/fglrx/fglrx-libglx.so ${pkgdir}/usr/lib/xorg/modules/extensions/fglrx/fglrx-libglx.so + + # Controlcenter / libraries + if [ "${CARCH}" = "i686" ]; then + cd ${srcdir}/archive_files/arch/x86/usr + _lib=lib + elif [ "${CARCH}" = "x86_64" ]; then + cd ${srcdir}/archive_files/arch/x86_64/usr + _lib=lib64 + fi + + install -m755 X11R6/bin/* ${pkgdir}/usr/bin + install -m755 sbin/* ${pkgdir}/usr/bin + install -m755 X11R6/${_lib}/fglrx/fglrx-libGL.so.1.2 ${pkgdir}/usr/lib/fglrx + install -m755 X11R6/${_lib}/libAMDXvBA.so.1.0 ${pkgdir}/usr/lib + ln -snf libAMDXvBA.so.1.0 ${pkgdir}/usr/lib/libAMDXvBA.so.1 + ln -snf libAMDXvBA.so.1.0 ${pkgdir}/usr/lib/libAMDXvBA.so + install -m755 X11R6/${_lib}/libatiadlxx.so ${pkgdir}/usr/lib + install -m755 X11R6/${_lib}/libfglrx_dm.so.1.0 ${pkgdir}/usr/lib + install -m755 X11R6/${_lib}/libXvBAW.so.1.0 ${pkgdir}/usr/lib + ln -snf libXvBAW.so.1.0 ${pkgdir}/usr/lib/libXvBAW.so.1 + ln -snf libXvBAW.so.1.0 ${pkgdir}/usr/lib/libXvBAW.so + ln -snf /usr/lib/libXvBAW.so.1.0 ${pkgdir}/usr/lib/dri/fglrx_drv_video.so #omega 14.12 + install -m644 X11R6/${_lib}/*.a ${pkgdir}/usr/lib + install -m644 X11R6/${_lib}/*.cap ${pkgdir}/usr/lib + install -m755 X11R6/${_lib}/modules/dri/*.so ${pkgdir}/usr/lib/xorg/modules/dri + install -m755 ${_lib}/*.so* ${pkgdir}/usr/lib +# install -m755 ${_lib}/hsa/* ${pkgdir}/usr/lib/hsa + + ## QT libs (only 2 files) - un-comment 2 lines below if you don't want to install qt package +# install -m755 -d ${pkgdir}/usr/share/ati/${_lib} +# install -m755 share/ati/${_lib}/*.so* ${pkgdir}/usr/share/ati/${_lib} + + ln -snf /usr/lib/xorg/modules/dri/fglrx_dri.so ${pkgdir}/usr/lib/dri/fglrx_dri.so + ln -snf libfglrx_dm.so.1.0 ${pkgdir}/usr/lib/libfglrx_dm.so.1 + ln -snf libfglrx_dm.so.1.0 ${pkgdir}/usr/lib/libfglrx_dm.so + ln -snf libatiuki.so.1.0 ${pkgdir}/usr/lib/libatiuki.so.1 + ln -snf libatiuki.so.1.0 ${pkgdir}/usr/lib/libatiuki.so + + # provided in opencl-catalyst package + rm ${pkgdir}/usr/lib/lib{amdocl*,OpenCL}.so* + + cd ${srcdir}/archive_files/common + patch -Np2 -i ${srcdir}/arch-fglrx-authatieventsd_new.patch + install -m644 etc/ati/* ${pkgdir}/etc/ati + chmod 755 ${pkgdir}/etc/ati/authatieventsd.sh + + install -m644 etc/security/console.apps/amdcccle-su ${pkgdir}/etc/security/console.apps + + install -m755 usr/X11R6/bin/* ${pkgdir}/usr/bin + install -m644 usr/include/GL/*.h ${pkgdir}/usr/include/GL + install -m755 usr/sbin/*.sh ${pkgdir}/usr/bin + install -m644 usr/share/ati/amdcccle/* ${pkgdir}/usr/share/ati/amdcccle + install -m644 usr/share/icons/*.xpm ${pkgdir}/usr/share/pixmaps + install -m644 usr/share/man/man8/*.8 ${pkgdir}/usr/share/man/man8 + install -m644 usr/share/applications/*.desktop ${pkgdir}/usr/share/applications + + # ACPI example files + install -m755 usr/share/doc/fglrx/examples/etc/acpi/*.sh ${pkgdir}/etc/acpi + sed -i -e "s/usr\/X11R6/usr/g" ${pkgdir}/etc/acpi/ati-powermode.sh + install -m644 usr/share/doc/fglrx/examples/etc/acpi/events/* ${pkgdir}/etc/acpi/events + + # Add ATI Events Daemon launcher + install -m755 ${srcdir}/atieventsd.sh ${pkgdir}/etc/rc.d/atieventsd + install -m644 ${srcdir}/atieventsd.service ${pkgdir}/usr/lib/systemd/system + + # thanks to cerebral, we dont need that damned symlink + install -m755 ${srcdir}/catalyst.sh ${pkgdir}/etc/profile.d + + # License + install -m644 ${srcdir}/archive_files/LICENSE.TXT ${pkgdir}/usr/share/licenses/${pkgname} + install -m644 ${srcdir}/archive_files/common/usr/share/doc/amdcccle/ccc_copyrights.txt \ + ${pkgdir}/usr/share/licenses/${pkgname}/amdcccle_copyrights.txt + + install -m755 -d ${pkgdir}/etc/modules-load.d + install -m644 ${srcdir}/catalyst.conf ${pkgdir}/etc/modules-load.d + + #workaround for the high io bug , thanks to lano1106 for finding this ugly bug! https://bbs.archlinux.org/viewtopic.php?pid=1279977#p1279977 + install -m755 ${srcdir}/temp_links_catalyst ${pkgdir}/usr/bin + install -m644 ${srcdir}/temp-links-catalyst.service ${pkgdir}/usr/lib/systemd/system +} diff --git a/arch-fglrx-authatieventsd_new.patch b/arch-fglrx-authatieventsd_new.patch new file mode 100644 index 000000000000..80467cf3ced5 --- /dev/null +++ b/arch-fglrx-authatieventsd_new.patch @@ -0,0 +1,88 @@ +--- 14.1/common/etc/ati/authatieventsd.sh 2014-01-30 15:36:26.000000000 +0100 ++++ 14.1/common/etc/ati/authatieventsd.sh 2014-02-02 14:10:19.529653688 +0100 +@@ -32,7 +32,7 @@ + # vary depending upon whether X was started via xdm/kdm, gdm or startx, so + # check each one in turn. + +- # Check xdm/kdm ++ # Check xdm + + XDM_AUTH_MASK=/var/lib/xdm/authdir/authfiles/A$1* + XDM_AUTH_FILE=`ls -t $XDM_AUTH_MASK 2>/dev/null | head -n 1` # Choose the newest file +@@ -42,12 +42,32 @@ + return 0 + fi + +- # Check gdm ++ # Check kdm + +- GDM_AUTH_FILE=/var/lib/gdm/$1.Xauth ++ KDM_AUTH_MASK=/var/run/xauth/A$1* ++ KDM_AUTH_FILE=`ls -t $KDM_AUTH_MASK 2>/dev/null | head -n 1` # Choose the newest file ++ if [ -n "$KDM_AUTH_FILE" ]; then ++ SERVER_AUTH_FILE=$KDM_AUTH_FILE ++ DISP_SEARCH_STRING="#ffff#" ++ return 0 ++ fi ++ ++ # Check gdm 3 ++ ++ GDM_AUTH_FILE=/var/run/gdm/auth-for-gdm-*/database + if [ -e $GDM_AUTH_FILE ]; then + SERVER_AUTH_FILE=$GDM_AUTH_FILE +- DISP_SEARCH_STRING="$1" ++ DISP_SEARCH_STRING="unix$1" ++ return 0 ++ fi ++ ++ # Check lightdm ++ # Not sure if this will work ++ LIGHTDM_AUTH_FILE=/var/run/lightdm/root/$1 ++ if [ -e $LIGHTDM_AUTH_FILE ]; then ++ SERVER_AUTH_FILE=$LIGHTDM_AUTH_FILE ++ # Not sure if this is correct ++ DISP_SEARCH_STRING="unix$1" + return 0 + fi + +@@ -65,7 +85,7 @@ + + # Couldn't find the key + +- return -1 ++ return 255 + } + + # Main part of script +@@ -78,25 +98,25 @@ + # + + PATH=$PATH:/usr/bin:/usr/X11R6/bin +-which xauth > /dev/null || exit -1 ++which xauth > /dev/null || exit 255 + + case "$1" in + grant) +- GetServerAuthFile $2 || exit -1 ++ GetServerAuthFile $2 || exit 255 + DISP_AUTH_KEY=`xauth -f $SERVER_AUTH_FILE list | grep $DISP_SEARCH_STRING | awk '{ print $3 }'` + if [ -n "$DISP_AUTH_KEY" ]; then +- xauth -f $3 add $2 . $DISP_AUTH_KEY || exit -1 ++ xauth -f $3 add $2 . $DISP_AUTH_KEY || exit 255 + else +- exit -1 ++ exit 255 + fi + ;; + + revoke) +- xauth -f $3 remove $2 || exit -1 ++ xauth -f $3 remove $2 || exit 255 + ;; + + *) +- exit -1 ++ exit 255 + ;; + esac + exit 0 diff --git a/atieventsd.service b/atieventsd.service new file mode 100644 index 000000000000..3bbf25acb8f6 --- /dev/null +++ b/atieventsd.service @@ -0,0 +1,9 @@ +[Unit] +Description=Catalyst event Daemon +Requires=acpid.socket + +[Service] +ExecStart=/usr/bin/atieventsd --nodaemon + +[Install] +WantedBy=multi-user.target diff --git a/atieventsd.sh b/atieventsd.sh new file mode 100644 index 000000000000..35968d29b17a --- /dev/null +++ b/atieventsd.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +ATID_PID=`pidof -o %PPID /usr/bin/atieventsd` + +case "$1" in + start) + rc=0 + stat_busy "Starting ATI Events Daemon" + [ -z "$ATID_PID" ] && /usr/bin/atieventsd + rc=$(($rc+$?)) + if [ $rc -gt 0 ]; then + stat_fail + else + add_daemon atieventsd + stat_done + fi + ;; + stop) + rc=0 + stat_busy "Stopping ATI Events Daemon" + kill $ATID_PID &>/dev/null + rc=$(($rc+$?)) + if [ $rc -gt 0 ]; then + stat_fail + else + rm_daemon atieventsd + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/catalyst-libgl.install b/catalyst-libgl.install new file mode 100644 index 000000000000..2f01bd355c80 --- /dev/null +++ b/catalyst-libgl.install @@ -0,0 +1,5 @@ +post_upgrade(){ + echo -e "\e[0;32m--------------------------- PXP --------------------------------\e[0m" + echo -e "\e[0;32m@pxp_user:\e[0m I switched GL/glx links to catalyst again..." + echo -e "\e[0;32m----------------------------------------------------------------\e[0m" +}
\ No newline at end of file diff --git a/catalyst-utils.install b/catalyst-utils.install new file mode 100644 index 000000000000..6e09a9e5caf2 --- /dev/null +++ b/catalyst-utils.install @@ -0,0 +1,72 @@ +signa() { + #get rid of Testing use only watermark + echo "3249c5b75bccae3ce4f3a65e88154133:037beb866bf8830dd7c3956cb0746c02077cfc8e628f837db0ba8666b127700b07:027af2d53eae960ad291c066b0267157567ea68462f9985f86c3916abe767101027ef2d43daf9659d2c19e38b02676575079a7d663fa980a86c29469bf257151027e" > etc/ati/signature +} + +bug_whisper(){ + echo -e '\E[37;44m'"\033[1m---------------- I/O BUG ---------------------------------------\033[0m" + echo "There's a bug in fglrx found by lano1106 which generates" + echo "great amount of unneeded I/O operations" + echo "" + echo "To activate workaround enable systemd service:" + echo "systemctl enable temp-links-catalyst" + echo "systemctl start temp-links-catalyst" + echo "" + echo "More infos:" + echo "https://bbs.archlinux.org/viewtopic.php?pid=1279977#p1279977" + echo "https://bbs.archlinux.org/viewtopic.php?pid=1280193#p1280193" + echo -e '\E[37;44m'"\033[1m----------------------------------------------------------------\033[0m" +} + +post_install() { + echo "----------------------------------------------------------------" + echo "PLEASE NOTE:" + echo "For these drivers to work, you must install kernel modules." + echo "" + echo "Simply use packages that provides auto re-compilation:" + echo "catalyst-hook or catalyst-daemon" + echo "" + echo "OR use catalyst-generator package to generate catalyst-{kernver}" + echo "packages" + echo "----------------------------------------------------------------" + echo "You can use the tool 'aticonfig' to generate an xorg.conf file." + echo "--------------------- ^^^^^^^^^ --------------------------------" + echo "Add nomodeset to your kernel line in /boot/grub/menu.lst , ie.:" + echo "kernel /boot/vmlinuz-linux root=/dev/sda1 ro nomodeset" + echo "----------------------------------------------------------------" + echo "IMPORTANT:" + echo "fglrx was added into /etc/modules-load.d/catalyst.conf" + echo "----------------------------------------------------------------" + echo " atieventsd (needs acpid pkg) on systemd:" + echo "systemctl enable atieventsd" + echo "systemctl start atieventsd" + echo "----------------------------------------------------------------" + echo "For more info and troubleshooting visit:" + echo "http://wiki.archlinux.org/index.php/ATI_Catalyst" + echo "----------------------------------------------------------------" + echo -e "\e[1;31m-------------------------- SPLIT -------------------------------\e[0m" + echo "catalyst-utils is now splitted into:" + echo "catalyst-utils" + echo "catalyst-libgl" + echo "opencl-catalyst" + echo "" + echo -e "You MOST probably want to also install \e[1;31mcatalyst-libgl\e[0m" + echo -e "\e[1;31m----------------------------------------------------------------\e[0m" +# bug_whisper +# signa +} + +post_upgrade(){ + echo -e "\e[1;31m-------------------------- SPLIT -------------------------------\e[0m" + echo "catalyst-utils is now splitted into:" + echo "catalyst-utils" + echo "catalyst-libgl" + echo "opencl-catalyst" + echo -e "\e[1;31m----------------------------------------------------------------\e[0m" +# bug_whisper +# signa +} + +post_remove() { + echo "NOTE: Don't forget to recover your original xorg.conf file." +}
\ No newline at end of file diff --git a/catalyst.conf b/catalyst.conf new file mode 100644 index 000000000000..17f9ce9168c5 --- /dev/null +++ b/catalyst.conf @@ -0,0 +1 @@ +fglrx
\ No newline at end of file diff --git a/catalyst.sh b/catalyst.sh new file mode 100644 index 000000000000..7aedd4f526cf --- /dev/null +++ b/catalyst.sh @@ -0,0 +1,11 @@ +if [ $LIBGL_DRIVERS_PATH ] +then + if ! set | grep LIBGL_DRIVERS_PATH | grep /usr/lib/xorg/modules/dri/ > /dev/null + then + LIBGL_DRIVERS_PATH=$LIBGL_DRIVERS_PATH:/usr/lib/xorg/modules/dri/ + export LIBGL_DRIVERS_PATH + fi +else + LIBGL_DRIVERS_PATH=/usr/lib/xorg/modules/dri/ + export LIBGL_DRIVERS_PATH +fi diff --git a/pxp_switch_catalyst b/pxp_switch_catalyst new file mode 100755 index 000000000000..0b1a0fafaebf --- /dev/null +++ b/pxp_switch_catalyst @@ -0,0 +1,152 @@ +#!/bin/sh + +# Vi0L0: it's my switching script, version 2.1: +# * switching xorg.conf - it will rename xorg.conf into xorg.conf.cat +# (if there's fglrx inside) or xorg.conf.oth (if there's intel or radeon inside). +# And then it will create link to xorg.conf depending on what did you choose +# * running aticonfig --px-Xgpu +# * running switchlibGL +# * adding/removing fglrx into/from /etc/modules-load.d/catalyst.conf +# +# You can do with it whatever you want :P +# NO WARRANTY OF ANY KIND + +# Set local language always to C +export LC_ALL=C +export LANG=C + +if [ "$(whoami)" != "root" ]; then + echo "Must be root to run this script." 1>&2 + exit 1 +fi + +if [ $# -ge 2 ]; then + echo "Usage: $(basename $0) <amd|intel|query>" 1>&2 + echo "Please choose one parameter" 1>&2 + exit 1 +fi + + + +function check_xorg_conf() { + + if [ ! -e /etc/X11/xorg.conf.cat ];then + if [ -e /etc/X11/xorg.conf ] && [[ `cat /etc/X11/xorg.conf | grep -c fglrx` != 0 ]]; then + mv /etc/X11/xorg.conf /etc/X11/xorg.conf.cat + echo "/etc/X11/xorg.conf renamed to /etc/X11/xorg.conf.cat" + fi + fi + if [ ! -e /etc/X11/xorg.conf.oth ]; then + if [ -e /etc/X11/xorg.conf ];then + if [[ `cat /etc/X11/xorg.conf | grep -c radeon` != 0 ]] || [[ `cat /etc/X11/xorg.conf | grep -c intel` != 0 ]]; then + mv /etc/X11/xorg.conf /etc/X11/xorg.conf.oth + echo "/etc/X11/xorg.conf renamed to /etc/X11/xorg.conf.oth (radeon or intel inside)" + fi + fi + fi + if [ -e /etc/X11/xorg.conf ] && [[ `cat /etc/X11/xorg.conf | grep -c fglrx` = 0 ]] && [[ `cat /etc/X11/xorg.conf | grep -c radeon` = 0 ]] && [[ `cat /etc/X11/xorg.conf | grep -c intel` = 0 ]]; then + mv /etc/X11/xorg.conf /etc/X11/xorg.conf.wth + echo "/etc/X11/xorg.conf have no fglrx or radeon or intel inside!" + echo "/etc/X11/xorg.conf renamed to /etc/X11/xorg.conf.wth" + fi +} + +function switch_to_amd() { + + #switching xorg.conf + echo -e '\E[37;44m'"\033[1mSwitching xorg.conf ...\033[0m" + check_xorg_conf + if [ -e /etc/X11/xorg.conf.cat ]; then + ln -snf /etc/X11/xorg.conf.cat /etc/X11/xorg.conf + echo "/etc/X11/xorg.conf.cat linked to /etc/X11/xorg.conf" + fi + + #linking! + echo -e '\E[37;44m'"\033[1mRunning aticonfig --px-dgpu ...\033[0m" + aticonfig --px-dgpu + echo -e '\E[37;44m'"\033[1mRunning /usr/lib/fglrx/switchlibGL amd ...\033[0m" + /usr/lib/fglrx/switchlibGL amd + echo -e '\E[37;44m'"\033[1mRunning /usr/lib/fglrx/switchlibglx amd ...\033[0m" + /usr/lib/fglrx/switchlibglx amd + + #checking MODULES for fglrx + echo -e '\E[37;44m'"\033[1mChecking /etc/modules-load.d/catalyst.conf for fglrx ...\033[0m" + check1=$(grep fglrx /etc/modules-load.d/catalyst.conf) + if [ "$check1" != "fglrx" ]; then + echo fglrx > /etc/modules-load.d/catalyst.conf + echo "fglrx was added into /etc/modules-load.d/catalyst.conf" + fi + +} + +function switch_to_intel() { + + #switching xorg.conf part 1 + echo -e '\E[37;44m'"\033[1mSwitching xorg.conf (part 1) ...\033[0m" + check_xorg_conf + if [ -e /etc/X11/xorg.conf.cat ]; then + ln -snf /etc/X11/xorg.conf.cat /etc/X11/xorg.conf + echo "/etc/X11/xorg.conf.cat linked to /etc/X11/xorg.conf" + fi + + #linking! + echo -e '\E[37;44m'"\033[1mRunning aticonfig --px-igpu ...\033[0m" + aticonfig --px-igpu + echo -e '\E[37;44m'"\033[1mRunning /usr/lib/fglrx/switchlibGL intel ...\033[0m" + /usr/lib/fglrx/switchlibGL intel + echo -e '\E[37;44m'"\033[1mRunning /usr/lib/fglrx/switchlibglx intel ...\033[0m" + /usr/lib/fglrx/switchlibglx intel + + #switching xorg.conf part 2 + echo -e '\E[37;44m'"\033[1mSwitching xorg.conf (part 2) ...\033[0m" + if [ -e /etc/X11/xorg.conf.oth ]; then + ln -snf /etc/X11/xorg.conf.oth /etc/X11/xorg.conf + echo "/etc/X11/xorg.conf.oth linked to /etc/X11/xorg.conf" + else + rm /etc/X11/xorg.conf + echo "/etc/X11/xorg.conf was removed" + fi + + #checking MODULES for fglrx + echo -e '\E[37;44m'"\033[1mChecking /etc/modules-load.d/catalyst.conf for fglrx ...\033[0m" + check=$(grep fglrx /etc/modules-load.d/catalyst.conf) + if [[ "$check" != "" ]]; then + sed 's/fglrx//' -i /etc/modules-load.d/catalyst.conf + echo "fglrx was removed from /etc/modules-load.d/catalyst.conf" + fi + +} + +function get_current_driver() { + + LIB_LINK="`readlink /usr/lib/libGL.so 2>/dev/null`" + if [[ "${LIB_LINK}" = "/usr/lib/fglrx/fglrx-libGL.so.1.2" || "${LIB_LINK}" = "fglrx/fglrx-libGL.so.1.2" ]]; then + echo "amd (catalyst)" + elif [[ "${LIB_LINK}" = "/usr/lib/mesa/libGL.so.1" || "${LIB_LINK}" = "/usr/lib/mesa/libGL.so.1.2.0" || "${LIB_LINK}" = "/usr/lib/mesa/libGL.so" ]]; then + echo "intel (or oss radeon)" + else + echo "unknown" + fi + +} + + +case "$1" in + amd) + switch_to_amd + echo -e '\E[37;44m'"\033[1mSwitched to Catalyst\033[0m" 1>&2 + ;; + intel) + switch_to_intel + echo -e '\E[37;44m'"\033[1mSwitched to Intel (or Radeon)\033[0m" 1>&2 + ;; + query) + get_current_driver + ;; + *) + echo "Usage: $(basename $0) <amd|intel|query>" 1>&2 + exit 1 + ;; +esac + +exit 0 diff --git a/switchlibGL b/switchlibGL new file mode 100755 index 000000000000..1d72e35f4b7f --- /dev/null +++ b/switchlibGL @@ -0,0 +1,110 @@ +#!/bin/sh +# +# Vi0L0: i modified it a bit and added lib32 switch, version 2.1 +# +# Copyright (c) 2010-2011 Sebastian Siebert (freespacer@gmx.de) +# All rights reserved. +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. + +# Set local language always to C +export LC_ALL=C +export LANG=C + +if [ "$(whoami)" != "root" ]; then + echo "Must be root to run this script." 1>&2 + exit 1 +fi + +if [ $# -ge 2 ]; then + echo "Usage: $(basename $0) <amd|intel|query>" 1>&2 + echo "Please choose one parameter" 1>&2 + exit 1 +fi + + +function switch_to_amd() { + + ln -snf /usr/lib/fglrx/fglrx-libGL.so.1.2 /usr/lib/libGL.so + ln -snf /usr/lib/fglrx/fglrx-libGL.so.1.2 /usr/lib/libGL.so.1 + ln -snf /usr/lib/fglrx/fglrx-libGL.so.1.2 /usr/lib/libGL.so.1.2.0 + ldconfig /usr/lib + + #lib32 switch + if [ -e /usr/lib32/fglrx/fglrx-libGL.so.1.2 ]; then + ln -snf /usr/lib32/fglrx/fglrx-libGL.so.1.2 /usr/lib32/libGL.so + ln -snf /usr/lib32/fglrx/fglrx-libGL.so.1.2 /usr/lib32/libGL.so.1 + ln -snf /usr/lib32/fglrx/fglrx-libGL.so.1.2 /usr/lib32/libGL.so.1.2.0 + ldconfig /usr/lib32 + fi + +} + +function switch_to_intel() { + + ln -snf /usr/lib/mesa/libGL.so.1.2.0 /usr/lib/libGL.so + ln -snf /usr/lib/mesa/libGL.so.1.2.0 /usr/lib/libGL.so.1 + ln -snf /usr/lib/mesa/libGL.so.1.2.0 /usr/lib/libGL.so.1.2.0 + ldconfig /usr/lib + + #lib32 switch + if [ -e /usr/lib32/mesa/libGL.so.1.2.0 ]; then + ln -snf /usr/lib32/mesa/libGL.so.1.2.0 /usr/lib32/libGL.so + ln -snf /usr/lib32/mesa/libGL.so.1.2.0 /usr/lib32/libGL.so.1 + ln -snf /usr/lib32/mesa/libGL.so.1.2.0 /usr/lib32/libGL.so.1.2.0 + ldconfig /usr/lib32 + fi + +} + +function get_current_driver() { + + LIB_LINK="`readlink /usr/lib/libGL.so 2>/dev/null`" + if [[ "${LIB_LINK}" = "/usr/lib/fglrx/fglrx-libGL.so.1.2" || "${LIB_LINK}" = "fglrx/fglrx-libGL.so.1.2" ]]; then + echo "amd" + elif [[ "${LIB_LINK}" = "/usr/lib/mesa/libGL.so.1.2.0" || "${LIB_LINK}" = "/usr/lib/mesa/libGL.so.1" || "${LIB_LINK}" = "/usr/lib/mesa/libGL.so" ]]; then + echo "intel" + else + echo "unknown" + fi + +} + +case "$1" in + amd) + echo "Switch to AMD" 1>&2 + switch_to_amd + ;; + intel) + echo "Switch to Intel" 1>&2 + switch_to_intel + ;; + query) + get_current_driver + ;; + *) + echo "Usage: $(basename $0) <amd|intel|query>" 1>&2 + exit 1 + ;; +esac + +exit 0 diff --git a/switchlibglx b/switchlibglx new file mode 100755 index 000000000000..36b641923dd2 --- /dev/null +++ b/switchlibglx @@ -0,0 +1,90 @@ +#!/bin/sh +# +# Vi0L0: i modified it a bit, version 2.1 +# +# Copyright (c) 2010-2011 Sebastian Siebert (freespacer@gmx.de) +# All rights reserved. +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. + +# Set local language always to C +export LC_ALL=C +export LANG=C + +if [ "$(whoami)" != "root" ]; then + echo "Must be root to run this script." 1>&2 + exit 1 +fi + +if [ $# -ge 2 ]; then + echo "Usage: $(basename $0) <amd|intel|query>" 1>&2 + echo "Please choose one parameter" 1>&2 + exit 1 +fi + + +function switch_to_amd() { + + ln -snf /usr/lib/xorg/modules/extensions/fglrx/fglrx-libglx.so \ + /usr/lib/xorg/modules/extensions/libglx.so + +} + +function switch_to_intel() { + + ln -snf /usr/lib/xorg/modules/extensions/libglx.xorg \ + /usr/lib/xorg/modules/extensions/libglx.so + +} + +function get_current_driver() { + + LIB_LINK="`readlink /usr/lib/xorg/modules/extensions/libglx.so 2>/dev/null`" + if [[ "${LIB_LINK}" = "/usr/lib/xorg/modules/extensions/fglrx/fglrx-libglx.so" || "${LIB_LINK}" = "fglrx/fglrx-libglx.so" ]]; then + echo "amd" + elif [ "${LIB_LINK}" = "/usr/lib/xorg/modules/extensions/libglx.xorg" ]; then + echo "intel" + else + echo "unknown" + fi + +} + +case "$1" in + amd) + echo "Switch to AMD" 1>&2 + switch_to_amd + ;; + intel) + echo "Switch to Intel" 1>&2 + switch_to_intel + ;; + query) + get_current_driver + ;; + *) + echo "Usage: $(basename $0) <amd|intel|query>" 1>&2 + exit 1 + ;; +esac + +exit 0 diff --git a/temp-links-catalyst.service b/temp-links-catalyst.service new file mode 100644 index 000000000000..291bd96b8f38 --- /dev/null +++ b/temp-links-catalyst.service @@ -0,0 +1,13 @@ +[Unit] +Description=temp files linker for catalyst + +[Service] +SysVStartPriority=90 +Type=oneshot +RemainAfterExit=yes +ExecStart=/usr/bin/temp_links_catalyst start +ExecStop=/usr/bin/temp_links_catalyst stop +KillMode=none + +[Install] +WantedBy=multi-user.target
\ No newline at end of file diff --git a/temp_links_catalyst b/temp_links_catalyst new file mode 100644 index 000000000000..93e8668a6a97 --- /dev/null +++ b/temp_links_catalyst @@ -0,0 +1,38 @@ +#!/bin/bash + +# temp files should be places on the ramdisk, feel free to change their paths +_tempamdpcsdb=/dev/shm/amdpcsdb.current +_tempatiapfxx=/dev/shm/atiapfxx.blb.current + +start_links(){ +if [ ! -e /etc/ati/amdpcsdb.current ]; then + if [ -e /etc/ati/amdpcsdb ]; then + cp /etc/ati/amdpcsdb /etc/ati/amdpcsdb.current + else + cp /etc/ati/amdpcsdb.default /etc/ati/amdpcsdb.current + fi +fi + +if [ ! -e /etc/ati/atiapfxx.blb.current ]; then + cp /etc/ati/atiapfxx.blb /etc/ati/atiapfxx.blb.current +fi + +cp /etc/ati/amdpcsdb.current ${_tempamdpcsdb} +cp /etc/ati/atiapfxx.blb.current ${_tempatiapfxx} +ln -sf ${_tempamdpcsdb} /etc/ati/amdpcsdb +ln -sf ${_tempatiapfxx} /etc/ati/atiapfxx.blb +} + +stop_links(){ +cp ${_tempamdpcsdb} /etc/ati/amdpcsdb.current +cp ${_tempatiapfxx} /etc/ati/atiapfxx.blb.current +} + +case "$1" in + start) + start_links + ;; + stop) + stop_links + ;; +esac
\ No newline at end of file |