diff options
Diffstat (limited to 'x11-drivers/radeon-ucode/radeon-ucode-20140430.ebuild')
-rw-r--r-- | x11-drivers/radeon-ucode/radeon-ucode-20140430.ebuild | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/x11-drivers/radeon-ucode/radeon-ucode-20140430.ebuild b/x11-drivers/radeon-ucode/radeon-ucode-20140430.ebuild new file mode 100644 index 000000000000..7a6c070bdaef --- /dev/null +++ b/x11-drivers/radeon-ucode/radeon-ucode-20140430.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-drivers/radeon-ucode/radeon-ucode-20140430.ebuild,v 1.1 2014/05/04 12:38:30 chithanh Exp $ + +EAPI=5 + +inherit linux-info + +DESCRIPTION="IRQ microcode for r6xx/r7xx/Evergreen/N.Islands/S.Islands Radeon GPUs and APUs" +HOMEPAGE="http://people.freedesktop.org/~agd5f/radeon_ucode/" +SRC_URI="mirror://gentoo/${P}.tar.xz" + +LICENSE="radeon-ucode" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +RDEPEND="!sys-kernel/linux-firmware[-savedconfig]" + +S=${WORKDIR}/${PN/-/_} + +src_install() { + insinto /lib/firmware/radeon + FILES=( *.bin ) + doins ${FILES[@]} || die "doins failed" +} + +pkg_postinst() { + if linux_config_exists && linux_chkconfig_builtin DRM_RADEON; then + if ! linux_chkconfig_present FIRMWARE_IN_KERNEL || \ + ! [[ "$(linux_chkconfig_string EXTRA_FIRMWARE)" == *_rlc.bin* ]]; then + ewarn "Your kernel has radeon DRM built-in but not the IRQ microcode." + ewarn "For kernel modesetting to work, please set in kernel config" + ewarn "CONFIG_FIRMWARE_IN_KERNEL=y" + ewarn "CONFIG_EXTRA_FIRMWARE_DIR=\"/lib/firmware\"" + ewarn "CONFIG_EXTRA_FIRMWARE=\"${FILES[@]/#/radeon/}\"" + ewarn "You may skip microcode files for which no hardware is installed." + ewarn "More information at http://wiki.gentoo.org/wiki/Radeon#Firmware" + fi + fi +} |