-
Notifications
You must be signed in to change notification settings - Fork 6.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improved subpixel text rendering for OLED (WRGB stripe, RGB triangular) -- Unfixable by ClearType Tuner (Over 100 upvotes in Feedback Hub) #25595
Comments
As founder of Blur Busters / TestUFO, I work with computer monitor manufacturers; so I will explain GOOD: What ClearType Is Compatible With:ClearType is only compatible with vertical-stripe RGB and BGR pixel structure. ...and...BAD: What ClearType definitely NOT Compatible With:No, ClearType tuner doesn't fix this properly. It is unable to 100% unable to fix this. LG WOLED, all televisions and monitorsIt is not possible to control the white sub pixel in software, but ClearType can still at least go into a special "RBG" mode where the blue subpixel is in the middle, and the green subpixel is at the right edge. I did some PhotoShop tests and it actually makes text better on an LG WOLED. It looks much better, here are some example PhotoShop images that works fine on an OLED at 1:1 pixel mapping: One possible solution: Use an RBG ClearType mode where B is middle subpixelI photoshopped this special sample that looks absolutely fantastic on LG WOLEDs.
So, dear Microsoft, here's definitive proof that ClearType modifications are required to look better than anything that ClearType Tuner can do. Winky-wink. 😉 😉 😉 Samsung QD-OLED, all televisions and monitorsThey use a triangular structure as follows: Actual macro photograph of a Samsung QD-OLED: Which produces a text fringing problem at top/bottom of texts: ClearType Tuner is 100% completely unable to remove this fringing. Even alternative utilities such as Better ClearType Tuner can't fix this artifact.
This is because the green sub pixel is at the top edge, and red/blue subpixel is at bottom edge. ClearType is unaware of this subpixel layout. Monitor reviewers such as RTINGS complain about this.
|
Possible Method of ImplementationsShort term implementationA future "Enhanced ClearType Tuner" utility would accept a bitmask PNG file (square shaped) that shows where the red, green, blue subpixels are within one single pixel (ignoring any white subpixels, if any) An enhanced ClearType would automatically use this than the old-assumption of RGB stripe. This proposed bitmask file (to define structure of one pixel) can be small, e.g. 32x32 or 64x64, and only be Red, Green and Blue pixels with the rest of pixels black or transparent. Long term implementation: Plug-and-Play!Since monitor manufacturers are continually coming out with custom subpixel structures, monitor drivers (.INF) can provide an optional pixel structure (possibly as a bitmask, or a base64 data: PNG bitmask, 32x32 or 64x64), or even multiple string rows such as "0111022203330" per pixel row (where 1=red, 2=green, 3=blue) for human readability. The ClearType renderer would automatically use this known subpixel structure to provide accurate subpixel rendering. Monitor manufacturers can provide custom monitor-specific INF files that automatically inform Windows of the special subpixel structure. PrecedentMany smartphones already supports custom subpixel renderers (e.g. Pentile), though proprietary to the specific-display Android manufacturer (e.g. not visible in AOSP source code that is coded to a generic display). Known IssueSometime not too long ago, Microsoft made a mistake of simplifying ClearType rendering to only use one format for all multimonitors. This created problems for people using mixed RGB and BGR setups, which wasn't a problem during Windows XP days but is now a problem today with Windows 11. Instead of per-monitor ClearType tunings, Microsoft made the ClearType tuning global -- facepalm for many use cases. The LCD RGB-stripe hegemony is diminished because of the giant boom of mixed-monitor use cases, and new OLED computer monitors. So the originally well-intentioned simplification shot itself in its feet; Display rotation of tablet PCs also affects ClearType; Microsoft had to make adjustments to ClearType to keep it looking correct at all screen rotations. It is possible the affects-all-monitors simplification occured around this time (approximately Windows 8, not sure), when the ClearType engine was possibly refactored by Microsoft. Thus, Microsoft needs to undo this feature regression (now becoming increasingly visible in a multimonitor era), which was only because of the hegemony of RGB-stripe LCDs. One massively common use case is some people connect an RGB laptop to a BGR television set (more than half of TVs made today are BGR!). This accidental Microsoft regression made many years ago, needs to be undone. TL;DR Summary of feature regressionBEFORE: In some past versions of Windows, you could configure multimonitor -- e.g. RGB on laptop/monitor and BGR on TV. This Could Be Marketed As "ClearType 2"
|
Thanks for bringing more attention to this issue. I originally linked the wrong LTT YouTube review. Here is the correct link where he discusses insufficiencies of ClearType with OLED: |
You're welcome! As I currently am on paid contract work with LG Korea regarding their brand new 240Hz WOLED panels that are supplied to multiple manufacturers (ASUS, Corsair, etc), I can assure you that several end-users are now complaining about this. Please feel free to share the permalink to other experienced/advanced/programmer computer users who just purchased the new 2023-model OLED computer monitors, to bring more attention to this item.
|
To Microsoft Employees:Perhaps forward the permalink to the ClearType renderer contacts for further thought? |
@crutkas this guy should be working for Microsoft |
I do think this is an issue between hardware and OS developers, though. Have you contacted Microsoft in a more direct manner? |
Yes, thought about forwarding @Jason-GitH suggestion too. But this is a known difficult communicate (even via business channels, easily-dismissable, the original github was closed) with an unclear incubate venue. I think you understand that I am desparate enough to have to go through this channel, now, too. ClearType was developed in 1998 as an application-based feature (Microsoft Reader) and then ported into the OS. It's been a very stagnant feature that doesn't even have an assigned maintainer at Microsoft anymore, I think. However, it went into a Microsoft Research paper (I think) and perhaps the original researchers are still at Microsoft 25 years later. ClearType can be done without the initial involvement of hardware developers, as it can be done application based and as demonstration PhotoShop images. So, it may be easier to incubate application-side first. After all, the 1998 version of ClearType was just a book/text/doc reader application... The use of OLEDs in computer monitor has woken up this otherwise old mature feature. Later this year, I may publish an article/whitepaper (better rewrite-copy of this image-illustrated GitHub item) at Blur Busters later and post a link on the Feedback Hub. Links are also unclickable in it too. If only Feedback Hub was also github that I can post illustrated embeds in (not file attachments), y'know? Still, it seems technically possible to incubate this first as a third party application (aka PowerToy) -- there are third party font renderer utilities, such as MacType for Windows - www.mactype.net Plus, the ClearType Tuner app was also originally a PowerToy too. So, still relevant here. 😄 |
Starter Generic Subpixel-Aware Supersampling AlgorithmFor every time one font glyph is rendered onscreen:
Basically, pushing a supersized version of the glyph through the subpixel mask during downsample. This is very simple ultra-fast GPU shader code. Or you could use layering of existing DirectWrite/Direct2D APIs instead (e.g. bitmap scaling and bitmap-combining mathematics similar to ADD, SUBTRACT, AND, OR, XOR, alpha-blend operations etc) instead of GPU shader code. (And many of these APIs compile as shaders anyway when GPU acceleration is enabled). Various settings can be done to adjust. ClearType Contrast can be simply an alphablend/math between a non-subpixel-compensated glyph and a subpixel-compensated glyph. And configurable supersample size (6x, 8x, 10x, 12x, 14x, 16x, [...]) for quality experiments. One consideration; there will be loss of OpenType/TrueType "hinting" for small-size fonts (due the large-glyph rendering step) but the resulting correct subpixel render (up to ~3x more resolution possible) without hinting, will look superior to hinted-but-incorrect/blurrier. In other words, the nonstandard-subpixel-structure sharpness improvement outweighs the loss of "hinting" support for the vast majority of fonts -- even for complex fonts such as Mandarin, etc, that goes very soft/blurry on WOLEDs. Either way, while it sounds difficult at first -- the generic algorithm is actually absurdly simple to a shader programmer or bitmap-mathematics programmer, once they're trained to understand ClearType better (e.g. treat the subpixels like additional pixels spatially) There can be optimizations later to speed things up, and hinting support re-added later. But the algorithm is very simple. Technically, first step could be done as an open source Reader application, even a rudimentary TXT viewer (font and size configurable in menus). Not too different from a simplified version of 1998's Microsoft Reader. So the first step is a simple font renderer library for applications, using this algorithm, maybe? Though I have no time to start the project, I can code-review it, and I can tweak the code's algorithm to the correctness needed, or add other features (like adjustable alphablend between subpixel-scaled vs nonsubpixel-scaled, as a Contrast setting). Possible Path of Introduction?There might be many other workflows to incubate this at the open source level. But I'd propose to break it down to simple steps. Slowly introducing "ClearType 2":
This may not be the best path, but gives the gist of steps-breakdown for a simpler path of introduction of "ClearType 2". EDIT APRIL 2022There's precedent and existing open source code of a font subpixel renderer: FreeType documentation is rather interesting about a possible subpixel-structure-flexible algorithm: |
Related discussion, since the proposed ClearType 2 PowerToy would need to fix this; More Information About ClearType Tuning Problem with MultimonitorSome people argue it isn't a feature regression, but a do-nothing bug, or some intentional change -- but I wanted to add some context of the ClearType multimonitor issue (global vs per-monitor): Research (by the author of Better ClearType Tuner) about this multimonitor pboelm: Also, tons of reddit complaints, especially when multimonitoring with televisions (which uses BGR) It's one of those hard-communicate bugs that will probably easily get overlooked in Feedback Hub; I reference bp2008/BetterClearTypeTuner#11 -- the person @bp2008 who wrote "Better ClearType Tuner" -- because he had to close the multimonitor-ability because of the Microsoft bug/regression involving multimonitor ClearType. I'm pulling him in to see if he's got any interest commenting about the bug/regression here. Let me see if there's a Feedback Hub for this Microsoft ClearType bug/regression, if not, I will create one within the month. It's obscure-but-frustrating. But I will publicly mirror here for relevancy (until Feedback Hub is replaced with a public-facing GitHub Issues system) |
Over 100 Upvotes in Feedback Hub for "ClearType 2"Okay, I have audited Feedback Hub, and whoo-boy, this is a This issue is so obscure (that the duplicate-item judges do not even understand these are duplicates). I will flag by copy and pasting some of this comment in Feedback Hub. Search Terms: " Duplicate Feedback Hub List
Related ClearType Bug Reports For Gaming/Multimonitor
Let's consider many users don't understand how to bug report thisEspecially considering many experienced programmers don't even understand the algorithm behind ClearType (including, possibly, also the person that closed the original PowerToy item). End users just see text being much blurrier than OLED, compared to Apple's subpixel optimizations for their OLED iPhone and iPad, and wonder why Microsoft Windows is very bad; Adebisi T (Microsoft Engineer) seems currently confused by this report in one of the items, maybe forward this GitHub permalink (Can anyone tag his github username?) Since github allows me to quickly type at 140wpm with easy photo-pasting (screenshots, etc), I shall continue to use this GitHub as the control-room item to communicate ClearType problems to Microsoft. As a line-item exception, Feedback Hub which is nigh impossible to correctly communicate the fairly complicated ClearType multimonitor bug/regression, combined with feature request for QD-OLED compatible ClearType. |
It looks like MacType might be able to work on this: snowie2000/mactype#720 We'll push that front, too. |
That's good to know. Their findings will be useful. I wish MacType had broader applicability but its effects don't get applied throughout several areas of Windows UI, UWP apps, and Chromium. |
Agreed. That being said, So it is a potentially useful incubation venue before something similar comes Microsoft-side. While MacType is usually used without subpixel rendering, it does have subpixel rendering available (for RGB LCDs at least). So, MacType is proof that a third party subpixel-capable font render already exist, and therefore "ClearType 2" could be incubated via the PowerToy venue; Be noted, MacType is GPL, and generally Microsoft prefers to use MIT/Apache code for open source ClearType applications. However, I have publicly posted the generic subpixel rendering knowledge, which can be written independently by them and by Microsoft. |
Donation OLED Offer to Software Developer With Font CredAlso, since I am the owner of Blur Busters -- I might be able to donate a spare OLED monitor (1440p 240Hz!) later this year to an experienced subpixel-font programmer (e.g. MacType programmer or ClearType programmer) if they want to take upon the ClearType 2 task. I will (by summer) have way too many 240Hz OLEDs cluttering up my Canadian office, and this is a very noble initiative. The value of the monitor is over $1000. Many Announcements For Desktop OLED in Year 2023 ALONELet's remember the Feedback Hub complaints was almost singlehandedly the Dell Alienware AW3423DWF that shipped last year in 2022. Get your horses ready; are you sitting down? Here's the 2023 tsunami flood:
It is highly probable that the number of computer users using OLED is projected to go up an order of magnitude very rapidly from nearly-nil in 2022, by the end of 2023, all singlehandedly due to the large number of OLED product hitting the market this year. |
Based on comments at my new MacType feature request: snowie2000/mactype#932 -- So that gives an open source text-renderer programmer multiple choices of incubation venues.
As ClearType was originally incubated as an application (Reader) and a PowerToy (Tuner) before it becomes an OS feature; there is a clear need to communicate clearly in all possible incubation venues, until someone comes along who concurrently understands the problem, knows hows to code the solution, and has time to do so. |
QD-OLED Tester WantedPossible MacType Incubation Under WayOK, I think MacType might have just incubated it -- it apparently had vestigal support for subpixel vertical positions, so some creative configuration file editing made it compatible with triangular-structure OLEDs! Need some guinea pigs for these PNG images designed for triangular-pixel-structure QD-OLED. For users of QD-OLED displaysTest image for triangular-subpixel QD-OLED displaysWhich one has the least green/blue fringing artifact?Please specify if 1, 2, 1b, 2b, 1c, 2c, 1d, 2d looks the best on your QD-OLED display. The test image here, and information here, will also help Microsoft evaluate improvements to ClearType (possible concurrent incubation), perhaps as a possible "ClearType 2 Tuner PowerToy" |
I have played around with MacType quite a bit on WOLED. The built-in CRT profile as well as DeepGrayNoHinting / SoftGrayNoHinting did the best at eliminating fringing in Windows UI but don't improve sharpness noticeably. |
However these seem to do grayscale rendering, which would avoid dealing with this topic completely. |
Yep. Disabling ClearType, setting Better ClearType Tuner to grayscale aliasing, or using one of those aforementioned MacType profiles accomplish reducing color fringing in most areas on WOLED. There are still some areas of Windows UI that remain affected, though. And sharpness is not as good as I think it could be. |
Correct. Thumbs-upped you. However...LG OLED demo image has extremely sharp textWith the LG OLED demonstration image having nearly (viewing the LG OLED images on anything else other than LG OLED, will not work -- it is as sharp as well-optimized LCD ClearType). There are ClearType fans that would like the sharpest possible text. Everybody sees differently.
It is a matter of personal preferenceThere should be an adjustable Contrast/Saturation setting, so that fringing can be easily adjusted, while keeping text sharp. This is easy to do with ClearType Tuner, but very hard to do with MacType. |
Thank you for bringing attention to this issue. |
WOLED is more immune to fringing than Samsung QD-OLED. It's easier to fix fringing on WOLED than QD-OLED, and color fringing on QD-OLED is completely unfixable without some subpixel rendering adjustments. I just got some reports from [H]ardForum that people like the QD-OLED image:
EDIT: Comments from #25595
For the LG OLED image, I have gotten some rave reviews already, but I need to convert it to a proper MacType config file. |
I'm on an AW3423DW. All of the 2's don't have much fringing to me or others I've had try. 2 looks the best to me, while 2b and 2c looked the best to two other people. |
@mdrejhon is it possible to upload the QD_OLED-2 profiles for mactype? I really like how the 2 looks like, and wanted to see if it suits me |
One person in one of the >130+ comments linked to a different place where you can edit the MacType config to include the QD-OLED config. |
Rather than trying to fix ClearType and Windows internals in order for it to support arbitrary subpixel layouts, wouldn't the best way forward be to just scrap ClearType altogether and improve grayscale anti-aliasing? As macOS and Macs have shown, display monitors today have such high resolutions anyway that it doesn't make sense to hack subpixels anymore. |
Unfortunately, while it's true that high-resolution displays are more common these days, in the world outside of Apple, display PPI still aren't high enough to ditch subpixels altogether, especially when mainstream 4K OLED is generally over 27 inches and no higher resolution is available. |
Hey everyone. I recently got the LG OLED 27GS95QE monitor and I'm curious about the best solution to eliminate color fringing. I've tried ExplorerBlurMica version 1.0.7, but it only works for explorer.exe and not for other programs. @mdrejhon, you mentioned that WOLED color fringing is easier to fix than QD-OLED. With that in mind, do you think a third party program could be developed to address this issue? Have you considered commissioning someone to create such a program? Maybe a bounty could be offered, as it would probably take a significant sum to incentivize a developer to take on the project. |
Update: Messed around with Windows scaling and set it to 125%, and I'm now using the " 2nd Update: I found a Chromium-based browser that supports MacType by disabling DirectWrite. Use this at your own risk, as it appears to be closed-source. Here's the download link: https://winstall.app/apps/Catsxp.Catsxp, along with instructions to disable DirectWrite: Create a new text document named StartupParm.txt in this location: Open the file in Notepad and add this startup parameter: Save the file and enjoy MacType working in your browser. |
Please tell me you are joking. |
@lukefor, I appreciate your pointless reaction, even though it contributes nothing to the discussion. 👍🏻 |
@Void48 The magnifier app will not show you the fringing that is being caused by the sub-pixel layout of your monitor. What you may be seeing with magnifier are the special coloured pixels being used to perform the text anti-aliasing. The same thing happens with the magnifier app on any display (if ClearType is enabled) — Even those that use the traditional RGB sub-pixel structure. |
Thanks for informing me! I removed the misinformative comment. 👍🏻 |
a year and a half later, oleds becoming a bit more affordable but i still can't bring myself to buy an oled because of text fringing. i play a lot of games but i also work from home. i'm getting the feeling we'll see windows 12 coming up along with a "cleartype 2.0" |
The upcoming stripe-RGB LG WOLEDs may be of interest to you. These are the upcoming "office" OLEDs, so it's compatible with ClearType. Early tests show that those models look fantastic with ClearType. Also, some of the upcoming panels use RWGB instead of RWBG. So while this won't be universal to all OLEDs, there will be certain models of OLEDs that are compatible with 20-year-old ClearType. |
If display manufacturers really care so much about this issue, they obviously know a more direct and effective way to do it, and Apple knows it too. However it affects their profits so they won't do it and just shift all the blame to Microsoft. |
I just added this bullet:
To the new Blur Busters Open Source Display Initiative, in the specification section, halfway down the page. Perhaps this is an alternative route? It can be done at the driver level, the display level, the software level, the operating system level. In this case it would be at the operating system level. However, there's an issue with the Windows Composition Swapchain (cc: @jwmsft @SeattlePseudoGenius @stevewhims the authors of the Microsoft article) that Microsoft will need to fix first, if this alternative route is the OLED subpixel rendering incubation route. This could in theory be a global-screen PowerToy "plug in refresh cycle shaders" incubation (including our OLED subpixel shaders that can run on any commodity GPUs) instead of a OLED "ClearType Tuner 2" PowerToy sequel to the old ClearType Tuner PowerToy. Is this a low-lying apple easier for Microsoft? SteamOS is onboard. Email from Valve just confirmed they are going to support the initiative with a refresh cycle shader hook. There are mainstream and niche use cases of an OS-wide plugin refresh cycle shader system. Some refresh cycle shaders add ergonomic features (improved subpixel handling), others simulate the electron beam of the open source CRT tube simulation on github that looks much better than BFI. I collab'd with GPU alumini Timothy Lottes. But the exact same workflow also enables plug-in OLED subpixel rendering shaders! Early experiments worked (display WIndows in 5K, subpixel-aware scale down to fit 1440p, whole display looks nice on QD-OLED, and is definitely an alternative viable route. Set Windows DPI double the normal, and all the text is subpixel-slotted properly, as is all graphics (bitmaps, etc). Will Microsoft follow in line of SteamOS? |
Thanks! That's exactly the info I (we, the community) need if we are to crowd-source anything. Waiting for TPTB to provide an obvious and well overdue solution, sadly, isn't working. |
EDIT: superseded by new comment at #25595 (comment) |
Hello mdrejhon, The macro image posted above is unusable because no two pixels look the same so none can be chosen as a golden pixel for measurement. Some vertical rows have clear space between them while some almost touch. |
The great news is that this isn't necessary. We ONLY need to get within human perceptual error margins. I can definitively confirm this is possible, the problem is in the details (e.g. correctly gamma-corrected antialiasing). It simply means the weak link is in the antialiasing algorithm of MacType -- not by what you're saying. If there are problems, it simply means the weak link is somewhere else. If it's 0.1% off, big whoop. But your image has a gigantic almost >20% error margin due to the wrong margins. I am familiar with many of the error margins involved. Remember I am cited in over 30+ research papers. We're focussing on the mountain, not the molehill. |
I would not presume to argue with you, I think you misunderstand me. I was only saying that I might be able to use the "clean" image for a proper measurement. I understand that my original measurement didn't include margins. I will correct and post here as soon as I can get it done. I print the thing out on a piece of paper and count that way. I might not get it right the next time either but will eventually. Meanwhile, you asked if MacType has gamma settings. From the default.ini: ; [Gamma Value] Finally, I wish to make it clear that I know nothing. I bought an expensive OLED monitor that doesn't look correct and that's why I'm trying to help. The lack of action on this tricky subject, and why it's being left to amateurs, is confusing. So please take it easy on me. |
A heads up on this: I can't speak for them, but Microsoft may be less keen on this than you may think ... and it's for security reasons. I know from my Windows-related graphics discussions with @Sergio0694 and @ahmed605 that, while DirectComposition and Windows.UI.Composition do have an effects API, they very explicitly do not allow custom pixel shaders despite the underlying API (Direct2D) having the capability. The reasoning is something about security. For example, you could imagine a smart-enough malicious shader swapping the order of Yes/No buttons on a security-related dialog box, or peeking through the Mica blur to fish text out of something. I don't think there's a technical reason this can't be done, but the security concerns are certainly legitimate enough. |
Fair! Just wanted to point out that wrong padding margin is an error margin (pun on word "margin"!), was simply pointing out a giant known error margin.
That's a very reasonable observation. What about a Windows Store approved shader system? Obviously, I'd pay whatever developer fees (which I think are 100-500) to get a shader approved, on a per-shader basis. Discussions are ongoing at Valve, but I think SteamOS is considering something similar for Steam store to prevent cheat shaders for games. |
You'd have to ask them ¯\(ツ)/¯ I just wanted to point out that getting this to work is more than just figuring out the how. |
Yes, asking Microsoft, this is a deep think. That being said, I'm adding a "Security Considerations" section to Version 1.02 of the Blur Busters Open Source Display Shader initiative (www.blurbusters.com/osi), to acknowledge this. I already mention it in passing but it should be a separate Security Considerations section. In the framework of a theoretical PowerToy, it could be potential opportunities to incubate alternative methods of addressing security considerations, while providing a "beta unsupported venue" easily blocked by corporations. |
You might be able to find another angle to bump up the value proposition of such a project. Like maybe there's some interesting or niche accessibility-related stuff that Microsoft doesn't have the motivation or resources to pursue, but they're willing to provide the hooks for someone else to plug into. |
Yes, I had recently added that bullet to the Possible Use Cases of Refresh Cycle Shaders. P.S. Rick, I love your paint-dot-net app; I use it for most of my images at Blur Busters. EDIT: I have now added a Security Considerations section to Version 1.02 of the Blur Busters Open Source Display Shaders initiative. |
Much better, much smaller error margins. The top one is more proper, since red/blue is side by side on most QDOLEDs AFAIK. If your screen shows top green fringe for white text on black, and purple bottom fringe for white text on black, your image is correct. But if you have purple top fringe and green bottom fringe for whites on black -- your crop is about half a pixel off vertically. But instead of 2, I should inform that there are 3 different possible crops, try them all, since they offset slightly differently horizontally and vertically -- to make sure you know the subpixels-per-pixel is correct. Either image has much smaller error margins in their margins than the original margins. For both, compute the new pixel centers of these images and plug them in accordingly. The problem is you'll have to determine how the subpixels are aligned -- you can possibly tell by displaying a full white image and seeing if purple fringing is at top (that means R/B is at top edge of triad) or bottom. And red/green fringing at left/right edge of a full screen white field, will also help. It's very challenging with many cameras, because the overexposure can erode images. I usually just simply step back from the monitor and zoom into the screen, while using a neutral density filter on the camera lens (or photographing dimmer grey colors), to prevent the overexposure-erode effect. Once you do, make sure you use the correct gamma (try srgb gamma curve for SRGB mode). If that fails, try 2.2 or 2.4. Now, we have to mention we're getting off-scope of this github, even if it's useful intel. For further optimizing, I suggest more directly elsewhere. Further posts are probably not going to be as productive to discussion as I rather not distract Microsoft from the jackpot feature. I suggest that no further replies will be done /in this specific venue/ to this non-PowerToy technical support request, since my priority is focussing Microsoft on the subject matter. The intel is still useful to Microsoft to show the problems of OLED subpixels (and how they are fixable) -- but only up to a certain extent (this). (Use my BlueSky or X or BlurBustersForums to collab with me on tweaking subpixels for now) Let's get back to the topic at hand; |
Now bringing focus back on topic; Attention:cc: @Sergio0694 and @ahmed605 Do you want to contact me privately to discuss the Blur Busters Open Source Display Shaders Initiative? The benefits and use cases are now gigantically innumerable that we need to address this. Github Commit System for Refresh Cycle ShadersPowerToy is open source. Code review of open source shaders can be done, as a measure of security. Possible Initial Security Method: Open Source Pull RequestValve told me anybody can submit pull requests for upcoming new Blur Busters Open Source Display Initiative shaders, that can soon be selected at command line for Steam GameScope. They have committed to at least accepting the CRT simulator, but also mentioned that they will accept pull requests for other refresh cycle shaders. This is their current preliminary chosen 'security' system: Submit a pull request. We propose that a git pull request method for new shaders, would allow a reasonable compromise, as the Display Shader PowerToy that contains OLED subpixel options (and a few other goodies like CRT simulator and blind-accessibility shaders etc), which I will donate. With several trusted third party code reviewers + AI scanner + security scanner; I offer to be an additional volunteer code reviewer. By making it a Display Shaders PowerToy and limiting shaders to pull requests; this may satisfy Microsoft to help incubate the open source refresh cycle ecosystem. We want to avoid embarking on a worse alternative that is more insecureWe're going to otherwise risk damaging user systems with a modified version of a Windows Indirect Display Driver (worse approach but allows us to run shaders on WIndows Desktop by virtualizing the display + making it primary), and we would like help with a simpler system. There are already several candidate Windows Indirect Display Driver projects we plan to modify, either iddSampleDriver or Virtual Display Driver or other IDD. We simply modify it to process a shader, and add a nonexistent display to Control Panel, and make it the primary monitor, while using the secondary display (actual display) as the outtput shader-reprocessed mirror of that primary. Our modified IDD can even hide the original physical monitor, only showing our shader reprocessed image. This route, unfortunately, means nobody at Microsoft code-reviews a refresh cycle shader. And it is more intrusive (users actually have to install a driver, risking stability too). We already have our own Extended Validation Code Signing Certificate, and we are planning to work on it eventually once we have several shaders. This allows us to be able to release a virtual display driver to our users. Can't we compromise? To prevent vendors (including me) from doing a more insecure route? I have now added a Security Considerations section to Version 1.02 of the Blur Busters Open Source Display Shaders initiative -- including link to the January 24th Valve GameScope email. cc: @rickbrew Remember the gigantic benefits:
Free opensource development hours offerWOLED / QDOLED subpixel-scaling shader offerMicrosoft's Turn:Create a "Display Shaders PowerToy" at least partially compliant with v1.01 of Blur Busters Open Source Display Shader Initiative. BlurBuster's Turn:I will provide OLED subpixel scaling shader filters for free, MIT license -- compatible with an average WOLED and an adverage QDOLED -- gift to you, Microsoft. It will have adjustments (shader uniforms) for slight offsets and biasing adjustments (e.g. for subpixel size), but will mostly follow various OLED subpixel boilerplates This produces a ClearType effect for everything -- including images, icons, etc. I will provide all the software developer hours of creating the shaders. The problem is I need a method to plug it into Microsoft Windows 11 operating system. I will generally need to virtualize a higher resolution internally in Windows in order to successfully downsample it to a visible resolution, e.g. Windows running at 7680x4320 (or even higher) for a modern 4K 240Hz OLED, for successful subpixel-downsample via a PowerToy (that is probably essentially a Shader executor for Windows Composition Swapchain Direct Hook To Windows Desktop for All Apps + All Desktop) <-- This is the part I need Microsoft to deliver for generic shader plugins. You'd disable ClearType at the WIndows OS level, and instead use the subpixel-scaling shader. There are performance considerations, but sometimes when some of us are using OLEDs as software development devices (e.g. Visual Studio on OLED), we need solutions. With 3-year burnin warranties and improved office productivity benefits (120vs480 OLED was recently preliminarily blind-tested more human visible than 60vs120 in office productivity environments for smooth scrolling/panning behavior). PowerToys are open source. Security consideration can be initially covered by limiting shaders to being approved via strict git pull request code review. |
Description of the new feature / enhancement
EDIT: January 24th, 2025:
(will include WOLED/QDOLED shader)
NOTE: I do paid work with display manufacturers.
Repost of incorrectly-closed github item that someone else posted:
It is definitely a real problem caused by unresolvable ClearType limitations. The earlier github item (#25568) was incorrectly closed by someone who thought it was a feature already built into windows; so creating new GitHub issue.
EDIT January 24th, 2025
The text was updated successfully, but these errors were encountered: