Having used both AMD, Intel and Nvidia graphics, I believe it is a harmful myth that AMD drivers are perfect and Nvidia’s proprietary driver is rubbish. The advantages of AMD come down to: more mature Wayland support; VA-API support; and Gamescope support, although Nvidia is working on this. Additionally, AMD drivers are integrated into the kernel and are therefore more convenient than Nvidia’s dkms-based solution – they don’t require rebooting after an update, for example.
However, there are two serious drawbacks to AMD graphics/drivers: streaming and GPU compute. Firstly, AMD does not have an h.265 hardware encoder. Moreover, AMD’s h.264 encoder is objectively worse than NVENC or Quicksync in terms of SNR. There is also no AMD equivalent to gpu-screen-recorder.
The final elephant in the room is GPU compute. There’s no nice way to put this: ROCm is a complete clusterf. The newer version of ROCm has no support for Polaris cards 1 (RX 580/480). It also has no support for RX 5000 series GPUs, and it only supports RX 6800/XT from the RDNA2 lineup 2. That means the RX 6700 XT, a 540 euro GPU as of the time of writing, is completely useless for Tensorflow. There is no working OpenCL support in the open source drivers right now 4. And the AMD proprietary drivers are an even bigger pain the ass to install than Nvidia ones, as they are targeted only to support RHEL/CentOS and (old) Ubuntu LTS versions 3.
AMD actually has better support for ML applications under Windows at this point, thanks to DirectML, which shows that they really don’t care as much about Linux as you might be led to think. A cynic might say they only care when Valve, Intel and Mesa developers write their drivers for them.
TL;DR: AMD is garbage if you want to do Machine Learning and bad for streaming. It is wrong to direct new Linux users into purchasing AMD cards if you don’t know what their intended use-case is, because people use their GPUs for more than just gaming, believe it or not.
SOCIAL SHARE CARD GENERATOR