I am going to buy a new graphics card and can’t choose between Nvidia and AMD. I know that Nvidia has bad reputation in Linux community but how really it works? And I heard recently their drivers got better. What can you recommend?
P. S. I don’t want any proprietary drivers (so I am talking about Nouveau or any other FOSS Nvidia driver if it exists)
I don’t want any proprietary drivers
So then you don’t want any NVIDIA.
The AMD open source Linux driver performs better than their Windows driver. And there is no proprietary AMD Linux driver, the official AMD driver for Linux is open source.
there is no proprietary AMD Linux driver
I mean, there is. It just isn’t recommended for most users.
didn’t know this. is it no good then? does it have the HDMI 2.1 driver missing from the open source driver?
It’s the pro driver for workstation use. If you are gaming then you don’t need it. The gaming driver is only open source
the driver is called AMDGPU PRO. it sits on top of the normal driver, and contains stuff specific to high performance compute and workstation workloads. i think it’s a requirement for properly fast ROCm but i’m not sure.
The proprietary part is in the userspace. For the kernel, they use the same open source base.
deleted by creator
Both work, just in different ways. I think AMD’s value proposition is better on Linux but if you were choosing between a 6700XT and a 4080 (for sake of example) of course the latter is still gonna be faster despite the drivers being a bit weirder to manage
The only reason I still go Nvidia is because I self host AI, which afaik takes advantage of CUDA and just runs overall better on Nvidia cards, or at the very least is easier to set up. Really, the top reason is that it’s the devil I know right now.
If I didn’t self host AI, I would 100% go AMD. Especially if you don’t want to use proprietary drivers. That being said, my old gaming laptop runs NixOS with Nouveau and there have definitely been improvements since I first tried it years ago, but I don’t do much gaming on it. It’s more a TV media station these days (so I can avoid the stupid smart TV bloat agenda, where your TV gets gradually slower and fits less increasingly-bloating apps over time).
If it’s just about self-hosting and not training, ROCm works perfectly fine for that. I self-host DeepSeek R1 32b and FLUX.1-dev on my 7900 XTX.
You even get more VRAM for cheaper.
ROCm
I’m curious. Say you are getting a new computer, put Debian on, want to run e.g. DeepSeek via ollama via a container (e.g. Docker or podman) and also play, how easy or difficult is it?
I know that for NVIDIA you install the (closed official) drivers, setup the container insuring you get GPU passthrough, and thanks to CUDA from the driver, you’re pretty much good to go. Is it the same for AMD? Do you “just” need to install another package or is there more tinkering involved?
I’m curious. Say you are getting a new computer, put Debian on, want to run e.g. DeepSeek via ollama via a container (e.g. Docker or podman) and also play, how easy or difficult is it?
On the host system, you don’t need to do anything. AMDGPU and Mesa are included on most distros.
For LLMs you can go the easy route and just install the Alpaca flatpak and the AMD addon. It will work out of the box and uses ollama in the background.
If you need a Docker container for it: AMD provides the handy
rocm/dev-ubuntu-${UBUNTU_VERSION}:${ROCM_VERSION}-complete
images. They contain all the required ROCm dependencies and runtimes and you can just install your stuff ontop of it.As for GPU passthrough, all you need to do is add a device link for
/dev/kfd
and/dev/dri
and you are set. For example, in a docker-compose.yml you just add this:devices: - /dev/kfd:/dev/kfd - /dev/dri:/dev/dri
For example, this is the entire Dockerfile needed to build ComfyUI from scratch with ROCm. The user/group commands are only needed to get the container groups to align with my Fedora host system.
spoiler
ARG UBUNTU_VERSION=24.04 ARG ROCM_VERSION=6.3 ARG BASE_ROCM_DEV_CONTAINER=rocm/dev-ubuntu-${UBUNTU_VERSION}:${ROCM_VERSION}-complete # For 6000 series #ARG ROCM_DOCKER_ARCH=gfx1030 # For 7000 series ARG ROCM_DOCKER_ARCH=gfx1100 FROM ${BASE_ROCM_DEV_CONTAINER} RUN apt-get update && apt-get install -y git python-is-python3 && rm -rf /var/lib/apt/lists/* RUN pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/rocm6.3 --break-system-packages # Change group IDs to match Fedora RUN groupmod -g 1337 irc && groupmod -g 105 render && groupmod -g 39 video # Rename user on newer 24.04 release and add to video/render group RUN usermod -l ai ubuntu && \ usermod -d /home/ai -m ai && \ usermod -a -G video ai && \ usermod -a -G render ai USER ai WORKDIR /app ENV PATH="/home/ai/.local/bin:${PATH}" RUN git clone https://github.com/comfyanonymous/ComfyUI . RUN pip install -r requirements.txt --break-system-packages COPY start.sh /start.sh CMD /start.sh
Very cool, thanks for the in depth explanation.
This is very good to know. I read that ROCm can be a pain to get up and running, but I read that months ago and this space is moving fast. I may switch over when I can if this is the case. My 3080 is feeling it’s age already. Thank you!
That used to be the case, yes.
Alpaca pretty much allows running LLM out of the box on AMD after installing the ROCm addon in Discover/Software. LM Studio also works perfectly.
Image generation is a little bit more complicated. ComfyUI supports AMD when all ROCm dependencies are installed and the PyTorch version is swapped for the AMD version.
However, ComfyUI provides no builds for Linux or AMD right now and you have to build it yourself. I currently use a simple Docker container for ComfyUI which just takes the AMD ROCm image and installs ComfyUI ontop.
Definitely bookmarking this reply. I haven’t tried ComfyUI yet, but I’ve had it starred on Github from back when it was fairly new. I’m no stranger to building from source, but I have not dived into Docker yet, which is becoming more and more of a weakness by the day. Docker is sometimes required by some really cool projects and I’m missing out.
If those are your criteria, I would go with AMD right now, because only the proprietary driver will get decent performance out of most nVidia cards. Nouveau is reverse-engineered and can’t tap into a lot of features of newer cards especially, and while I seem to recall there is a new open-source driver in the works, there’s no way it’s mature enough to be an option for anyone but testers.
If you’re on Linux AMD is clearly superior because NVidia has Linux performance issue compared to Windows so you’re ending up paying more for less. However NVidia has the monopole for a reason their product are superior but at what price ? Also if you want to avoid proprietary drivers AMD gets the win too.
I do think AMD is the better option for anyone that spend less than 800-1’000$ on a GPU even for Windows gamers. Personnaly I have made the switch from NVidia to AMD 2 years after ditching Windows for Linux, Never looked back even though Cyberpunk2077 looks amazing on NVidia RTX and some other things.
I have upgraded last year to a RX 7800 XT and have no regrets on spending that money.
When was the last time you used an Nvidia card under Linux? There are no performance issues compared to windows, haven’t been any in YEARS.
When playing the exact same games on the exact same machine with NVidia GPU you can get 8-20% better performance on Windows compared to Linux. On the AMD side you can get up to 5% boost on Linux, that’s just the reality. Though you could also loose 5% performance compared to Windows in some games.
And to answer your question it should have been around 2022.
Where are you getting these numbers? I have a 3080, used a 1080Ti before, and though my last direct comparison was a while (like a few years) ago, I had more like 3-5% difference in FPS in the games I tested, at most 10% in RS2 Vietnam, but this ultimately turned out to be a CPU bottleneck. I would assume (and, reading reviews on reddit, this seems confirmed) that the drivers have mostly gotten better since then.
Well it’s from my experience during lockdown when I started to dualboot Linux and Windows with an NVidia GPU and some benchmarks I’ve seen on YouTube recently.
How a CPU bottleneck could happen on an OS and not on another ?
Oh it happens on Windows too, but wine adds some overhead, so you have less headroom on Linux. Same goes for DXVK / VKD3D - they add some CPU overhead.
Legit
AMD. Unless you need blender.
I am AMD and use Blender just fine. What do you mean?
Cuda and optix are anecdotally three times faster at rendering than any amd solution.
That doesn’t mean amd doesn’t perform well though, its personal preference on how much that time saving is worth it.
AMD-HIP works just great for me.
“Works great” and “Could work 3x faster” matter to a lot of people.
Well then you’re just nagging about hardware, which isn’t the issue being spouted on here. Blender works with AMD hardware just great, which OP was saying is not the case.
Blender works with AMD hardware just great
No it doesn’t. That’s our point. It works 30% as fast as its competition. That’s not “working just great”…it’s working slowly and like shit. The whole damn point of a GPU is to accelerate that work. The work that your AMD-HIP is doing in blender, could take an hour, and the NVidia would pump it out in 20 minutes.
You’re bitching about hardware capabilities. Read OP’s comment and stop showing up just to comment if you can’t provide anything constructive except whining pedantry.
Blender supports cuda for much of its gpu work. It will work with amd. And there are projects allowing gpu rendering via amd. But they are (and have been for a while) a long way behind the cuda stuff.
For major rendering projects nvidia is still the fastest set up to use.
I don’t want any proprietary drivers (so I am talking about Nouveau or any other FOSS Nvidia driver if it exists)
In that case AMD, no doubt about it.
If you were considering proprietary drivers it would still be AMD but there would be some discussion about it.
Only the kernel bindings are open source. The actual driver is still closed source. So that only leaves you with AMD and Intel.
I have an RTX 4070 ti super and it works great. But I use proprietary drivers.
Do you play a lot of games with ray tracing, or do you care about that stuff? If you don’t then AMD, it’s better bang for the buck for rasterization and works better on Linux.
Does nouveau support RTX?
I haven’t been on NVIDIA for a while so i couldn’t tell for sure. I know that nvidia raytracing works on linux, but I’m not sure how it goes with the open drivers. If the noveau performance and stability is still somewhat lacking in general, then if both open drivers and raytracing are important to you then AMD is still the better bet.
If by that you mean ray tracing, no. Nouveau can’t and won’t ever, NVK might but it will take time.
NVIDIA is more problematic than AMD on Linux. So AMD.
In my experience older nvidia cards (~5 years old +) work fine, newer ones are very hit-or-miss
Amd cards of any age work pretty much perfectly as far as I can tellThough if the drivers not being proprietary is a hard line for you then amd is your only option really
Everyone’s gonna suggest AMD here because of your requirement of no-proprietary drivers; but unless you’re some sort of high-value target to a foreign government, I honestly choose the more pragmatic route of just using the proprietary NVidia driver and going NVidia. Especially if I’m not budget constrained on card.
The fact of the matter is, AMD has just simply fallen behind. NVidia cards are (and have been for like 3 generations now) more performant. There is good reason why they dominate the market right now; they’re just simply better.
It really depends on how far you want to take your zealotry on open source; there are parts of the CPU microcode that can see everything you do. Those are proprietary. Your bios is proprietary. You’re probably running 100 different proprietary blobs even IF you choose not to use the drivers that NVidia supplies; so why hobble yourself with a slower card that doesn’t have CUDA instructions? (often also very good for AI work if you are interested in that at all)
I certainly understand wanting to push that direction for the sake of pushing that direction but - is performance and stability less important than using a proprietary driver?
I often hear how prprietary drivers breaks and have a lot of issues. But AMD card usally work very stable
I wouldn’t say the proprietary nvidia drivers are any worse than the open-source AMD drivers in terms of stability and performance (nouveau is far inferior to either). Their main issue is that they tend to be desupported long before the hardware breaks, leaving you with the choice of either nouveau or keeping an old kernel (and X version if using X—not sure how things work with Wayland) for compatibility with the old proprietary drivers.
It was the opposite experience for me last time I tried an AMD card. But that was like 8 years ago.
Anything but Nvidia
My two cents.
I have quite a few Nvidia GPUs I still use (2080,3080ti,3090) but recently purchased two AMD cards. I have a 5700xt and 7800xt.
I recently started using Universal Blue Linux as my daily driver on most of my systems. Bluefin for my desktop with Nvidia, Bazzite for my gaming PC with AMD.
They do both work however I have still had more issues with NVIDIA than AMD. For example, running games tends to be buggier but that is specifically an Nvidia driver issue. I’m guessing most hot fixes come out for the windows driver first. For instance, FF7 Rebirth does not render world geometry on Nvidia on Linux. I do not have this problem under AMD
I started purchasing the AMD cards because I was growing tired of waiting for Nvidia stability on Linux.
Is it much better than it was before , yes Do you use Nvidia CUDA apps or AI? Check, that works! Is it still as smooth and seamless as AMD, nope, you’re still going to end up with regressions.
I think it’s only a matter time before Nvidia finally figured this out as they heavily rely on Linux as a platform in their own work. But right now your best user experience overall is going to be on AMD hardware.