Skip to content
This repository has been archived by the owner on Feb 27, 2023. It is now read-only.

Many display devices don't seem to support HDMI safe mode #11

Closed
Rob-Bishop opened this issue Jun 5, 2013 · 17 comments
Closed

Many display devices don't seem to support HDMI safe mode #11

Rob-Bishop opened this issue Jun 5, 2013 · 17 comments
Assignees
Labels

Comments

@Rob-Bishop
Copy link
Contributor

@popcornmix We're seeing a lot of people have issues getting their monitors to display with HDMI safe mode enabled (as is the default for NOOBS). Perhaps this is actually less safe then just using the display's preferred mode (found via EDID).

What do you think?

@ghost ghost assigned Rob-Bishop Jun 5, 2013
@popcornmix
Copy link

Pretty sure safe mode is more widely supported than preferred mode, but it's hard to get accurate statistics.

VGA (and so safe mode) is manditory for a device claiming to be HDMI.
Unfortunately standards aren't adhered to well, and things like HDMI->VGA adapators are particularly bad.

Perhaps a keypress in NOOBS to switch between safe and preferred?

@OtherCrashOverride
Copy link

I am thinking the issue lies in the selection of the mode (or lack of). In my case its not that I was getting a mode that was rejected by my TV (invalid mode), its that there was no output at all on HDMI. My 'problem' TV displayed the fail safe mode as long as it was activated by the EDID in my 'good' tv.

@popcornmix
Copy link

I'm guessing your TV doesn't assert its presence on the hotplug pin.
Unfortunately if we want to support composite and automatically switch, then we need to rely on that signal (which should be present). I'd imagine the Pi was outputting a valid picture through the composite port.

I think we need two keypresses from NOOBS:
One forces (safe mode) hdmi output when hotplug is not asserted.
One toggles between safe mode and preferred mode.

I think the first one will fix most people's problems, but we should add both to get some information on how common each type is.

Ideally when NOOBS is installed following a "force hotplug" keypress, it will add hdmi_force_hotplug to the config.txt file of the installed OS.

@OtherCrashOverride
Copy link

The TV does support hotplug and functions correctly with stock Raspbian at 720p. It just has some kind of whacked out EDID that is problematic for many devices.

@popcornmix
Copy link

Your config.txt here:
http://www.raspberrypi.org/phpBB3/viewtopic.php?f=28&t=46080&p=363963#p363963
contained hdmi_force_hotplug=1. Was that unnecessary?

@OtherCrashOverride
Copy link

Correct. "hdmi_force_hotplug=1" is NOT necessary for it to work. That line along with the ignore_edid allows me to choose the native display mode of 1360x768 DMT. The DMT mode will not work unless I explicity ignore the EDID.

