Changeset e56ca042 for postlfs/config/firmware.xml
- Timestamp:
- 07/17/2023 06:20:34 PM (10 months ago)
- Branches:
- 12.0, 12.1, ken/TL2024, ken/tuningfonts, lazarus, plabs/newcss, python3.11, rahul/power-profiles-daemon, renodr/vulkan-addition, trunk, xry111/llvm18
- Children:
- cb88494
- Parents:
- f3991348 (diff), db58c760 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
postlfs/config/firmware.xml
rf3991348 re56ca042 495 495 cp -v <YOUR_BLOBS> /lib/firmware/radeon</userinput></screen> 496 496 497 <para> 498 There are actually two ways of installing this firmware. BLFS, in the 499 'Kernel Configuration for additional firmware' section part of the 500 <xref linkend="xorg-ati-driver"/> section gives an example of 501 compiling the firmware into the kernel - that is slightly faster to 502 load, but uses more kernel memory. Here we will use the alternative 503 method of making the radeon driver a module. In your kernel config 504 set the following: 505 </para> 506 507 <screen><literal>Device Drivers ---> 508 Graphics support ---> 509 Direct Rendering Manager ---> 510 [*] Direct Rendering Manager (XFree86 ... support) [CONFIG_DRM] 511 [M] ATI Radeon [CONFIG_DRM_RADEON]</literal></screen> 512 513 <para> 514 Loading several large blobs from /lib/firmware takes a noticeable 515 time, during which the screen will be blank. If you do not enable the 516 penguin framebuffer logo, or change the console size by using a bigger 517 font, that probably does not matter. If desired, you can slightly 518 reduce the time if you follow the alternate method of specifying 'y' 519 for CONFIG_DRM_RADEON covered in BLFS at the link above — you 520 must specify each needed radeon blob if you do that. 521 </para> 497 <para> 498 Building the kernel amdgpu driver as a module is recommended because 499 the firmware files need to be accessible at the time it is loaded. 500 If you are building it as a part of the kernel image for any reason, 501 you need to either include the firmware files in the initramfs (read 502 <xref linkend='initramfs'/> for details), or include them in the 503 kernel image itself (read <xref linkend='firmware-in-kernel-image'/> 504 for details). 505 </para> 522 506 523 507 </sect3> … … 563 547 564 548 <para> 565 Building the kernel amdgpu driver as a module is recommended. 566 In your kernel .config set at least the following options and review 567 the other AMDGPU options according to your target hardware, 568 for example "ACP (Audio Co-Processor) Configuration": 569 </para> 570 571 <screen><literal>Device Drivers ---> 572 Graphics support ---> 573 Direct Rendering Manager ---> 574 [*] Direct Rendering Manager (XFree86 ... support) [CONFIG_DRM] 575 [M] AMD GPU [CONFIG_DRM_AMDGPU] 576 Display Engine Configuration ---> 577 [*] AMD DC - Enable new display engine (NEW) [CONFIG_DRM_AMD_DC]</literal></screen> 578 579 <para> 580 As written above at the end of the section on 'Firmware for ATI video 581 chips', loading large blobs from /lib/firmware can take a noticeable 582 time during which the screen will be blank. On a slow machine you might 583 wish to refer to the 'Kernel Configuration for additional firmware' 584 part of <xref linkend="xorg-amdgpu-driver"/> and compile all the 585 required modules into the kernel to reduce this time, at the cost of 586 using more kernel memory. 587 </para> 549 Building the kernel amdgpu driver as a module is recommended because 550 the firmware files need to be accessible at the time it is loaded. 551 If you are building it as a part of the kernel image for any reason, 552 you need to either include the firmware files in the initramfs (read 553 <xref linkend='initramfs'/> for details), or include them in the 554 kernel image itself (read <xref linkend='firmware-in-kernel-image'/> 555 for details). 556 </para> 588 557 589 558 </sect3> … … 756 725 </sect2> 757 726 727 <sect2 id='firmware-in-kernel-image'> 728 <title>Include Firmware Blobs in the Kernel Image</title> 729 730 <para> 731 Some drivers, notably the drivers for ATI or AMD GPU, requires the 732 firmware files accessible at the time it is loaded. The easiest 733 method to handle these drivers is building them as a kernel module. 734 An alternative method is creating an initramfs (read 735 <xref linkend='initramfs'/> for details) including the firmware files. 736 If you don't want to use either methods, you may include the firmware 737 files in the kernel image itself. Install the needed firmware files 738 into <filename class='directory'>/lib/firmware</filename> first, then 739 set the following kernel configuration and rebuild the kernel: 740 </para> 741 742 <screen><literal>Device Drivers ---> 743 Generic Driver Options ---> 744 Firmware loader ---*gt; 745 -*- Firmware loading facility 746 (<replaceable>amdgpu/aaaa.bin amdgpu/bbbb.bin</replaceable>) Build named firmware blobs into the kernel binary 747 (/lib/firmware) Firmware blobs root directory</literal></screen> 748 749 <para> 750 Replace <replaceable>amdgpu/aaa.bin amdgpu/bbbb.bin</replaceable> 751 with a whitespace-separated list of paths to the needed firmware 752 files, relative to 753 <filename class='directory'>/lib/firmware</filename>. A method 754 easier than manually typing the list (it may be long) is running the 755 following command: 756 </para> 757 758 <screen><userinput>echo CONFIG_EXTRA_FIRMWARE='"'$({ cd /lib/firmware; echo <replaceable>amdgpu/*</replaceable> })'"' >> .config 759 make oldconfig</userinput></screen> 760 761 <para> 762 Replace <replaceable>amdgpu/*</replaceable> with a shell pattern 763 matching the needed firmware files. 764 </para> 765 766 <warning> 767 <para> 768 Do not distribute a kernel image containing the firmware to others 769 or you may violate GPL. 770 </para> 771 </warning> 772 773 </sect2> 774 758 775 </sect1>
Note:
See TracChangeset
for help on using the changeset viewer.