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

  • @rilight Thanks, I took a look at it and may try some of the manual editing of config files. I really hope we get a tearless graphics experience on the pi4 soon, like the pi3 has!

    I did install the experimental firmware, and can say that it tears much less, and much less intense. It still happens, but not as frequently or as badly, so that's a plus! I also haven't found too many bugs either, so that's good! It definitely helps with Crash Bandicoot and Kirby's Nightmare in Dreamland, which was another game that would tear here and there.

    @rilight Did you find anything in particular from that thread helpful to get a tearless experience?


  • I tried the v3d min freq with no success just now. I also have tearing on games in NES and others. No shader on, just bezel overlay.


  • @brandflake11 said in Fixing Screen Tearing issues on RPI4:

    @rilight Did you find anything in particular from that thread helpful to get a tearless experience?

    Unfortunately I've been pretty busy recently, so I haven't had a chance to really mess around with the more recent suggestions. I did find that enabling the force_turbo option seemed to help, as well as forcing the resolution to 720p. I talked about the results of those tests in the thread, but other than that I haven't done anything else myself.


  • v3d_freq_min only addresses the low/30 fps framerate issue that happens within EmulationStation.

    The screen tearing issue from this thread is a separate issue is appears.

    With the kernel setting set to ondemand, the expected behavior of the gpu clock is to ramp up the frequency to the default and then downclock to 300 Mhz when not used to conserve resources.

    Also RetroArch v.1.8.9 and above made a lot of changes to the graphics side of their drivers. Once RetroPie devs update the setup script to implement those changes it may be worth waiting to see if the screen tearing has been fixed in those versions.


  • Maybe I'll look into installing the newest version of retroarch from source to see if it helps. Thanks for the suggestion @bluestang!


  • @bluestang I'm using the retropie draft build script for 1.9.0 and there is no change with the screen tearing.


  • Well darn, there has to be something we can do. I guess we should just keep waiting for better firmware? For the meantime, maybe I can go back to my pi3, or just suck it up and enjoy the pi4 with tearing.

    Has anyone tried turning on the compositor? Does that affect retroarch if you are not running a desktop environment?


  • For anyone looking for a solution to this, I have found this thread.

    Enabling the kms driver (although a work in progress) has fixed all tearing I was having. The tearing is replaced with some stuttering in some games, but I am more than okay with this.

    To enable, I went to /boot/config.txt and edited this part:

    [pi4]
    # Enable DRM VC4 V3D driver on top of the dispmanx display stack
    #dtoverlay=vc4-fkms-v3d
    dtoverlay=vc4-kms-v3d-pi4,noaudio
    max_framebuffers=2
    
    [all]
    #dtoverlay=vc4-fkms-v3d
    
    

    Basically, comment out dtoverlay=vc4-fkms-v3d with a #, and then put in the the dtoverlay=vc4-kms-v3d-pi4,noaudio line. For my setup, I was getting a black screen until I added the ,noaudio part to it.
    Also, under [all] comment out the other dtoverlay underneath it if it is not commented out.

    I hope this helps others!


  • @brandflake11 Thank you, this absolutely fixed the really weird screen tearing issues I was having even with NES games. Thank you so very much.


  • @zerojay You're welcome, I'm glad it helped you. I hope having a clear topic like this addressing this issue helps others as well.


  • @brandflake11
    I applied your changes to the /boot/config.txt and it helped a lot.
    But some tearing was still visible when many sprites and layers were active in some situations. (Aliens 3 / SNES)

    What helped for me was reducing the overclocking from 2250 to 1950.
    Now I cannot reproduce the tearing any more.


  • That is very interesting @hgill that overclocking would affect that. I don't use overclocking on my pi and so I don't get any screen tearing. But, that's good to hear to keep note of for others!

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.