We are still actively working on the spam issue.

Radeon

From InstallGentoo Wiki
Revision as of 19:08, 1 October 2016 by Galactus (talk | contribs) (What should I expect?: - removed; DRI3 is the default now)
Jump to: navigation, search
Xf86-video-ati

Radeon is the Linux open-source graphics driver for AMD/ATI Radeon graphics cards that is often replaced by fglrx due to seemingly poor 3D acceleration.

The performance issues are generally caused by generic Xorg profiles which have to cater to a myriad AMD GPUs with a different feature-set and capabilities, forcing them to only enable features that are common to most cards, or none at all (thus, the driver works as is).


Building from source

This guide will attempt to improve 3D acceleration (or outright enable it, if it's disabled) by making use of the new feature-set, namely, DRI3.

Warning: This is quite bleeding edge and might not work. Should it fail, you will be on your own.

Before starting

Check your cards feature-set: https://wiki.freedesktop.org/xorg/RadeonFeature/#index6h2 "Decoder ring for engineering vs marketing names" will tell you what model your card actually is.

Back your xorg.conf up by issuing sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf~

Requirements & dependencies

`--  media-libs/mesa  (>=11.0, preferably -git[1])
`--  x11-libs/libdrm  (>=2.4.58, preferably -git[2], since this is the library DRI uses)
`--  x11-libs/libpciaccess (>=0.8.0)
`--  x11-base/xorg-server (ideally, >=1.17)
`--  x11-libs/glamor (>=0.6)
`--  virtual/udev
`--  x11-proto/fontsproto
`--  x11-proto/randrproto
`--  x11-proto/renderproto
`--  x11-proto/videoproto
`--  x11-proto/xextproto
`--  x11-proto/xf86driproto
`--  x11-proto/xproto
`--  sys-devel/automake  (>1.15)
`--  sys-devel/autoconf  (>=2.69)
`--  sys-devel/libtool  (>=2.4)
`--  sys-devel/m4
`--  x11-misc/util-macros  (>=1.18)
`--  media-fonts/font-util  (>=1.2.0)
`--  virtual/pkgconfig
`--  x11-proto/glproto
`--  x11-proto/dri2proto
`--  x11-proto/dri3proto
`--  x11-proto/xineramaproto

Certain package managers can automatically build the dependency tree for you. However, you ought to double check to make sure the above requirements coincide, in terms of versions.

  • Aptitude: run sudo apt-get build-dep xserver-xorg-video-ati;
  • Yum: run sudo yum-builddep xorg-x11-drv-ati;
  • Portage: emerge the actual driver to satisfy all dependencies;
  • BUILDPKG (Arch): run sudo makepkg -s xf86-video-ati.

Compiling

  1. git clone git://anongit.freedesktop.org/xorg/driver/xf86-video-ati
  2. cd xf86-video-ati
  3. ./autogen.sh --prefix=/opt/xorg
  4. make
  5. sudo make install

Afterwards, edit:

/etc/X11/xorg.conf
Section "Files"
  ModulePath "/opt/xorg/lib/xorg/modules,/usr/lib/xorg/modules"
EndSection

Make sure you have these as well:

Section "Module"
  Load "dri"
  Load "dbe" # Double buffer extension // See compatibility on features page
  Load "glx" # OpenGL X protocol interface // See compatibility on features page
  Load "extmod" # Misc. required extension // See compatibility on features page
EndSection
    
Section "DRI"
  Group        "video"
  Mode         0666
EndSection

Then, edit:

/etc/X11/xorg.conf.d/20-radeon.conf
Section "Device"
  Identifier "radeonVGA"
  Driver "radeon"
  Option "AccelMethod" "Glamor" # See compatibility on features page
  Option "DRI3" "on" # Compatibility not very well documented, remove it if it fails
  Option "EnablePageFlip" "on"
EndSection

Feel free to run sudo chattr +i /etc/X11/xorg.conf to keep X from overwriting this (chattr -i will undo this).

Example xorg.conf: http://pastebin.com/raw/aE3e21Bn

IMPORTANT: Recompiling the driver will become a necessity after each major X upgrade (eg: 1.16 --> 1.17, not 1.16 --> 1.16.4), due to ABI changes.

Testing

To ensure DRI3 is enabled, run cat /var/log/Xorg.0.log | grep -i DRI3. Output should be as follows:

[    14.031] (**) RADEON(0): Option "DRI3" "on"
[    16.723] (**) RADEON(0): DRI3 enabled

External links