Email or username:

Password:

Forgot your password?
Top-level
Sebastian Wick

@marcan Nvidia already has a bit of a silly color pipeline but at least it is well-defined. From your description you're working with a completely opaque system and don't even have enough information to replicate it in shaders, so opportunistic offloading won't work at all without glitches.

15 comments
Hector Martin

@swick I mean I spent a bunch of time looking at color ramps to work this out so far, and I'm pretty sure we can characterize whatever is going on to the point we can replicate it in shaders if need be.

Like we're doing 2-stage thermal capacity/resistance modeling for speaker voice coil power dissipation, it's not our first rodeo with characterizing hardware :P

Hector Martin

@swick Come to think of it, I should stick HDMI capture cards onto the machines in the CI test rack I plan on building. Ideally ones where I can hack around the EDID. That will let me add the display pipes to the CI matrix, including end-to-end color stuff :)

Sebastian Wick

@marcan Not sure how reliable a capture card will be. We really want chamelium boards in the freedesktop CI tbh.

Hector Martin

@swick Oh, I know it's a crapshoot, I've gone through a lot of them already (and hacked some firmwares). I'm fairly confident I can put something together that works reasonably enough though.

Chamelium sounds nice, is that available for purchase? I have an NeTV2 lying around which should be able to do very controlled tests too.

Sebastian Wick replied to Hector

@marcan AFAIK you can't buy the Chamelium boards. They have an email address on the site so you can try to contact them (but they ignored me when I wrote). Others here might know more.

Hector Martin replied to Sebastian

@swick Ah, I'll probably go the NeTV2 route them. Should be able to effectively do the same thing Chamelium does, and you can actually buy that (and I have one already, plus I'm friends with the guy who designed it).

Sebastian Wick replied to Hector

@marcan Please share if you manage to do something useful with it! It won't be enough to test HDR but might me enough for everything else so I'm interested.

Hector Martin replied to Sebastian

@swick I don't see why HDR wouldn't work? It's open source, you can make the firmware grab the raw bits if need be. Obviously has bandwidth limitations but as long as you don't need to test the corner of the resolution/color depth matrix...

Sebastian Wick replied to Hector

@marcan Thinking more about the metadata, InfoFrames, VSC SDP, ...

But sure, you can still test if the pixels are as expected, no matter if its SDR or HDR and that's already really useful.

Hector Martin replied to Sebastian

@swick We can capture all the raw metadata too, it's an FPGA. I'm actually thinking of just having it dump the entire frame bitstream and doing all the decoding in software, so we can have really fancy diagnostics for CI.

Sebastian Wick replied to Hector

@marcan I thought, at least on chamelium, that there is a display controller chip in front of the FPGA? TBH, I didn't look that closely into it yet. If we can get the entire bistream in software that would be amazing and indeed everything required for testing HDR as well.

Hector Martin replied to Sebastian

@swick Not on NeTV2, it goes straight into the FPGA and we can get the entire bitstream.

Martin Roukala (né Peres) replied to Hector

@marcan @swick Lol, been chatting about that at XDC with Leo from AMD. We agreed that any open Chamelium would need to act more like an oscilloscope and less like a normal receiver. Specify your trigger, wait for the symbols to come. Decode that using your CPU.

This way, everything new feature can be tested without having to hack the gateware, including USB, Audio, .... Also means that testing anything related to DP-MST would be much easier than with real hardware.

We both have an NeTV2 now :D

Sebastian Wick

@marcan That sounds much better than I initially thought and yeah, it should be possible to expose in the new API then.

It might not be of much use though. The more specific the conversions are the less likely it will match whatever the compositor chooses to do.

And if you can't give us a no-op/passthrough path then we're back to square one because then the policy implemented with shaders in the compositor will get mangled by the scanout color pipeline.

Hector Martin

@swick The pass-through path is 10bit native gamut RGB, which we do have and is what KWin-Wayland picks by default these days. We just don't have it for 8-bit formats (which only the TTY and X seem to really love to use).

Go Up