pi@raspberrypi /opt/vc/bin $ edidparser philips.bin
Enabling fuzzy format match...
Parsing philips.bin...
HDMI:EDID version 1.3, 1 extensions, unknown aspect ratio
HDMI:EDID features - videodef 0x80 !standby !suspend !active off; colour encoding:RGB444|YCbCr422; sRGB is not default colourspace; preferred format is native; does not support GTF
HDMI:EDID found monitor name descriptor tag 0xfc
HDMI:EDID monitor name is PHILIPS
HDMI:EDID found monitor range descriptor tag 0xfd
HDMI:EDID monitor range offsets: V min=0, V max=0, H min=0, H max=0
HDMI:EDID monitor range: vertical is 57-63 Hz, horizontal is 65-69 kHz, max pixel clock is 80 MHz
HDMI:EDID monitor range does not support GTF
HDMI:EDID found preferred CEA detail timing format: 1280x720p @ 60 Hz (4)
HDMI:EDID found CEA detail timing format: 720x480p @ 60 Hz (2)
HDMI:EDID established timing I/II bytes are 00 00 00
HDMI:EDID standard timings block x 8: 0x0101 0101 0101 0101 0101 0101 0101 0101
HDMI:EDID parsing v3 CEA extension 0
HDMI:EDID monitor support - underscan IT formats:no, basic audio:yes, yuv444:yes, yuv422:yes, #native DTD:0
HDMI:EDID found CEA detail timing format: 720x480p @ 60 Hz (2)
HDMI:EDID found CEA detail timing format: 1920x1080i @ 60 Hz (5)
HDMI:EDID found CEA detail timing format: 1440x480i @ 60 Hz (6)
HDMI:EDID found CEA detail timing format: 1440x480i @ 60 Hz (6)
HDMI:EDID found CEA format: code 4, 1280x720p @ 60Hz
HDMI:EDID found CEA format: code 3, 720x480p @ 60Hz
HDMI:EDID found CEA format: code 2, 720x480p @ 60Hz
HDMI:EDID found CEA format: code 5, 1920x1080i @ 60Hz
HDMI:EDID found CEA format: code 6, 1440x480i @ 60Hz
HDMI:EDID found CEA format: code 7, 1440x480i @ 60Hz
HDMI:EDID found CEA format: code 1, 640x480p @ 60Hz
HDMI:EDID found audio format 2 channels PCM, sample rate: 32|44|48 kHz, sample size: 16|20|24 bits
HDMI:EDID found HDMI VSDB length 12
HDMI:EDID HDMI VSDB has physical address 2.0.0.0
HDMI:EDID HDMI VSDB supports AI:no, dual link DVI:no
HDMI:EDID HDMI VSDB deep colour support - 48-bit:no 36-bit:no 30-bit:no DC_yuv444:no
HDMI:EDID HDMI VSDB max TMDS clock 1275 MHz
HDMI:EDID HDMI VSDB video latency 42 ms
HDMI:EDID HDMI VSDB audio latency 42 ms
HDMI:EDID HDMI VSDB interlaced video latency 74 ms
HDMI:EDID HDMI VSDB interlaced audio latency 74 ms
HDMI:EDID HDMI VSDB does not support content type
HDMI:EDID adding mandatory support for DMT (4) 640x480p @ 60Hz
HDMI:EDID filtering formats with pixel clock > 162 MHz or h. blanking > 1023
HDMI:EDID best score mode initialised to CEA (1) 640x480p @ 60 Hz with pixel clock 25 MHz (score 0)
HDMI:EDID best score mode is now CEA (1) 640x480p @ 60 Hz with pixel clock 25 MHz (score 61864)
HDMI:EDID best score mode is now CEA (2) 720x480p @ 60 Hz with pixel clock 27 MHz (score 4566472)
HDMI:EDID CEA mode (3) 720x480p @ 60 Hz with pixel clock 27 MHz has a score of 66472
HDMI:EDID best score mode is now CEA (4) 1280x720p @ 60 Hz with pixel clock 74 MHz (score 5190888)
HDMI:EDID DMT mode (4) 640x480p @ 60 Hz with pixel clock 25 MHz has a score of 18432
HDMI:EDID CEA mode (5) 1920x1080i @ 60 Hz with pixel clock 74 MHz has a score of 3773832
HDMI:EDID CEA mode (6) 1440x480i @ 60 Hz with pixel clock 27 MHz has a score of 3066472
HDMI:EDID CEA mode (7) 1440x480i @ 60 Hz with pixel clock 27 MHz has a score of 45736
HDMI:EDID preferred mode remained as CEA (4) 1280x720p @ 60 Hz with pixel clock 74 MHz
HDMI:EDID has HDMI support and audio support
edid_parser exited with code 0

@popcornmix
Copy link

But the edid should be (almost) ignored when using hdmi_safe, so it's surprising the safe mode from a different TV works better that your own safe mode. It suggests something in your edid it having an effect.

Can you test:
hdmi_edid_file=1

as the only entry in config.txt when booting recovery.elf?
That means your edid won't be read at all. It will try to read file edid.dat and fail.

It should still give a safe mode output (and that should be identical whether you arte connected to good or bad tv).

@OtherCrashOverride
Copy link

hdmi_edid_file=1 does work correctly

@popcornmix
Copy link

Interesting. We could add the equivalent of that to hdmi_safe.
I'd like to know what setting is leaking through - can you post your philips.bin somewhere?

@OtherCrashOverride
Copy link

@popcornmix
Copy link

@OtherCrashOverride
I've pushed a firmware with a potential fix for your edid.
Seems the hdmi_safe wasn't getting respected and it was choosing the preferred resolution (720p) which I guess doesn't work for you.
Can you test it works?

@OtherCrashOverride
Copy link

Can you elaborate on which file(s) is/are needed and what it/they should correspondingly be renamed to for NOOBS?

@Rob-Bishop
Copy link
Contributor Author

@CrashOverride I'll pull in the changes to the dev branch this morning.

@Rob-Bishop
Copy link
Contributor Author

@popcornmix, just in case you haven't already seen - adding a config.txt containing hdmi_edid_file=1 seems to have also fixed the issue for everyone who brought it up on the forums/comments.

@Rob-Bishop
Copy link
Contributor Author

@OtherCrashOverride Okay, you should be able to just copy the files from https://github.com/raspberrypi/noobs/tree/dev/output onto a FAT formatted SD card as before to test.

Let me know if that fixes things - I believe you should no longer require a config.txt file for your display to work.

@OtherCrashOverride
Copy link

The display works correctly now [no config.txt used]. I copied one OS image to the images folder and on startup the installation started automatically. Is that expected behavior?

@Rob-Bishop
Copy link
Contributor Author

Yes. The idea is that if you don't have a display or input device attached you can still use NOOBS as an easy way to install an OS (i.e. it automatically installs the OS if there's only one image present and requires no user interaction to do so). The system will then reboot into the OS and bring up the SSH server - allowing the user to connect remotely.

I'll push the updated firmware into the master branch.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

3 participants