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

Shaders not displaying properly, weird issue / CRT-PI etc.



  • I'm using an HDTV with current settings at 1280 x 720 (which as far as I can tell are accurate to the TV). My config file is as follows:

    # 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=9
    overscan_right=6
    overscan_top=8
    overscan_bottom=9
    
    # 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=4
    
    # 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=1
    
    #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 the lirc-rpi module
    #dtoverlay=lirc-rpi
    
    # Additional overlays and parameters are documented /boot/overlays/README
    
    # Enable audio (loads snd_bcm2835)
    dtparam=audio=on
    gpu_mem_256=128
    gpu_mem_512=256
    gpu_mem_1024=256
    overscan_scale=1
    
    disable_splash=1
    enable_uart=1
    

    My consoles are set at integer on, but no matter which shader I try none seem to display correctly. Using CRT-PI as a base example, it doesn't display anywhere near as I've seen in various pictures online. Rather than having a scanline effect it's more like a faint crosshatch that resembles a PC monitor shader. Additionally, there is banding present no matter how I try to alter the screen dimensions. When I try CRT-PI curvature this is most distinct, since it presents very obvious circular banding moving out from the centre and looks dreadful.

    Is this a case of the TV having some odd resolution and I'm incorrectly assuming it's 1280x720? (because the Retropie menus seem to display best at this resolution, that was my guess). I can't find info on the TV settings itself as to the native resolution, I only know it's a 42" Samsung that's around 5 years old.

    Appreciate any tips you might have guys, many thanks.


  • Global Moderator

    @skykid Check your resolution in the RGUI and see what is the resolution used for the ROM. Did you choose a custom resolution from the Runcommand launch menu ?
    Disable integer scaling and try again, using also the zfast_crt shaders, they might work better for 720p.


  • Global Moderator

    @skykid said in Shaders not displaying properly, weird issue / CRT-PI etc.:

    Is this a case of the TV having some odd resolution and I'm incorrectly assuming it's 1280x720? (because the Retropie menus seem to display best at this resolution, that was my guess). I can't find info on the TV settings itself as to the native resolution, I only know it's a 42" Samsung that's around 5 years old.

    is there a reason why you're specifying the resolution at all? typically HDMI handshakes and tells the raspberry pi what resolution it wants to use. i would be pretty surprised if a 5 year old TV is anything other than 1080p - my last 720p TV was from 2006. my 2011 samsung was 1080p, but like i say - i don't think you should specify anything.

    also, i would review your overscan approach. see https://github.com/RetroPie/RetroPie-Setup/wiki/Overscan#samsung - there is likely a way of making the screen full resolution just by adjust your tv settings. when you use config.txt overscan adjustments on a 1080p panel, you're likely adjusting an adjustment, so the pixels don't line up with the actual pixels of the panel, giving scaling artefacts.

    i think running in full 1080p (or rather, letting HDMI tell your TV to run full 1080p) without overscan adjustments will make crt shaders look loads better.



  • Hey, first of all thanks for taking the time to get back to me on this.

    So the reason why I made an adjustment to the resolution is because the default came out really badly. The emulationstation imagery looked jaggy and unclear. I then went about trying to determine the TV’s native resolution without any luck, and finally went to adjusting resolutions one by one via the Retropie menu. 1080x720 / 60hz produces the best result overal - for both the emulationstation menu and in game visuals, sans that shader issue.

    However you’ve given me food for thought regarding overscan; perhaps adjusting those is the reason for the scaling artefacts on the shaders. After I set the resolution I still had black borders around the emulationstation front end so I made the overscan adjustments to try to tidy it up a bit.

    I’ll comment out all the overscan stuff and see what happens.



  • @dankcushions

    So I went in and commented out everything to do with overscan and also commented out the framebuffer settings and allowed everything to go auto. This improved things quite a bit. I think my original config.txt file had some leftover uncommented settings that gave me the issue initially with needing to adjust overscan since it was copied over from a different setup.

    I also followed @mitu 's suggestion and switched off integer and adjusted the screen to 1:1 (as core provided stretched it too much).

    Here's what improved:

    • Shader uniformity. On inspection it seems pretty even, although on a scrolling intro for one NES title I think I can still identify very faint banding.

    • Crt-pi curvature - no longer has the very obvious artefacts and scaling going on from the centre. It now looks better, although I notice some circular banding on the top and bottom on games with light backgrounds. Also the "curved" edges of the shader (the left and right sides) are slightly pixellated when afaik they should be smooth. I can see this prominently when using an overlapping coloured bezel.

    What didn't improve:

    • It still doesn't look anything like Crt-pi as shown in online examples: https://github.com/RetroPie/RetroPie-Setup/wiki/Shaders-and-Smoothing

    • It still appears as a neat crosshatch pattern across the whole screen (albeit more uniform now) rather than the discernable horizontal scanlines shown in crt-pi screenshot examples. Honestly I'm not sure what gives. I would say crt-pi (curved and flat) more resembles this image, but with less discernible lines on the horizontal:

    https://drive.google.com/file/d/0B5_cUiAJwMMvbUdMeXFoTWFtck0/view

    @mitu Sorry, I'm not quite sure where to check the resolution for the ROM in the RGUI, can you point me in the right direction. I didn't choose any custom resolution from the launch menu (assuming you mean the one you can tap into before the rom loads up?)
    At the moment it's all set to auto in the config.txt (with results as described above).

    Did disable integer scaling, didn't see the zfast_crt shaders.


  • Global Moderator

    @skykid The image looks ok. The difference with the ones in the docs page might be the resolution- on 1080p the scanlines are 'thicker'.
    You can check the Video settings in the RGUI (from the quick menu) and see what's the resolution RA runs at.
    About the zfast shaders missing - what RP version do you have ? Please add the info asked in https://retropie.org.uk/forum/topic/3/read-this-first.


  • Global Moderator

    @skykid said in Shaders not displaying properly, weird issue / CRT-PI etc.:

    It still appears as a neat crosshatch pattern across the whole screen (albeit more uniform now) rather than the discernable horizontal scanlines shown in crt-pi screenshot examples

    if you open the wiki images in a separate window and zoom in, you'll see they also have fainter perpendicular lines - they are the shadowmask/aperture grille effect. they should look a lot fainter than the scanlines, though.

    crt-pi curvature probably will always have some moire effects, even on 1080p, just because it's having to distort a bunch of straight lines, in a limited resolution (HD is still limited as far as some shaders are concerned!). however, like @mitu, i'm curious what resolution you're running now everything is at 'auto'. it should look fairly decent at 1080p.



  • @mitu

    Using Retropie 4.4.2 I believe. Found the zfast shaders - initially I looked in the zfast directory at the top and it was empty, but found them near the bottom.

    Regular Zfast CRT produces a very similar image to crt-pi, just even fainter in definition and no discernible scanlines. Zfast curvature makes the entire thing look like it was sprayed over with MS paint's brush tool, so something isn't right.

    All I need to do now is figure out the resolution RA is running at, and apologies, I'm not sure where I'm meant to look. I tried starting a game, going into the RGUI. Under Quick Menu there are no 'Video Settings', but there is 'Video' under the 'Settings' option in the regular menu. In there I can see all my video options (aspect ratio, bilinear filtering etc) but nothing about resolution.

    I tried exiting out to the Emulationstation front end and went into the Retropie option, then Retroarch, and into the RGUI that way. 'Video' under 'Settings' there shows the custom aspect ratio set at 1280 x 960 - is this what you were looking for?

    @dankcushions Yes, the moire effects aren't serious now compared to before, but the scanline effect of the shaders are basically non-existent. You can't see any horizontal lines really. The entire thing is just one crosshatched sheet, and a lot of the shaders seem to display similarly.


  • Global Moderator

    @skykid said in Shaders not displaying properly, weird issue / CRT-PI etc.:

    I tried exiting out to the Emulationstation front end and went into the Retropie option, then Retroarch, and into the RGUI that way. 'Video' under 'Settings' there shows the custom aspect ratio set at 1280 x 960 - is this what you were looking for?

    this sounds wrong to me. can you take a picture of that screen? that should help us diagnose



  • @dankcushions Sure I'll get it over to you ASAP. Was that the correct place I was meant to be looking, though?


  • Global Moderator

    @skykid as good as place as any. i want to see that whole screen of settings.



  • 0_1543595889950_1229681829.jpg

    0_1543596010973_1401585406.jpg

    Here we are.

    I'll also just post my current config.txt here just to be sure there's still nothing missing there:

    # 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=9
    #overscan_right=6
    #overscan_top=8
    #overscan_bottom=9
    
    # 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=4
    
    # 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=1
    
    #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 the lirc-rpi module
    #dtoverlay=lirc-rpi
    
    # Additional overlays and parameters are documented /boot/overlays/README
    
    # Enable audio (loads snd_bcm2835)
    dtparam=audio=on
    gpu_mem_256=128
    gpu_mem_512=256
    gpu_mem_1024=256
    overscan_scale=1
    
    disable_splash=1
    enable_uart=1
    
    

  • Global Moderator

    @skykid your screenshots say 'no core' at the bottom. i take you are opening retraorch via the retropie-setup menu?

    sorry, but to really diagnose you need to open up the retroarch menu within one of the games in questions, as you could have per-game/core overrides going on.


  • Global Moderator

    @skykid said in Shaders not displaying properly, weird issue / CRT-PI etc.:

    hdmi_drive=2

    is there a particular reason you have this set? it shouldn't matter, but this is not default.



  • also seems to be using RA 1.7.3, shouldn't RetroPie 4.4 be using 1.7.5?


  • Global Moderator

    @hhromic I think the 4.4 image had 1.7.1 included, 1.7.5 was added at the beginning of October as binary update.



  • @mitu ah yes you are right, he mentioned using RP 4.4.2, which at the time was shipping RA 1.7.3 as binary update. Good call.



  • @dankcushions

    Yep it was from the retropie option within emulationstation. I mentioned this in the above post but maybe I wasn't clear enough, apologies.

    I uncommented hdmi_drive=2 because I wasn't recieving audio through the cable.

    Here are the images from within the game RGUI options. I have also included a screenshot to try and demonstrate how the shader appears. This is crt-pi applied with no other image settings.

    0_1543601524515_2105262875.jpg

    0_1543601560738_1553743943.jpg



  • 0_1543601684978_941369537.jpg

    Sorry, here's the shot of the shader. Couldn't attach previously.


  • Global Moderator

    @skykid said in Shaders not displaying properly, weird issue / CRT-PI etc.:

    @dankcushions

    Yep it was from the retropie option within emulationstation. I mentioned this in the above post but maybe I wasn't clear enough, apologies.

    I uncommented hdmi_drive=2 because I wasn't recieving audio through the cable.

    Here are the images from within the game RGUI options. I have also included a screenshot to try and demonstrate how the shader appears. This is crt-pi applied with no other image settings.

    0_1543601524515_2105262875.jpg

    aspect ratio is set to 1:1. default in retropie for all cores is 'core provided'. please post /opt/retropie/configs/nes/retroarch.cfg

    also /opt/retropie/configs/all/retroarch.cfg

    sounds like you have some none-default settings.



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.