Best graphics cards running without non-free firmware blobs?

Kernels & Hardware, configuring network, installing services

Best graphics cards running without non-free firmware blobs?

Postby Gorg » 2019-10-24 10:04

Hi everyone,

I've recently gotten a second display and had to upgrade my old graphics card (Radeon HD 4550) as well, because it couldn't handle two HD screens at the same time without causing stuttering with animations/scrolling.

I decided to switch to a new Radeon R9 380 model running on the amdgpu driver, but found out after installing it that the fans ran on 100% all the time and there was no second video output at all (on Buster). Even after installing the latest firmware blobs for it, it still produces kernel errors ("Failed to get encoder_cap_info from VBIOS with error code 4!"). While the card appears to be "working", I don't like the fact that I have to run non-free firmware now and I still get errors.

Can somebody here offer a bit of an overview of how the video drivers work in Debian? Do all new amdgpu-dependent cards require firmware blobs to function? Or was I just unlucky? I don't think I've ever installed non-free firmware on my old Radeon HD. Do the radeon-driver cards all work out of the box? And how is the current situation with Nvidia/nouveau in that regard?

If you would like to share personal experiences in case you're running a card with free drivers and multiple displays, I'd also be interested in that. Since I don't really need all the performance of the 380, I'm considering switching to another model that plays nicer with FOSS only.
Posts: 14
Joined: 2019-10-24 09:30

Re: Best graphics cards running without non-free firmware bl

Postby CwF » 2019-10-24 14:05

I guess my system qualifies(d). I'm not sure this isn't a moving target though. I still run a 4GB 4 port Nvidia 750Ti with nouveau. I have run it with up to 4 monitors, a long time at 3, right now 2. All monitors are 1920x1080 or 1200. It's currently stretch without any non-free.

While it works, I'm on it now, I'm not sure I'd recommend it.

First off, this is only my second debian machine I'd ever built. Originally, jessie did not work, but it didn't matter since the system had 3 video cards. Lots of background there, but irrelevant, upgraded to stretch and now 9.9ish it works ok. In recent threads here I've mentioned that the situation with nouveau may have changed for buster.
This system has booted OS #1 that is now buster and it had an issue I didn't need to fix and haven't revisited since. I boot the machine with that alternate OS, or another, in order to backup image the OS (#2) disk. Last time I used buster #1 it stalled with a vga memory error , paused for minutes, then worked. I left the issues alone. So under buster the 750Ti might 'want' firmware, but appears to not 'need' it. So no guarantee in buster since I really didn't test it much.

Other than the jessie/stretch/buster question I would warn that my example has excessive cpu to work with. Yes it will pump multiple HD streams to multiple monitors, I suspect it might choke if I had lesser or fewer cpus.

In another thread months ago I was reminded I ran an ancient Quadro FX1500 through some test on a buster image without firmware and it seemed BETTER than the 750Ti. This was a pre-release buster, and can't be right, but I haven't revisited that either, It did drive dual 1920x1200 way better than I expected. That machine is gone but I built a slightly better one that might end up with the FX1500 again. It's not debian and currently has an AMD. Again, plenty of cpu power there.

Otherwise I wonder WHY? I found these solutions more by accident than intention. The primary video performance under debian has never been a focus for me since these machines run secondary OS's with passed video cards to even more monitors. Those secondaries do the magic, and it's worked very well, so I have not pursued debian video performance...

Until recently! So I will revisit these nvidia cards out of curiosity, they are on the chopping block. AMD's require the blob from 5400 up I believe. I've run a 5450, 7750, 78xx and 79xx, using amdgpu from bullseye and prefer them over the nvidia's in buster. They give me my cpu's back!

I'm slow, but my original jessie (OS#1) now buster is in a new home and not complete. Even more cpu's and room for 3 pci-e 3@16 slots with 3 AMD gpu's. I expect the host performance to be much better.

I haven't bothered with nvidia drivers since jessie.

So if you got something out of all that, we need someone else to confirm what changes buster brought to nouveau. I'll get to the answer, but not any time soon...In any case, I assure you, Debian all free does not fully exploit the potential of the 750Ti, and that's getting to be an old card. But with strong cpu's it does work.
Posts: 646
Joined: 2018-06-20 15:16

Re: Best graphics cards running without non-free firmware bl

Postby Gorg » 2019-10-25 22:23

