diff options
author | V3n3RiX <venerix@gmail.com> | 2015-08-22 14:23:11 +0100 |
---|---|---|
committer | V3n3RiX <venerix@gmail.com> | 2015-08-22 14:23:11 +0100 |
commit | d9090b8f324fa89122020f6fce263e4b48a97ba8 (patch) | |
tree | 7100afbf2a88915c3d051ee3ec75e2a910534eff /x11-drivers/ati-drivers | |
parent | 7e5de0e05a17618bb7c3e8ab163250a5e72486f7 (diff) | |
parent | a12700662078e1f072a53efa47337aa54af8c6f2 (diff) |
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'x11-drivers/ati-drivers')
-rw-r--r-- | x11-drivers/ati-drivers/Manifest | 1 | ||||
-rw-r--r-- | x11-drivers/ati-drivers/ati-drivers-15.7.ebuild | 261 |
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 +} |