Uneven scanlines with CRT-hyllian

Welcome Page Forums RetroPie Project Video Output on RetroPie Uneven scanlines with CRT-hyllian

This topic contains 18 replies, has 6 voices, and was last updated by Profile photo of blockaboots blockaboots 1 year, 10 months ago.

Viewing 19 posts - 1 through 19 (of 19 total)
  • Author
    Posts
  • #103537
    Profile photo of geauxwave
    geauxwave
    Participant

    Anyone know why I’m getting these uneven groups of scanlines–some darker than others? My config settings are below. The TV I’m using is a 720p display, and I’m forcing 720p in the boot config. I was hoping someone could give me some ideas before I gave up and switched to overlays. :/

    Thanks in advance for the help.

    retroarch.cfg

    video_smooth = false
    video_shader = "/opt/retropie/emulators/retroarch/shader/crt/crt-hyllian-glow/crt-hyllian-glow.glsl"
    video_shader_enable = true
    video_scale_integer = true

    /boot/config.txt

    hdmi_group=1
    hdmi_mode=4

    uneven scanlines

    #103547
    Profile photo of dankcushions
    dankcushions
    Participant

    what’s your retroarch video output resolution? (i think the bottom setting in the menu when you press ‘x’ during launch) you should set it to “video output”

    in any case, you should probably use an overlay anyway! they have a predictable outcome and also have less of a performance impact (ie, none!)

    #103557
    Profile photo of geauxwave
    geauxwave
    Participant

    Thanks for the reply. I think I’ll give the overlays a shot. They do seem like a good choice. I watched one of Floob’s videos on the topic a while back, but will have to watch again now that I know a bit more about it.

    I see a lot of overlays and guides for 1080p displays, but not much for 720p. Know of any good overlays (and/or tutorials) for 720p? I have photoshop, and I think I recall reading somewhere that I could just scale down a 1920×1080 overlay to 1360×768. Not sure if it’s really that easy?

    what’s your retroarch video output resolution? (i think the bottom setting in the menu when you press ‘x’ during launch) you should set it to “video output”

    in any case, you should probably use an overlay anyway! they have a predictable outcome and also have less of a performance impact (ie, none!)

    #103564
    Profile photo of patrickm
    patrickm
    Participant

    Thanks for the reply. I think I’ll give the overlays a shot. They do seem like a good choice. I watched one of Floob’s videos on the topic a while back, but will have to watch again now that I know a bit more about it.

    I see a lot of overlays and guides for 1080p displays, but not much for 720p. Know of any good overlays (and/or tutorials) for 720p? I have photoshop, and I think I recall reading somewhere that I could just scale down a 1920×1080 overlay to 1360×768. Not sure if it’s really that easy?

    what’s your retroarch video output resolution? (i think the bottom setting in the menu when you press ‘x’ during launch) you should set it to “video output”

    in any case, you should probably use an overlay anyway! they have a predictable outcome and also have less of a performance impact (ie, none!)

    You don’t want to scale the overlays, just make one that is the same size as your desired resolution. They are very easy to make with the tile feature in Photoshop or Gimp.

    Regarding the uneven scanlines with Hyllian, that’s a scaling issue- you probably don’t have the aspect ratio set right. to avoid these artifacts, you need to turn integer scale ON under video settings, then set a custom resolution under options -> video options

    #103586
    Profile photo of geauxwave
    geauxwave
    Participant

    Thanks! I was reading some of your posts last night. Very informative stuff. I especially like the approach described in “How to get perfect video scaling…”. I think that is the way to go for sure. If you have any advice/tips/numbers for my 720p setup, that would be greatly appreciated.

    You don’t want to scale the overlays, just make one that is the same size as your desired resolution. They are very easy to make with the tile feature in Photoshop or Gimp.

    Regarding the uneven scanlines with Hyllian, that’s a scaling issue- you probably don’t have the aspect ratio set right. to avoid these artifacts, you need to turn integer scale ON under video settings, then set a custom resolution under options -> video options

    #103591
    Profile photo of Floob
    Floob
    Member

    I could put some more 720p options into this tool
    https://github.com/biscuits99/rp-video-manager

    Although I have a 720p TV and it sort of gets the 1080p ones to work, so it could be worth trying on the off chance. Also, just a reminder, if you have tweaked your config a lot, do backup before using the tool unless you are comfortable editing the system based retroarch.cfg files.

    RetroPie help guides --> https://goo.gl/Yfy8kj
    Please read this before asking for help --> http://goo.gl/eLErnl

    #103593
    Profile photo of geauxwave
    geauxwave
    Participant

    That would be awesome! Your tool looks great. I’ve read all your posts on it, and watched the videos (great job on your videos by the way. thank you).

    I may try the tool as-is tomorrow, if I get the chance, and will report back. I’ll definitely back up my configs! Thanks for the reminder. I actually prefer editing the config files over using the GUIs. Although I’m a linux noob, I’m a front-end web developer by trade, so I’ve been enjoying learning the command line and being able to utilize my text editor to make configuration changes.

    Thanks again!

    I could put some more 720p options into this tool
    https://github.com/biscuits99/rp-video-manager

    Although I have a 720p TV and it sort of gets the 1080p ones to work, so it could be worth trying on the off chance. Also, just a reminder, if you have tweaked your config a lot, do backup before using the tool unless you are comfortable editing the system based retroarch.cfg files.

    #103595
    Profile photo of geauxwave
    geauxwave
    Participant

    @patrickm This is another great post of yours that I enjoyed reading–“Video output is poorly configured by default” (link). Achieving minimal to no input lag is important to me. That’s why I still have a Sony CRT that I use for my retro consoles (I have an NES, SNES, Genesis, Saturn, N64, PS, PS2, and Xbox hooked up to it). I’m hoping to be able to achieve a somewhat “comparable” experience with my Pi on LCD TV’s.

    Quick question… you mention that Crop Overscan should be set to OFF on most cores. Can you tell me which ones require it to be ON, from your experience so far?

    Thanks again.

    “Video output is poorly configured by default”

    video output is poorly configured by default.

    Thanks! I was reading some of your posts last night. Very informative stuff. I especially like the approach described in “How to get perfect video scaling…”. I think that is the way to go for sure. If you have any advice/tips/numbers for my 720p setup, that would be greatly appreciated.

    You don’t want to scale the overlays, just make one that is the same size as your desired resolution. They are very easy to make with the tile feature in Photoshop or Gimp.

    Regarding the uneven scanlines with Hyllian, that’s a scaling issue- you probably don’t have the aspect ratio set right. to avoid these artifacts, you need to turn integer scale ON under video settings, then set a custom resolution under options -> video options

    #103761
    Profile photo of geauxwave
    geauxwave
    Participant

    Ok, I think I figured it out. I read patrickm’s posts and watched floob’s videos a few more times to really let everything sink in. Now I feel comfortable editing all of this in the config files with my text editor, which is the way I prefer doing it.

    I used patrickm’s 3x scanlines PNG, and used photoshop to change the size of it to match my display resolution of 1366×768 (using the Crop function, not Resize). Right now I have it set to 50% opacity, and it looks great. Although I have not tested different opacities yet, so I may find a setting I like even more.

    I also should note that aside from it looking great, performance seems to be excellent. I can definitely tell a difference in terms of input lag from when I was using shaders. I highly recommend this method if playability is your #1 concern, like me.

    Here are my retroarch.cfg settings. For each emulator, Retroarch “render resolution” has been set to “use video output”. To find viewport width and height, I went into RGUI and with integer scaling on, I changed the custom resolutions until i found one that looked like the correct ratio and was still visible all screen.

    As of now, I have “crop overscan” set to “false” for all of these. Although, patrickm mentioned that it needed to be on for some emulators, so I should probably test this more. (suggestions/experiences welcome)

    My next challenge will be to achieve this (proper scaling and use of overlays) for gngeo and Mame. If anyone can point me in the right direction for that, it would be greatly appreciated. 🙂

    Thanks again to patrickm and floob for the great information and guidance.

    NES

    video_shader_enable = false
    video_fullscreen_x = 1366
    video_fullscreen_y = 768
    custom_viewport_width = 768
    custom_viewport_height = 720
    custom_viewport_x = 0
    custom_viewport_y = 0
    aspect_ratio_index = 22
    video_scale_integer = true
    
    input_overlay = /opt/retropie/emulators/retroarch/overlays/effects/scanlines/CRT-j-scanlines-1366x768-2.cfg
    input_overlay_enable = true
    input_overlay_opacity = 0.500000
    input_overlay_scale = 1.000000
    video_smooth = false

    SNES

    video_shader_enable = false
    video_fullscreen_x = 1366
    video_fullscreen_y = 768
    custom_viewport_width = 1024
    custom_viewport_height = 717
    custom_viewport_x = 0
    custom_viewport_y = 0
    aspect_ratio_index = 22
    video_scale_integer = true
    
    input_overlay = /opt/retropie/emulators/retroarch/overlays/effects/scanlines/CRT-j-scanlines-1366x768-2.cfg
    input_overlay_enable = true
    input_overlay_opacity = 0.500000
    input_overlay_scale = 1.000000
    video_smooth = false

    MEGADRIVE

    video_shader_enable = false
    video_fullscreen_x = 1366
    video_fullscreen_y = 768
    custom_viewport_width = 960
    custom_viewport_height = 672
    custom_viewport_x = 0
    custom_viewport_y = 0
    aspect_ratio_index = 22
    video_scale_integer = true
    
    input_overlay = /opt/retropie/emulators/retroarch/overlays/effects/scanlines/CRT-j-scanlines-1366x768-2.cfg
    input_overlay_enable = true
    input_overlay_opacity = 0.500000
    input_overlay_scale = 1.000000
    video_smooth = false

    (click for full size image)
    proper scanlines

    #103766
    Profile photo of dragonjab
    dragonjab
    Participant

    Ok, I think I figured it out. I read patrickm’s posts and watched floob’s videos a few more times to really let everything sink in. Now I feel comfortable editing all of this in the config files with my text editor, which is the way I prefer doing it.

    I used patrickm’s 3x scanlines PNG, and used photoshop to change the size of it to match my display resolution of 1366×768 (using the Crop function, not Resize). Right now I have it set to 50% opacity, and it looks great. Although I have not tested different opacities yet, so I may find a setting I like even more.

    I also should note that aside from it looking great, performance seems to be excellent. I can definitely tell a difference in terms of input lag from when I was using shaders. I highly recommend this method if playability is your #1 concern, like me.

    Here are my retroarch.cfg settings. For each emulator, Retroarch “render resolution” has been set to “use video output”. To find viewport width and height, I went into RGUI and with integer scaling on, I changed the custom resolutions until i found one that looked like the correct ratio and was still visible all screen.

    As of now, I have “crop overscan” set to “false” for all of these. Although, patrickm mentioned that it needed to be on for some emulators, so I should probably test this more. (suggestions/experiences welcome)

    My next challenge will be to achieve this (proper scaling and use of overlays) for gngeo and Mame. If anyone can point me in the right direction for that, it would be greatly appreciated. :)

    Thanks again to patrickm and floob for the great information and guidance.

    NES

    video_shader_enable = false
    video_fullscreen_x = 1366
    video_fullscreen_y = 768
    custom_viewport_width = 768
    custom_viewport_height = 720
    custom_viewport_x = 0
    custom_viewport_y = 0
    aspect_ratio_index = 22
    video_scale_integer = true
    
    input_overlay = /opt/retropie/emulators/retroarch/overlays/effects/scanlines/CRT-j-scanlines-1366x768-2.cfg
    input_overlay_enable = true
    input_overlay_opacity = 0.500000
    input_overlay_scale = 1.000000
    video_smooth = false

    SNES

    video_shader_enable = false
    video_fullscreen_x = 1366
    video_fullscreen_y = 768
    custom_viewport_width = 1024
    custom_viewport_height = 717
    custom_viewport_x = 0
    custom_viewport_y = 0
    aspect_ratio_index = 22
    video_scale_integer = true
    
    input_overlay = /opt/retropie/emulators/retroarch/overlays/effects/scanlines/CRT-j-scanlines-1366x768-2.cfg
    input_overlay_enable = true
    input_overlay_opacity = 0.500000
    input_overlay_scale = 1.000000
    video_smooth = false

    MEGADRIVE

    video_shader_enable = false
    video_fullscreen_x = 1366
    video_fullscreen_y = 768
    custom_viewport_width = 960
    custom_viewport_height = 672
    custom_viewport_x = 0
    custom_viewport_y = 0
    aspect_ratio_index = 22
    video_scale_integer = true
    
    input_overlay = /opt/retropie/emulators/retroarch/overlays/effects/scanlines/CRT-j-scanlines-1366x768-2.cfg
    input_overlay_enable = true
    input_overlay_opacity = 0.500000
    input_overlay_scale = 1.000000
    video_smooth = false

    (click for full size image)
    proper scanlines

    Yep having video_scale_interger = “true” help me figure out my problem.

    #103798
    Profile photo of patrickm
    patrickm
    Participant

    Ok, I think I figured it out. I read patrickm’s posts and watched floob’s videos a few more times to really let everything sink in. Now I feel comfortable editing all of this in the config files with my text editor, which is the way I prefer doing it.

    Glad to help- eventually all of this will be automated by the video manager, which should make setup a breeze.

    I can’t remember all the emulators that require crop overscan on for the overlays to work right, but snes9x-next and fceumm I know require it.

    The general principle to get proper scaling is the same for all emulators: you need to set a custom emulator render resolution where the X and Y axis are exact integer (I.e., whole number) multiples of the native resolution. The reason why 720p monitors work so well for emulating old consoles is because the y axis is 720 lines, which happens to be exactly 3 times the the native resolution of (most) 8 bit and 16 bit consoles, most of which output 240 horizontal lines.

    So, all you need to do is figure out how to set a custom emulator resolution, make sure your monitor is displaying in its native resolution, and turn on integer scaling/set the emulator resolution so that X and Y are exact integer multiples of the native resolution of the console being emulated.

    #103907
    Profile photo of geauxwave
    geauxwave
    Participant

    Thanks! I will change Crop Overscan to true for both of those emulators.

    #104074
    Profile photo of dankcushions
    dankcushions
    Participant

    for gngeo, you’ll find that all games are 224 lines high, and use the entire space for important info (scores etc). so with 720p your options are:

    integer scaling on, 1280×720 x3 overlay png. this will leave you with black borders at the top and bottom.

    integer scaling off, 1280×720 overlay png with 224 lines (you’ll have to generate one, and use linear scaling to get the best result), and retreat resolution set to video output. this will leave you with slight artifacting to how the scanlines appear, but a full screen image. for me the corruption is not noticeable in 1080p, but it might be in 720p.

    for mame, there is not standard resolution, so you really have to configure each game (or each arcade board) separately. I am planning on generating (and releasing) a load of scanlines, and appropriate rom cfgs, but not started yet!

    #104082
    Profile photo of Floob
    Floob
    Member

    @geauxwave – If you want to provide the images used in your examples I’d be happy to add your settings to this video tool to let others qyuickly try out your settings.
    I’ve added thorigs yesterday.
    https://github.com/biscuits99/rp-video-manager

    @dankcushions – that sounds great to create custom per rom configs for libretro based mame emulation.

    RetroPie help guides --> https://goo.gl/Yfy8kj
    Please read this before asking for help --> http://goo.gl/eLErnl

    #104207
    Profile photo of blockaboots
    blockaboots
    Participant

    Somethings i have noticed with your rp-video-manager Floob, Master System has have slow performance think the Retroarch “render resolution” needs to be set to 720p to get 100% speed.

    Also i’d recommend selecting the lcdx3 shader for GBA emulation

    Also can you have the TV overlay included in your program with the scanlines applied, so just the TV bezel?

    #104224
    Profile photo of Floob
    Floob
    Member

    @blockaboots Which option have you selected where Master System is sluggish? If you let me know which of the options you have used I can check the config.
    At the moment there is only one shader option, the rest are overlays, but I could always add other shaders as options.

    You can find various non scanline overlays in
    /opt/retropie/emulators/retroarch/borders/
    and some here
    http://retroarchborders.blogspot.co.uk/

    RetroPie help guides --> https://goo.gl/Yfy8kj
    Please read this before asking for help --> http://goo.gl/eLErnl

    #104328
    Profile photo of blockaboots
    blockaboots
    Participant

    Sorry i was talking about this TV overlay you have included in your rp-video-manager pack…

    but it appears to have a scanline overlay on the screen part of the TV, i was just wondering where that came from and if there was a version of it without the scanlines as that overlay on its own would work well if using integer scaling

    #104334
    Profile photo of Floob
    Floob
    Member

    Ah – that image was provided by user thorig:
    http://blog.petrockblock.com/community/members/thorig/

    I think thorig may have more info on the original versions of that.

    RetroPie help guides --> https://goo.gl/Yfy8kj
    Please read this before asking for help --> http://goo.gl/eLErnl

    #104350
    Profile photo of blockaboots
    blockaboots
    Participant

    Thanks have send him a PM

Viewing 19 posts - 1 through 19 (of 19 total)

Forums are currently read only - please visit the new RetroPie forums at https://retropie.org.uk/forums/

Skip to toolbar