We are still actively working on the spam issue.

Difference between revisions of "Radeon"

From InstallGentoo Wiki
Jump to: navigation, search
m (Compiling)
 
(One intermediate revision by the same user not shown)
Line 3: Line 3:
 
Radeon is part of the [[GNU/Linux|Linux]] open-source graphics driver stack for AMD/ATI Radeon graphics cards that is often replaced by fglrx, the proprietary alternative, due to seemingly poor 3D acceleration and threading (soon to be provided by Mesa).  
 
Radeon is part of the [[GNU/Linux|Linux]] open-source graphics driver stack for AMD/ATI Radeon graphics cards that is often replaced by fglrx, the proprietary alternative, due to seemingly poor 3D acceleration and threading (soon to be provided by Mesa).  
  
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).
+
The stack consists of xf86-video-ati, mesa, and, for some older cards, llvm (to compile the shaders). Some cards support the new AMDGPU driver that replaces this one, as well as mesa.
 
 
To combat this, one must look at the feature matrix to determine what performance oriented options are safe to enable.
 
  
 
==Building from source==
 
==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.''}}
 
{{warning|''This is quite bleeding edge and might not work. Should it fail, you will be on your own.''}}
  
Line 18: Line 15:
  
 
=== Requirements & dependencies ===
 
=== Requirements & dependencies ===
  `--  media-libs/mesa  (>=11.0, preferably -git<sup>[http://www.x.org/wiki/radeonBuildHowTo/]</sup>)
+
  `--  media-libs/mesa  (>=11.0, preferably -git as this will have a major effect on performance, more so than this component<sup>[http://www.x.org/wiki/radeonBuildHowTo/]</sup>)
 
  `--  x11-libs/libdrm  (>=2.4.58, preferably -git<sup>[http://www.x.org/wiki/radeonBuildHowTo/]</sup>, since this is the library DRI uses)
 
  `--  x11-libs/libdrm  (>=2.4.58, preferably -git<sup>[http://www.x.org/wiki/radeonBuildHowTo/]</sup>, since this is the library DRI uses)
 
  `--  x11-libs/libpciaccess (>=0.8.0)
 
  `--  x11-libs/libpciaccess (>=0.8.0)
Line 61: Line 58:
  
 
{{warning|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.}}
 
{{warning|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 {{ic|<nowiki>cat /var/log/Xorg.0.log | grep -i DRI3</nowiki>}}.
 
Output should be as follows:
 
{{bc|<nowiki>
 
[    14.031] (**) RADEON(0): Option "DRI3" "on"
 
[    16.723] (**) RADEON(0): DRI3 enabled
 
</nowiki>}}
 
  
 
== External links ==
 
== External links ==

Latest revision as of 15:39, 14 February 2017

Xf86-video-ati.png

Radeon is part of the Linux open-source graphics driver stack for AMD/ATI Radeon graphics cards that is often replaced by fglrx, the proprietary alternative, due to seemingly poor 3D acceleration and threading (soon to be provided by Mesa).

The stack consists of xf86-video-ati, mesa, and, for some older cards, llvm (to compile the shaders). Some cards support the new AMDGPU driver that replaces this one, as well as mesa.

Building from source

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 as this will have a major effect on performance, more so than this component[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
  4. CFLAGS="-O3 -march=native" ./configure --prefix=/opt/xorg
  5. make -jn , where n is the number of jobs you want to spawn
  6. sudo make install

Example xorg.conf (compulsory reading, since you need to determine the ModulePath under files): http://pastebin.com/raw/aE3e21Bn

Warning: 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.

External links