AMDGPU(4)

πŸ“¦
version 25.0.0 Β· 4 versions
, in arch rolling, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, ubuntu resolute, ubuntu stonking

πŸ’– AMDGPU(4) β€” the glow-up era of AMD RADEON drivers πŸ’–

okay bestie, sit down, hydrate, because we're talking about amdgpu, the Xorg driver for AMD RADEON-based video cards, and it's a whole vibe. this page ships with the xf86-video-amdgpu package, so if you see that name floating around, that's us. 🫢


✨ NAME ✨

amdgpu β€” the AMD RADEON GPU video driver. that's it, that's the name, no notes. πŸ’…


🌸 SYNOPSIS 🌸

you drop this into your config and the driver just knows what to do:

Section "Device"
  Identifier "devname"
  Driver "amdgpu"
  ...
EndSection

πŸ¦‹ DESCRIPTION πŸ¦‹

so amdgpu is an Xorg driver for AMD RADEON-based video cards, and here's what it's serving:

  • Support for 8-, 15-, 16-, 24- and 30-bit pixel depths β€” range, she has it πŸŽ€
  • RandR support up to version 1.4
  • 3D acceleration

πŸ‘‘ SUPPORTED HARDWARE πŸ‘‘

the amdgpu driver supports SI and newer families' video cards. if your card is SI or younger, you're in. periodt. ⭐


πŸ’œ CONFIGURATION DETAILS πŸ’œ

first things first: for the general config tea, go read xorg.conf(5). this section is only about the stuff that's specific to this driver. no cap.

the following driver Options are supported:

  • Option "SWcursor" "boolean" β€” selects software cursor. the default is off. lowkey old-school but it's there. πŸ“
  • Option "Accel" "boolean" β€” enables or disables all hardware acceleration. the default is on. yes, ALL of it, this is the big red button. πŸ”₯
  • Option "ZaphodHeads" "string" β€” specify the RandR output(s) to use with zaphod mode for a particular driver instance. > heads up: if you use this option you must use this option for all instances of the driver. for example: Option "ZaphodHeads" "LVDS,VGA-0" will assign xrandr outputs LVDS and VGA-0 to this instance of the driver. two heads, two vibes. πŸ™ˆ
  • Option "DRI" "integer" β€” define the maximum level of DRI to enable. valid values are 2 for DRI2 or 3 for DRI3. the default is 3 for DRI3 if the Xorg version is >= 1.18.3, otherwise 2 for DRI2. iykyk. πŸ’«
  • Option "EnablePageFlip" "boolean" β€” enable DRI2 page flipping. the default is on. ✨
  • Option "TearFree" "boolean" β€” sets the default value of the per-output 'TearFree' property, which controls tearing prevention using the hardware page flipping mechanism. TearFree is on for any CRTC associated with one or more outputs with TearFree on. two separate scanout buffers need to be allocated for each CRTC with TearFree on. if this option is set, the default value of the property is 'on' or 'off' accordingly. if this option isn't set, the default value of the property is auto, which means that TearFree is on for rotated outputs, outputs with RandR transforms applied, for RandR 1.4 secondary outputs, and if 'VariableRefresh' is enabled, otherwise it's off. no tears on my watch 😭
  • Option "VariableRefresh" "boolean" β€” enables support for enabling variable refresh on the Screen's CRTCs when a suitable application is flipping via the Present extension. the default is off. πŸ¦‹
  • Option "AsyncFlipSecondaries" "boolean" β€” use async flips for secondary video outputs on multi-display setups. if a screen has multiple displays attached and DRI3 page flipping is used, then only one of the displays will have its page flip synchronized to vblank for tear-free presentation. this is the display that is used for presentation timing and timestamping, usually the one covering the biggest pixel area of the screen. all other displays ("Secondaries") will not synchronize their flips. this may cause some tearing on these displays, but it prevents a permanent or periodic slowdown or irritating judder of animations if not all video outputs are running synchronized with each other and with the same refresh rate. there is no perfect solution apart from perfectly synchronized outputs, but this option may give preferrable results if the displays in a multi-display setup mirror or clone each other. the default is off. πŸ’€
  • Option "AccelMethod" "string" β€” setting this option to none disables use of the glamor acceleration architecture. in that case, all 2D rendering is done by the CPU, but 3D and video hardware acceleration can still work. this is mainly useful for OpenGL driver bring-up. the default is to use glamor. πŸ’…

the following driver Option is supported for glamor:

  • Option "ShadowPrimary" "boolean" β€” this option enables a so-called "shadow primary" buffer for fast CPU access to pixel data, and separate scanout buffers for each display controller (CRTC). this may improve performance for some 2D workloads, potentially at the expense of other (e.g. 3D, video) workloads. > note in particular that enabling this option currently disables page flipping. the default is off. 🌸

🌈 SEE ALSO 🌈

  1. Wiki page: https://www.x.org/wiki/radeon
  2. Overview about amdgpu development code: https://gitlab.freedesktop.org/xorg/driver/xf86-video-amdgpu
  3. Mailing list: https://lists.freedesktop.org/mailman/listinfo/amd-gfx
  4. IRC channel: #radeon on irc.freenode.net
  5. The bugtracker for amdgpu bugs: https://gitlab.freedesktop.org/xorg/driver/xf86-video-amdgpu/-/issues
  6. Submit merge requests: https://gitlab.freedesktop.org/xorg/driver/xf86-video-amdgpu/-/merge_requests

πŸŽ€ AUTHORS πŸŽ€

authors include:

  • Michel DΓ€nzer β€” michel@daenzer.net
  • Alex Deucher β€” alexdeucher@gmail.com

and that's the whole page bestie, every last crumb of it πŸ’– this version is 25.0.0 of xf86-video-amdgpu, from the xf86-video-amdgpu source, dated 25.0.0 β€” go forth and have the most tear-free, glamor-accelerated, main-character-energy X session of your life. slay. πŸ‘‘βœ¨πŸ«Ά