summaryrefslogtreecommitdiff
path: root/x11-drivers/ati-drivers
diff options
context:
space:
mode:
authorV3n3RiX <venerix@gmail.com>2015-08-22 14:23:11 +0100
committerV3n3RiX <venerix@gmail.com>2015-08-22 14:23:11 +0100
commitd9090b8f324fa89122020f6fce263e4b48a97ba8 (patch)
tree7100afbf2a88915c3d051ee3ec75e2a910534eff /x11-drivers/ati-drivers
parent7e5de0e05a17618bb7c3e8ab163250a5e72486f7 (diff)
parenta12700662078e1f072a53efa47337aa54af8c6f2 (diff)
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'x11-drivers/ati-drivers')
-rw-r--r--x11-drivers/ati-drivers/Manifest1
-rw-r--r--x11-drivers/ati-drivers/ati-drivers-15.7.ebuild261
2 files changed, 262 insertions, 0 deletions
diff --git a/x11-drivers/ati-drivers/Manifest b/x11-drivers/ati-drivers/Manifest
index b0172763..515df79a 100644
--- a/x11-drivers/ati-drivers/Manifest
+++ b/x11-drivers/ati-drivers/Manifest
@@ -10,6 +10,7 @@ DIST amd-driver-installer-12-4-x86.x86_64.run 50201 SHA256 e3d63bfaeefff0a23f5af
DIST amd-driver-installer-12-6-x86.x86_64.run 50201 SHA256 e3d63bfaeefff0a23f5af6df2592b7876e63a0a360e62adbf6fafdaa9b681c77 SHA512 6a69af5a00fa28bfaf36aff45723abd78072753ebb29808456494237daad79a78d7d6ad1701ee1fac235a0166446a9683198372314980c05746e4198861c8d76 WHIRLPOOL f5a30b24869ff77c8be180e372482b6b1d979618fd93dd20adb2cfc7610020e0068a48e3d96f7905d673af6f1a17ae0eb2d54e84b23d46a35a1c8472a0bfbe6b
DIST amd-driver-installer-12-8-x86.x86_64.zip 50201 SHA256 e3d63bfaeefff0a23f5af6df2592b7876e63a0a360e62adbf6fafdaa9b681c77 SHA512 6a69af5a00fa28bfaf36aff45723abd78072753ebb29808456494237daad79a78d7d6ad1701ee1fac235a0166446a9683198372314980c05746e4198861c8d76 WHIRLPOOL f5a30b24869ff77c8be180e372482b6b1d979618fd93dd20adb2cfc7610020e0068a48e3d96f7905d673af6f1a17ae0eb2d54e84b23d46a35a1c8472a0bfbe6b
DIST amd-driver-installer-12.6-legacy-x86.x86_64.zip 50201 SHA256 e3d63bfaeefff0a23f5af6df2592b7876e63a0a360e62adbf6fafdaa9b681c77 SHA512 6a69af5a00fa28bfaf36aff45723abd78072753ebb29808456494237daad79a78d7d6ad1701ee1fac235a0166446a9683198372314980c05746e4198861c8d76 WHIRLPOOL f5a30b24869ff77c8be180e372482b6b1d979618fd93dd20adb2cfc7610020e0068a48e3d96f7905d673af6f1a17ae0eb2d54e84b23d46a35a1c8472a0bfbe6b
+DIST amd-driver-installer-15.20.1046-x86.x86_64.zip 51988 SHA256 7a967062bfed30c50f757e649f01d558393d0e2cd9e5fc71e93ece97ff7f877a SHA512 97fdceba59d5914b464fcb1c33242307c3d939552f7de93882d0b4701673609974d790380e0a33890f736393d6d2999bbd1d8118ec3e87145eb6d091b1e7b0c1 WHIRLPOOL 1cbb3f7934f5f9dabdddbfff2241f3bf1d39c33bcb3bc80d0a99dcf030d376c996aeb559f7ec5a84dd782b389c0c70f0a74f2f08fa2e6906f0515a74168730d9
DIST amd-driver-installer-catalyst-12.10-x86.x86_64.zip 50201 SHA256 e3d63bfaeefff0a23f5af6df2592b7876e63a0a360e62adbf6fafdaa9b681c77 SHA512 6a69af5a00fa28bfaf36aff45723abd78072753ebb29808456494237daad79a78d7d6ad1701ee1fac235a0166446a9683198372314980c05746e4198861c8d76 WHIRLPOOL f5a30b24869ff77c8be180e372482b6b1d979618fd93dd20adb2cfc7610020e0068a48e3d96f7905d673af6f1a17ae0eb2d54e84b23d46a35a1c8472a0bfbe6b
DIST amd-driver-installer-catalyst-13.1-linux-x86.x86_64.zip 114850263 SHA256 67898a922b6b58f25a276a144f16b19014f79c39e4d44d8d2883a467d31e34ad SHA512 30763ab7f47ac22c5b5055495e2d8ae6cc2c8e5ce711fa389f1145a48da2799020c2b8cbf082759d93628017860c39d69337f42ce21b78e1d60c9eda32096df9 WHIRLPOOL ee5dc85a89bc56858ef1c2bcdc6cbfde7e2f9e5675d209c1f6db877e0104cc536f1e18139f0b991a064b14b231a982770eef47368ea281067d62647b4c5365a5
DIST ati-driver-installer-11-10-x86.x86_64.run 50201 SHA256 a8136110a0117cdfb29f1ce7f4a9ffe42fb2132ef2388baffe0d9922f4d50bfb SHA512 0cdde584ed578d5da11335c1d2e4189b1f3f54f8e8ac4b49e07e66014b79a06c146686519dc6615a83bdccff627d9a940a5d55eb73afff2c5ca710267d8f52aa WHIRLPOOL 088d5d4a8a1851e4da879d8d39188271ef7f302d2cd0615b4c54def147f5e8ec1bd026beb8f36abd0941a57e7d57fb9865bae93d09ebd987825df11ce66fda9a
diff --git a/x11-drivers/ati-drivers/ati-drivers-15.7.ebuild b/x11-drivers/ati-drivers/ati-drivers-15.7.ebuild
new file mode 100644
index 00000000..b77bf26c
--- /dev/null
+++ b/x11-drivers/ati-drivers/ati-drivers-15.7.ebuild
@@ -0,0 +1,261 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+inherit eutils multilib-build 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"
+#RUN="${WORKDIR}/fglrx-14.501.1003/amd-driver-installer-14.501.1003-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="mirror://gentoo/amd-driver-installer-15.20.1046-x86.x86_64.zip http://www2.ati.com/drivers/linux/amd-driver-installer-15.20.1046-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 static-libs pax_kernel"
+
+LICENSE="AMD GPL-2 QPL-1.0"
+KEYWORDS="-* ~amd64 ~x86"
+
+RESTRICT="bindist test"
+
+RDEPEND="
+ ~x11-drivers/ati-userspace-${PV}
+"
+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
+ x11-proto/xf86miscproto
+ x11-proto/xf86vidmodeproto
+ x11-proto/xineramaproto
+ x11-libs/libXtst
+ sys-apps/findutils
+ app-misc/pax-utils
+ app-arch/unzip
+"
+
+EMULTILIB_PKG="true"
+
+S="${WORKDIR}"
+
+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."
+
+ 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
+}
+
+pkg_setup() {
+ MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)"
+ BUILD_TARGETS="kmod_build"
+ linux-mod_pkg_setup
+ BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_OUT_DIR}"
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\""
+ if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space"
+ else
+ BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space"
+ fi
+
+ # Define module dir.
+ MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod"
+ # get the xorg-server version and set BASE_DIR for that
+ BASE_DIR="${S}/xpic"
+
+ # amd64/x86
+ if use amd64 ; then
+ MY_BASE_DIR="${BASE_DIR}_64a"
+ PKG_LIBDIR=lib64
+ ARCH_DIR="${S}/arch/x86_64"
+ else
+ MY_BASE_DIR="${BASE_DIR}"
+ PKG_LIBDIR=lib
+ ARCH_DIR="${S}/arch/x86"
+ fi
+
+ elog
+ elog "Please note that this driver only supports graphic cards based on"
+ elog "Evergreen chipset and newer."
+ 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 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##*/}
+
+ if [[ ${DRIVERS_DISTFILE} =~ .*\.tar\.gz ]]; then
+ unpack ${DRIVERS_DISTFILE}
+ mkdir -p common
+ mv etc lib usr common || die "Assumed to find etc lib and usr for common"
+ else
+ #please note, RUN may be insanely assigned at top near SRC_URI
+ if [[ ${DRIVERS_DISTFILE} =~ .*\.zip ]]; then
+ unpack ${DRIVERS_DISTFILE}
+ [[ -z "$RUN" ]] && RUN="${S}/${DRIVERS_DISTFILE/%.zip/.run}"
+ else
+ RUN="${DISTDIR}/${DRIVERS_DISTFILE}"
+ fi
+ 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() {
+ if use debug; then
+ sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \
+ "${MODULE_DIR}/firegl_public.c" \
+ || die "Failed to enable debug output."
+ fi
+
+
+ # These are the userspace utilities that we also have source for.
+ # We rebuild these later.
+ rm \
+ "${ARCH_DIR}"/usr/X11R6/bin/fgl_glxgears \
+ || die "bin rm failed"
+
+
+ # ACPI fixups
+ sed -i \
+ -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 "ACPI fixups failed."
+
+ # Since "who" is in coreutils, we're using that one instead of "finger".
+ sed -i -e 's:finger:who:' \
+ "${S}/${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh" \
+ || die "Replacing 'finger' with 'who' failed."
+ # Adjust paths in the script from /usr/X11R6/bin/ to /opt/bin/ and
+ # add function to detect default state.
+ epatch "${FILESDIR}"/ati-powermode-opt-path-3.patch
+
+ # see http://ati.cchtml.com/show_bug.cgi?id=495
+ #epatch "${FILESDIR}"/ati-drivers-old_rsp.patch
+ # first hunk applied upstream second (x32 related) was not
+ epatch "${FILESDIR}"/ati-drivers-x32_something_something.patch
+
+ # compile fix for AGP-less kernel, bug #435322
+ epatch "${FILESDIR}"/ati-drivers-12.9-KCL_AGP_FindCapsRegisters-stub.patch
+
+ epatch "${FILESDIR}/ati-drivers-13.8-beta-include-seq_file.patch"
+
+ # Fix #483400
+ epatch "${FILESDIR}/fgl_glxgears-do-not-include-glATI.patch"
+
+ # Compile fix, https://bugs.gentoo.org/show_bug.cgi?id=454870
+ use pax_kernel && epatch "${FILESDIR}/const-notifier-block.patch"
+
+ # Compile fix, #526602
+ epatch "${FILESDIR}/use-kernel_fpu_begin.patch"
+
+
+ # Linux < 4.0 support
+ epatch "${FILESDIR}/${PN}-linux-4.0.patch"
+
+ # Linux 4.0, 4.1 support
+ if kernel_is ge 3 18; then
+ epatch "${FILESDIR}/${P}-linux-3.19-4.0.patch"
+ fi
+
+ if kernel_is ge 4 1; then
+ epatch "${FILESDIR}/${P}-linux-4.1.patch"
+ fi
+
+ epatch_user
+
+ cd "${MODULE_DIR}"
+
+ # bugged fglrx build system, this file should be copied by hand
+ cp ${ARCH_DIR}/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x
+
+ convert_to_m 2.6.x/Makefile || die "convert_to_m failed"
+
+ # When built with ati's make.sh it defines a bunch of macros if
+ # certain .config values are set, falling back to less reliable
+ # detection methods if linux/autoconf.h is not available. We
+ # simply use the linux/autoconf.h settings directly, bypassing the
+ # detection script.
+ 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"
+}
+
+src_compile() {
+ linux-mod_src_compile
+}
+
+src_install() {
+ linux-mod_src_install
+}
+
+pkg_postinst() {
+ elog "To switch to AMD OpenGL, run \"eselect opengl set ati\""
+ elog "To change your xorg.conf you can use the bundled \"aticonfig\""
+ elog
+ elog "If you experience unexplained segmentation faults and kernel crashes"
+ elog "with this driver and multi-threaded applications such as wine,"
+ elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2."
+ elog
+ elog "Fully rebooting the system after an ${PN} update is recommended"
+ elog "Stopping Xorg, reloading fglrx kernel module and restart Xorg"
+ elog "might not work"
+ elog
+ elog "Some cards need acpid running to handle events"
+ elog "Please add it to boot runlevel with rc-update add acpid boot"
+ elog
+ linux-mod_pkg_postinst
+}
+
+pkg_prerm() {
+ "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
+}
+
+pkg_preinst() {
+ linux-mod_pkg_preinst
+}
+
+pkg_postrm() {
+ linux-mod_pkg_postrm
+}