The github one is correct as the most recent update. So to answer your questions.
-
If you want to manually set it up, load shader 0 with gamma control for desired handheld (gbc, gba, or others) and set to nearest 1x. shader 1 would be the LCD shader, correct. Must match to whichever integer scaling retroarch sets to, along with using nearest filter. After that, shader 2 will use the color correction shader at nearest 1x. So yeah, that order is correct.
-
Accurate ones would be ones that uses subpixels. LCD-Grid-V2 would fit the usage, as long as you leave the lcd gamma at 2.2 as the gamma correction shader does its job. The V2 supports BGR subpixels that GBA uses. Although on Android with Vulkan, the subpixels are misaligned only on LCD-Grid-V2 for whatever reason, but not sure about on ios. May behave better under metal. More accurate ones would be either Authentic-GBC shader due to its more accurate subpixel rendering (minus the lack of BGR layout), or load the first two shaders from LCD-Shaders. For best results, Authentic-GBC (fast or single pass) works best when image is scaled by 3x due to three subpixels clearly emulating the look from GBC that looks the best at 3x, 6x, 9x, and so on. For sharp results, I leave bloating at 0 and brightness at 0.08 as there is no blend between subpixels that way. As for the LCD-Shader method, I used it in my way, but yeah it requires integer scaling by 3x as there is no scaling on its shaders. Just load the first two pass, its first one set to 3x or 6x. Second pass is left at 1x. Cell should be at 2 if scaled by 6x, and make R, G, and Bâs subpixels to only use respective colors. BGRâs layout is done the same, but swap Red and Blueâs subpixels settings. Then load up the color correction shader on top of it. The last two lcd-shader passes arenât needed as it makes parts of the subpixels a bit fuzzy or something, lack of better words lol.
Yeah sounds a bit complicated, but if you want a bit more easy way for accurate representation of LCD look, the Authentic-GBC is the best way to go with a bit less work. LCD-Grid-V2, while less sharp than the other two shaders, works good enough without worrying about integer scaling by 3x as subpixels are always blended together. The LCD-Shader method seems to produce it slightly more sharp than Authentic-GBC, performs faster on a phone, and was easy for me to set RGB or BGR subpixel layouts as Authentic-GBC doesnât have BGR yet. How it works as BGR is itâs complete 180 rotation from RGB as I can see the tail be on the top for BGR layout instead of the bottom that RGB layout shows.
-
Yeah, quite often the shader repository constantly changes the location on where the shaders are stored in which folder. Whenever I come back into doing GBA or GBC shaders here, I always see either the shaders or the presets move to a different location, including my presets. But for your situation, it should work fine if you put everything inside from âHandheld-Colorspace-Shaders-mainâ to âshaders_slangâ folder where the folders are identical that you would accept âwrite intoâ when pasting folders.
-
I donât know how it works on IOS, but I assume it has an option that changes colorspaces from its option. On both my LG-V60 and Samsung S23 Ultra android phones, all I had to do is use the âVividâ colorspace mode to use the screenâs full gamma for Retroarch to take advantage of wider colors for the blue color to look more accurate. At least Retroarch on Android isnât color-managed that happens on other apps on my V60, so I was able to use full gamut on it. As for IOS, I donât know if the IOS version is color-managed to where it automatically applies as sRGB app, or if itâs allowed if the phone supports a type of vivid mode that forces wide colors on all apps. The whole thing can be tedious for me if Iâm not familiar with how it works on IOS or other phones with different ways of representing color management.
