kisscommunity

kisscommunity.bvnf.space site sources
Log | Files | Refs | Submodules | README

commit 51420fdfc4bb61cb2c046057fef766683e05f415
parent 5c9b806d0f115c8abc78348363be2aa05f6ffac4
Author: aabacchus <ben@bvnf.space>
Date:   Thu,  9 Jun 2022 02:08:05 +0100

kernel/firmware: convert

Diffstat:
Awiki/kernel/firmware/index.md | 359+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Dwiki/kernel/firmware/index.txt | 383-------------------------------------------------------------------------------
2 files changed, 359 insertions(+), 383 deletions(-)

diff --git a/wiki/kernel/firmware/index.md b/wiki/kernel/firmware/index.md @@ -0,0 +1,359 @@ +FIRMWARE +======== + +Linux firmware is a package distributed alongside the Linux kernel that contains +firmware binary blobs necessary for partial or full functionality of certain +hardware devices. These binary blobs are usually proprietary because some +hardware manufacturers do not release source code necessary to build the +firmware itself. + +This Wiki page will document firmare/driver configuration for various +peripherals, their requirement level (conditional, recommended or mandatory), a +brief description and a rationale if necessary. + + +## [%[0.0]] Index + +* [1.0](#1.0) Overview + * [1.1](#1.1) Incorporating Firmware + * [1.2](#1.2) Rebuilding the Kernel +* [2.0](#2.0) Processor + * [2.1](#2.1) AMD Microcode + * [2.2](#2.2) Intel Microcode +* [3.0](#3.0) Graphics + * [3.1](#3.1) NVIDIA + * [3.2](#3.2) AMDGPU +* [4.0](#4.0) Wireless + * [4.1](#4.1) Intel (iwlwifi) +* [5.0](#5.0) Bluetooth +* [6.0](#6.0) Sound + + +## [%[1.0]] Overview + +The following are considered some best practices when configuring firmware for +peripherals. + + +## [%[1.1]] Incorporating Firmware + +When building drivers into the kernel, ensure that the firmware blobs +(\*.ucode files) are referenced and the firmware root directory is set. + +Replace '\*\*\*\*.ucode' with the firmware you would like to bake into the +kernel. Values are paths to files, separated by spaces with locations +relative to the value of `CONFIG_EXTRA_FIRMWARE_DIR`. + + +--------------------------------------------------------------------------+ + | ".config" Example | + +--------------------------------------------------------------------------+ + | | + | CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware" | + | CONFIG_EXTRA_FIRMWARE="****.ucode" | + | | + +--------------------------------------------------------------------------+ + +If you are using the menuconfig tool, it should look something like the +following: + + +--------------------------------------------------------------------------+ + | "menuconfig" Example | + +--------------------------------------------------------------------------+ + | | + | Device Drivers ---> | + | Generic Driver Options ---> | + | Firmware loader ---> | + | -*- Firmware loading facility | + | (****.ucode) Build named firmware blobs into the kernel binary | + | (/lib/firmware) Firmware blobs root directory | + | | + +--------------------------------------------------------------------------+ + +Note: The `CONFIG_EXTRA_FIRMWARE` should be a list of all of the required +firmware blobs, delimited by a single space character. + + +## [%[1.2]] Rebuilding the Kernel + +Configuring a kernel is difficult and everyone is bound to make a few +mistakes or forget a step in the process.. fear not! The road to "recovery" +is quick and painless. + +The process after updating the .config file with the required changes would +be as follows: + + +--------------------------------------------------------------------------+ + | Rebuild the Kernel | + +--------------------------------------------------------------------------+ + | | + | $ make -j "$(nproc)" && make modules_install | + | | + +--------------------------------------------------------------------------+ + | Remount the boot partition | + +--------------------------------------------------------------------------+ + | | + | $ mount /boot | + | | + +--------------------------------------------------------------------------+ + | Install the built kernel (to /boot). (Ignore the LILO error). | + +--------------------------------------------------------------------------+ + | | + | $ make install | + | | + +--------------------------------------------------------------------------+ + | Rename the kernel/system.map (vmlinuz -> vmlinuz-VERSION). | + +--------------------------------------------------------------------------+ + | | + | $ mv /boot/vmlinuz /boot/vmlinuz-VERSION | + | $ mv /boot/System.map /boot/System.map-VERSION | + | | + +--------------------------------------------------------------------------+ + | Update the boot loader (assuming using GRUB2) | + +--------------------------------------------------------------------------+ + | | + | $ grub-mkconfig -o /boot/grub/grub.cfg | + | | + +--------------------------------------------------------------------------+ + | Reboot for the new kernel configuration to take effect: | + +--------------------------------------------------------------------------+ + | | + | $ reboot | + | | + +--------------------------------------------------------------------------+ + + +## [%[2.0]] Processor + +The following sections describe the kernel requirements for microcode loading +for various manufacturers. + + +## [%[2.1]] AMD Microcode + +Microcode updates for AMD processors are provided by linux-firmware +package. [AMD specific microcode](https://wiki.gentoo.org/wiki/AMD_microcode) is located in the amd-ucode/ and amd/ +folders. + +In order determine which microcode firmware blob is required, you can use +grep to search for the "cpu family" value in /proc/cpuinfo: + + +--------------------------------------------------------------------------+ + | | + | $ grep -F -m 1 "cpu family" /proc/cpuinfo | + | | + +--------------------------------------------------------------------------+ + +Use the output from the command above to determine which firmware blob file +is required below: + + +---------------------------------+---------+------------------------------+ + | File(s) | Dec. | CPU Family Name | + +---------------------------------+---------+------------------------------+ + | | | | + | microcode_amd.bin | 16 | K10 | + | | 17 | Turion | + | | 18 | Llano, Fusion | + | | 20 | Bobcat | + | | | | + | microcode_amd_fam15h.bin | 21 | Bulldozer, Piledriver, | + | | | Steamroller, Excavato | + | | | | + | microcode_amd_fam16h.bin | 22 | Jaguar, Puma | + | | | | + | microcode_amd_fam17h.bin | 23 | Zen | + | amd_sev_fam17h_model0xh.sbin | | | + | | | | + +---------------------------------+---------+------------------------------+ + +Remember to reference the firmware blobs in `CONFIG_EXTRA_FIRMWARE`. \[[1.1](#1.1)\] + + +## [%[2.2]] Intel Microcode + +Microcode updates for Intel processors are provided by the +"[Intel-Linux-Processor-Microcode-Data-Files](https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files)" package and located in the +intel-ucode/ folder. + +In order [determine which microcode firmware blob is required](https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/issues/16), you can use +grep to search for "cpu family", "model" and "stepping" values in +/proc/cpuinfo: + + +--------------------------------------------------------------------------+ + | | + | $ grep -F -m 1 "cpu family" /proc/cpuinfo | + | $ grep -F -m 1 "model" /proc/cpuinfo | + | $ grep -F -m 1 "stepping" /proc/cpuinfo | + | | + +--------------------------------------------------------------------------+ + +Use the outputed values (converted to Hex) from the commands above to +determine which firmware blob file is required by using the following naming +convention: + + +--------------------------------------------------------------------------+ + | | + | [cpu_family]-[model]-[stepping] | + | | + +--------------------------------------------------------------------------+ + +Note: If converting to Hex isn't your think, user $/[illiliti](https://github.com/illiliti) has provided an +example POSIX compliant shell script that can do this for you +"automagically": + + +--------------------------------------------------------------------+ + | | + | #!/bin/sh -f | + | while IFS=: read -r key val; do | + | case $key in | + | stepping*) : ${stepping:=$val} ;; | + | cpu*family*) : ${family:=$val} ;; | + | model*) : ${model:=$val} ;; | + | esac | + | done < /proc/cpuinfo | + | printf "%02x-%02x-%02x\n" "$family" "$model" "$stepping" | + | | + +--------------------------------------------------------------------+ + +Remember to reference the firmware blobs in `CONFIG_EXTRA_FIRMWARE`. \[[1.1](#1.1)\] + + +## [%[3.0]] Graphics + +The following sections describe the kernel requirements for graphics cards from +various manufacturers. + + +## [%[3.1]] NVIDIA + +(this is a placeholder) + + +## [%[3.2]] AMDGPU + +Setting up a system to use AMDGPU requires identifying the proper card, +installing the corresponding firmware, configuring the kernel, and +installing the X11 driver. + +Begin by identifying the family and chipset of your AMDGPU: + + +--------------+-------------------------+---------------------------------+ + | Family | Chipset | Product Name | + +--------------+-------------------------+---------------------------------+ + | | | | + | Southern | CAPE VERDE, | HD7750-HD7970, R9 270, | + | Island | PITCAIRN, TAHITI, | R9 280, R9 370X, R7 240, | + | | OLAND, HAINAN | R7 250 | + | | | | + | Sea | BONAIRE, KABINI, | HD7790, R7 260, R9 290, | + | Island | KAVERI, HAWAII, | R7 360, R9 390 | + | | MULLINS | | + | | | | + | Volcanic | CARRIZO, FIJI, | R9 285, R9 380, R9 380X, | + | Island | STONEY, TONGA, | R9 Fury, R9 Nano, | + | | TOPAZ, WANI | R9 Fury X, Pro Duo | + | | | | + | Arctic | POLARIS10/11/12 | RX 460, RX 470, RX 480, | + | Island | | RX 540, RX 550, RX 560, | + | | | RX 570, RX 580, RX 590 | + | | | | + | Vega | VEGA10/11/12/20, | RX Vega 56, RX Vega 64, | + | | RAVEN | Raven Ridge APU series5, | + | | | Radeon Vega II, Radeon VII | + | | | | + | Navi | NAVI10 | RX 5500, RX 5500 XT, | + | | | RX 5600, RX 5600 XT, | + | | | RX 5700, RX 5700 XT | + | | | | + +--------------+-------------------------+---------------------------------+ + +For more information on each chipset, refer to the [Gentoo AMDGPU Wiki](https://wiki.gentoo.org/wiki/AMDGPU). + +The kernel can now be configured based on the information obtained above: + + +--------------------------------------------------------------------------+ + | | + | The following options are required (=y). | + | | + | CONFIG_MTRR Memory Type Range Register Support | + | CONFIG_DRM_FBDEV_EMULATION Direct Rendering Manager | + | CONFIG_DRM_AMDGPU | + | CONFIG_DRM_AMDGPU_SI Support for SI parts | + | CONFIG_DRM_AMDGPU_CIK Support for CIK parts | + | (only for Sea Islands GPUs with the amdgpu | + | driver) | + | CONFIG_DRM_AMD_ACP AMD Audio CoProcessor IP support | + | (only needed for APUs) | + | CONFIG_DRM_AMD_DC AMD DC - Enable new display engine | + | CONFIG_DRM_AMD_DC_DCN DCN 1.0 Raven family | + | (only Vega RX as part of Raven Ridge APUs) | + | CONFIG_HSA_AMD HSA kernel driver for AMD GPU devices | + | CONFIG_DRM_PANEL | + | | + +--------------------------------------------------------------------------+ + +Note: When using AMDGPU, it is [recommended](https://wiki.gentoo.org/wiki/AMDGPU) to unset the ATI Radeon option so +that the radeon module is not built. + +Remember to reference the firmware blobs, per Section \[[1.1](#1.1)\]. The correct +AMDGPU firmware blobs can be found in the amdgpu/ folder of the +linux-firmware package. For example, if I was using a GPU with the TONGA +chipset, I would want to reference all amdgpu/tonga_\* files. + + +## [%[4.0]] Wireless Devices + +The following sections describe the kernel requirements for wireless devices +from various manufacturers. + + +## [%[4.1]] Intel (iwlwifi) + +Determine which module your wireless device uses (iwldvm or iwlmvm), along +with which firmware (iwlwifi-\*\*\*\*.ucode) your device requires. + +* <https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi> + +Once determined, ensure that the following kernel requirements are met: + + +--------------------------------------------------------------------------+ + | | + | The following options are required (=y). | + | | + | WLAN_VENDOR_INTEL Store the .config in the kernel. | + | MAC80211 Enables hardware independent IEEE 802.11 | + | CFG80211 Enables the Linux Wireless LAN config API | + | IWLWIFI Enables the IWLWIFI driver. | + | | + | One of the following options is required (=y) | + | | + | IWLMVM Driver that supports MVM firmware | + | IWLDVM Driver that supports DVM firmware | + | | + +--------------------------------------------------------------------------+ + +Remember to reference the firmware blobs in `CONFIG_EXTRA_FIRMWARE`. \[[1.1](#1.1)\] + + +## [%[5.0]] Bluetooth + +(this is a placeholder) + + +## [%[6.0]] Sound + +The options from the Sound card support menu need only to be set if the card +supports HDMI or DisplayPort audio and you want to use it. On newer kernels +where Enable AMD Audio CoProcessor IP support appears, that should also be set. + + +-----------------------------------------------------------------------------+ + | | + | The following options are required for soundcard support (=y). | + | | + | CONFIG_SND_PCI CI sound devices | + | CONFIG_SND_HDA_INTEL HD Audio PCI | + | CONFIG_SND_HDA_PATCH_LOADER Patch loading for HD-audio | + | CONFIG_SND_HDA_CODEC_HDMI HDMI/DisplayPort HD-audio codec support | + | | + | (Remember to also specify whatever codec your soundcard needs.) | + | | + +-----------------------------------------------------------------------------+ diff --git a/wiki/kernel/firmware/index.txt b/wiki/kernel/firmware/index.txt @@ -1,383 +0,0 @@ -FIRMWARE -________________________________________________________________________________ - -Linux firmware is a package distributed alongside the Linux kernel that contains -firmware binary blobs necessary for partial or full functionality of certain -hardware devices. These binary blobs are usually proprietary because some -hardware manufacturers do not release source code necessary to build the -firmware itself. - -This Wiki page will document firmare/driver configuration for various -peripherals, their requirement level (conditional, recommended or mandatory), a -brief description and a rationale if necessary. - - -[0.0] Index -________________________________________________________________________________ - -- Overview [1.0] - - Incorporating Firmware [1.1] - - Rebuilding the Kernel [1.2] -- Processor [2.0] - - AMD Microcode [2.1] - - Intel Microcode [2.2] -- Graphics [3.0] - - NVIDIA [3.1] - - AMDGPU [3.2] -- Wireless [4.0] - - Intel (iwlwifi) [4.1] -- Bluetooth [5.0] -- Sound [6.0] -- References [7.0] - - -[1.0] Overview -________________________________________________________________________________ - -The following are considered some best practices when configuring firmware for -peripherals. - - - [1.1] Incorporating Firmware - ____________________________________________________________________________ - - When building drivers into the kernel, ensure that the firmware blobs - (*.ucode files) are referenced and the firmware root directory is set. - - Replace '****.ucode' with the firmware you would like to bake into the - kernel. Values are paths to files, separated by spaces with locations - relative to the value of CONFIG_EXTRA_FIRMWARE_DIR. - - +--------------------------------------------------------------------------+ - | ".config" Example | - +--------------------------------------------------------------------------+ - | | - | CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware" | - | CONFIG_EXTRA_FIRMWARE="****.ucode" | - | | - +--------------------------------------------------------------------------+ - - If you are using the menuconfig tool, it should look something like the - following: - - +--------------------------------------------------------------------------+ - | "menuconfig" Example | - +--------------------------------------------------------------------------+ - | | - | Device Drivers ---> | - | Generic Driver Options ---> | - | Firmware loader ---> | - | -*- Firmware loading facility | - | (****.ucode) Build named firmware blobs into the kernel binary | - | (/lib/firmware) Firmware blobs root directory | - | | - +--------------------------------------------------------------------------+ - - Note: The CONFIG_EXTRA_FIRMWARE should be a list of all of the required - firmware blobs, delimited by a single space character. - - - [1.2] Rebuilding the Kernel - ____________________________________________________________________________ - - Configuring a kernel is difficult and everyone is bound to make a few - mistakes or forget a step in the process.. fear not! The road to "recovery" - is quick and painless. - - The process after updating the .config file with the required changes would - be as follows: - - +--------------------------------------------------------------------------+ - | Rebuild the Kernel | - +--------------------------------------------------------------------------+ - | | - | $ make -j "$(nproc)" && make modules_install | - | | - +--------------------------------------------------------------------------+ - | Remount the boot partition | - +--------------------------------------------------------------------------+ - | | - | $ mount /boot | - | | - +--------------------------------------------------------------------------+ - | Install the built kernel (to /boot). (Ignore the LILO error). | - +--------------------------------------------------------------------------+ - | | - | $ make install | - | | - +--------------------------------------------------------------------------+ - | Rename the kernel/system.map (vmlinuz -> vmlinuz-VERSION). | - +--------------------------------------------------------------------------+ - | | - | $ mv /boot/vmlinuz /boot/vmlinuz-VERSION | - | $ mv /boot/System.map /boot/System.map-VERSION | - | | - +--------------------------------------------------------------------------+ - | Update the boot loader (assuming using GRUB2) | - +--------------------------------------------------------------------------+ - | | - | $ grub-mkconfig -o /boot/grub/grub.cfg | - | | - +--------------------------------------------------------------------------+ - | Reboot for the new kernel configuration to take effect: | - +--------------------------------------------------------------------------+ - | | - | $ reboot | - | | - +--------------------------------------------------------------------------+ - - -[2.0] Processor -________________________________________________________________________________ - -The following sections describe the kernel requirements for microcode loading -for various manufacturers. - - - [2.1] AMD Microcode - ____________________________________________________________________________ - - Microcode updates for AMD processors are provided by linux-firmware - package. AMD specific microcode is located in the amd-ucode/ and amd/ - folders. [1] - - In order determine which microcode firmware blob is required, you can use - grep to search for the "cpu family" value in /proc/cpuinfo: - - +--------------------------------------------------------------------------+ - | | - | $ grep -F -m 1 "cpu family" /proc/cpuinfo | - | | - +--------------------------------------------------------------------------+ - - Use the output from the command above to determine which firmware blob file - is required below: - - +---------------------------------+---------+------------------------------+ - | File(s) | Dec. | CPU Family Name | - +---------------------------------+---------+------------------------------+ - | | | | - | microcode_amd.bin | 16 | K10 | - | | 17 | Turion | - | | 18 | Llano, Fusion | - | | 20 | Bobcat | - | | | | - | microcode_amd_fam15h.bin | 21 | Bulldozer, Piledriver, | - | | | Steamroller, Excavato | - | | | | - | microcode_amd_fam16h.bin | 22 | Jaguar, Puma | - | | | | - | microcode_amd_fam17h.bin | 23 | Zen | - | amd_sev_fam17h_model0xh.sbin | | | - | | | | - +---------------------------------+---------+------------------------------+ - - Remember to reference the firmware blobs in CONFIG_EXTRA_FIRMWARE. [1.1] - - - [2.2] Intel Microcode - ____________________________________________________________________________ - - Microcode updates for Intel processors are provided by the - "Intel-Linux-Processor-Microcode-Data-Files" package [2] and located in the - intel-ucode/ folder. - - In order determine which microcode firmware blob is required, you can use - grep to search for "cpu family", "model" and "stepping" values in - /proc/cpuinfo [3]: - - +--------------------------------------------------------------------------+ - | | - | $ grep -F -m 1 "cpu family" /proc/cpuinfo | - | $ grep -F -m 1 "model" /proc/cpuinfo | - | $ grep -F -m 1 "stepping" /proc/cpuinfo | - | | - +--------------------------------------------------------------------------+ - - Use the outputed values (converted to Hex) from the commands above to - determine which firmware blob file is required by using the following naming - convention: - - +--------------------------------------------------------------------------+ - | | - | [cpu_family]-[model]-[stepping] | - | | - +--------------------------------------------------------------------------+ - - Note: If converting to Hex isn't your think, user $/illiliti has provided an - example POSIX compliant shell script that can do this for you - "automagically": - - +--------------------------------------------------------------------+ - | | - | #!/bin/sh -f | - | while IFS=: read -r key val; do | - | case $key in | - | stepping*) : ${stepping:=$val} ;; | - | cpu*family*) : ${family:=$val} ;; | - | model*) : ${model:=$val} ;; | - | esac | - | done < /proc/cpuinfo | - | printf "%02x-%02x-%02x\n" "$family" "$model" "$stepping" | - | | - +--------------------------------------------------------------------+ - - Remember to reference the firmware blobs in CONFIG_EXTRA_FIRMWARE. [1.1] - - -[3.0] Graphics -________________________________________________________________________________ - -The following sections describe the kernel requirements for graphics cards from -various manufacturers. - - - [3.1] NVIDIA - ____________________________________________________________________________ - - (this is a placeholder) - - - [3.2] AMDGPU - ____________________________________________________________________________ - - Setting up a system to use AMDGPU requires identifying the proper card, - installing the corresponding firmware, configuring the kernel, and - installing the X11 driver. - - Begin by identifying the family and chipset of your AMDGPU: - - +--------------+-------------------------+---------------------------------+ - | Family | Chipset | Product Name | - +--------------+-------------------------+---------------------------------+ - | | | | - | Southern | CAPE VERDE, | HD7750-HD7970, R9 270, | - | Island | PITCAIRN, TAHITI, | R9 280, R9 370X, R7 240, | - | | OLAND, HAINAN | R7 250 | - | | | | - | Sea | BONAIRE, KABINI, | HD7790, R7 260, R9 290, | - | Island | KAVERI, HAWAII, | R7 360, R9 390 | - | | MULLINS | | - | | | | - | Volcanic | CARRIZO, FIJI, | R9 285, R9 380, R9 380X, | - | Island | STONEY, TONGA, | R9 Fury, R9 Nano, | - | | TOPAZ, WANI | R9 Fury X, Pro Duo | - | | | | - | Arctic | POLARIS10/11/12 | RX 460, RX 470, RX 480, | - | Island | | RX 540, RX 550, RX 560, | - | | | RX 570, RX 580, RX 590 | - | | | | - | Vega | VEGA10/11/12/20, | RX Vega 56, RX Vega 64, | - | | RAVEN | Raven Ridge APU series5, | - | | | Radeon Vega II, Radeon VII | - | | | | - | Navi | NAVI10 | RX 5500, RX 5500 XT, | - | | | RX 5600, RX 5600 XT, | - | | | RX 5700, RX 5700 XT | - | | | | - +--------------+-------------------------+---------------------------------+ - - For more information on each chipset, refer to the Gentoo AMDGPU Wiki [0]. - - The kernel can now be configured based on the information obtained above: - - +--------------------------------------------------------------------------+ - | | - | The following options are required (=y). | - | | - | CONFIG_MTRR Memory Type Range Register Support | - | CONFIG_DRM_FBDEV_EMULATION Direct Rendering Manager | - | CONFIG_DRM_AMDGPU | - | CONFIG_DRM_AMDGPU_SI Support for SI parts | - | CONFIG_DRM_AMDGPU_CIK Support for CIK parts | - | (only for Sea Islands GPUs with the amdgpu | - | driver) | - | CONFIG_DRM_AMD_ACP AMD Audio CoProcessor IP support | - | (only needed for APUs) | - | CONFIG_DRM_AMD_DC AMD DC - Enable new display engine | - | CONFIG_DRM_AMD_DC_DCN DCN 1.0 Raven family | - | (only Vega RX as part of Raven Ridge APUs) | - | CONFIG_HSA_AMD HSA kernel driver for AMD GPU devices | - | CONFIG_DRM_PANEL | - | | - +--------------------------------------------------------------------------+ - - Note: When using AMDGPU, it is recommended to unset the ATI Radeon option so - that the radeon module is not built. [0] - - Remember to reference the firmware blobs, per Section [1.1]. The correct - AMDGPU firmware blobs can be found in the amdgpu/ folder of the - linux-firmware package. For example, if I was using a GPU with the TONGA - chipset, I would want to reference all amdgpu/tonga_* files. - - -[4.0] Wireless Devices -________________________________________________________________________________ - -The following sections describe the kernel requirements for wireless devices -from various manufacturers. - - - [4.1] Intel (iwlwifi) - ____________________________________________________________________________ - - Determine which module your wireless device uses (iwldvm or iwlmvm), along - with which firmware (iwlwifi-****.ucode) your device requires. - - * https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi - - Once determined, ensure that the following kernel requirements are met: - - +--------------------------------------------------------------------------+ - | | - | The following options are required (=y). | - | | - | WLAN_VENDOR_INTEL Store the .config in the kernel. | - | MAC80211 Enables hardware independent IEEE 802.11 | - | CFG80211 Enables the Linux Wireless LAN config API | - | IWLWIFI Enables the IWLWIFI driver. | - | | - | One of the following options is required (=y) | - | | - | IWLMVM Driver that supports MVM firmware | - | IWLDVM Driver that supports DVM firmware | - | | - +--------------------------------------------------------------------------+ - - Remember to reference the firmware blobs in CONFIG_EXTRA_FIRMWARE. [1.1] - - -[5.0] Bluetooth -________________________________________________________________________________ - -(this is a placeholder) - - -[6.0] Sound -________________________________________________________________________________ - -The options from the Sound card support menu need only to be set if the card -supports HDMI or DisplayPort audio and you want to use it. On newer kernels -where Enable AMD Audio CoProcessor IP support appears, that should also be set. - -+-----------------------------------------------------------------------------+ -| | -| The following options are required for soundcard support (=y). | -| | -| CONFIG_SND_PCI CI sound devices | -| CONFIG_SND_HDA_INTEL HD Audio PCI | -| CONFIG_SND_HDA_PATCH_LOADER Patch loading for HD-audio | -| CONFIG_SND_HDA_CODEC_HDMI HDMI/DisplayPort HD-audio codec support | -| | -| (Remember to also specify whatever codec your soundcard needs.) | -| | -+-----------------------------------------------------------------------------+ - - -[7.0] References -________________________________________________________________________________ - -[0] https://wiki.gentoo.org/wiki/AMDGPU -[1] https://wiki.gentoo.org/wiki/AMD_microcode -[2] https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files -[3] https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/issues/16