Hello c/Selfhosted!
Although I’m still new with truenas, I’ve been a happy truenas scale hoster for a year more or less and I’ve been increasing the reach of my self hosted server little by little.
The problem came when I decided to add jellyfin and a GPU for encoding. My server is mostly made of old parts and the GPU is not different. The GPU is recognized by truenas scale as a “Advanced Micro Devices, Inc. [AMD/ATI] Cape Verde PRO [Radeon HD 7750/8740 R7 250E”, which AFAIK has hardware encoding/decoding as per Jellyfin wiki.
But the only place I can see the GPU is in lspci and in System Settings/Isolated GPU PCI Ids (and it’s not isolated). Whenever I try to change the configuration of an app to allocate the GPU I can only select “Allocate 0 amd.com/gpu GPU”, there are no more options.
I’ve searched for this a lot but I found very little info about AMD GPUs and how to debug this issue.
I’am missing something? Could anybody point me in the right direction? Any commands I can run to diagnose?
Thanks for reading!
Which driver is currently enabled? Radeon or amdgpu?
Also, in the context of what “Allocate 0” means, that IS your graphics card, if you only have one. Data types like arrays and lists start at 0 (ex: 0,1,2,3…)
Thanks for the answer.
Just checked with lspci -v and it says radeon:
03:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cape Verde PRO [Radeon HD 7750/8740 / R7 250E] (prog-if 00 [VGA controller]) Subsystem: PC Partner Limited / Sapphire Technology Cape Verde PRO [Radeon HD 7750/8740 / R7 250E] Flags: bus master, fast devsel, latency 0, IRQ 28, NUMA node 0 Memory at d0000000 (64-bit, prefetchable) [size=256M] Memory at fbf80000 (64-bit, non-prefetchable) [size=256K] I/O ports at e000 [size=256] Expansion ROM at 000c0000 [disabled] [size=128K] Capabilities: [48] Vendor Specific Information: Len=08 <?> Capabilities: [50] Power Management version 3 Capabilities: [58] Express Legacy Endpoint, MSI 00 Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+ Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?> Capabilities: [150] Advanced Error Reporting Capabilities: [270] Secondary PCI Express Kernel driver in use: radeon Kernel modules: radeon, amdgpu
Is that the one it’s supposed to be active?
About the allocate thing, I think that is a number and not an index in an array. I think that you can allocate as many gpus you want:
I’ve seen that same menu in screenshots and I’m supposed to be able to choose something different from zero.
Since this is GCN based, you may be able to use the newer AMDGPU kernel driver? I’m not sure about that specific SKU, however. I remember that using AMDGPU on, for example, Hawaii (like the R9 290) was particularly finicky
Not sure how to change the driver to AMDGPU, I blacklisted the Radeon driver but the kernel didn’t load the other one. I read somewhere that I have to do a initframs update but the command doens’t exist in truenas scale. How do I force to load the other driver?
For that card, you probably have to set the
radeon.si_support=0 amdgpu.si_support=1
kernel options to allow amdgpu to work. I don’t have a TrueNAS system laying around so I don’t know what the idiomatic way to change them is.Using amdgpu on that card has been considered experimental ever since it was added like 6 years ago, and nobody has invested any real efforts to stabilize it. It’s entirely possible that amdgpu on that card is simply never gonna work. But yeah I think the radeon driver isn’t really fully functional anymore either, so I guess it’s worth a shot…
I’m giving up on this. I have tried everything and I can’t make it work, so bye bye GPU.