Pi 4 HDMI out
-
Deleted an earlier post because I've done some exhaustive testing and can be much clearer with this now:
My Pi3b+ works fine via HDMI across several different screens - large, small, old, new.
My Pi4, however, has had nothing but problems. I've tried HDMI safe, boost, force hotplug, and various group 1 and 2 modes. I just get black / no signal. This is all using a clean RetroPie 4.8 build of course, with no overclocks, no case, working cables, the preferred port 0, etc. Quite a challenge this thing.
Of note, however, we have a little HDMI screen from my kids former KANO setup. I can -always- get the Pi4 working on that. I also have an older TCL Roku 32" TV that now works (with the small caveat of needing force hotplug and maybe a bit of HDMI boost).
So it's our two larger TVs (40" 1080p and 60" 4K) that just don't like the Pi4 HDMI signal, despite my careful one at a time config experiments.
The commonality seems to be that the Pi4 only likes older, cheaper, smaller screens... but if that's the case, I'm not sure where it leads me next in trying to "unlock" these larger newer ones.
Do I go crazy high on the boost? Is it just a magic combo of certain config tweaks that I need to hit?
When computers say no, I tend to take it as a challenge. Any insight or experience you might have, feel free to throw it at me.
-
Did you try telling it to ignore the EDID sent by the display ? You should use it in combination with setting the preferred video resolution (via
hdmi_mode
andhdmi_group
).If that doesn't work, then can you post the output of
tvservice -m CEA
? -
Thanks @mitu and Happy New Year everyone.
I tried the ignore EDID command twice, first alongside group 1 mode 16 (1080p), then with group 2 mode 82 (1080p). Those two options seemed the most appropriate for a larger TV (a 1080p Sony in this case). No luck however. This was a clean original pi 4 config otherwise. I then tried HDMI boost 4 and force hotplug, with no improvement.
So I dropped into Terminal on my Mac and here's the output you wanted, from a clean config. You can explain what's here to me and how to use it... but obviously I see 16 listed (and noted as preferred).
I took the opportunity to do the DMT group output as well.
*If we don't get further with this today, note I'm away Jan 1-9, and I'll ping you when I'm back home so we can pick this up then. * :)
pi@retropie:~ $ tvservice -m CEA Group CEA has 12 modes: mode 1: 640x480 @ 60Hz 4:3, clock:25MHz progressive mode 2: 720x480 @ 60Hz 4:3, clock:27MHz progressive mode 3: 720x480 @ 60Hz 16:9, clock:27MHz progressive mode 4: 1280x720 @ 60Hz 16:9, clock:74MHz progressive mode 5: 1920x1080 @ 60Hz 16:9, clock:74MHz interlaced mode 6: 720x480 @ 60Hz 4:3, clock:27MHz x2 interlaced mode 7: 720x480 @ 60Hz 16:9, clock:27MHz x2 interlaced (prefer) mode 16: 1920x1080 @ 60Hz 16:9, clock:148MHz progressive mode 32: 1920x1080 @ 24Hz 16:9, clock:74MHz progressive mode 34: 1920x1080 @ 30Hz 16:9, clock:74MHz progressive mode 60: 1280x720 @ 24Hz 16:9, clock:59MHz progressive mode 62: 1280x720 @ 30Hz 16:9, clock:74MHz progressive
pi@retropie:~ $ tvservice -m DMT Group DMT has 5 modes: mode 4: 640x480 @ 60Hz 4:3, clock:25MHz progressive mode 9: 800x600 @ 60Hz 4:3, clock:40MHz progressive mode 16: 1024x768 @ 60Hz 4:3, clock:65MHz progressive mode 35: 1280x1024 @ 60Hz 5:4, clock:108MHz progressive mode 83: 1600x900 @ 60Hz 16:9, clock:108MHz progressive
-
@mitu
Hi Mitu, when you get the time, can we continue our discussion on this? I'm back home at my setup. Thanks :) -
Looking the the results from the
tvservice
commands, it looks like the TV supports 1080p. Group 1 and mode 16 should be fine - the output seems to indicate this is the current resolution (you can specifically request the current resolution by runningtvservice -s
).Looks to me more and more like a HW issue - maybe the cable you're using is not working properly ? Is is a RPI - bought with the PI - or another cable ?
-
@mitu Hey there, thanks again.
I have a few HDMI cables and surely have tried more than one, which I know to be working from using them elsewhere.
Unique to this pi4 of course, is that this is micro HDMI out, and I have a couple of different adapters to get to from that to full HDMI.
So what remains is to buy and try a micro to full HDMI cable, rather than using cable + adapter.
-
@ohmycommodore Is there a way to test the adapter on another device ? I myself am using a microHDMI to (full) HDMI adapter + HDMI-to-DVI cable on a Pi4 and didn't have any issues so far. Something is definitely working, since the EDID info comes through, so the adapter/cable combo is not a total bust.
-
@mitu I don't have another mini HDMI device. I doubt both my adapters would be faulty.
-
Post the
config.txt
you're using right now and it doesn't work (i.e. no video is shown). -
@mitu Here you go. This I think is just the stock config. Of course I've tried all sorts of variations.
# For more options and information see # http://rpf.io/configtxt # Some settings may impact device functionality. See link above for details # uncomment if you get no picture on HDMI for a default "safe" mode #hdmi_safe=1 # uncomment this if your display has a black border of unused pixels visible # and your display can output without overscan #disable_overscan=1 # uncomment the following to adjust overscan. Use positive numbers if console # goes off screen, and negative if there is too much border #overscan_left=16 #overscan_right=16 #overscan_top=16 #overscan_bottom=16 # uncomment to force a console size. By default it will be display's size minus # overscan. #framebuffer_width=1280 #framebuffer_height=720 # uncomment if hdmi display is not detected and composite is being output #hdmi_force_hotplug=1 # uncomment to force a specific HDMI mode (this will force VGA) #hdmi_group=1 #hdmi_mode=1 # uncomment to force a HDMI mode rather than DVI. This can make audio work in # DMT (computer monitor) modes #hdmi_drive=2 # uncomment to increase signal to HDMI, if you have interference, blanking, or # no display #config_hdmi_boost=4 # uncomment for composite PAL #sdtv_mode=2 #uncomment to overclock the arm. 700 MHz is the default. #arm_freq=800 # Uncomment some or all of these to enable the optional hardware interfaces #dtparam=i2c_arm=on #dtparam=i2s=on #dtparam=spi=on # Uncomment this to enable infrared communication. #dtoverlay=gpio-ir,gpio_pin=17 #dtoverlay=gpio-ir-tx,gpio_pin=18 # Additional overlays and parameters are documented /boot/overlays/README # Enable audio (loads snd_bcm2835) dtparam=audio=on [pi4] # Enable DRM VC4 V3D driver on top of the dispmanx display stack dtoverlay=vc4-fkms-v3d max_framebuffers=2 [all] #dtoverlay=vc4-fkms-v3d overscan_scale=1
-
@mitu The most recent addition from before my trip away, and our earlier discussion, was adding this:
# uncomment to ignore EDID and set HDMI mode manually (this is 1080p) hdmi_ignore_edid=0xa5000080 hdmi_group=1 hdmi_mode=16
And that resulted in no change, so I deleted it, getting me back to square one config wise. I had some overclocks ready to try, but of course they weren't relevant to this so I removed that. Same goes for pulling my Argon case off in case that was problematic.
-
I was actually hoping to see the full config, just to make sure there isn't something strange there.
2 things to try
-
if you boot without any sdcard connected, you should get a diagnostic screen with some info about the display and the Pi. Does that work - is the diagnostic info displayed ?
-
If you write a recent RaspiOS Lite image, does that work to keep the display active after the initial boot is completed ?
-
-
@mitu The "full" config would have been that stock one, with that other HDMI bit added. The pi is on the stock config now. If you wanted something different let me know, maybe I misunderstood you.
Thanks for those ideas. I'll see when I can get around to them.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.