Hi CwF,

thank you for sharing your experiences, this is definitely interesting!

When you write that the Nvidia cards running the OSS-driver pull on your CPU performance, what kind of workloads do you mean, exactly?

I personally don't demand a lot out of my GPU performance, except for a dual-display setup with tear-free, smooth animations and a live wallpaper background. Ironically enough, bad performing video cards also impact audio recording/monitoring performance, which is one of my main use-cases (I will usually turn off some eye-candy for that).

Anyhow, I've spent a couple of minutes at work after closing time this friday and booted up some of our machines with Debian 10 KDE live systems. I work IT part-time in a community center and have access to an assortment of "obsolete" hardware. I should have thought of this before, but I guess this is better than nothing.

I've managed to test six machines/GPUs so far:

- Nvidia GTX 1050 Ti 4 GiB DDR5 (GP107): Loads DE and configures dual displays automatically, dmesg shows the following errors, yet desktop performance seems to be fine:
Code: Select all
nouveau 0000:0f:00.0: Direct firmware load for nvidia/gp107/gr/sw_nonctx.bin failed with error -2
nouveau 0000:0f:00.0: gr: failed to load gr/sw_nonctx
nouveau 0000:0f:00.0: DRM: failed to create kernel channel, -22

- Nvidia GTX 660 3 GiB DDR3 (GF116): Loads DE and configures dual displays automatically, no errors. Desktop performance is perfectly fine.

- Nvidia GTX 550 Ti 1 GiB DDR5 (GF116): Loads DE and configures dual displays automatically, no errors. Desktop performance seems fine, I think I noticed a little bit of animation lag, but nothing severe, may have been tied to the CPU/live system.

- Nvidia GT 610 2 GiB DDR2 (GF119): Loads DE and configures dual displays automatically, no errors. As expected, with both displays and active live wallpapers, the desktop becomes quite laggy. The rest of the system is the exact same as the 550 Ti's.

- Nvidia GT 130: This system was the weakest of all and had only one display connected, so I didn't test it extensively, but there were no errors and the DE and display loaded up fine. However this card could not handle a single live wallpaper desktop very well.

- AMD Radeon 6950: Now, this was BAD. The splash-screen was automatically started in nomodeset without graphics and I had to manually load the DE with "startx", similar to my R9 380. The displays were then mirrored and had an extremely low resolution. I got this error:
Code: Select all
[drm:radeon_pci_probe [radeon]] *ERROR* radeon kernel modesetting for R600 or later requires firmware installed

Though I haven't done any real performance tests and have more hardware to go through, so far, the tendency is quite clear and confirms your expectations. What's interesting is that I didn't have to install any firmware for my old HD 4550 and it at least worked well enough, even though that's an R700 card. I will try to get more Radeon samples, in case this was just bad luck. I've been using AMD cards on Linux for the last years, because I had some bad Nouveau experiences in the past, but this is like a night and day difference.
Posts: 14
Joined: 2019-10-24 09:30

Re: Best graphics cards running without non-free firmware bl

Postby CwF » 2019-10-26 15:20

Thanks to a power outage that lasted longer than I wanted to deal with I took the opportunity to boot my 750Ti equipped box with my amd versioned buster OS. It did give the same delay as last time, initializing all displays and taking a few minutes to decide where to post the Luks prompt. This buster is current without any xorg config or firmware blobs for the nvidia, yes it has amd firmware. It came up with a mirror for the two displays connected to the 750Ti. It basically works similar to stretch.
Gorg wrote:When you write that the Nvidia cards running the OSS-driver pull on your CPU performance, what kind of workloads do you mean, exactly?

As far as tear free, my 750Ti on xfce tears. However I blame the codecs used now not the hardware. Hundreds of 480p dvd's made 15 years ago don't tear at all. Some tv recordings (5-11 tuners) tear some don't, some handbrake products do, some don't.

No way I'd do a live desktop, because the system can be quite loaded. It does everything in vm's, tv, radio, browsing, and a full workstation vm with it's own 6 E5 cores, 24 GB, AMD 4GB Pitcairn and storage. The host uses the 750Ti and E5 xeon's.

