• Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
RetroPie forum home
  • Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

Seeing only one video mode on raspberry pi 4

Scheduled Pinned Locked Moved Help and Support
videomodevideo moderaspberry pi 4custom
21 Posts 2 Posters 3.0k Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R
    renepela
    last edited by renepela 28 Apr 2020, 13:33

    I have a tabletop arcade cabinet with a 1024x600 screen resolution.
    To make this resolution available in retropie I added the following lines to config.txt

    hdmi_group=2 
    hdmi_mode=87 
    hdmi_cvt 1024 600 60 6 0 0 0
    

    This works just fine. In retropie the 1024x600 is used.
    However I do have a problem with this when using the raspberry pi 4 (on the latest retropie 4.6).
    I used to use a raspberry Pi 3B+ with these settings.
    After starting an emulator and pressing a button I came in the runcommand menu and was able to change the resolution. Because sometimes I didn' t want to use the optimal 1024x600 resolution, but a different one.
    I saw a whole list of video modes (87 was the 1024x600 one) and could just pick one.

    However on the raspberry pi 4 this no longer seems possible. Whatever I do, I only see the 1024x600 resolution which I added in the config.txt. So I can only choose one video mode now.
    The weird thing is, when I start raspi-config I can see all video modes (not just the 1024x600 one) in the list.
    So how can I make the list of video modes visible again in the runcommand menu so I can choose different resolutions ?

    M 1 Reply Last reply 28 Apr 2020, 14:11 Reply Quote 0
    • M
      mitu Global Moderator @renepela
      last edited by 28 Apr 2020, 14:11

      @renepela said in Seeing only one video mode on raspberry pi 4:

      The weird thing is, when I start raspi-config I can see all video modes (not just the 1024x600 one) in the list.

      Probably because it uses tvservice.

      So how can I make the list of video modes visible again in the runcommand menu so I can choose different resolutions ?

      We'll have to see if your display reports the video modes available correctly. Can you run the following 2 commands and post the output

      tvservice -m DMT
      /opt/retropie/supplementary/mesa-drm/modetest -r
      1 Reply Last reply Reply Quote 0
      • R
        renepela
        last edited by 28 Apr 2020, 14:59

        I will do that as soon as I'm at home, but it works just fine on the raspberry pi 3B+ with that display. So I don't think the display is causing the problem.

        M 1 Reply Last reply 28 Apr 2020, 15:00 Reply Quote 0
        • M
          mitu Global Moderator @renepela
          last edited by 28 Apr 2020, 15:00

          @renepela The PI4 has a different GPU and a set of different drivers, so it's quite different than the previous models.

          1 Reply Last reply Reply Quote 0
          • R
            renepela
            last edited by 29 Apr 2020, 07:43

            I tried the commands you asked for, but don't know how to post the screen output. Because I'm typing this on my pc.

            First the output without the hdmi_cvt option and hdmi_mode options in config.txt
            The tvservice command gives me 17 available video modes.
            The second modetest-r command gives a lot of output but it's scrolling up to fast to read it. Don't know how to scroll back.

            Now with the hdmi_cvt and hdmi_mode option in config.txt:
            The tvservice command still gives me 20 available video modes (option 87 was added and has the word (prefer) next to it). Also a mode 88 was added automatically with the same settings. Probably for the second hdmi port.
            The second command is still hard to capture.

            How can I capture the output of the second comand? Is there anything specific I should look at?

            Looks like tvservice detects the modes just fine. So why aren't these modes available in retropie on a raspberry pi 4 and why are they available on the raspberry pi 3B+?

            M 1 Reply Last reply 29 Apr 2020, 08:05 Reply Quote 0
            • M
              mitu Global Moderator @renepela
              last edited by 29 Apr 2020, 08:05

              @renepela Try redirecting the output to the ROMs folder and get the files via file shares:

              cd $HOME/RetroPie/roms
              tvservice -m DMT > tvservice_output.txt
              /opt/retropie/supplementary/mesa-drm/modetest -r > modetest-output.txt

              Looks like tvservice detects the modes just fine. So why aren't these modes available in retropie on a raspberry pi 4 and why are they available on the raspberry pi 3B+?

              Because tvservice will not properly scale the screen on a Pi4, like it was the case for the previous models.

              1 Reply Last reply Reply Quote 0
              • R
                renepela
                last edited by 29 Apr 2020, 12:04

                Here is the modetest-output

                trying to open device 'vc4'...done
                Encoders:
                id	crtc	type	possible crtcs	possible clones	
                Encoder map: 50 to 49
                50	49	TMDS	0x00000001	0x00000000
                
                Connectors:
                id	encoder	status		name		size (mm)	modes	encoders
                51	50	connected	HDMI-A-1       	0x0		1	50
                  modes:
                	name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot)
                Mode: 1024x600 @ 60 Hz n/a (49.00 Mhz, phsync, pvsync, preferred, driver) connector 50 0
                  props:
                	1 EDID:
                		flags: immutable blob
                		blobs:
                
                		value:
                	2 DPMS:
                		flags: enum
                		enums: On=0 Standby=1 Suspend=2 Off=3
                		value: 0
                	5 link-status:
                		flags: enum
                		enums: Good=0 Bad=1
                		value: 0
                	6 non-desktop:
                		flags: immutable range
                		values: 0 1
                		value: 0
                	19 CRTC_ID:
                		flags: object
                		value: 49
                	52 left margin:
                		flags: range
                		values: 0 100
                		value: 0
                	53 right margin:
                		flags: range
                		values: 0 100
                		value: 0
                	54 top margin:
                		flags: range
                		values: 0 100
                		value: 0
                	55 bottom margin:
                		flags: range
                		values: 0 100
                		value: 0
                	56 Broadcast RGB:
                		flags: enum
                		enums: Automatic=0 Full=1 Limited 16:235=2
                		value: 0
                
                CRTCs:
                id	fb	pos	size
                49	59	(0,0)	(1024x600)
                Mode: 1024x600 @ 60 Hz n/a (49.00 Mhz, phsync, pvsync, preferred, driver) crtc 49 0
                  props:
                	20 ACTIVE:
                		flags: range
                		values: 0 1
                		value: 1
                	21 MODE_ID:
                		flags: blob
                		blobs:
                
                		value:
                			68bf0000000428049004200500005802
                			5b026202700200003c00000005000000
                			4800000046495845445f4d4f44450000
                			00000000000000000000000000000000
                			00000000
                	18 OUT_FENCE_PTR:
                		flags: range
                		values: 0 18446744073709551615
                		value: 0
                
                Planes:
                id	crtc	fb	CRTC x,y	x,y	gamma size	possible crtcs
                28	49	59	0,0		0,0	0       	0x00000001
                  formats: XR24 AR24 RG16 RG24 BG24 YU16 YU12 YV12 NV12 NV21
                  props:
                	7 type:
                		flags: immutable enum
                		enums: Overlay=0 Primary=1 Cursor=2
                		value: 1
                	16 FB_ID:
                		flags: object
                		value: 59
                	17 IN_FENCE_FD:
                		flags: signed range
                		values: -1 2147483647
                		value: -1
                	19 CRTC_ID:
                		flags: object
                		value: 49
                	12 CRTC_X:
                		flags: signed range
                		values: -2147483648 2147483647
                		value: 0
                	13 CRTC_Y:
                		flags: signed range
                		values: -2147483648 2147483647
                		value: 0
                	14 CRTC_W:
                		flags: range
                		values: 0 2147483647
                		value: 1024
                	15 CRTC_H:
                		flags: range
                		values: 0 2147483647
                		value: 600
                	8 SRC_X:
                		flags: range
                		values: 0 4294967295
                		value: 0
                	9 SRC_Y:
                		flags: range
                		values: 0 4294967295
                		value: 0
                	10 SRC_W:
                		flags: range
                		values: 0 4294967295
                		value: 67108864
                	11 SRC_H:
                		flags: range
                		values: 0 4294967295
                		value: 39321600
                	27 IN_FORMATS:
                		flags: immutable blob
                		blobs:
                
                		value:
                			01000000000000000a00000018000000
                			03000000400000005852323441523234
                			52473136524732344247323459553136
                			59553132595631324e5631324e563231
                			ff030000000000000000000000000000
                			00000000000000000700000000000000
                			00000000000000000100000000000007
                			00010000000000000000000000000000
                			0400000000000007
                		in_formats blob decoded:
                			 XR24:  LINEAR MOD_BROADCOM_VC4_T_TILED
                			 AR24:  LINEAR MOD_BROADCOM_VC4_T_TILED
                			 RG16:  LINEAR MOD_BROADCOM_VC4_T_TILED
                			 RG24:  LINEAR
                			 BG24:  LINEAR
                			 YU16:  LINEAR
                			 YU12:  LINEAR
                			 YV12:  LINEAR
                			 NV12:  LINEAR (UNKNOWN MODIFIER)
                			 NV21:  LINEAR
                	30 alpha:
                		flags: range
                		values: 0 65535
                		value: 65535
                	31 rotation:
                		flags: bitmask
                		values: rotate-0=0x1 rotate-180=0x4 reflect-x=0x10 reflect-y=0x20
                		value: 1
                	32 COLOR_ENCODING:
                		flags: enum
                		enums: ITU-R BT.601 YCbCr=0 ITU-R BT.709 YCbCr=1 ITU-R BT.2020 YCbCr=2
                		value: 0
                	33 COLOR_RANGE:
                		flags: enum
                		enums: YCbCr limited range=0 YCbCr full range=1
                		value: 0
                	34 zpos:
                		flags: range
                		values: 0 127
                		value: 0
                35	0	0	0,0		0,0	0       	0x00000001
                  formats: XR24 AR24 RG16 RG24 BG24 YU16 YU12 YV12 NV12 NV21
                  props:
                	7 type:
                		flags: immutable enum
                		enums: Overlay=0 Primary=1 Cursor=2
                		value: 0
                	16 FB_ID:
                		flags: object
                		value: 0
                	17 IN_FENCE_FD:
                		flags: signed range
                		values: -1 2147483647
                		value: -1
                	19 CRTC_ID:
                		flags: object
                		value: 0
                	12 CRTC_X:
                		flags: signed range
                		values: -2147483648 2147483647
                		value: 0
                	13 CRTC_Y:
                		flags: signed range
                		values: -2147483648 2147483647
                		value: 0
                	14 CRTC_W:
                		flags: range
                		values: 0 2147483647
                		value: 0
                	15 CRTC_H:
                		flags: range
                		values: 0 2147483647
                		value: 0
                	8 SRC_X:
                		flags: range
                		values: 0 4294967295
                		value: 0
                	9 SRC_Y:
                		flags: range
                		values: 0 4294967295
                		value: 0
                	10 SRC_W:
                		flags: range
                		values: 0 4294967295
                		value: 0
                	11 SRC_H:
                		flags: range
                		values: 0 4294967295
                		value: 0
                	27 IN_FORMATS:
                		flags: immutable blob
                		blobs:
                
                		value:
                			01000000000000000a00000018000000
                			03000000400000005852323441523234
                			52473136524732344247323459553136
                			59553132595631324e5631324e563231
                			ff030000000000000000000000000000
                			00000000000000000700000000000000
                			00000000000000000100000000000007
                			00010000000000000000000000000000
                			0400000000000007
                		in_formats blob decoded:
                			 XR24:  LINEAR MOD_BROADCOM_VC4_T_TILED
                			 AR24:  LINEAR MOD_BROADCOM_VC4_T_TILED
                			 RG16:  LINEAR MOD_BROADCOM_VC4_T_TILED
                			 RG24:  LINEAR
                			 BG24:  LINEAR
                			 YU16:  LINEAR
                			 YU12:  LINEAR
                			 YV12:  LINEAR
                			 NV12:  LINEAR (UNKNOWN MODIFIER)
                			 NV21:  LINEAR
                	37 alpha:
                		flags: range
                		values: 0 65535
                		value: 65535
                	38 rotation:
                		flags: bitmask
                		values: rotate-0=0x1 rotate-180=0x4 reflect-x=0x10 reflect-y=0x20
                		value: 1
                	39 COLOR_ENCODING:
                		flags: enum
                		enums: ITU-R BT.601 YCbCr=0 ITU-R BT.709 YCbCr=1 ITU-R BT.2020 YCbCr=2
                		value: 0
                	40 COLOR_RANGE:
                		flags: enum
                		enums: YCbCr limited range=0 YCbCr full range=1
                		value: 0
                	41 zpos:
                		flags: range
                		values: 0 127
                		value: 0
                42	0	0	0,0		0,0	0       	0x00000001
                  formats: XR24 AR24 RG16 RG24 BG24 YU16 YU12 YV12 NV12 NV21
                  props:
                	7 type:
                		flags: immutable enum
                		enums: Overlay=0 Primary=1 Cursor=2
                		value: 2
                	16 FB_ID:
                		flags: object
                		value: 0
                	17 IN_FENCE_FD:
                		flags: signed range
                		values: -1 2147483647
                		value: -1
                	19 CRTC_ID:
                		flags: object
                		value: 0
                	12 CRTC_X:
                		flags: signed range
                		values: -2147483648 2147483647
                		value: 0
                	13 CRTC_Y:
                		flags: signed range
                		values: -2147483648 2147483647
                		value: 0
                	14 CRTC_W:
                		flags: range
                		values: 0 2147483647
                		value: 0
                	15 CRTC_H:
                		flags: range
                		values: 0 2147483647
                		value: 0
                	8 SRC_X:
                		flags: range
                		values: 0 4294967295
                		value: 0
                	9 SRC_Y:
                		flags: range
                		values: 0 4294967295
                		value: 0
                	10 SRC_W:
                		flags: range
                		values: 0 4294967295
                		value: 0
                	11 SRC_H:
                		flags: range
                		values: 0 4294967295
                		value: 0
                	27 IN_FORMATS:
                		flags: immutable blob
                		blobs:
                
                		value:
                			01000000000000000a00000018000000
                			03000000400000005852323441523234
                			52473136524732344247323459553136
                			59553132595631324e5631324e563231
                			ff030000000000000000000000000000
                			00000000000000000700000000000000
                			00000000000000000100000000000007
                			00010000000000000000000000000000
                			0400000000000007
                		in_formats blob decoded:
                			 XR24:  LINEAR MOD_BROADCOM_VC4_T_TILED
                			 AR24:  LINEAR MOD_BROADCOM_VC4_T_TILED
                			 RG16:  LINEAR MOD_BROADCOM_VC4_T_TILED
                			 RG24:  LINEAR
                			 BG24:  LINEAR
                			 YU16:  LINEAR
                			 YU12:  LINEAR
                			 YV12:  LINEAR
                			 NV12:  LINEAR (UNKNOWN MODIFIER)
                			 NV21:  LINEAR
                	44 alpha:
                		flags: range
                		values: 0 65535
                		value: 65535
                	45 rotation:
                		flags: bitmask
                		values: rotate-0=0x1 rotate-180=0x4 reflect-x=0x10 reflect-y=0x20
                		value: 1
                	46 COLOR_ENCODING:
                		flags: enum
                		enums: ITU-R BT.601 YCbCr=0 ITU-R BT.709 YCbCr=1 ITU-R BT.2020 YCbCr=2
                		value: 0
                	47 COLOR_RANGE:
                		flags: enum
                		enums: YCbCr limited range=0 YCbCr full range=1
                		value: 0
                	48 zpos:
                		flags: range
                		values: 0 127
                		value: 0
                
                Frame buffers:
                id	size	pitch
                
                M 1 Reply Last reply 29 Apr 2020, 12:11 Reply Quote 0
                • M
                  mitu Global Moderator @renepela
                  last edited by mitu 29 Apr 2020, 12:11

                  Your display reports only 1 video mode is available, so that's why you don't have any other resolution shown.

                  Mode: 1024x600 @ 60 Hz n/a (49.00 Mhz, phsync, pvsync, preferred, driver) connector 50 0
                  

                  I was more curious to see what tvservice reports. Can you try dumping the EDID from the display:

                  cd $HOME/RetroPie/roms
                  tvservice -d edit.dat

                  then upload the edit.dat file from \\retropie\roms\ just to check what the display reports.

                  1 Reply Last reply Reply Quote 0
                  • R
                    renepela
                    last edited by 29 Apr 2020, 12:21

                    I have the file, but how do I upload it?

                    M 1 Reply Last reply 29 Apr 2020, 12:30 Reply Quote 0
                    • M
                      mitu Global Moderator @renepela
                      last edited by 29 Apr 2020, 12:30

                      https://send.firefox.com/ !

                      1 Reply Last reply Reply Quote 0
                      • R
                        renepela
                        last edited by 29 Apr 2020, 12:32

                        [https://send.firefox.com/download/27d6c4d2f9f1196e/#T5TKfmqzeDVC0TSu2h5WZw](link url)

                        1 Reply Last reply Reply Quote 0
                        • M
                          mitu Global Moderator
                          last edited by mitu 29 Apr 2020, 13:30

                          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 ?

                          1 Reply Last reply Reply Quote 0
                          • R
                            renepela
                            last edited by 29 Apr 2020, 13:40

                            @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 de

                            I 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)

                            1 Reply Last reply Reply Quote 0
                            • M
                              mitu Global Moderator
                              last edited by mitu 29 Apr 2020, 13:47

                              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.

                              1 Reply Last reply Reply Quote 0
                              • R
                                renepela
                                last edited by 30 Apr 2020, 17:18

                                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?

                                M 1 Reply Last reply 30 Apr 2020, 17:35 Reply Quote 0
                                • M
                                  mitu Global Moderator @renepela
                                  last edited by mitu 30 Apr 2020, 17:35

                                  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 the hdmi_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 via hdmi_group/hdmi_mode and set it to be the main resolution.

                                  R 1 Reply Last reply 30 Apr 2020, 18:18 Reply Quote 0
                                  • R
                                    renepela @mitu
                                    last edited by 30 Apr 2020, 18:18

                                    @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.

                                    1 Reply Last reply Reply Quote 0
                                    • M
                                      mitu Global Moderator
                                      last edited by mitu 5 Jan 2020, 07:18 1 May 2020, 06:18

                                      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.

                                      1 Reply Last reply Reply Quote 0
                                      • M
                                        mitu Global Moderator
                                        last edited by mitu 5 Mar 2020, 21:34 3 May 2020, 17:02

                                        @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 the hdmi_group, hdmi_mode and hdmi_cvt parameters
                                        • open the cmdline.txt file - should be next config.txt - and add the following at the end of the line
                                          video=HDMI-A-1:1024x600@60
                                          
                                          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.

                                        Reboot and see if the system boots with the correct resolution, then check if you can select additional resolutions when starting a game.

                                        R 1 Reply Last reply 6 May 2020, 09:26 Reply Quote 0
                                        • R
                                          renepela @mitu
                                          last edited by 6 May 2020, 09:26

                                          @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?

                                          1 Reply Last reply Reply Quote 0
                                          2 out of 21
                                          • First post
                                            2/21
                                            Last post

                                          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.

                                            This community forum collects and processes your personal information.
                                            consent.not_received