Sunday, February 06, 2022

Graphics cards for Proxmox servers

In setting up my homelab, I have been buying used graphics cards for a few purposes.
1. For Jellyfin hardware acceleration of video encoding.
2. For my own "game server".
3. To just run desktops on virtual machines.

First, the servers that I have are the Dell Powerdge R720 and R430 (and a R320, but not in use now). The R720 is the main workhorse, and it has 4 full-height slots and 3 half-height (aka low profile) slots. The R430 only has 2 half-height, single width slots. This means the R430 is going to be limited to using single-slot low-profile cards. The PCI slots on the R430 are also rated only for 25W each (even though by PCI standards, they should be able to deliver 75W each), although I think it is not an electrical limit but a thermal one. Still, I try not to exceed this limit by too much.

First, there aren't many single-slot low-profile graphics cards, at least not the newer ones. The Quadro P1000 with 4GB of video RAM is probably the best option in this class, but it has a TDP of 47W. Go down by a notch and there is the Quadro P620 and the P600, both with a TDP of 40W. The entry level for this series is the Quadro P400 (shown below), with a TDP of 30W. All of them share the same form factor, except that the P400 has only 3 mini DisplayPorts while the rest have 4.

 
Looking at other Nvidia 30W GPUs, there is the GeForce GT1030 which comes in a single-slot low-profile form factor. It is actually more or less the same as a Quadro P600, except the GT1030 operates at a higher clock speed. (The photo below shows the card with a half-height bracket, but a full-height bracket is included in the package too.)

The GT1030, however, does not have NVENC, so it doesn't serve as well for video encoding as the Quadro cards. In the end, I got myself a Quadro P400 because it was the only affordable option. So I was using the P400 for Jellyfin video encoding inside the R720 for a while. Recently, though, I managed to get a P600, and have since swapped out the P400 for the P600. The P1000, with 4GB of RAM, is what I really want... but its price, even on the used market, remains high. Meanwhile, I use the GT1030 to get better desktop response from virtual machines. Specifically, it is in my R430 server, and is used when I run any of the virtual machines--Ubuntu, Windows 10, and macOS High Sierra--on that server.

These cards are not going to do well for gaming. Instead, I got a GeForce GTX 1050Ti for quite a good price on Yahoo! Auction. As it is a full-height two-slot card, I installed it in the R720, and pass it through to the Windows VMs which I have on that server.

In my quest to install macOS, I ended up getting a few AMD graphics cards, all used. In line with the low TDP requirement of the R430, I got a R7 240 (shown below) with a TDP of 30W. However, I haven't been able to get it to perform sufficiently well in High Sierra. So in the end, I continued to use the GT1030 for High Sierra.

One day, I found the Yeston RX 550 going for a reasonable price on Yahoo! Auction and quickly bought it. This is a low-profile single-slot card with 4GB of RAM. The TDP seems to be either 50W or 60W. Well, this rules it out from being used in the R430, but I can still use it in the R720. And because it is supported natively in macOS, I even managed to get it to run properly in a Monterey VM which I installed some time ago. I am also using it with a Ubuntu MATE VM on the R720, since I don't usually use Monterey. (The photo below shows the RX 550 in my Dell Inspiron "test bench". The card comes with a low profile bracket, but the VGA connector needs to be removed for that.)

Before I got the RX 500, I also got a R7 250 (shown below) thinking to use it in the R720. The R7 250 has a TDP of 65W, which means it cannot be used in the R430 unless I really want to take a gamble. But because I have the RX 550 now, the R7 250 is actually stuck in limbo with nowhere to go.

When I got my Dell Inspiron "test bench", it came with a GT730. This card is really no better than an integrated GPU so it doesn't really serve any purpose now.

The next step was to swap out the R7 240 from the R430, since it is not doing anything, and install the Quadro P400 in its place for NVENC. Then, I will be able to use the R430 as a video rendering machine. Given that the R430 has two CPUs, each with 6 cores and 12 threads, I have a Ubuntu VM in there with 20 virtual CPUs... that should really help when rendering videos, or even compiling software.
The Quadro P400 is now side by side with the GT1030 inside the R430.

That's all for this intro to my used GPU journey. The journey continues since I am always on the lookout for possible upgrades. 😉

Update April 25, 2022: AMD has released a new single-slot, low-profile graphics card, the Radeon RX 6400 with 4GB of DDR6 video RAM. Compared to the RX 550, this has more shading units (768 compared to 512) even though total VRAM is the same. Still, it should perform a lot better for 1080p work, and with a TDP of 55W, means it can be powered without need for power connectors. However, its is priced similarly to the RX 6500XT (which has 1024 shading units, 107W TDP) so the RX 6400 only real advantage is form factor (if you really need a single-slot, low-profile card). Still, the RX 6400 seems like a very good GPU for the R430, if the R430's PCI-e slot can actually power anything more than 30W...

Update August 20, 2022: I have swapped out the cards in the R720 and R430, see this post.

No comments: