Advanced Micro Devices

From LinuxReviews
Jump to navigationJump to search
Amdlogo.png

Advanced Micro Devices (AMD) is an American computer electronics corporation who designs and sells computer processors, motherboard chipsets and graphics card chips. Their chip designs are manufactured at TSMC and GlobalFoundries.

GNU/Linux Support

Amd-information.jpg

AMD provides very good kernel and user-space support for their graphics cards. AMD submits kernel support for upcoming graphics cards around three months before the cards are released. They sometimes submit kernel patches with improvements for up to ten year old graphics cards.

AMD is very involved with development of the Mesa graphics stack. OpenGL and Vulkan is generally very well supported on AMD graphics cards.

AMD develops and maintains a GPU compute framework called Radeon Open Compute which can be used to get OpenCL 2.0 support on newer AMD GPUs. ROCm is, unlike Mesa, not bundled by any GNU/Linux distributions. Those who want to use it have to install it separately.

AMD is notably absent in other areas. As an example, the sensors on partner motherboards for Ryzen processors tend to have chips sensors like it8792 and it8686 that are not supported by the Linux kernel (though there is a unmaintained and unsupported it87 driver fork available). You will rarely, if ever see anyone from @amd.com take the lead in areas like watchdog drivers, hardware sensor drivers or any other drivers for chips and features on their motherboard chipsets. AMD's contributions to both the Linux kernel and user-space programs is limited to graphics and GPU related contributions.

AMD Graphics

Amd-girls-false-promises.jpg
AMD representatives.

AMD graphics cards are very well supported on GNU/Linux systems. The OpenGL and Vulkan support, provided by the Mesa graphics stack, is very good. OpenCL 2.0 is not supported out of the box on any Linux distributions. Those who want to use AMD graphics cards for OpenCL 2.0 and other compute applications have to manually install the Radeon Open Compute framework.

AMD graphics cards tend to lack support for free and open video encoding standards like VP9 and AV1. The standards they do support can be used under Linux using the VA API.

See AMD graphics for detailed information about AMD graphics cards, kernel options, driver tips and other information about AMD graphics chips.

AMD Processors

AMD processors tend to work well under Linux but there has been some huge issues with several of them at launch like not being able to boot Linux distributions at all.

Amd-mousepad-beach-001.jpg

First generation Ryzen CPUs

First generation Ryzen CPUs have an issue that can cause random hangs on GNU/Linux when the CPU is idle. This problem was later partly fixed with BIOS updates. Users of first generation Ryzen CPUs should:

  • make sure a BIOS setting named something like Power Supply Idle Control or Idle Power (depends on BIOS) is set to Typical Current Idle (the choices are usually Low Current Idle, Typical Current Idle and Auto)
  • add idle=nomwait to the kernel boot parameters. idle=nomwait will, according to admin-guide/kernel-parameters.txt, "Disable mwait for CPU C-states" (mwait is a special instruction used for power management).

The combination of the above fixes makes the "hangs when idle" problem with first generation Ryzen chips (and some early EPYC chips) go away. The machine will use slightly more power at idle with those settings.

Early first generation Ryzen CPUs had a completely different issue which can cause gcc to segfault when the CPU is under 100% load (compiling with make -j$(nproc) or -j12). AMD offered refunds for this particular problem. Those who still have affected chips can create a file called /etc/sysctl.d/61-disable-aslr.conf with kernel.randomize_va_space = 0 to work around that issue, it only manifests itself if ASLR is enabled.

Purchasing Advice

AMD CPUs are generally reliable and they do work very well with GNU/Linux - but you should NOT buy a brand new CPU generation from AMD at launch. Waiting until a few months after launch is a good idea; it ensures that AGESA BIOS updates or kernel fixes for any issues present at launch have become available.

Add your comment
LinuxReviews welcomes all comments. If you do not want to be anonymous, register or log in. It is free.