glfs/archive/x7driver-ati.xml
2023-07-13 01:39:51 +08:00

339 lines
12 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY radeon-wiki "https://wiki.x.org/wiki/RadeonFeature">
<!ENTITY radeon-marketing-names "&radeon-wiki;#Decoder_ring_for_engineering_vs_marketing_names">
<!ENTITY xorg-ati-driver-version "22.0.0">
<!ENTITY xorg-ati-driver-download-http "&xorg-download-http;/driver/xf86-video-ati-&xorg-ati-driver-version;.tar.xz">
<!ENTITY xorg-ati-driver-download-ftp "&xorg-download-ftp;/driver/xf86-video-ati-&xorg-ati-driver-version;.tar.xz">
<!ENTITY xorg-ati-driver-md5sum "33c7b049c526aa9bf3654890c4d7b860">
<!ENTITY xorg-ati-driver-size "740 KB">
<!ENTITY xorg-ati-driver-buildsize "19 MB">
<!ENTITY xorg-ati-driver-time "less than 0.1 SBU">
]>
<!-- Begin Xorg ATI Driver -->
<sect2 id="xorg-ati-driver" xreflabel="Xorg ATI Driver-&xorg-ati-driver-version;">
<sect2info>
<date>$Date$</date>
</sect2info>
<title>Xorg ATI Driver-&xorg-ati-driver-version;</title>
<indexterm zone="xorg-ati-driver">
<primary sortas="a-xorg-ati-driver">xorg-ati-driver</primary>
</indexterm>
<sect3 role="package">
<title>Introduction to Xorg ATI Driver</title>
<para>
The <application>Xorg ATI Driver</application> package contains the X.Org
Video Driver for ATI Radeon video cards including all chipsets ranging
from R100 to the "Volcanic Islands" chipsets.
</para>
&lfs113_checked;
<note>
<para>
For Direct Rendering to work with newer Radeon Cards (R300 and later
chipsets), you need to enable the r300, r600 and radeonsi Gallium
drivers at <xref linkend="mesa"/> build time. Also, some cards
require Firmware to be available when the kernel driver is loaded.
In that case, if you have not followed the instructions in the Firmware
for Video Cards part of <xref linkend="postlfs-firmware"/> which provided
that firmware in <filename class="directory">/lib/firmware</filename>
for a modular build,
firmware can be obtained from <ulink
url="&sources-anduin-http;/linux-firmware/"/> -
see <xref linkend="xorg-ati-firmware-kernel"/> below for additional
firmware.
</para>
</note>
<bridgehead renderas="sect4">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&xorg-ati-driver-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&xorg-ati-driver-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &xorg-ati-driver-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &xorg-ati-driver-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &xorg-ati-driver-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &xorg-ati-driver-time;
</para>
</listitem>
</itemizedlist>
<!--
<bridgehead renderas="sect4">Additional Downloads</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Required patch:
<ulink url="&patch-root;/xf86-video-ati-&xorg-ati-driver-version;-upstream_fixes-1.patch"/>
</para>
</listitem>
</itemizedlist>
-->
<bridgehead renderas="sect4">Xorg ATI Driver Dependencies</bridgehead>
<bridgehead renderas="sect5">Required</bridgehead>
<para role="required">
<xref linkend="xorg-server"/> (recommended to be built with glamor enabled)
</para>
<note>
<para>
Glamor is required for Southern, Sea or Volcanic Islands GPUs, and
used by default in all other R600 or later radeon GPUs. To see which
GPUs are in these categories, read the <ulink url="&radeon-marketing-names;">
Decoder ring for engineering vs marketing names</ulink>.
</para>
</note>
</sect3>
<sect3 role="kernel" id="xorg-ati-driver-kernel">
<title>Kernel Configuration</title>
<para>
Enable the following options in the kernel configuration and recompile
the kernel if necessary:
</para>
<screen><literal>Device Drivers ---&gt;
Graphics support ---&gt;
&lt;*&gt; Direct Rendering Manager (XFree86 ... support) ---&gt; [CONFIG_DRM]
&lt;*&gt; ATI Radeon [CONFIG_DRM_RADEON]</literal></screen>
<indexterm zone="xorg-ati-driver xorg-ati-driver-kernel">
<primary sortas="d-xorg-ati-driver">xorg-ati-driver</primary>
</indexterm>
</sect3>
<sect3 role="kernel" id="xorg-ati-firmware-kernel">
<title>Kernel Configuration for additional firmware</title>
<para>
If you need to add firmware, install the file(s) and then point to them in the
kernel configuration and recompile the kernel if necessary. To find out which
firmware you need, consult the <ulink url="&radeon-marketing-names;">
Decoder ring for engineering vs marketing names</ulink>. Download any firmware
for your card which is named like:
<filename><replaceable>&lt;ENGINEERING_NAME&gt;</replaceable>_rlc.bin</filename>,
etc. Note that for R600 and R700 family, generic
<filename>R600_rlc.bin</filename> and <filename>R700_rlc.bin</filename> are
necessary in addition to the model specific firmware, while for later generations
you need the
<filename>BTC_rlc.bin</filename> in addition to the model specific firmware.
Below is an example for a Radeon HD6470 which is a "Northern Islands" GPU,
plus an RTL network chip that also requests extra firmware:
</para>
<screen><literal>CONFIG_EXTRA_FIRMWARE="radeon/BTC_rlc.bin radeon/CAICOS_mc.bin radeon/CAICOS_me.bin
radeon/CAICOS_pfp.bin radeon/CAICOS_smc.bin rtl_nic/rtl8168e-3.fw"
CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware"</literal></screen>
<note>
<para>
CONFIG_EXTRA_FIRMWARE should all be on one line. It
is shown above as two lines for presentation only.
</para>
</note>
<tip>
<para>
You can check <command>dmesg</command> output after boot to see which firmware
is missing.
</para>
</tip>
<para>
Alternatively, if you change CONFIG_DRM_RADEON to '=m' in your .config
the firmware can be loaded automatically from /lib/firmware/radeon when
it installs the module. This offers a tiny space saving, but also means
that the screen will be blank for a longer time before the framebuffer
appears. Distros take this approach because it is not practical to
specify every possible firmware and the kernel would be excessively big.
</para>
<indexterm zone="xorg-ati-driver xorg-ati-firmware-kernel">
<primary sortas="d-xorg-ati-firmware">xorg-ati-firmware</primary>
</indexterm>
</sect3>
<sect3 role="installation">
<title>Installation of Xorg ATI Driver</title>
<!--
Note: Fixed upstream, should be unneeded for versions gtr 19.1.0.
Patch also includes the fix.
<para>
First, fix an issue exposed by GCC 10 and later:
</para>
<screen><userinput>sed -e 's/miPointer/extern &amp;/' \
-i src/drmmode_display.h</userinput></screen>
-->
<!--
<para>
First, apply a patch including fixes for known performance regressions
and future problems with Xorg-Server.
</para>
<screen><userinput remap="pre">patch -Np1 -i ../xf86-video-ati-&xorg-ati-driver-version;-upstream_fixes-1.patch</userinput></screen>
-->
<para>
Install <application>Xorg ATI Driver</application> by running the following
commands:
</para>
<screen><userinput>./configure $XORG_CONFIG &amp;&amp;
make</userinput></screen>
<para>
This package does not come with a test suite.
</para>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>make install</userinput></screen>
<!-- following is (now) automatically installed
install -v -m644 conf/10-radeon.conf \
$XORG_PREFIX/share/X11/xorg.conf.d -->
</sect3>
<!--
<sect3 id="ati-glamor-accel">
<title>Glamor Acceleration</title>
<para>
Glamor is an acceleration library which uses cards' 3D capabilities
to accelerate 2D rendering. Glamor acceleration is either required
or used by default for all R600 and later GPUs. To see which GPUs are
in these categories, read the <ulink url="&radeon-marketing-names;">
Decoder ring for engineering vs marketing names</ulink>.
</para>
<para>
Please note
that Glamor acceleration can be used with other chips as well, from the
R300 onwards. On at least some Northern Islands chips it is beneficial.
</para>
<para>
Glamor acceleration is not enabled by default for chipsets that don't
use "radeonsi" Gallium3D driver. You have to use an
<filename>xorg.conf</filename> file to enable it. To enable
Glamor for cards other than "Southern Islands" and later, create the
following file in
<filename class="directory">${XORG_PREFIX}/share/X11/xorg.conf.d/</filename>
as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>cat &gt;&gt; ${XORG_PREFIX}/share/X11/xorg.conf.d/20-glamor.conf &lt;&lt; "EOF"
<literal>Section "Device"
Identifier "radeon"
Driver "ati"
Option "AccelMethod" "glamor"
EndSection</literal>
EOF</userinput></screen>
</sect3>-->
<!--
<sect3 role="commands">
<title>Command Explanations</title>
<para>
<command>install -v -m644 conf/10-radeon.conf ...</command>: this
ensures that the radeon driver can be loaded automatically even if
the ati wrapper driver has not been installed.
</para>
</sect3> -->
<sect3 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Xorg Drivers</segtitle>
<seglistitem>
<seg>
ati_drv.so and radeon_drv.so
</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect4">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="ati_drv">
<term><filename class="libraryfile">ati_drv.so</filename></term>
<listitem>
<para>
is a wrapper driver for ATI video cards that autodetects ATI
video hardware and loads the radeon, mach64 or r128 driver
depending on which video card is in use
</para>
<indexterm zone="xorg-ati-driver ati_drv">
<primary sortas="c-ati_drv">ati_drv.so</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="radeon_drv">
<term><filename class="libraryfile">radeon_drv.so</filename></term>
<listitem>
<para>
is an Xorg video driver for ATI Radeon based video cards
</para>
<indexterm zone="xorg-ati-driver radeon_drv">
<primary sortas="c-radeon_drv">radeon_drv.so</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect3>
</sect2>