summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmil Karlson <jekarlson@gmail.com>2014-01-22 23:30:42 +0200
committerEmil Karlson <jekarlson@gmail.com>2014-01-22 23:30:42 +0200
commitf23dc6abf1ac65b9bdc7d5d10534af1e9f9111bf (patch)
treecb77b21c84191d1e79abe880e71dae40bb18beb6 /x11-drivers
parent[x11-libs/libxcb] Version bump per bug #496800 and bug #496802 (diff)
downloadx11-f23dc6abf1ac65b9bdc7d5d10534af1e9f9111bf.tar.gz
x11-f23dc6abf1ac65b9bdc7d5d10534af1e9f9111bf.tar.bz2
x11-f23dc6abf1ac65b9bdc7d5d10534af1e9f9111bf.zip
x11-drivers/ati-drivers: patch support for linux-3.13
Thanks to Helmut Jarausch for providing the patch.
Diffstat (limited to 'x11-drivers')
-rw-r--r--x11-drivers/ati-drivers/Manifest1
-rw-r--r--x11-drivers/ati-drivers/ati-drivers-13.12-r1.ebuild3
-rw-r--r--x11-drivers/ati-drivers/ati-drivers-13.12.ebuild (renamed from x11-drivers/ati-drivers/ati-drivers-12.11_beta11.ebuild)237
-rw-r--r--x11-drivers/ati-drivers/files/ati-drivers-13.12-acpi.patch16
-rw-r--r--x11-drivers/ati-drivers/files/ati-drivers-linux-3.13-acpi-handle.patch27
5 files changed, 143 insertions, 141 deletions
diff --git a/x11-drivers/ati-drivers/Manifest b/x11-drivers/ati-drivers/Manifest
index 74786635..aebfe0b8 100644
--- a/x11-drivers/ati-drivers/Manifest
+++ b/x11-drivers/ati-drivers/Manifest
@@ -5,7 +5,6 @@ DIST amd-catalyst-13.12-linux-x86.x86_64.zip 160571830 SHA256 024033f4847d1c2a18
DIST amd-catalyst-13.4-linux-x86.x86_64.zip 122588023 SHA256 ebec78c7f78db3601d1c97116a6823076a7765318e16d88b619ebc80d4c6d1d5 SHA512 ce012f46527ee0073f658e97dd793954930b934b96be9e1c6cd1d344e7734ef81949b484701d5e7e1ebb221f46b5a617f4efb4445e42c06ac0a8b4eca76463fc WHIRLPOOL cb0f7af6d0474c3d521c5785bab49d76da7e09e1ddd02dc0e72b70b5afdb2bd1e07d4a4115a755f213718e7c32c816697d993b73706d58be68fa043aef1ad551
DIST amd-catalyst-13.9-linux-x86.x86_64.zip 120482826 SHA256 ebade5062713c69d2b703b0a3f62defc409d58e98ceab3bfac7a71643c0c4cd3 SHA512 887c1146920ba7e5b31efd63b1a1b7d9cab586e8c6d705706e0b176b3527e542f452d919cd015c3a04d6f42c884f27d983b2a9229b70716129a94674dd7f62b4 WHIRLPOOL d8b6c7ed772898914c256674ae08a8b3d3054eb5bdfc2f00dc4c796a36b4654c3101410786adb54eaae44ff35386db2aa8d8db12d70805f8732d0709412bdbcc
DIST amd-driver-installer-12.6-legacy-x86.x86_64.zip 3762108 SHA256 56acf0db1df14d6a49f2dcbbb8b447586e976862644243e5844c230fb87c9523 SHA512 509e5fee93ae3c0641724bf7f722c7726dcda7499cfde86dede850be1de8a3aeb36da3c4910b332680233305d48d1d25dc4438c27db16b54e81da3103fc4b391 WHIRLPOOL 13c3dc574f3023feaed189789031592a08cca1140750f4a78c1657ccd35c5e82f99abf113817173b5477de9bee0f57fb9f6c9a9242d8e9ecec76bbcfdce78450
-DIST amd-driver-installer-catalyst-12.11-beta11-x86.x86_64.zip 8937807 SHA256 48ad89d89791e2500711847e8061b34c2592a6c468aebb46a93fa2ec4076ac23 SHA512 f88278705172cc1241d09d38954811ea1502a148b88cb75f27165716a349446ecf5710cc899ffbe44d0129a5c22b1c3bc3777c5fde63c85514c3db80cbbc56b9 WHIRLPOOL 8e4544d73e46557311eae443779ca564ea4db713af49bc525c376c7d9c6db001ad821242c77d9b58d3d532a1d688c9f5a7e599ce553e629d7c2196128f174bdf
DIST amd-driver-installer-catalyst-13-6-beta-x86.x86_64.zip 118103843 SHA256 3e1bd2ac2d2fcf7188c9e365f77b0c27fc71d788618ab9b2cbf86d0d48e8b63a SHA512 0af9a32528fb381cb1e39462ec6effaa7a6999c6f9bfdc30524e1ecbc2dbd5ce388bcf4f35b8a93225bb56a0bed536622183e78cb2c980a4a3916c30c5ab27c7 WHIRLPOOL 314c92e0d6a9ff5f4477ce38ae2b813cd09910d720fb40a21f0b4f193cd4a1ac210344050a9abb105494888e37097c9a2e8e1bbeafde7a21e6128daaad540319
DIST amd-driver-installer-catalyst-13.1-legacy-linux-x86.x86_64.zip 106908508 SHA256 3a992fb7564dba17a696217dc32043dabc21743c82116a6657817ee8a3a1d55f SHA512 96b34045dca3ad70156500b37d3f06008728ff81878a3e1432060d08e668d8cbd9bfe172440bcb818f01d731d39e3eeccc25396417993d2b9b8985b3b7dc7357 WHIRLPOOL f0e34ccb1a9dfe3cfd9e9c640c3d6ed97a4a3e892b65325a78045653b40d29a78427dc9092d8e14bee1a8ba603405ed9e8cd60188d5bc5e8c5eee03d66a8f25c
DIST amd-driver-installer-catalyst-13.1-linux-x86.x86_64.zip 114850263 SHA256 67898a922b6b58f25a276a144f16b19014f79c39e4d44d8d2883a467d31e34ad SHA512 30763ab7f47ac22c5b5055495e2d8ae6cc2c8e5ce711fa389f1145a48da2799020c2b8cbf082759d93628017860c39d69337f42ce21b78e1d60c9eda32096df9 WHIRLPOOL ee5dc85a89bc56858ef1c2bcdc6cbfde7e2f9e5675d209c1f6db877e0104cc536f1e18139f0b991a064b14b231a982770eef47368ea281067d62647b4c5365a5
diff --git a/x11-drivers/ati-drivers/ati-drivers-13.12-r1.ebuild b/x11-drivers/ati-drivers/ati-drivers-13.12-r1.ebuild
index e7f16b99..3f1e1f3d 100644
--- a/x11-drivers/ati-drivers/ati-drivers-13.12-r1.ebuild
+++ b/x11-drivers/ati-drivers/ati-drivers-13.12-r1.ebuild
@@ -288,6 +288,9 @@ src_prepare() {
# Fix build on new kernels
epatch "${FILESDIR}/ati-drivers-13.12-acpi.patch"
+ # Add support for linux-3.13. See #498766
+ epatch "${FILESDIR}/ati-drivers-linux-3.13-acpi-handle.patch"
+
# Compile fix, https://bugs.gentoo.org/show_bug.cgi?id=454870
use pax_kernel && epatch "${FILESDIR}/const-notifier-block.patch"
diff --git a/x11-drivers/ati-drivers/ati-drivers-12.11_beta11.ebuild b/x11-drivers/ati-drivers/ati-drivers-13.12.ebuild
index e76f832e..448be0b3 100644
--- a/x11-drivers/ati-drivers/ati-drivers-12.11_beta11.ebuild
+++ b/x11-drivers/ati-drivers/ati-drivers-13.12.ebuild
@@ -4,26 +4,27 @@
EAPI=5
-inherit eutils multilib linux-info linux-mod toolchain-funcs versionator
+inherit eutils multilib linux-info linux-mod toolchain-funcs versionator pax-utils
DESCRIPTION="Ati precompiled drivers for Radeon Evergreen (HD5000 Series) and newer chipsets"
HOMEPAGE="http://www.amd.com"
-MY_V=( $(get_version_components) )
-#RUN="${WORKDIR}/amd-driver-installer-9.00-x86.x86_64.run"
-DRIVERS_URI="http://www2.ati.com/drivers/beta/amd-driver-installer-catalyst-12.11-beta11-x86.x86_64.zip"
+#RUN="${WORKDIR}/amd-catalyst-13.11-beta1-linux-x86.x86_64.run"
+SLOT="1"
+# Uses javascript for download YESSSS
+#DRIVERS_URI="http://www2.ati.com/drivers/linux/amd-catalyst-13.12-linux-x86.x86_64.zip"
+DRIVERS_URI="http://dev.gentooexperimental.org/~scarabeus/amd-catalyst-13.12-linux-x86.x86_64.zip"
XVBA_SDK_URI="http://developer.amd.com/wordpress/media/2012/10/xvba-sdk-0.74-404001.tar.gz"
SRC_URI="${DRIVERS_URI} ${XVBA_SDK_URI}"
FOLDER_PREFIX="common/"
-IUSE="debug +modules multilib qt4 static-libs disable-watermark"
+IUSE="debug +modules multilib qt4 static-libs pax_kernel"
LICENSE="AMD GPL-2 QPL-1.0"
KEYWORDS="-* ~amd64 ~x86"
-SLOT="1"
-RESTRICT="bindist"
+RESTRICT="bindist test"
RDEPEND="
- <=x11-base/xorg-server-1.13.49[-minimal]
+ <=x11-base/xorg-server-1.14.49[-minimal]
>=app-admin/eselect-opengl-1.0.7
app-admin/eselect-opencl
sys-power/acpid
@@ -36,7 +37,16 @@ RDEPEND="
virtual/glu
multilib? (
app-emulation/emul-linux-x86-opengl
- app-emulation/emul-linux-x86-xlibs
+ || (
+ (
+ x11-libs/libX11[abi_x86_32]
+ x11-libs/libXext[abi_x86_32]
+ x11-libs/libXinerama[abi_x86_32]
+ x11-libs/libXrandr[abi_x86_32]
+ x11-libs/libXrender[abi_x86_32]
+ )
+ app-emulation/emul-linux-x86-xlibs
+ )
)
qt4? (
x11-libs/libICE
@@ -48,6 +58,13 @@ RDEPEND="
dev-qt/qtgui:4[accessibility]
)
"
+if [[ legacy != ${SLOT} ]]; then
+ RDEPEND="${RDEPEND}
+ !x11-drivers/ati-drivers:legacy"
+else
+ RDEPEND="${RDEPEND}
+ !x11-drivers/ati-drivers:1"
+fi
DEPEND="${RDEPEND}
x11-proto/inputproto
@@ -133,104 +150,39 @@ QA_DT_HASH="
usr/lib\(32\|64\)\?/OpenCL/vendors/amd/libOpenCL.so.1
"
-_check_kernel_config() {
- local failed=0
- local error=""
- if ! kernel_is ge 2 6; then
- eerror "You need a 2.6 linux kernel to compile against!"
- die "No 2.6 Kernel found"
- fi
-
- if ! linux_chkconfig_present MTRR; then
- ewarn "You don't have MTRR support enabled in the kernel."
- ewarn "Direct rendering will not work."
- fi
-
- if linux_chkconfig_builtin DRM; then
- ewarn "You have DRM support built in to the kernel"
- ewarn "Direct rendering will not work."
- fi
-
- if ! linux_chkconfig_present AGP && \
- ! linux_chkconfig_present PCIEPORTBUS; then
- ewarn "You don't have AGP and/or PCIe support enabled in the kernel"
- ewarn "Direct rendering will not work."
- fi
-
- if ! linux_chkconfig_present ACPI; then
- eerror "${P} requires the ACPI support in the kernel"
- eerror "Please enable it:"
- eerror " CONFIG_ACPI=y"
- eerror "in /usr/src/linux/.config or"
- eerror " Power management and ACPI options --->"
- eerror " [*] Power Management support"
- eerror "in the 'menuconfig'"
- error+=" CONFIG_ACPI disabled;"
- failed=1
- fi
-
- if ! linux_chkconfig_present PCI_MSI; then
- eerror "${P} requires MSI in the kernel."
- eerror "Please enable it:"
- eerror " CONFIG_PCI_MSI=y"
- eerror "in /usr/src/linux/.config or"
- eerror " Bus options (PCI etc.) --->"
- eerror " [*] Message Signaled Interrupts (MSI and MSI-X)"
- eerror "in the kernel config."
- error+=" CONFIG_PCI_MSI disabled;"
- failed=1
- fi
-
- if linux_chkconfig_present LOCKDEP; then
- eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel."
- eerror "Unfortunately, this option exports the symbol lock_acquire as GPL-only."
- eerror "This prevents ${P} from compiling with an error like this:"
- eerror "FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'"
- eerror "Please make sure the following options have been unset:"
- eerror " Kernel hacking --->"
- eerror " [ ] Lock debugging: detect incorrect freeing of live locks"
- eerror " [ ] Lock debugging: prove locking correctness"
- eerror " [ ] Lock usage statistics"
- eerror "in 'menuconfig'"
- error+=" LOCKDEP enabled;"
- failed=1
- fi
-
- use amd64 && if ! linux_chkconfig_present COMPAT; then
- eerror "${P} requires COMPAT."
- eerror "Please enable the 32 bit emulation:"
- eerror "Executable file formats / Emulations --->"
- eerror " [*] IA32 Emulation"
- eerror "in the kernel config."
- eerror "if this doesn't enable CONFIG_COMPAT add"
- eerror " CONFIG_COMPAT=y"
- eerror "in /usr/src/linux/.config"
- error+=" COMPAT disabled;"
- failed=1
- fi
-
- kernel_is ge 2 6 37 && kernel_is le 2 6 38 && if ! linux_chkconfig_present BKL ; then
- eerror "${P} requires BKL."
- eerror "Please enable the Big Kernel Lock:"
- eerror "Kernel hacking --->"
- eerror " [*] Big Kernel Lock"
- eerror "in the kernel config."
- eerror "or add"
- eerror " CONFIG_BKL=y"
- eerror "in /usr/src/linux/.config"
- error+=" BKL disabled;"
- failed=1
- fi
-
- [[ ${failed} -ne 0 ]] && die "${error}"
-}
-
pkg_pretend() {
+ local CONFIG_CHECK="~MTRR ~!DRM ACPI PCI_MSI !LOCKDEP !PAX_KERNEXEC_PLUGIN_METHOD_OR"
+ use amd64 && CONFIG_CHECK+=" COMPAT"
+
+ local ERROR_MTRR="CONFIG_MTRR required for direct rendering."
+ local ERROR_DRM="CONFIG_DRM must be disabled or compiled as a module and not loaded for direct
+ rendering to work."
+ local ERROR_LOCKDEP="CONFIG_LOCKDEP (lock tracking) exports the symbol lock_acquire
+ as GPL-only. This prevents ${P} from compiling with an error like this:
+ FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'"
+ local ERROR_PAX_KERNEXEC_PLUGIN_METHOD_OR="This config option will cause
+ kernel to reject loading the fglrx module with
+ \"ERROR: could not insert 'fglrx': Exec format error.\"
+ You may want to try CONFIG_PAX_KERNEXEC_PLUGIN_METHOD_BTS instead."
+ local ERROR_BKL="CONFIG_BKL must be enabled for kernels 2.6.37-2.6.38."
+
# workaround until bug 365543 is solved
if use modules; then
linux-info_pkg_setup
require_configured_kernel
- _check_kernel_config
+ kernel_is ge 2 6 37 && kernel_is le 2 6 38 && CONFIG_CHECK+=" BKL"
+ check_extra_config
+ if ! linux_chkconfig_present AGP && \
+ ! linux_chkconfig_present PCIEPORTBUS; then
+ ewarn "You don't have AGP and/or PCIe support enabled in the kernel"
+ ewarn "Direct rendering will not work."
+ fi
+ fi
+
+ if ! has XT ${PAX_MARKINGS} && use pax_kernel; then
+ ewarn "You have disabled xattr pax markings for portage."
+ ewarn "This will likely cause programs using ati-drivers provided"
+ ewarn "libraries to be killed kernel."
fi
}
@@ -264,20 +216,20 @@ pkg_setup() {
fi
elog
- elog "Please note that this driver supports only graphic cards based on"
+ elog "Please note that this driver only supports graphic cards based on"
elog "Evergreen chipset and newer."
- elog "This represent the AMD Radeon HD 5400+ series at this moment."
+ elog "This includes the AMD Radeon HD 5400+ series at this moment."
elog
elog "If your card is older then use ${CATEGORY}/xf86-video-ati"
- elog "For migration informations please reffer to:"
+ elog "For migration informations please refer to:"
elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml"
einfo
}
src_unpack() {
local DRIVERS_DISTFILE XVBA_SDK_DISTFILE
- DRIVERS_DISTFILE=${DRIVERS_URI/*\//}
- XVBA_SDK_DISTFILE=${XVBA_SDK_URI/*\//}
+ DRIVERS_DISTFILE=${DRIVERS_URI##*/}
+ XVBA_SDK_DISTFILE=${XVBA_SDK_URI##*/}
if [[ ${DRIVERS_DISTFILE} =~ .*\.tar\.gz ]]; then
unpack ${DRIVERS_DISTFILE}
@@ -289,19 +241,20 @@ src_unpack() {
else
RUN="${DISTDIR}/${DRIVERS_DISTFILE}"
fi
- sh ${RUN} --extract "${S}" 2>&1 > /dev/null || die
+ sh "${RUN}" --extract "${S}" 2>&1 > /dev/null || die
fi
mkdir xvba_sdk
cd xvba_sdk
unpack ${XVBA_SDK_DISTFILE}
+
+ mkdir -p "${WORKDIR}/extra" || die "mkdir extra failed"
+ cd "${WORKDIR}/extra"
+ tar -xf "../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz"
}
src_prepare() {
- # All kernel options for prepare are ment to be in here
if use modules; then
- # version patches
- # epatch "${FILESDIR}"/kernel/${PV}-*.patch
if use debug; then
sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \
"${MODULE_DIR}/firegl_public.c" \
@@ -323,7 +276,7 @@ src_prepare() {
-e "s:/var/lib/xdm/authdir/authfiles/:/var/run/xauth/:" \
-e "s:/var/lib/gdm/:/var/gdm/:" \
"${S}/${FOLDER_PREFIX}etc/ati/authatieventsd.sh" \
- || die "sed failed."
+ || die "ACPI fixups failed."
# Since "who" is in coreutils, we're using that one instead of "finger".
sed -i -e 's:finger:who:' \
@@ -338,16 +291,27 @@ src_prepare() {
# first hunk applied upstream second (x32 related) was not
epatch "${FILESDIR}"/ati-drivers-x32_something_something.patch
- # compile fix for linux-3.7
- # https://bugs.gentoo.org/show_bug.cgi?id=438516
- epatch "${FILESDIR}/ati-drivers-vm-reserverd.patch"
-
# compile fix for AGP-less kernel, bug #435322
epatch "${FILESDIR}"/ati-drivers-12.9-KCL_AGP_FindCapsRegisters-stub.patch
- # Use ACPI_DEVICE_HANDLE wrapper to make driver build on linux-3.8
- # see https://bugs.gentoo.org/show_bug.cgi?id=448216
- epatch "${FILESDIR}/ati-drivers-kernel-3.8-acpihandle.patch"
+ # Compile fix for kernel typesafe uid types #469160
+ epatch "${FILESDIR}/typesafe-kuid.diff"
+
+ epatch "${FILESDIR}/ati-drivers-13.8-beta-include-seq_file.patch"
+
+ epatch "${FILESDIR}/check-for-iommu-only-if-iommu-is-supported.patch"
+
+ # Fix #483400
+ epatch "${FILESDIR}/fgl_glxgears-do-not-include-glATI.patch"
+
+ # Fix build on new kernels
+ epatch "${FILESDIR}/ati-drivers-13.12-acpi.patch"
+
+ # Add support for linux-3.13. See #498766
+ epatch "${FILESDIR}/ati-drivers-linux-3.13-acpi-handle.patch"
+
+ # Compile fix, https://bugs.gentoo.org/show_bug.cgi?id=454870
+ use pax_kernel && epatch "${FILESDIR}/const-notifier-block.patch"
cd "${MODULE_DIR}"
@@ -364,22 +328,6 @@ src_prepare() {
sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed"
sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \
|| die "MODVERSIONS sed failed"
- cd "${S}"
-
- mkdir extra || die "mkdir failed"
- cd extra
- unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz
-
- # Get rid of watermark. Oldest known reference:
- # http://phoronix.com/forums/showthread.php?19875-Unsupported-Hardware-watermark
- if use disable-watermark; then
- ebegin "Disabling watermark"
- driver="${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/drivers/fglrx_drv.so
- for x in $(objdump -d ${driver}|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do
- sed -i "s/${x/x5b/\x5b}/\x90\x90\x90\x90\x90/g" ${driver} || break 1
- done
- eend $? || die "Disabling watermark failed"
- fi
}
src_compile() {
@@ -398,8 +346,6 @@ src_compile() {
eend $?
}
-src_test() { :; } # no tests present
-
src_install() {
use modules && linux-mod_src_install
@@ -611,6 +557,10 @@ src_install-libs() {
#install xvba sdk headers
doheader xvba_sdk/include/amdxvba.h
+
+ if use pax_kernel; then
+ pax-mark m "${D}"/usr/lib*/opengl/ati/lib/libGL.so.1.2 || die "pax-mark failed"
+ fi
}
pkg_postinst() {
@@ -633,12 +583,19 @@ pkg_postinst() {
"${ROOT}"/usr/bin/eselect opengl set --use-old ati
"${ROOT}"/usr/bin/eselect opencl set --use-old amd
- if has_version ">=x11-drivers/xf86-video-intel-2.20.3"; then
- ewarn "It is reported that xf86-video-intel-2.20.3 and later cause the X server"
+ if has_version "x11-drivers/xf86-video-intel[sna]"; then
+ ewarn "It is reported that xf86-video-intel built with USE=\"sna\" causes the X server"
ewarn "to crash on systems that use hybrid AMD/Intel graphics. If you experience"
- ewarn "this crash, downgrade to xf86-video-intel-2.20.2 or earlier."
+ ewarn "this crash, downgrade to xf86-video-intel-2.20.2 or earlier or"
+ ewarn "try disabling sna for xf86-video-intel."
ewarn "For details, see https://bugs.gentoo.org/show_bug.cgi?id=430000"
fi
+
+ if use pax_kernel; then
+ ewarn "Please run \"revdep-pax -s libGL.so.1 -me\" after installation and"
+ ewarn "after you have run \"eselect opengl set ati\". Executacle"
+ ewarn "revdep-pax is part of package sys-apps/elfix."
+ fi
}
pkg_preinst() {
diff --git a/x11-drivers/ati-drivers/files/ati-drivers-13.12-acpi.patch b/x11-drivers/ati-drivers/files/ati-drivers-13.12-acpi.patch
new file mode 100644
index 00000000..0a27431b
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/ati-drivers-13.12-acpi.patch
@@ -0,0 +1,16 @@
+diff -urN common.old/lib/modules/fglrx/build_mod/kcl_acpi.c common/lib/modules/fglrx/build_mod/kcl_acpi.c
+--- common.old/lib/modules/fglrx/build_mod/kcl_acpi.c 2013-12-27 13:32:34.734832283 +0100
++++ common/lib/modules/fglrx/build_mod/kcl_acpi.c 2013-12-27 13:33:31.849831765 +0100
+@@ -1002,7 +1002,11 @@
+ #endif
+ {
+ return KCL_ACPI_ERROR;
+- }
++ }
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,1)
++ ((acpi_tbl_table_handler)handler)(hdr);
++#else
+ ((acpi_table_handler)handler)(hdr);
++#endif
+ return KCL_ACPI_OK;
+ }
diff --git a/x11-drivers/ati-drivers/files/ati-drivers-linux-3.13-acpi-handle.patch b/x11-drivers/ati-drivers/files/ati-drivers-linux-3.13-acpi-handle.patch
new file mode 100644
index 00000000..3ecc7c45
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/ati-drivers-linux-3.13-acpi-handle.patch
@@ -0,0 +1,27 @@
+From 889165af52ba694f72d4d1e333a1f9ba14a82fde Mon Sep 17 00:00:00 2001
+From: Emil Karlson <jekarlson@gmail.com>
+Date: Tue, 21 Jan 2014 23:25:26 +0200
+Subject: [PATCH] ati-drivers: linux-3.13 acpi handle
+
+---
+ common/lib/modules/fglrx/build_mod/kcl_acpi.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/common/lib/modules/fglrx/build_mod/kcl_acpi.c b/common/lib/modules/fglrx/build_mod/kcl_acpi.c
+index d875bf9..e063057 100755
+--- a/common/lib/modules/fglrx/build_mod/kcl_acpi.c
++++ b/common/lib/modules/fglrx/build_mod/kcl_acpi.c
+@@ -792,7 +792,9 @@ static unsigned int KCL_ACPI_SearchHandles(KCL_ACPI_DevHandle handle, unsigned i
+ unsigned int ATI_API_CALL KCL_ACPI_GetHandles(kcl_match_info_t *pInfo)
+ {
+ #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,12)
+- #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0)
++ #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,13,0)
++ pInfo->video_handle = (acpi_handle)ACPI_HANDLE(&pInfo->pcidev->dev);
++ #elif LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0)
+ pInfo->video_handle = pInfo->pcidev->dev.acpi_node.handle;
+ #elif LINUX_VERSION_CODE > KERNEL_VERSION(2,6,19)
+ pInfo->video_handle = pInfo->pcidev->dev.archdata.acpi_handle;
+--
+1.8.3.2
+