• 0 Posts
  • 1 Comment
Joined 1 year ago
cake
Cake day: January 21st, 2025

help-circle
  • It’s also why electronics are a dumb pain in the ass now. Remember when vga and composite existed? You’d just plug in a monitor and it would just work, immediately? And if it didn’t it generally mean a broken cable or hardware fault?

    HDMI could be much much closer to that. Have you ever plugged in an hdmi cable and just gotten a black screen until you plug it back in 2-3x? Have you ever had issues with hdmi-cec/control not working right, or other weird behavior like vrr not showing up as an option despite adequate hardware?

    This is sometimes because of an old cable that is not correct (there are multiple hdmi versions that are all identical looking and backwards compatible, but not forward compatible) but more often because of a failed hdcp handshake

    Hdcp is the anti piracy measure built into hdmi. When you connect and while you watch it “negotiates” between hardware to make sure you’re not making copies. A handshake needs to occur with hdmi because it needs to communicate data like resolution, refresh rate, audio channels, etc but this handshake is generally pretty bulletproof. VGA did something similar with the ddc pin once automatic resolution detection became a thing.

    But the hdcp handshake is far more complex and as a result fails more often. There are multiple revisions of the protocol and the key systems changed drastically between version 1 and 2. So if you have an hdmi 2.2 source and an hdmi 1.4 display there needs to be a bridge negotiation, which is more likely to fail. If the vendor wrote shitty firmware it’s more likely to fail. The most frustrating part is that even with the revisions the spec was designed around a direct connection (eg Blu-ray player>hdmi>tv) so modern signal chains (eg game console>tv>earc to av receiver with other hdmi devices connected) can trip it up, especially if the devices mix spec (eg older av receiver with a brand new tv) or you have a complex chain (eg hdmi switch/splitter to multiple displays, capture cards, couplers, hdmi over Ethernet, etc). Zero thought given to error handling as well, so if the handshake fails there is almost never any diagnostic info given to troubleshoot. It just doesn’t work, and you’re scratching your head wondering if it’s one of the 5 devices in the chain, if one of the 11 cables is bad, etc.

    And of course all this is to prevent piracy and is completely and utterly moot. The old hdcp master keys were leaked like 15 years ago so with enough know how anyone can manufacture a compliant device. Even with revision (which occurred with 2.0) this would require changing the key in every single legitimate hdcp device, which is impossible as many don’t have a route to update firmware. Even without this it’s pointless as there are a number of other methods. The ADV7611 is a chip that was manufactured out of necessity, there are versions that ignore hdcp for corporate environments (eg needing to feed a signal to dozens of screens). This led to Chinese manufacturing creating hdmi splitters that also ignore or strip hdcp for very low cost.

    And even outside of that as long as a stream is decoded it can and will be captured. HDMI isn’t even in the picture for modern piracy groups that do web rips and Blu-ray remuxes. Blu-ray has been cracked multiple times because when software players decode the encryption the decoded steam has to exist in memory, thus things like makemkv, which gets the volume key from memory by pretending to be a Blu-ray player. Similar things for webrips.

    This is also likely a huge part of why age verification and the push to kill older hardware with windows 11 are a thing. Most streaming uses a drm called widevine, from google. This has 3 versions - one that decrypts and renders in software (l3), one that decrypts in hardware and renders in software (l2), and one that decrypts and renders within a trusted hardware environment like a smartphone (l1). L2 is rarely used and l1 is the most common by far because many people don’t have hardware compatible with what l1 needs. Even with this there are things to break it: rooted android devices that are hacked to break the trusted environment and extract frames from l1 encryption, decompiled apks that are hacked allow capture, and people have even extracted widevine keys and negotiated an fake l1 device similar to the hdcp leak. This is a big part of why you are being pushed to consume on smartphones/tablets and if you want a computer to get one with TPM

    And even with all this failure the streaming industry and Hollywood are pushing to continue things. Hdcp 2.2+ is already proposed with end to end encryption as well as requirements for hardware drm on every device in the chain