I ran into an issue with my server where my Yamaha TSR-5810 (RX-V581) receiver connected to an Optoma projector would display a blank screen during the POST/BIOS phase. I immediately suspected that HP’s BIOS couldn’t handle the low resolution of 720x480 reported by the projector, with the main suspect being the vintage DisplayPort to HDMI 1080p converter I was using. The immeddiate diagnosis was that the HP’s BIOS couldn’t handle the low resolution of 720x480, as reported by the projector, and the main suspect was the vintage DisplayPort to HDMI 1080p converter I was using.
You can hardly blame HP for not handling the 720x480 (480p) resolution, considering any hardware of the last 20 years typically handles at least 1024 x 768. Nevertheless, the completely blank screen stumped me for an hour. The obvious initial suspect was the Displayport to HDMI converter, so I ordered a modern, 4k version, only to find that it produced the same issue. More head-scratching ensued.
Yamaha Customer Support
Eventually, by reducing the number of variables and connecting the PC directly to the projector, the BIOS menu showed at the princely 4k@60Hz resolution, to my sheer surprise. At this point, I assumed it was one of the not uncommon HDMI/EDID negotiation issues and hoped Yamaha Customer Service could offer a way to force and lock the displayed resolution — something I believed some of their models supported, but which, as they later clarified, was actually a video upscaling feature.
Yamaha CS did respond promptly, albeit with the expected “it’s not us, it’s you”:
The TSR-5810 only passes through video signals. It does not have the ability to change incoming video signals from one resolution to another. If you are seeing 720p on the projector, it’s because the PC is deciding to output that resolution.
, which I couldn’t but retribute with:
Frankly speaking, this cannot be true and is directly opposed to my experience. As I explained before, if I connect the projector directly to the PC, I am getting a 4k@60Hz right away. If I instead connect the PC via my receiver, I get 480p.
Yamaha receiver also failed to infer anything meaningful from the PC signal
However, the conversation carried on and I played along the “have you tried with other hardware” spiel. I connected my Dell display (of a 3440x1440 resolution) directly to the PC, which worked unsurprisingly, but also via the receiver, which somehow also worked fine.
Dell U3419W connected to PC (using the DisplayPort to HDMI 4K adapter)
So the conclusion was that the receiver had an issue specifically with my projector.
Dell U3419W connected to PC via the Receiver (using the DisplayPort to HDMI 4K adapter). Notice the reduced refresh rate.
I also found out that if I booted into a Linux GUI, I was actually able to change from 480p to 4k@60Hz manually. So with that in mind, I had no doubts this was an EDID negotiation issue between the receiver and the projector and not an actual hardware issue.
Debugging EDID
For the actual debugging of the problem, I resorted to the EDID information, which can be dumped by the edid-decode tool on the PC connected to a display.
Extended Display Identification Data (EDID) and Enhanced EDID (E-EDID) are metadata formats for display devices to describe their capabilities to a video source (e.g., graphics card or set-top box). The data format is defined by a standard published by the Video Electronics Standards Association (VESA). — Wikipedia1
EDID
structure was extended by VESA committee multiple times, and our particular interest is in CTA EDID Timing Extension Block
, i.e. the CEA-861
, which provides support for all the advanced capabilities of the HDMI- or DisplayPort-equipped devices. This is, in essence, what makes all the modern devices automatically select optimal resolutions, color gamut and refresh rates, as well as the surround sound modes, without requiring any human intervention — when it works, that is. All this information is contained within several CTA
Data Blocks, one of which is the VBD
(Video Data Block). VBD
, in turn, contains a list of SVDs
(Short Video Descriptors), which basically reference the resolution and timing combinations predefined by VESA as Video Identification Codes (VICs
) and supported by the display. Importantly, SVDs/VICs are listed in order of device preference.
Here’s an excerpt from the edid-decode tool that shows the timings of my Optoma projector connected to the PC, with the offender 480p resolution listed second:
Block 1, CTA-861 Extension Block:
Revision: 3
Underscans IT Video Formats by default
Basic audio support
Supports YCbCr 4:4:4
Supports YCbCr 4:2:2
Native detailed modes: 1
Video Data Block:
VIC 63: 1920x1080 120.000000 Hz 16:9 135.000 kHz 297.000000 MHz
VIC 2: 720x480 59.940060 Hz 4:3 31.469 kHz 27.000000 MHz
VIC 5: 1920x1080i 60.000000 Hz 16:9 33.750 kHz 74.250000 MHz
VIC 20: 1920x1080i 50.000000 Hz 16:9 28.125 kHz 74.250000 MHz
VIC 16: 1920x1080 60.000000 Hz 16:9 67.500 kHz 148.500000 MHz
VIC 31: 1920x1080 50.000000 Hz 16:9 56.250 kHz 148.500000 MHz
VIC 32: 1920x1080 24.000000 Hz 16:9 27.000 kHz 74.250000 MHz
VIC 93: 3840x2160 24.000000 Hz 16:9 54.000 kHz 297.000000 MHz
VIC 94: 3840x2160 25.000000 Hz 16:9 56.250 kHz 297.000000 MHz
VIC 95: 3840x2160 30.000000 Hz 16:9 67.500 kHz 297.000000 MHz
VIC 96: 3840x2160 50.000000 Hz 16:9 112.500 kHz 594.000000 MHz
VIC 97: 3840x2160 60.000000 Hz 16:9 135.000 kHz 594.000000 MHz
VIC 98: 4096x2160 24.000000 Hz 256:135 54.000 kHz 297.000000 MHz
VIC 99: 4096x2160 25.000000 Hz 256:135 56.250 kHz 297.000000 MHz
VIC 100: 4096x2160 30.000000 Hz 256:135 67.500 kHz 297.000000 MHz
VIC 101: 4096x2160 50.000000 Hz 256:135 112.500 kHz 594.000000 MHz
VIC 102: 4096x2160 60.000000 Hz 256:135 135.000 kHz 594.000000 MHz
VIC 3: 720x480 59.940060 Hz 16:9 31.469 kHz 27.000000 MHz
VIC 4: 1280x720 60.000000 Hz 16:9 45.000 kHz 74.250000 MHz
VIC 19: 1280x720 50.000000 Hz 16:9 37.500 kHz 74.250000 MHz
VIC 18: 720x576 50.000000 Hz 16:9 31.250 kHz 27.000000 MHz
As the plot thickened, I ran the edid-decode tool:
– with projector plugged in directly to PC (Linux framebuffer displays at 1080p),
– the projector plugged in via the receiver (Linux framebuffer displays at 480p),
– with projector disconnected but the receiver plugged in.
There were several interesting differences between these outputs, but most notably, between the Optoma plugged into the PC via the receiver and directly:
A diff of EDID reports: Optoma projector plugged into PC via receiver (left) and directly (right).
The Detailed Timing Descriptors
section shows the currently used resolution and timings (frequencies). Notably, there’s a difference in the Monitor ranges
reported by both configurations. My Optoma is a UHZ50 model, which supports frequencies as high as 240Hz at 1080p. When connected via the receiver, however, the monitor range gets reduced, which is expected since the receiver itself supports only up to 120Hz at 720p.
As mentioned, VICs in Video Data Block are listed in the order of preference. The first VIC reported as preferred by Optoma is 1080@120Hz. As established, the receiver cannot handle such high bitrate mode, so it decides to remove it from the list altogether. The next on the list of preferences reported by the projector is 480p, which is exactly why the devices settle on it. BINGO!
Conclusion
This primarily seems like Yamaha firmware bug: a better behavior than removing the VIC altogether would be swapping it with one that describes the same resolution but at the highest frequency supported by both devices. This is also an odd decision on Optoma end to make a very obscure 480p resolution the second preferred one. HP is also not without fault here, since their firmware should explicitly request a more suitable, reasonable 720p mode, instead of defaulting to first on the list, which they can’t even handle properly.
I reported all my findings to Yamaha CS, who in turn forwarded them to their design team, although this ~6 y/o device is unlikely to see an update fixing this somewhat unusual issue.
Discussions around the web
Powered by discu.eu