Compared to an amd with firmware the nouveau 750Ti simply sucks. Games, HD video, whatever, the 750Ti does the job while adding 10-15C to the cpu's, while itself staying at 48 or so, flat. The amd swaps that, cpus cool while the gpu takes the heat, and the performance is better. To be fair, the nouveau driver is stable and does the job, and doesn't interfere with other things going on, so that's why I use it.

On the same 750Ti is a secondary monitor usually with a browser in a vm, often streaming something. That adds insult to injury! The performance is picked up by the cpus, but it works.

On the same machine you can do whatever XP does on a K600 Quadro or one of the amd's. It has 2 heads, and I use it for OBDII software. This I can't move to debian or wine. This vm can game too, and has its own usb and serial for reaching back in time to odd equipment.

There's some home control going on, I may get this moved to a debian. the HDRadio control I might also. Most the TV functionality I have moved to debian, no Kodi, just gnutv stuff and a really big antenna with ~74 channels, no cable or satellite.

There's plenty of timeshifting tv going on. There can be multiple HD action somewhere on the system and things rarely disturb each other.

This is an everything computer. Usually only one running though, I have many X8D and X9D supermicro's. There are multiple ssd's and it does act as many computers at once. With such a segmented system it's very easy to tell when things are using the cpu's or a gpu, or not.

It would be nice if all this load was picked up by the 750Ti. It's more than capable but it doesn't.
Maybe things will improve with nvidia firmwares adding performance, but my next machine is almost ready and should work with 3 amd's, I expect even better performance than the current nvidia x2 +1 amd...

My first build of this magnitude had 7 pci-e 16 slots...Seven, all occupied, it wasn't enough! If Quad socket cpu's had more clock, I'd build a mezzanine system. A competing idea is sub-chassis. I'm not close to done.

When the power went out, the machine had 6+ vm's going and luckily I noticed a drive light was in a rhythm, crap, it's recording...I did remember what it was doing so had to make it to 1:30, minutes away. At 4 beeps I lost monitors, I waited. At 1:31 it went to 8 beeps, a minute or so from a solid tone...You can imagine it takes a minute to shut down - I hit the button, drive lights go solid, I see and hear gadgets cycle, telling me that a vm just shut down... Then no drive light, and the last click, an automated completely clean shutdown! Over an hour later power was back, so I played around with stuff, took the opportunity to image the host OS ssd to hard disk, boot some alternatives...Back up hours later it will be up 24/7 until the next external disturbance.

So, that kind of load.
Posts: 646
Joined: 2018-06-20 15:16

Re: Best graphics cards running without non-free firmware bl

Postby Gorg » 2019-10-30 20:43

Okay, so what I've found out until now is that Nouveau support for Nvidia's Maxwell chips and onward is lacking some basic features, which might explain the experiences you've made with the GTX 750. What makes this even more confusing is that, like AMD, Nvidia does have some rebooted models with older chips in the same series as newer ones and vice versa. The Geforce 700 series has almost only Kepler chips, which should work well with Nouveau, except for the GTX 745 and 750 (Ti) specifically, which are newer. There are more details to be found on their site:

I've had the chance to test the GTX 550 Ti and 660 performances a bit more in-depth and they really seem fine. I didn't directly compare them with the proprietary driver, however.

On the other hand, I managed to try out a Geforce 230, a Radeon HD 5570 and an R7 240 with the expected results. The Radeons had some display issues without proprietary firmware, while the Geforce worked fine, although again, a less powerful model.

I wish I had one of the Radeon X-models to test from before the R600 series, just out of curiosity, but ironically, those are rather difficult to come by in the wild today.

So as a summary, what I gathered so far:

Nvidia: Nouveau works flawlessly out of the box for Chips below Maxwell and appears to perform "well enough". Above might still work, but produce (non-fatal) errors and/or have reduced performance.
AMD: Cards above the Radeon X-series need proprietary firmware for anything more than a single non-HD display with ultra low performance. Radeon-driver cards (R600-CGN 1.2/2) generally seem to perform well with proprietary firmware. AMDGPU-driver cards (GCN 3+) with proprietary firmware perform well, but may cause (non-fatal) errors and can at least still suffer power management issues.

I don't know how much of this is common knowledge, but maybe this is a bit more concrete than the general information found on the issue.

If anybody else would still like to weigh in, I'm curious to learn more about certain models.
Posts: 14
Joined: 2019-10-24 09:30

Return to System configuration

Who is online

Users browsing this forum: No registered users and 10 guests