diff options
Diffstat (limited to 'sys-firmware/amdgpu-ucode/amdgpu-ucode-20150803.ebuild')
-rw-r--r-- | sys-firmware/amdgpu-ucode/amdgpu-ucode-20150803.ebuild | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/sys-firmware/amdgpu-ucode/amdgpu-ucode-20150803.ebuild b/sys-firmware/amdgpu-ucode/amdgpu-ucode-20150803.ebuild new file mode 100644 index 000000000000..0f31d2dc62bc --- /dev/null +++ b/sys-firmware/amdgpu-ucode/amdgpu-ucode-20150803.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit linux-info + +DESCRIPTION="Microcode for V.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="legacy" + +RDEPEND="legacy? ( !sys-firmware/radeon-ucode ) + !>sys-kernel/linux-firmware-20150812[-savedconfig]" + +S=${WORKDIR}/radeon_ucode + +AMDGPU_LEGACY_CIK="bonaire hawaii kabini kaveri mullins" + +src_install() { + local directory files legacyfiles + if use legacy; then + for directory in ${AMDGPU_LEGACY_CIK}; do + legacyfiles+=( ${directory}/*.bin ) + done + insinto /lib/firmware/radeon + doins ${legacyfiles[@]} + fi + for directory in */; do + if [[ ${AMDGPU_LEGACY_CIK} != *${directory%/}* ]]; then + files+=( ${directory}/*.bin ) + fi + done + insinto /lib/firmware/amdgpu + doins ${files[@]} + FILES=( ${files[@]/*\//amdgpu/} ${legacyfiles[@]/*\//radeon/} ) +} + +pkg_postinst() { + if linux_config_exists && linux_chkconfig_builtin DRM_AMDGPU; then + if ! linux_chkconfig_present FIRMWARE_IN_KERNEL || \ + ! [[ "$(linux_chkconfig_string EXTRA_FIRMWARE)" == *_rlc.bin* ]]; then + ewarn "Your kernel has amdgpu DRM built-in but not the 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[@]}\"" + ewarn "You may skip microcode files for which no hardware is installed." + ewarn "More information at https://wiki.gentoo.org/wiki/AMDGPU#Firmware" + fi + fi +} |