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

    tty Framebuffer shows 640 x 480, despite EmulationStation being in 800x480 res

    Scheduled Pinned Locked Moved Help and Support
    tty framebuffer
    5 Posts 2 Posters 484 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.
    • StonedEdgeS
      StonedEdge
      last edited by StonedEdge

      Hi all,

      Most of my issue is in the title, but I've recently flashed a backup image of RetroPie onto a new SD card and I am having an issue with the Compute Module 4 I am using with the framebuffer.

      When I load into RetroPie-Setup/any other linux tty menu, the framebuffer is shown in 640 x 480 resolution. EmulationStation shows 800 x 480. Is there anything I can do to fix this problem or is this related to the bootloader on the CM4 module itself?

      Here is my config.txt file, for good measure:

      # For more options and information see
      # http://rpf.io/configtxt
      # Some settings may impact device functionality. See link above for details
      
      # uncomment to force a specific HDMI mode (here we are forcing 800x480!) on the internal screen 
      #hdmi_group:1=2
      #hdmi_mode:1=82
      hdmi_group:0=2
      hdmi_mode:0=87
      hdmi_cvt:0=800 480 60 6 0 0 0
      hdmi_force_hotplug:0=1
      hdmi_drive:0=1
      dtoverlay=i2s-mmap
      dtparam=i2c_arm=on
      dtparam=i2s=on
      dtparam=spi=off
      gpio=12=pd,dl,op
      #arm_freq=2100
      #gpu_freq=750
      #over_voltage=6
      #force_turbo=1
      dtoverlay=seeed-2mic-voicecard
      #dtparam=audio=on
      disable_splash=1
      dtoverlay=disable-pcie
      dtoverlay=dwc2,dr_mode=host
      hdmi_ignore_edid:0=0xa5000080
      
      # uncomment to force a console size. By default it will be display's size minus
      # overscan.
      framebuffer_width:0=800
      framebuffer_height:0=480
      
      [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
      

      Appreciate anyone's help as I'm stumped on this, never happened before. See images below for problem.

      alt text
      alt text

      Kind regards,
      StonedEdge

      Check out my build logs below:
      Wii SPii (Wii in a GBA SP Shell)
      https://bitbuilt.net/forums/index.php?threads/the-wii-spii.3347/
      Retro Lite CM4
      https://bitbuilt.net/forums/index.php?threads/retro-lite-cm4-a-stonededge-and-dmcke5-collaboration.3934/

      1 Reply Last reply Reply Quote 0
      • mituM
        mitu Global Moderator
        last edited by

        Try using fbset to control the x/y/vx/vyres parameters. Most likely there is no corresponding video mode in /etc/fb.modes to for your non-standard resolution.

        StonedEdgeS 1 Reply Last reply Reply Quote 0
        • StonedEdgeS
          StonedEdge @mitu
          last edited by StonedEdge

          @mitu

          Hmm, this has never happened before (i.e I've flashed the exact same image before and its automatically set the screen timings). Indeed it does look like a timing problem, as the output of fbset -s shows the below, which shows the timings all messed up. Perhaps a hardware issue?

          Seems the geometry is all working fine, however. Using fbset with xres yres to set 800 x 480 does fix the framebuffer to the full size of the screen, however it resets to the default 640 x 480 when I reboot. Is there a way to permanently set this framebuffer to the default?

          mode "640x480"
              geometry 640 480 800 480 16
              timings 0 0 0 0 0 0 0
              accel true
              rgba 5/11,6/5,5/0,0/0
          endmode
          

          Check out my build logs below:
          Wii SPii (Wii in a GBA SP Shell)
          https://bitbuilt.net/forums/index.php?threads/the-wii-spii.3347/
          Retro Lite CM4
          https://bitbuilt.net/forums/index.php?threads/retro-lite-cm4-a-stonededge-and-dmcke5-collaboration.3934/

          mituM 1 Reply Last reply Reply Quote 0
          • mituM
            mitu Global Moderator @StonedEdge
            last edited by

            You can add the fbset command in the autostart.sh script or try adding to config.txt:

            framebuffer_width=800
            framebuffer_height=480
            
            StonedEdgeS 1 Reply Last reply Reply Quote 0
            • StonedEdgeS
              StonedEdge @mitu
              last edited by StonedEdge

              @mitu

              Hmm, unfortunately that didn't fix anything.

              Reflashing a fresh image of the latest version of RetroPie also caused the same problems. Very strange as this has never happened before... could it be an issue with the CM4 bootloader...

              I've never had this issue before. I'm using a relatively old bootloader for the CM4 back from February 21st... is there a way to manually override the framebuffer resolution or change it?

              I only could fix it by adding fbset -fb /dev/fb0 -g 800 480 800 480 16 to rc.local, but this is less than ideal…

              fbset -s output shows:

              mode "640x480"
              geometry 640 480 800 480 16
              timings 0 0 0 0 0 0 0
              accel true
              rgba 5/11,6/5,5/0,0/0
              endmode

              When it should technically be geometry 800 480 800 480 16... I did try adding the below to /etc/fb.modes and rebooting, however this didn't seem to fix it

              mode "800x480"
              geometry 800 480 800 480 16
              timings 0 0 0 0 0 0 0
              accel true
              rgba 5/11,6/5,5/0,0/0
              endmode

              tvservice also shows the following output:
              pi@retropie:~ $ tvservice -s
              state 0x6 [DVI DMT (87) RGB full 15:9], 800x480 @ 59.00Hz, progressive

              However within /sys/class/graphics/fb0/modes, it shows:

              U: 640x480p-0
              U:800x480p-0

              Is there a way to remove this second value in this file/will it provide any fix? I am having issues sudo nano editing it at the moment due to permission problems, however I have figured out a crap workaround which just writes the following command to rc.local (would prefer to avoid this): fbset -fb /dev/fb0 -g 800 480 800 480 1

              Check out my build logs below:
              Wii SPii (Wii in a GBA SP Shell)
              https://bitbuilt.net/forums/index.php?threads/the-wii-spii.3347/
              Retro Lite CM4
              https://bitbuilt.net/forums/index.php?threads/retro-lite-cm4-a-stonededge-and-dmcke5-collaboration.3934/

              1 Reply Last reply Reply Quote 0
              • First post
                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.