Forum Replies Created
-
AuthorPosts
-
patrickmParticipant
[quote=103761]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.[/quote]
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.
patrickmParticipant[quote=103557]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!)
[/quote]
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
08/02/2015 at 09:37 in reply to: How to get perfect video scaling and list of recommended resolutions #103173patrickmParticipant[quote=102926]Here are Mame settings. Can someone please merge all this posts into one. Thanks.
[/quote]
For accurate video scaling, video smooth needs to be turned off. Nearest neighbor filter displays the source material without altering it. Bilinear filter runs the source material through an algorithm and distorts the image by finding an average color based on adjacent pixels.
You might prefer the smoother image, but it causes pixels to bleed over the scanlines, and it alters the source material, making it less accurate.
In addition, bilinear filter/ video smooth WILL introduce additional input lag vs. nearest neighbor, although the difference probably isn’t significant enough to be noticeable to most.
patrickmParticipantI think N64 games are still very hit or miss. I can get most games to run full speed but there are random graphical and sound glitches on a lot of games. I think N64 is just hard to emulate; a better option would be to download the games using a Nintendo Wii, but then you have to pay for them.
You can try playing around with different plugins under core options, but I think the defaults are the best for the pi. Other plugins might be more accurate but not run as well on the pi.
07/28/2015 at 01:52 in reply to: How to get scanlines and vastly improve picture quality: the best method #102860patrickmParticipant[quote=102850]Ok so I try the steps again, but we no results. Every time I have it all setup, the minute I log out of the RGUI the settings are gone. I also try doing this through the retropie settings on the new Retropie Release Candidate 1. Which I’m guessing is the general RGUI for all the retroarch emulators. Please help a video would be helpful.
[/quote]
You might try turning on “auto save config on exit.” Under general options, I think. I haven’t tried this myself, though.
07/21/2015 at 00:27 in reply to: 1080p scaling and scanlines without borders from integer scaling #102402patrickmParticipant[quote=102060]
and restricted gameplay-critical information to the centre 216, where they could make a reasonable assumption that this would ALWAYS be shown.[/quote]That’s exactly the point I made two posts ago. Why are you concerned with displaying overscan? It’s almost completely irrelevant to the discussion what the number of lines rendered by the console is, since the final appearance was determined by the amount that the TV cropped, and this is what the developers based the graphics on.
[quote]
what you seem to be arguing for is only showing 216 lines, which is almost a ‘worst case’ scenario for a CRT. i don’t see why you have a problem with me choosing to view all 224 lines of graphics! if you want to show just 216, ok![/quote]It’s actually the completely opposite- what I describe is a best case scenario. Since the developers restricted important information to 90% of the screen, the rest was filled with padding (with the exception of arcade and neo geo) With the scenario I describe, 0 space is dedicated to padding/overscan.
Of course, if you like overscan, then that’s a different story.
[quote]crikey. you’re displaying 216 lines on your TV – 216 divides into 1080, and you have one scanline per pixel line, so your scanlines cannot be stretched, so your point about nearest-neighbour filtering is not illustrated. if you do it correctly you get the effect i’ve shown – that’s how nearest neighbour works! it cannot work any other way![/quote]
I’m not even sure we’re talking about the same thing anymore- of course the image you’re using is going to look bad with nearest neighbor, because you’re trying to scale up 224 to 1080. Linear filter just happens to look better in this situation, but all you’re doing is hiding artifacts that are inherent in trying to scale up by a non-integer factor. If that’s good enough for you, then good for you. :)
07/20/2015 at 18:49 in reply to: 1080p scaling and scanlines without borders from integer scaling #102379patrickmParticipant[quote=102341]what I’m doing is giving the settings for a CRT TV that would display 224 lines, whereas[/quote]
And I’m trying to get you to appreciate the wide variance with which CRTs were calibrated, which you don’t seem to understand. The 224 line thing is truly pulled from nowhere with no source to back it up (this is a criticism of the wiki you linked to, not you). You need to understand that CRTs were analogue- controlling the paths of individual electrons with magnets. It wasn’t an exact science. As such, even individual TVs of the same manufacturer and model number could vary widely in the amount of overscan they displayed. CRTs were calibrated by hand after they were put together. It wasn’t like there was a whole batch that displayed 224 or something like that. You couldn’t even generalize about a particular model. Each CRT is unique, like a fingerprint or something. I encourage you to actually look at a few different CRTs and measure the overscan they display- you will most likely find that no two measurement are exactly the same even when looking at TVs of the same model. Literally the only generalization one can make here is that “the important game graphics were displayed within the safe area.”
[quote]u’re not understanding what’s going on here. your screenshot is displaying 216 lines (you can tell by the amount of ‘ground’ is displaying – compare to my screenshots above of a 224 line in 1080p scaled version). your scanlines are displaying 1:1. you won’t see any scaling of the overlay unless you turn off integer scaling – ie attempt to stretch 224 or 240 lines on a 1080p[/quote]
Nope, I’m afraid you are mistaken. The output seen in the screenshot is 240 lines with crop overscan off. That’s how many lines are being put out by the emulator in the screenshot I provided. 24 of these lines get cropped off by stretching the picture with 5x scaling so that the edge of the picture extends beyond the edge of the screen. So I’m displaying 216 lines but the output is the full 240.
The scaling artifacts are resulting from something you’re doing in gimp most likely. Below is a screenshot taken with the internal resolution set to 224 and scaled up by 6×5. 224 makes no difference in the appearance of the overlay vs 240.
http://s1309.photobucket.com/user/Patrick_McCleery/media/image.jpg1_zpsnt9eagkf.jpg.html
[quote]…or you use my method. you’re welcome[/quote]
And it will result in artifacts. Sorry, but there’s no method other than the one I described that won’t result in artifacts. Bilinear filter results in artifacts by definition, that’s just a function of how it works. It takes the average of four adjacent texels and determines the color based on that.
07/20/2015 at 09:37 in reply to: 1080p scaling and scanlines without borders from integer scaling #102338patrickmParticipant[quote=102160]
yes, but as i said (4 times, now), I a similar effect because of my TV, even when using no scnaline. I do NOT get this effect when using lower opacity on the scanlines, scaling or not. Apparently you are unable to take my word for it, so here’s some screenshots (ignore the vertical white ‘ovals’ as they are just an effect of my phone camera):[/quote]
All opacity does is adjust the darkness of the overlay. The artifacts are most likely there even at lower opacity; you’re just not able to notice them at that opacity.
[quote]
i say again, most TVs displayed the centre 224 lines. http://wiki.nesdev.com/w/index.php/Overscan: “Actual TVs show about 224 lines of the signal, hence the commonly reported 256×224 resolution. But the vertical position may be slightly off center.” – this is why almost all games will render the playing field for the full 224 lines, knowing that most users would see it, rather than show borders because some users wouldn’t. “In fact, even some CRT SDTVs made in the 2000s show more of the bottom than the top; this may be so that tickers on cable news channels aren’t cut off.” – this might account for your TV, but for those of us who want to emulate TVs from the era, showing the full 224 lines is accurate (and shows more of the game).[/quote]the statement “most TVs displayed the center 224 lines” is misleading. The wiki page provides no source for the claim, and the claim does not account for the very wide variance in how CRT TVs were calibrated. There was no single standard, only a correct range. The safe area is 90% of the picture, and is where game developers placed important graphics. That’s all that really matters for the purpose of displaying games. The developers didn’t plan for a hypothetical average, they planned for the maximum amount that a TV would crop so that the games would look right on anyone’s TV.
(http://www.nab.org/xert/scitech/pdfs/tv031510.pdf)
One problem is that it looks like you are not taking into account how crop overscan behavior alters the internal resolution of the game. For example with SNES9x, turning it on alters the reported internal resolution, so when you scale up, more gets cropped off than when you leave it off.
Furthermore, the number of lines displayed by the TV has no bearing on what the internal resolution of the system is, or what it should be set to. NES for example put out 240 horizontal lines, no exceptions. The TV would display anywhere from 90-100% of these lines so anywhere from 216-240 lines would wind up being displayed. There is no “more accurate,” here, since the amount that got displayed varied widely by manufacturer, model, and individual set.
[quote]clearly you haven’t tried it. here’s what nearest neighbour scaled (224 lines in 1080) scanlines look like close up:[/quote]
Clearly I haven’t tried it?
It looks like you’re scaling up from the wrong resolution and/or using bilinear filter on the overlay in Gimp. Here’s what nearest neighbor looks like with the 5x scanline overlay I’ve provided at 5x scale, using 240 as the native resolution. It’s fine. It seems like you’re doing something strange on your end that is causing the issues you’re describing.
http://s1309.photobucket.com/user/Patrick_McCleery/media/image.jpg1_zpswuxdykgm.jpg.html
[quote]For people who want to play neogeo or (many) arcade games, at full screen, without cropping information – this is the only solution. The rest comes down to personal opinion about what parts of the screen are important/not important, and what CRTs you are used to.[/quote]
It’s a fact that the safe area is defined as 90% of the screen- see the link I provided above. This is the area that console developers used when designing graphics. Of course, arcade games are going to be different because they were designed to run on arcade monitors which were better made and didn’t have overscan. In other words, most arcade games probably don’t use padding, which is why important stuff gets cropped off at the edges when you use 5x scale on an emulator. Another factor complicating this is that arcade monitors often used different resolutions than standard CRT TVs.
If it really is 224 with no overscan (I think this is true for CPS) then the best you can do on a 1080p display if you want *perfect* scaling is scale up to 896, and have letterboxing equal to 184 lines, which is more than 17% of the total display area dedicated to letterboxing.
I’m not familiar with the neo geo emulator (or the neo geo for that matter) but it’s also very possible that it’s doing something weird with crop overscan.
However, these are unique cases- 5x scaling shouldn’t result in anything important being cropped on any other console system if the right settings are used.
07/17/2015 at 01:57 in reply to: 1080p scaling and scanlines without borders from integer scaling #102142patrickmParticipant[quote=102060]nope, as I say below, I got that effect when perfect 1px scanlines and integer scaling on – it’s totally a feature of my TV.[/quote]
It’s a feature of the image you’re using and the type of scaling that you’re applying. I just confirmed this by looking at the full size image you linked to- check the blue area in the Sonic screenshot. The scanlines in this area should be uniform at 800% zoom, but they aren’t- this can create the described moire effect.
[quote]using a ‘nearest’ filter would make it look awful – you get 2 pixel-thick scanlines every so often.[/quote]
That isn’t related to nearest neighbor per se, it’s a function of how the image is being scaled. Nearest neighbor will result in the most accurate scaling with the fewest artifacts.
[quote]so most games show important graphics only in the centre-most 216, but they will normally still render the playing field up to 224. given that most consumer CRTS (especially as we edge into the 90s) showed the centre 224 with increasingly tighter tolerance, showing the full 224 is more ‘realistic’ than just emulating a rubbish TV eg, see my sonic screenshot – there’s non-glitched graphics across the entire 224 lines.[/quote]
You seem to think that the padding is meant to be displayed, when it gets cropped on a CRT. Just because the graphics aren’t glitched at the top/bottom doesn’t mean it’s not padding. Notice how the score/time/rings display and the Sonic lives display is not right at the edge? That’s because some TVs would drop right up to those graphics. Heck, I’ve got a cheap Sanyo CRT that crops even more than this- the top two lines where it says “score.” This is not an old TV, but one from the mid 2000s.
Since CRTs varied in how much they cropped, the game developers had to allow for this by placing all important graphics within the safe area. If they put those graphics right at the edge, they’d be cut off most of the time on a CRT.
The safe area is not console dependent but depends on the CRT. It is defined as 90% of the total viewing area.
I personally don’t see what is gained by displaying the overscan; it’s useless information that takes up display area and it isn’t authentic/accurate to how the games were displayed on an actual CRT. But whatever floats your boat. :) some people just really want to see every line put out by a console, even if you didn’t see it on a TV…
[quote]
a 5x integer scale for these games cuts into the scores, credits, health-bars, etc. see my windjammers screenshot for an example.[/quote]I haven’t looked at windjammers, but nothing important should be cropped at 5x integer if crop overscan is on the right setting for the core being used and you are scaling up from the right resolution.
patrickmParticipant[quote=102052]Oh that’s interesting, thanks! So would it be better to have the TV upscale or to have it render and output at the resolution I want?
[/quote]
Render and output resolution should be set to your tv’s native resolution. By default, retroarch is set to render at 640×480 and output at your monitor’s native resolution, so all you need to edit is “retroarch render resolution” which should be set to “use video output”
If you set your TV to render at a different resolution than its native resolution, this too will cause input lag and artifacts.
07/14/2015 at 23:58 in reply to: 1080p scaling and scanlines without borders from integer scaling #102055patrickmParticipant[quote=101999]
nope, it’s not being scaled. my overlays are 1080p, so if you set your retroarch video output to 1080p, no scaling takes place. i have scaled the scanlines ahead of time in gimp, but it seems to be a subtler effect, and not noticeable (to me) – see my screenshots.[/quote]This is what I meant, though. You have scaled the overlay in gimp using linear filter. If you zoom in, you will see that this results in a blurring effect and alters the appearance of the scanlines in an irregular fashion. In addition, I think this darkens the image more.
It may not be noticeable except when vertically scrolling, when it can be very distracting. The moire effect you describe is consistent with what occurs when you use linear filter on the overlay in gimp or photoshop. You want to use “nearest” or “none” to avoid this.
The only other thing I can think of that would cause this is that your tv is not doing 1:1 pixel mapping, as in you are not in fullscreen mode but are zooming/stretching the picture somehow.
[quote]
nope, I was using 216 instead of 224, in the scenario I was talking about (this is the visible area you end up with when trying to 5x integer scale on a 224 line system). you can’t show 224 lines on a 1080p screen in a 5x integer scale (5*224=1120)[/quote]The games were designed with overscan in mind- the safe area is 90% of the vertical area on an NTSC CRT. So if you integer scale 240 by 5x to get 1200, you lose 120 lines on a 1080p display, or exactly 10% of the vertical area. So what gets cropped corresponds exactly to the overscan area, which is perfect. You don’t want to see overscan, do you?
[quote]
Do you have a way of measuring this? None of the retroarch emulators seem to be able to display framerate for me.[/quote]I think there’s an option to display frame rate under video settings, but I tested input lag and frame rate by just walking back and forth in Final Fantasy III. Every so often there is a skipped frame when using the dotmask shader. I’ve attempted to recreate the dotmask effect via an overlay, but the pi is doing something strange that causes bizarre artifacts when I attempt to add vertical lines that are 1px wide.
Also, regarding the note you added, it isn’t quite correct. It just varies from system to system whether overscan is cropped or not; it causes a lot of confusion and is why crop overscan is probably going away in a future version. Crop overscan behavior is very core dependent, there’s really no generalization you can make, here.
patrickmParticipant[quote=102043]Wow, thanks for the reply, and you weren’t kidding…the shaders absolutely destroyed the frame rate and didn’t seem to do much as far as improving image quality. I missed the shaders the first time around because I didnt know you have to select them, I was trying to scroll l/r through them heh. So far I’ve heard no distortion with the enable enhanced resolution settings, but I’ll be sure to keep an ear out.
I wonder if any of the shaders actually do improve graphics but not mess up the frame rate; I didn’t get a lot of time to test them. I’ll test out the speed hack as well, but that seemed to make no difference as far as I could tell for the short amount of time I had it enabled.
I also have my TV upscaling the image. I couldnt tell a difference when I had it natively output 1080p vs just having it upscaled, so I dunno. Thanks for the ideas!
[/quote]
Shaders will cause a performance drop on the raspberry pi when running at 1080p. This applies to the pi 2 as well.
The disadvantages of upscaling are that it introduces artifacts into the picture and it will introduce input lag. Ideally, you want no scaling at all for maximum performance and image quality.
07/13/2015 at 23:35 in reply to: How to get scanlines and vastly improve picture quality: the best method #101990patrickmParticipant[quote=100933]Ah thank you that worked, i missed the step about setting the ‘use video output’ option.
Im using the 5x scanline overlay but i fell the scanlines are slightly too narrow and sharp, is there an easy what to make the slightly thicker and softer at all?
I think im liking the look of the interlacing shader option more atm
[/quote]
It’s easy to edit the scanline image in a graphics program. I may whip up an overlay with “soft” scanlines, if I have the time. The narrowness is a consequence of 5x scale- the scanlines are 2px wide with 3px between them. You could make the scanlines 3px wide but that would be too wide. At 2px wide, the scanlines are approximately as wide as they are on a CRT when bloom is above 50%.
If you want “perfect” scanlines, you have to use 4x scale, which leaves letterboxing and overscan visible. It’s a trade-off.
07/13/2015 at 23:31 in reply to: How to get scanlines and vastly improve picture quality: the best method #101989patrickmParticipant[quote=101230]i’ve been experimenting with the “wii” scanlines overlay preset in retroarch, and it seems to line-up with each pixel, across different emulators (MD/SNES/PSX/FBA-libretro). is that normal? i don’t even have integer scaling on!
i realise that i haven’t got the “true” aspect ratios, as per this thread, but i liked the idea of filling the whole screen (vertically) if possible.
one thing i did find is that i would get strange moire effects unless i turned the overlay opacity down to .35, but i wonder if that is just my TV, or a scaling issue? it’s really annoying in piFBA and Mame4All-Pi as they don’t have retrorch’s configuration, just a single scanlines on/off setting
[/quote]
That’s a scaling problem. I’ve explained how to get perfect scaling while filling the vertical area in my two posts “how to get scanlines” and “how to get perfect video scaling.” This is accomplished by cropping the overscan and letterboxing that is normally visible at 4x vertical scale by setting the vertical scale to 5x scale.
The wii scanline overlay is 640×480, so if Retroarch is set to render at a higher resolution than this, the overlay will be scaled with bilinear scaling, which blurs the image and causes artifacts. You need to use an overlay that matches the resolution you’re using.
Also make sure that your tv is not stretching the picture by any amount. Using your tv’s zoom feature will scale the content.
07/13/2015 at 23:23 in reply to: 1080p scaling and scanlines without borders from integer scaling #101987patrickmParticipantWith these settings, the overlay is being scaled with bilinear filter, which is blurring some of the scanlines and causing the moire effect you were describing. IMO this can be very distracting, particularly with vertically scrolling games.
I’ve detailed a way to get pixel perfect scaling at 1080p while cropping both the letterboxing (the black bars) and the overscan, so that the picture fills the vertical area of the screen and the scanlines line up perfectly without scaling artifacts, cf., “how to get perfect video scaling” and “how to get scanlines.”
There are a couple incorrect assumptions you’re making, one of which is that most systems put out 224 horizontal lines of resolution, which is not the case. If you’re losing important score/credit info, as you said you were at 5x scale, it’s likely because you are using 224 as the internal resolution instead of 240. What gets cropped at 5x scale corresponds exactly to the overscan area on an NTSC CRT TV. The remaining area is referred to as the “safe zone,” and game developers would always make sure that important game graphics were displayed within this zone (with a few rare exceptions), and they frequently made use of the overscan area to store information that the player wasn’t supposed to see (usually, to compensate for the variability in how CRTs were calibrated).
Also, regarding opacity, IMO you’re better off setting your display’s “backlight” setting higher to compensate for the loss of brightness. (This is not the same as the “brightness” setting). For example, with 4x scanlines at 100%, you would lose 50% light output, so you compensate for this by increasing the backlight by the same amount (eg., if your backlight is at 50%, you would turn it up to 100%).
Also, regarding the dotmask shader, it will cause a drop in frame rate and input lag, but it is slight. I’m sensitive to these things, so it ruins it for me, personally.
With this said, could you please correct the misinformation contained in your post regarding the horizontal resolution of console systems? This kind of information can quickly and easily spread once posted, leading to more confusion and problems, and it works against the efforts of those who are working to preserve authenticity and accuracy. Thank you. :)
The correct horizontal resolution is 240 for NES, SNES, Genesis, PS1, N64, PC Engine. This can be readily corroborated by using Google and searching “internal resolution (system name)”
However, there are individual core differences and bugs where the internal resolution isn’t right, Picodrive being a notable example. So the correct resolution for a system may not be the “correct” resolution for an emulator. I’ve saved you the work by providing a list of resolutions to use in “how to get perfect scaling.”
I haven’t tested Neo Geo, but I think it varied, with the most common being 264 with overscan (240 without)
06/28/2015 at 21:26 in reply to: How to get scanlines and vastly improve picture quality: the best method #100915patrickmParticipant[quote=100860]Hmm ok i have just tried this method and it seem to be cutting a fair amount from the top and bottom of the display, for this i have been using Genesis-Plus-GX core. This is whats ive done….
1. I have downloaded both your scanline overlays and made cfg files for both and placed them in the overlay folder
2. Set the render res for the lr-genesis-plus-gx core to 1280×960
3. Loaded Alien Storm and once loaded enabled integer scaling
4. selected your scanline1920x1080-5x overlay
5. go into options>video options>custom raito and set it to 4×5 (1280×1120)
but when playing Alien Storm the bottom energy bar to completely cut off the screen!, i have tried the overscan setting but that doesn’t appear to change anything. Have i done anything wrong or is this just a problem we have to live with?, if so the crt-hyllian shader and integer scaling option is the way to go as at least with that no vital section of the game screen is cut off!?
[/quote]
Please read through the information I’ve provided in “how to get perfect video scaling.”
You should not set the render resolution as you have done. It should be set to “use video output” or left blank.
Yes, some of the picture will be cropped at 5x scale, but what is cropped corresponds exactly to the overscan area on an NTSC CRT TV. It is very rare for important graphics to be placed in the overscan area; game developers intentionally avoided this.
patrickmParticipantAn easier way to do this is to hold “x” or “m” when launching from emulationstation, then select “change default emulator”
patrickmParticipantOne thing I haven’t been able to figure out:
In order to start emulationstation, I first have to start the x server and then logout. Otherwise emulationstation crashes immediately upon startup, like the usb drive is not loaded until I start the x server.
Anyone know how to get the usb drive to load upon startup rather than needing to login to the x server?
patrickmParticipant[quote=100479]Hi Patrick
Thanks for taking the time to answer, I appreciate it!
I think my use of the terminology was wrong, by overlays i do in fact mean borders, and just at the sides of the 4:3 image. I’m building this for my niece and I want it to have some bells and whistles just so she knows what system shes playing on at any one time. I figured having some pictures of the consoles at the side would do the trick
I am using the shaders that come loaded with retropie, I’m just not sure what to set the other various video settings within RA if I’m using a shader. I’m not planning on overlaying scanlines as I’ve been reading that shaders are perfectly fine to use on a native 720p display.
You could just select the Hyllian shader and then add a border overlay. That sounds like what you are after.
yeah pretty much. So the Hyllian shader in /opt/retropie/emualtors/retroarch/shaders should be good for my purposes I guess. For things like integer scaling, crop overscan, and the other video settings, from what ive been reading I should be using:
Integer scaling – ON
Fullscreen mode – ON
Crop overscan – OFF
Aspect Ratio – 4:3 or core providedThat sound right?
[/quote]
You want to use the CRT-Hyllian located in …/shader/CRT/glow/
The one in the main directory will cause a performance drop
You could also try CRT-Hyllian-sharpness-hackCRT Caligari is another good option
If you’re not that concerned about scaling artifacts, I would leave integer scale off. The shader should make them mostly unnoticeable.
For the overlays, I think there are a bunch included with RA but I haven’t really checked them out. You can make one pretty easily in a graphics editor like photoshop or GIMP. Just make an image the same size as the display resolution and draw the border where you want it to be, then turn the white to transparency using an alpha channel.
patrickmParticipantIf you’re interested in using borders, I can’t help you – my suggestions are for taking maximum advantage of the display area and minimizing/eliminating letterboxing and overscan, so that borders aren’t necessary. Pillarboxing oth is a non-issue, as you get pillarboxing on a modern display anytime you view 4:3 content.
It wouldn’t be that hard to combine any of the scanline overlays with one of the console borders that comes with RA using a graphics editor.
You could just select the Hyllian shader and then add a border overlay. That sounds like what you are after.
patrickmParticipant[quote=100421]Hello there!
I’m having some difficulty understanding the myriad of different ways you can effect the video signal in retroarch and emulationstation. I’m mainly concerned here with 8bit and 16bit emulators (so gameboy, NES, SNES, Master System, Megadrive etc) and I would like to get them looking retro with a decent scanline shader that doesn’t cause a performance hit, as well as border overlays for each console.
I’m using the following:
RPi2 overvlocked to ‘pi2′ setting
RetroPie 3.0 (beta 4)
Samsung 720p televison-
Overscan
First issue I have is with overscan. Now, I don’t really know what it means, but I understand that if I start messing with the values in
/boot/config.txt
such asoverscan_left=16 overscan_right=20
it alters the size of the black borders around the display. I’ve managed to get this to a point where the black borders are no longer an issue (i.e. the terminal and emulationstation’s gui fit nicely within the whole area of my tv), but I’m worried that doing this is going to effect how retroarch uses the display. Is this something I need to worry about or is tweaking those values good practice regardless?
Should I instead force retropie to always use 720p as that is the native resolution of my display and is never going to change? I believe this is possible by going into the aforementioned config file and declaring the following:
hdmi_group=1 hdmi_mode=4
but I’m not sure if that’s correct. If I force a 720p resolution in that manner, do I need to disable overscan explicitly or just ignore it?
If I’ve explicitly configured an emulator (e.g. snes9xnext) to run at 720p, using the x button as it boots the rom to apply a custom configuration, does it even matter what I force my resolution to?
-
Aspect ratio, Shaders & Overlays
I’ve been playing with the shaders + border style overlays you can use in retroarch. Whilst I understand the basic principle, I’m having some difficulty knowing what’s best to use, especially when it comes to aspect ratio. For simplicity’s sake I just want to get decent looking scanlines for the 8-bit/16bit consoles without having a performance hit, and also use some nice borders to fill in the black bars at the side on a per console basis, bearing in mind I’m locked to a 720p display.
Consoles will be 4:3, and handhelds like the gameboy use their own weird AR’s that I’m not familiar with. This is where things start getting murky, because retroarch has so many video settings and shader options that I really don’t know where to begin. I have no idea what ‘integer scaling’ is for example, and various different forums I’ve viewed all say different things “turn it ON always/turn it OFF always” etc. I’ve no idea if I should force an aspect ratio (e.g. 4:3 for the SNES) or use a custom one (which I can’t seem to customise in RGUI).
I’m using borders from here and the default shaders that come with retropie. I’ve managed to load shader presets on the snes9xnext emulator and it looks alright from what I can tell, however I have no idea if I’m doing it right, because I’m not sure what to set the other settings to.
Can anyone offer some advice? I did look through some of the other posts in this very forum but I found it a bit overwhelming and most people seem to deal with 1080p displays.
[/quote]
I don’t understand why you don’t just use shaders. CRT-Hyllian or CRT-Caligari look quite nice and run smooth at 720p on the pi 2. Set RA to use your native display res, always.
If you really want to use overlays, what you are interested in can be found in “how to get perfect video scaling” and “how to get scanlines.”
Yes, you should tell RA to always use your native display resolution. Doing otherwise results in scaling artifacts and input lag.
You can’t get a perfect 4:3 aspect ratio for consoles on a fixed-pixel display without it resulting in scaling artifacts. You can hide these with shaders, though.
On a more powerful machine, you can use the sharp-bilinear or pixellate shaders to force a 4:3 ratio and hide the scaling artifacts, but it will cause a performance drop on the pi 2.
I believe I provided a link to a 3x scanline overlay for use with 720p displays in one of those two threads, but here it is again:
https://www.dropbox.com/s/0aae6uwxfl7di48/scanlines1280x720.png?dl=0Here is also an aperture grill overlay I made for the same resolution, although its really a grid at this resolution:
https://www.dropbox.com/s/bopljr1git0x9dt/aperturegrill1280x720-3x.png?dl=006/21/2015 at 22:10 in reply to: How to get scanlines and vastly improve picture quality: the best method #100391patrickmParticipant[quote=100330]So where’s the option to adjust integer scaling?, all I see is an option to turn it on or off
[/quote]
As per the instructions in the post “how to get perfect video scaling…”:
1. Turn integer scale on
2. Menu -> Options -> Video Options -> Custom RatioIn order for the overlays to line up right you have to choose the correct scale factor for the y axis.
06/21/2015 at 03:45 in reply to: How to get scanlines and vastly improve picture quality: the best method #100318patrickmParticipant[quote=100220]
Is there a way to have crt-hyllian and crt-caligari shaders for 720p with even scanlines and integer scaling disabled, or a way to compile these shaders for 720p?
The short answer to both questions is no.
Guess I’ll have to stick with integer scaling enabled then….odd thing is for Playstation there doesn’t appear to be any artifacts when integer scaling is disabled….I guess that’s because Playstation games have a higher internal render res than snes and genesis games.
We’ll probably have to wait for the RPi 3 to be able to get these emulators running at full speed, 1080p rendering res and with shaders
[/quote]
Actually, playstation games always have scaling artifacts because the emulator forces a particular resolution but the games would change resolutions. You can deal with this with the sharp-bilinear shader or the pixelate shader, but they don’t run well at 1080p on the pi.
06/21/2015 at 03:42 in reply to: How to get scanlines and vastly improve picture quality: the best method #100317patrickmParticipant“I found the overlays just made the whole picture too dark once applied.”
First, make sure you are using the correct overlay for the display resolution and integer scale that you are using.
Second, you can adjust the overlay strength by adjusting “opacity” under settings -> overlay settings
Third, you can adjust your LCD’s “backlight” control.
Fourth, and this should go without saying, but make sure you have calibrated the greyscale and color correctly on your display.
IMO the best effect is achieved with opacity at 100% and my backlight at 85-100% depending on if I’m using the 5x or 4x overlay. Some might prefer lighter scanlines, though.
“So even with patrickm’s scanline overlay method he still recommends integer scaling to be enabled?? If so i might as well just keep using crt-hyllian shader, as with that at 720p and integer scaling you get NO artifacts and the scanlines are perfect!!.”
You can do that but then you are dedicating a huge amount of screen space to letterboxing and overscan:
1080-720= 360 lines dedicated to letterboxing alone, or 1/3rd of the total vertical area.With the right integer scale you can avoid this, or eliminate letterboxing/overscan completely to take full advantage of the display area.
06/20/2015 at 02:21 in reply to: How to get scanlines and vastly improve picture quality: the best method #100200patrickmParticipant[quote=100182]
Is there a way to have crt-hyllian and crt-caligari shaders for 720p with even scanlines and integer scaling disabled, or a way to compile these shaders for 720p?
[/quote]
The short answer to both questions is no.
06/08/2015 at 04:42 in reply to: How to get scanlines and vastly improve picture quality: the best method #99268patrickmParticipant[quote=99205]This scanline method and your scaling info worked amazingly well. Thanks for sharing!
[/quote]
Thanks for the feedback. Glad it helped.
06/06/2015 at 02:52 in reply to: How to get perfect video scaling and list of recommended resolutions #99163patrickmParticipant[quote=99137]New version up with PC Engine added. Want to try it?
https://github.com/biscuits99/rp-video-managerCan you write a one sentence description of why the 5x or other version should be used? i.e. under what conditions would the 4x be more suitable.
Then do you want a new option for 720p handhelds – which settings for the other systems here – the 3x?
[/quote]
[quote=99137]New version up with PC Engine added. Want to try it?
https://github.com/biscuits99/rp-video-managerCan you write a one sentence description of why the 5x or other version should be used? i.e. under what conditions would the 4x be more suitable.
Then do you want a new option for 720p handhelds – which settings for the other systems here – the 3x?
[/quote]
thanks Floob, I’ll take a look.
I think 5x is preferable for most systems that displayed on a CRT TV such as NES, SNES, and Genesis because it doesn’t show any of the overscan that was cropped on a real CRT and it doesn’t result in any letterboxing of the image, which takes full advantage of the screen/TV’s display area.
However, some people might prefer 4x because the scanlines are slightly bolder/thicker at that scale, and some people like bolder scanlines. Or, someone might simply want to see every line put out by the console, even if it wasn’t meant to be displayed.
Actually, I was hoping to have the issue with my aperture grill overlays solved by now, so that there could be a separate option for that. But, I’m still seeing a strange diagonal line down the middle when it’s applied in Retroarch.
eventually, I would like to see the following options:
configure consoles for 1080p/i displays:
-5x w/scanlines
-4x w/scanlines
-5x w/aperture grill
-4x w/aperture grillconfigure consoles for 720p/i displays:
-3x w/scanlines
-3x w/grid (at this resolution, the aperture grill becomes a regular grid. I’ll send this to you)configure handhelds for 1080p/i displays:
(6x overlay for GBA, 7x for Gameboy, Gameboy Color, Game Gear)
-w/scanlines
-w/gridconfigure handhelds for 720p/i displays:
(4x overlay for GBA, 5x for GB, GBC, Game Gear)
-w/scanlines
-w/gridSo, a total of 10 options in 4 categories. I think that should cover it for the overlays.
06/04/2015 at 23:37 in reply to: How to get perfect video scaling and list of recommended resolutions #99092patrickmParticipant[quote=99091]Thanks, thats definitely in the tool now.
Do you want me to add 4x options, or look at shaders next?
[/quote]
Thanks Floob.
Could you also incorporate the 5x settings for N64 and PCengine? Then we can work on the 4x settings, which I sent you the resolutions for. Let me know if you need anything.
06/04/2015 at 23:30 in reply to: How to get perfect video scaling and list of recommended resolutions #99090patrickmParticipant[quote=99087] @patrickm
Could you repost your patrickm-scanlines1920x1080-5x.png file so I can make sure I’ve got the right version in the video manager?I have your settings for SNES, Megadrive, NES, PSX, Doom, Quake in the tool using the image I mention above. This is all without shaders.
[/quote]
Here it is:
https://www.dropbox.com/s/88bj4jqgeqzx1c6/scanlines1920x1080-5x.png?dl=006/04/2015 at 23:00 in reply to: How to get perfect video scaling and list of recommended resolutions #99083patrickmParticipant[quote=99052]
patrickm, could you please provide your recommendations for, PSX, Mastersystem, PC-Engine as well? Sega CD seem to differ from genesis and 32x as well.[/quote]
I updated the op and added some more systems. Note that Floob’s video manager tool will soon make this obsolete. You will be able to easily configure all systems at once without having to edit config files :)
patrickmParticipantWould it not be easier to just change the path option for each emulator in the es_systems.cfg so that each emulator points to the desired folder on a usb drive? This is what I’ve done, and my games load and save fine this way.
Is there some additional stability or performance advantage to also running the emulators themselves from USB?
patrickmParticipantLet’s look at the upcoming HDMI NES aka the AVS. This entire project was created with an eye toward optimizing picture quality- it wouldn’t make any sense otherwise.
Will the AVS have a bilinear filter/video smoothing? No, absolutely not. It uses a very light bilinear filter that is undetectable.
Will the AVS display in a forced 4:3 aspect ratio? Absolutely not. This would cause ugly pixel warping/scaling artifacts. The AVS will use integer-scaled resolutions ONLY. Since it puts out a 720p image, you will have the option of 3×3 pixel scale, 4×3, and 5×3.
So, there you have it. A professional retro console created with an eye toward optimizing picture quality. To replicate these settings on the Retropie, follow the recommendations I’ve made on this forum in “how to get perfect video scaling” and “how to get scanlines.”
Here you can find more info on the AVS:
http://www.nintendoage.com/forum/messageview.cfm?catid=7&threadid=92557patrickmParticipant[quote=98942]patl,
I am very grateful for the work you have put into these overlays and configs. They look excellent!
[/quote]
He told you the wrong resolution for Doom. It’s 320×200 native so you are going to lose a lot of screen space at 4x scale. I recommend using 5x scale or 1280×1000 and the 5x overlay I provided.
patrickmParticipantHere is a side by side comparison of a 6×5 scale emulated image, and the same image on a real CRT. One can see from the photo that the CRT actually crops off more than the emulated image.
Additionally, one can see that the height/width of the pixels is within normal range for CRTs; the pixels in the 6×5 scale image are narrower than they would be in a 4:3 aspect ratio version of the image, but they are wider than they are in the actual CRT image. So the pixels in the 6×5 scale image are narrower than they would be on a CRT that didn’t crop anything, but wider than they are on an actual CRT. Therefore, the graphics in 6×5 scale (for NES and SNES) are not “too wide/fat” or “too skinny/tall.”
[URL=http://s1309.photobucket.com/user/Patrick_McCleery/media/Mobile%20Uploads/image_zpsbmtjhtpu.jpg.html][IMG]http://i1309.photobucket.com/albums/s625/Patrick_McCleery/Mobile%20Uploads/image_zpsbmtjhtpu.jpg[/IMG][/URL]
[URL=http://s1309.photobucket.com/user/Patrick_McCleery/media/Mobile%20Uploads/image_zpsawqbwpde.jpg.html][IMG]http://i1309.photobucket.com/albums/s625/Patrick_McCleery/Mobile%20Uploads/image_zpsawqbwpde.jpg[/IMG][/URL]
patrickmParticipantI’m getting filtered any time I quote you, Floob.
1:1 PAR results in the graphics being too skinny and outside of what the developers intended. The artists may have worked within that resolution, but they always checked the final output on a standard 4:3 CRT TV and based their designs on that.
One would choose 1:1 PAR if they didn’t like pixel scaling artifacts, but that is what integer scaling fixes. At 6×5 integer scale, you get no scaling artifacts (each pixel is scaled by the same amount) and the graphics are within the range intended by the developers.
Yeah, it really is amazing what just simple scanlines can do for these 8 bit and 16 bit graphics. I made a 3x scanline overlay as well which I’ll send to you.
-
AuthorPosts