Seeing only one video mode on raspberry pi 4
-
So your display reports a bunch of resolutions - none of them being (natively) 1024x600. From the information extracted by the edidparser - is this the display ?
What happens if you remove the HDMI configuration lines and leave
config.txt
as default ? -
@mitu said in Seeing only one video mode on raspberry pi 4:
So your display reports a bunch of resolutions - none of them being (natively) 1024x600. From the information extracted by the edidparser - is this the display ?
What happens if you remove the HDMI configuration lines and leave config.txt as deI will try that when I'm at home again. But I think I already tried that yesterday. Not sure though. What I do know is when I don;t add the videomode 87 retropie/emulationstation uses the wrong resolutions, making it look terrible.
The display is part of a kit: The waveShare ARcade-101-1p. So I don;t know the exact brand of the screen.
[https://www.waveshare.com/arcade-101-1p.htm](link url) -
According to the information reported by the display, it may be choosing 576p
HDMI0:EDID preferred mode remained as CEA (17) 720x576p @ 50 Hz with pixel clock 27 MHz
EDIT: see if, without any HDMI configuration, the runcommand shows a list of resolutions, like before.
-
Sorry for the late reply.
I tried it again an without the lines in config.txt I do see a list of resolutions in the run command.
Even 1024x600 is in that list. (option 49-0) 1024x600 @ 60 Hz n/a
So it does show it, but is n/a so not working. When I try it anyway my screen turns red and says the resolution is not supported.So without the lines in config.txt the resolutions do show up in runcommand, but I can no longer use 1024x600 which is the native resolution of the monitor which looks best.
With the lines in config.txt I only see 1024x600 which looks perfect, however I can't choose other resolutions anymore which I sometimes need (e.g. Amiga works best at a 50Hz resolution etc.)
Is there any way to have the best of both options? So all resolutions + 1024x600 as option 87?
-
So it does show it, but is n/a so not working. When I try it anyway my screen turns red and says the resolution is not supported.
That's probably because the resolution is improperly configured in the display's EDID and what it reports is not correct.
HDMI:EDID failed to find a matching detail format for 1024x600p hfp:5 hs:13 hbp:270 vfp:2 vs:3 vbp:17 pixel clock:49 MHz HDMI:EDID calculated refresh rate is 60 Hz HDMI:EDID guessing the format to be 1024x600p @60 Hz HDMI:EDID found unknown detail timing format: 1024x600p hfp:5 hs:13 hbp:270 vfp:2 vs:3 vbp:17 pixel clock:49 MHz HDMI:EDID established timing I/II bytes are AF EF 00
This is why the installation instructions make you configure the 'best' resolution explicitly with
hdmi_cvt
. Unfortunately, using thehdmi_cvt
line makes all other supported resolutions 'disappear' for the video driver.I don't know enough about EDID specs and detailed video timings to be able to edit it and fix it. You could ask the vendor about Pi4 compatibility, though from what I've seen on the Waveshare wiki, they recommend disabling the new OpenGL driver - I think especially because this kind of issue. That's not an option if you want to use Retropie.
Try to find a video mode - from the ones that the device supports - that's closest to the one you've used and set it in
config.txt
viahdmi_group
/hdmi_mode
and set it to be the main resolution. -
@mitu I already asked the vendor. Unfortunately no reply so far.
I hope someone knows how to change the edid of the monitor to fix this issue.
Disabling the OpenGL driver is something I already tried, but retropie won't start anymore and gives a render error message.Anyway, thanks for your help. I really appreciate it.
-
I did a few more tests and it might be possible to work around this in a different way, but I've hit a bug in
runcommand
that makes the resolution switching impossible.I'll see if we can get this sorted out in
runcommand
. -
@renepela I have another idea we could test to see if can remedy the problem.
First, you'll have to update the RetroPie-Setup script so you're on the latest version and make sure to update the
runcommand
package, from the core section.Seconds, there's another way to set a custom resolution for your display, without modifying the
config.txt
file. So perform these steps:- remove any configurations you made in the
config.txt
boot file for the video mode settigns - comment/remote thehdmi_group
,hdmi_mode
andhdmi_cvt
parameters - open the
cmdline.txt
file - should be nextconfig.txt
- and add the following at the end of the line
Note that the file contains only one line, make sure you don't add extra lines to it, everything should be on a single line.video=HDMI-A-1:1024x600@60
Reboot and see if the system boots with the correct resolution, then check if you can select additional resolutions when starting a game.
- remove any configurations you made in the
-
@mitu Thanks for the help. I'v tried it but unfortunately it didn;t work. It's booting in the wrong resolution. Is there a way to use fake edid data?
-
I've been reading a littl emore and it seems it is possible to ignore the screens edid data. Instead I can use an edid.dat file with the values I want.
I think I have to add hdmi_ignore_edid and hmi_edid_file to config.txt
The only thing I don't know is how to create a an edid.dat file with the correct information.
If someone knows (or even better, give me a better edid file) how to do this I think this problem is solveable.
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.