Hi there,
so in the past few weeks I’ve looked more into streaming and even though I’m not quite sure yet whether I will go through with a purchase, I want to look at options.
First off I’m running OBS on Linux (Fedora), and even though I could go back to Windows any time, I just don’t feel like it. I know that limits options significantly, but I also sort of want to see if it’s even possible.
Currently I own a PS4 Pro, and I do like using HDR while playing, having a 4K OLED TV that can actually utilise it. I could disable it, but if it’s there I also want to be able to use it. With the PS5 and Xbox Series X coming out (eventually), HDR will remain a hot topic so it’s not like it’s going away. Since I’m only capturing consoles I don’t really care about 60 FPS capture because they typically only output at 30 fps anyway (and lets face it if it wasn’t on Twitch’s player, most people wouldn’t even notice the frame-rate). I also only really need 1080p capture because I (probably) won’t be recording, so 4K is useless for the time being.
Now, on to the actual issue. From what I can tell playing in HDR and capturing SDR is essentially a hot mess. I know OBS doesn’t support an actual 10 bit pipeline, so we’re kinda stuck with a tone-mapped SDR signal or using LUTs of our own.
@eposvox just recently did a video on the topic (Gaming in HDR and streaming in SDR sucks), although I was looking into this a few weeks before, so it’s a happy coincidence.
Now from what I understand the HDR to SDR tone-mapping is essentially doing the same thing. It applies a LUT to the 10 bit signal that limits the colours to however many fit in an 8 bit signal. I think I got that right, but I’m not quite certain on it. So the first thing I’m wondering is if there’s any downside to doing it using a LUT in OBS. Considering that OBS only takes an 8 bit input that would also mean that there is already loss before the LUT is applied, whether that’s visible is what I’m wondering. On the other hand when doing hardware-tone-mapping you’re essentially stuck with the vendor’s LUT.
With that uncertainty in my mind I started looking into capture cards and how they deal with HDR signals. And that seems to be even more of a hot mess from what I can tell, because it’s either not documented, or only works in certain scenarios, or only on Windows, or… pick whatever. I’ve been looking into a few cards so far (see spoiler below).
Possible Options
Usable Options
Blackmagic Intensity Pro 4K
- Pros
- native Linux support
- 4K30 capture
- 10 bit input and pass-through
- PCIe
- Cons
- from what I can tell no tone-mapper (or maybe it has, and it’s not documented)
- Unclear
- no 4K60 pass-through (?) - it doesn’t say anything about it in the specs, so what happens when the console outputs at 60 Hz? Will it actually drop every second frame, will it even capture anything?
AVerMedia Live Gamer Ultra (GC553)
- Pros
- UVC, so works on any device (theoretically)
- 4K60 pass-through
- 4K30 capture (unclear what happens with a 4K60 input signal)
- 10 bit input and pass-through
- Cons
- USB, which seems to cause issues with dropped frames etc
- no Linux vendor support (i.e. you have an issue, you figure it out)
- Unclear
Corsair Elgato 4K60 S+
- Pros
- UVC
- 4K60 pass-through
- 4K60 capture
- 10 bit input and pass-through
- Cons
Corsair Elgato HD 60 S+
- Pros
- UVC
- 4K60 pass-through
- 4K30 capture (only with 4K30 input, 4K60 input does not get
- 10 bit input and pass-through
- Cons
- USB, which seems to cause issues with dropped frames etc
- no Linux vendor support (i.e. you have an issue, you figure it out)
- Unclear
Impossible / Theoretical options
Corsair Elgato 4K60 Pro MK.2
- Pros
- 4K60 pass-through
- 4K60 capture
- 10 bit input and pass-through
- integrated Tone-Mapping (only when not using the Elgato 4K Capture Utility)
- PCIe
- Cons
- No Linux Support from what I can tell. No (official) driver, unofficial driver project was dropped, pass-through to a Windows VM does not work (as explained by @FurryJackman here)
- No RGB LEDs
/s
AVerMedia Live Gamer 4K (GC573)
- Pros
- 4K60 pass-through
- 4K60 capture
- 10 bit input and pass-through
- integrated Tone-Mapping
- Cons
- No Linux Support from what I can tell. No (official) driver, from what I understand pass-through to a Windows VM does not work (as explained by @FurryJackman here)
- with RGB LED
/s
So with the notes in the spoiler above I’m pretty much looking at the Blackmagic Card (where I don’t know if a 4K60 Input works), or one of the USB Options.
I know there’s also Magewell and AJA, but the Cons on those pretty much come down to $$$ (and also availability). There’s also AVerMedia Professional cards (e.g. CL511HN), but I can’t find them to buy anywhere (my understanding is that they’re OEM/ODM only).
Soooo… essentially, what is the least headache for HDR (with/without SDR tone-mapping) on Linux as of now?