Related
Hi Galaxy S II users and developers!
I'm working since months on Galaxy S II Super AMOLED+ screen calibration and rendering customization.
As it takes a lot of time to get something really usable, I decided to publish dev snapshots as a free application on android market.
This project takes so much time because I reverse-engineer all the mDNIe image converter registers one by one. Same for the ld9040 Super AMOLED+ controller.
Then I measure the potential effect of settings found, transform it into comprehensive settings etc.
I also back-up all this by measurements made with a calibrator.
Most of this reverse-engineering will be published as GPL source code.
I don't provide any kind of support for the dev snapshots but I'm sure you'll be interested discussing screen stuff here.
Icon chose is self-explanatory: unstable software!
I have ambitious plans for this application. It may become more powerful than anything you saw before affecting screen rendering on any mobile device
I've installed the Market version but can't see differences between the Native and Samsung mode.
Same as with the earlier version you distributed on Twitter. I've read there you said it worked only on your SGS2. I guess it has been fixed now but still, no changes for me.
EDIT: I see a change now between the 2 modes, my screen mode was set to Movie, not Standard. And I remember having seen in the app you change the Standard mode settings only. Maybe worth adding it to the 1st post?
I was also using the movie mode but sometimes the screen will became a little bit greenish.
I'm so happy with the screen Turner now especially with light blue!
Sent from my GT-I9100 using XDA App
exciting only things i hate after switching to sgs2 (from i9000) was color calibration (and banding issue) and a bit sound quality which can be increased even though its not that much difference..
@supercurio do you have something in mind about color banding or its just calibration?
Nice start supercurio!! Happy to know you have started working All the best
thanks for the early feedback:
@snark_be as its really dev snapshots, I won't document it as virtually anything can change from one day to another.
Thats why sharing your observation with other curious experimental testers is so valuable
As someone stated before, I got good result against light blue colours...
Sent from my GT-I9100 using xda premium
pan466 said:
exciting only things i hate after switching to sgs2 (from i9000) was color calibration (and banding issue) and a bit sound quality which can be increased even though its not that much difference..
@supercurio do you have something in mind about color banding or its just calibration?
Click to expand...
Click to collapse
Color banding: mostly done already.
Disabling artificial sharpening on everything make any banding very hard to notice.
Still, some apps are runing in 16-bit mode without dithering on MALI GPU instead of 32bit as you can see in Angry Birds RIO introduction animation.
Samsung settings apply sharpening even on dithered images. Result is not good, as expected.
The gradient pattern in today's app show that.
Gradient itself is a screen screenshot of Samsung browser rendering, for an accurate simulation.
The app will be declined for power-users, allowing full control over all the settings.
Sharpening, color saturation or tones: its all a matter of user preferences.
For Calibration I'll work on linear domain, directly tuning AMOLED hardware and not mDNIe effect.
Its what allows the best precision and avoid ending with 7 or 6bit usable per channel, but due to how is supposed to work factory calibration it's also the only way to fix color calibration issues, that makes some screen very different from others in terms of white balance, especially in low brightness modes.
hi
i tried tune it but it doesnt work.
When you look at letters ex web you see bluring letters. I discovered i had the same problem on windows 7 but switch of smooth edges of screen font and font are sharp crisp. Take a look http://forum.xda-developers.com/showthread.php?p=15554743#post15554743.
supercurio said:
Disabling artificial sharpening on everything make any banding very hard to notice.
Click to expand...
Click to collapse
But it makes the text look fuzzier. Maybe I need time to get used to it.
snark_be said:
But it makes the text look fuzzier. Maybe I need time to get used to it.
Click to expand...
Click to collapse
Yes, everyone eyes gets lazy when used to a sharpened result.
Immediate comparison makes the normal rendering looks blurry even if it's not − brain trick!
kamartonus said:
hi
i tried tune it but it doesnt work.
When you look at letters ex web you see bluring letters. I discovered i had the same problem on windows 7 but switch of smooth edges of screen font and font are sharp crisp. Take a look http://forum.xda-developers.com/showthread.php?p=15554743#post15554743.
Click to expand...
Click to collapse
Maybe you just don't like Android font hinting.
Personally I prefer stronger hinting like freetype "Best Contrast" one available on Linux desktops.
Issue with this kind of string hinting is that it doesn't play well with arbitrary font size.
Shapes become 1px or 2px wide but nothing in between, probably why Android uses an intermediate hinting, that eventually works better on higher density screens.
does this only work on stock based rom? are you planning to get this working on cm based rom as well?
awesome-member said:
does this only work on stock based rom? are you planning to get this working on cm based rom as well?
Click to expand...
Click to collapse
It will work on CM based ROM when they'll re-add mDNIe support in their kernel.
mDNIe feature doesn't depend on kernel patches as Samsung nicely allowed customization in their own driver.
Of course this official driver must be enabled (CM) and not destroyed in its functionality (hardcore's patches)
I discussed it with Unhelpful and codeworks a few days ago and will contribute if needed.
Edit : seems to work, even though difference barely is noticeable, I guess it'll improve with updates
this may be a solution of fixing the left side yellow tinted screen just like mine
WOW~~supercurio you are come back again~welcome! just installed it from market~
native mode seem look soft and warm ..i like it..
samsung mode look dazzling and cold..
but i think it's a long way to go...
but i am very happy..you are back...
because i love your voodoo lagfix voodoo color voodoo sound for SGS..
also hope you can bring some things for SGS2~~
Says this device is not supported, running CyanogenMOD7 ver 31
Incredible difference. I really hated the sharpening Samsung do. Cannot thank you more for your hard time put into this.
This has potential to be a major breakthrough for SGS2 phones. Modifying our displays to fit everyone's needs is a much needed addon.
Thanks Supercurio!
Hi all.
The issue has been SOLVED as of today (9 Nov), thanks to marc1706. He successfully identified a line in the kernel video drivers, which has completely eliminated the color banding from what I can see. There is no need for any other fix to be applied.
The thread for his kernel can be found here: http://forum.xda-developers.com/showthread.php?t=1282435. Be sure to thank him for his wonderful work!
For kernel devs interested in applying to fix to current kernels, his commit can be viewed here: https://github.com/marc1706/cm-on-wince-htc/commit/dfe41d02cac454e3e58c583cd4fa0c0825160d1f.
Thanks for all the support guys, glad it's finally solved.
MrP.
It's a great thread, but the kernel developers are already aware of this I'm sure
Thanks for the compliment.
I'm sure they're aware of it, but possibly not aware of its solution. Hopefully this can serve as a general thread to discuss its solution for all devs to benefit from.
MrP.
Sent from my HTC HD2 using XDA App
Developing on the hd2 will never stop
Eagerly waiting for a solution, I hope someone find a solution for this!
This is the last big issue left to solve...
One other thing - if anyone has any ideas of what the video incompatibility might be related to, please let me know and I'll play around with possible fixes.
MrP.
sbryan12144 said:
Ok. I'll tell before I release.
The old kernel was based off of the EVO 4G's 2.6.32 source right? -Yes
The new kernel is based off of the Desire's 2.6.35 source right? -Yes
Doesn't that mean we'd need actual Desire libs rather than others? -Yes!
I tested marc's 1e kernel with my OLD Bravo build that I made from the Desire's Official RUU (3.14) and CAM WORKS. So my theory is correct. I tested it on my RCMix3D Runny Build and it works as well.
Hope you guys are happy
Don't forget to credit the kernel builders and me for this fix!
Click to expand...
Click to collapse
Maybe this will help?
Sent from my HTC HD2 using XDA App from my HTC HD2 using XDA App
Thanks for the heads up.
I am aware of that post and I'm actually busy looking into it. The only problem with simply bringing the Desire libs over is that those libs are designed for Sense builds, so as sybryan12144 has mentioned, it will work for bringing those libs over to our Sense ports. The real problem is getting them working under AOSP builds. Shall take a further look never the less.
MrP.
The easiest way I found to reduce colour banding is to set the DPI to 217, although that means losing a lot of apps in the market with my rom.
I don't think we can ever fully eliminate due to our 65k displays...
Sent from my HD2 using xda premium
Contrary to popular belief, the color banding in Android is not necessarily due to a limitation of our 65k screens. Although the pictures in the OP are representing the fix for the notification pane only, there were no color banding issues that I could find anywhere in the ROM. It truly removed the issue completely.
If you'd like to test, you don't even have to reinstall your current ROM - just grab marc's 2.6.35 kernel, and warrenb123's 2.6.35 kernel. You should be able to install them over your current build, but you'll notice that warrenb123's kernel eliminates the color banding, probably due to the fact that it uses the Desire GPU driver. Marc's kernel, despite being a 2.6.35 kernel, does not solve this (yet).
MrP.
Try changing this in your build.prop...
debug.fb.rgb565=1
Works wonders for sense builds!
Sent from my HTC Desire HD A9191 using XDA App
tobiascrystal said:
Try changing this in your build.prop...
debug.fb.rgb565=1
Works wonders for sense builds!
Sent from my HTC Desire HD A9191 using XDA App
Click to expand...
Click to collapse
That only works if you already have the Desire kernel installed though...
I am using heiros kernel and it is working fine for me!
Sent from my HTC Desire HD A9191 using XDA App
MrPadie said:
Contrary to popular belief, the color banding in Android is not necessarily due to a limitation of our 65k screens. Although the pictures in the OP are representing the fix for the notification pane only, there were no color banding issues that I could find anywhere in the ROM. .
Click to expand...
Click to collapse
things like notification panes etc which have simple gradients can be nearly eliminated. But look at more complex ones eg photos of clouds. 65k is 65k and 'you cannae break the laws of physics.. .'
Sent from my HD2 using xda premium
http://forum.xda-developers.com/showthread.php?t=1268085
@consolation - no doubt, I agree with you. However maybe I should more clearly state that I am referring to the quality of ROM elements. 65k is 65k, and some gradients will be visible obviously, but the quality of ROM elements without the fix is somewhat disappointing.
MrP.
Sent from my HTC HD2 using XDA App
@famewolf - that doesn't truly solve the issue, nor does it work well with regards to ROM elements. Already tried it on typhoon, banding issue doesn't change in the notification pane at all.
MrP.
Sent from my HTC HD2 using XDA App
I belive that, as most android comming after 2.2 came with 250k+ colors, the gradient algo was not updated. Try this, on CM roms, add the music and the analog clock to your screen. Notice the heavy banding. Now, try to move them. Notice that a different algorithm is used whyle moving.
That algorith is probably used all the time on the gallery, solvind the banding issues.
That yellowish/blueish gradients on the background should suffer from the banding also.
Well put daedric. I am therefore assuming that this 'algorithm' then has been updated/fixed/implemented properly in the Desire GPU driver.
To everyone - I think what we need to understand here is that the issue exists, and it's main cause is directly related to the GPU driver. Yes, there are one or two things that possibly ease the issue (saturation fix and rgb565 flag in build.prop), but the proper, native fix lies somewhere in the Desire GPU driver. Now, seeing as I am not a kernel dev, I cannot pinpoint the cause/solution.
So, the main point that this thread should express is that the issue can be fixed, by applying the Desire 2.6.35 port. However what we are trying to achieve is using this port without breaking video/camera/camcorder compatibility.
MrP.
MrPadie said:
Well put daedric. I am therefore assuming that this 'algorithm' then has been updated/fixed/implemented properly in the Desire GPU driver.
To everyone - I think what we need to understand here is that the issue exists, and it's main cause is directly related to the GPU driver. Yes, there are one or two things that possibly ease the issue (saturation fix and rgb565 flag in build.prop), but the proper, native fix lies somewhere in the Desire GPU driver. Now, seeing as I am not a kernel dev, I cannot pinpoint the cause/solution.
So, the main point that this thread should express is that the issue can be fixed, by applying the Desire 2.6.35 port. However what we are trying to achieve is using this port without breaking video/camera/camcorder compatibility.
MrP.
Click to expand...
Click to collapse
Might just be a simple setting. Let us remember that there are no HTC drivers for the HD2 in particular. We got everything from the Desire and probably the Nexus.
Now, those two devices are 24bit color from ground 0, and the driver problably belives that we have a 24bit capable screen. Warren's driver must have something in it, that makes it behave nicely with RGB565 instead of RGB888.
I have a questions. The Desire came out in two versions, Amoled and LCD. How does the android finds out which type of screen is being used? Or is it transparent to the OS?
According to the Screencast dev, they are currently be set as BGR when they should be RGB. This causes screwy colors when using screen capture apps such as Screencast. Here is a quote.
This is a framebuffer driver issue (kernel). Basically the kernel is setting a flag in the framebuffer driver to say the colors are arranges as BGR (blue, green, red) when in fact they are RGB. Nothing would normally need this information since everything goes through the Surfaceflinger (Android framework) except the bootup display, and Screencast.
Click to expand...
Click to collapse
If you want to see this bug in action, just download screencast and test on a AOSP/AOKP, etc.. based rom. Bug does not occur on none source roms, such as TW.
Please read forum rules before posting and the stickies!
This does NOT belong in Original Development
Moved to General
My apoligies. I figured it indeed had to do with developement (a kernel fix needed). My mistake. I would of never thought to put something develomental in the general section.
Takenover83 said:
My apoligies. I figured it indeed had to do with developement (a kernel fix needed). My mistake. I would of never thought to put something develomental in the general section.
Click to expand...
Click to collapse
If you read you might have. You didn't develop anything to put in development.
I like to break stuff!
It's not a secret that AMOLED screens like the one installed in S4 mini have wider color range than IPS what often results in over-saturated images which were prepared for standard sRGB range.
Stock S4 mini ROM has means to change color profiles. So the question is - if this functionality also included/planned to be included in S4 mini's CM and kernel CM uses for this model? Could profiles be anyhow adjusted?
It's on my to-do list.
Really glad to hear it, Arco! Thanks!
Could you please share a bit about mechanism behind that? Is it really some driver/kernel-space functionality or it is being implemented on higher levels?
metaxaos said:
Really glad to hear it, Arco! Thanks!
Could you please share a bit about mechanism behind that? Is it really some driver/kernel-space functionality or it is being implemented on higher levels?
Click to expand...
Click to collapse
Haven't really looked at it yet, but I think both kernel and user space changes are needed.
arco68 said:
Haven't really looked at it yet, but I think both kernel and user space changes are needed.
Click to expand...
Click to collapse
Hi arco68,
I'm also interested in a solution for the over-saturation problem of the amoled of my S4 mini. Before that I'll keep my stock rom that has the profiles included.
In the meanwhile any progress on that?
S4 Mini oversatured display - solution!
Finally I found something that really works: S4minisettings.apk
http://forum.xda-developers.com/showthread.php?t=2558702&page=11
look for F4k's post
This build is for cm 11 (4.4 kitkat). The only thing is you have to manually put it to system/apps/ folder and then correct the permissions to
rw,r,r (644)
otherwise it doesn't work.
To get really natural colors instead of the oversatured ones you have to set mode to "natural" and temperature to "normal". Sometimes you have to switch the display off and on to get the settings applied.
Great thanks to F4k!
Cool!
Finally i get rid of this unnatural colours,
thanks peter and f4k! :good::good::good:
If you're interested I've developed an App called "ColorModeChanger" to adjust colors and saturation. You cn visit XDA thread at: http://forum.xda-developers.com/showthread.php?t=3154845
Hi guys I have this issue of my screen flickering from a darker to lighter screen all the time slightly.
Probably Screen PWM
F3: My observations so far
Hello everyone, I got my device some time ago and wanted to highlight the things that rarely ever get mentioned by your average youtuber. -) Yes, vibration motor noise is there. But it feels really intentional, not like it is broken. For me...
forum.xda-developers.com
Hey thanks for the reply.
So after the reading more about it is it possible for a software fix (dc dimming) or to change the frequency with adb?
It's really abit annoying and hurts my eyes after awhile
Not sure if this is still available or not:
https://c.mi.com/thread-2121815-1-0.html
CrushedMango said:
Hi guys I have this issue of my screen flickering from a darker to lighter screen all the time slightly.
Click to expand...
Click to collapse
Maybe mention the ROM you're running on. Could be the common problem shared by most ROMs implementing 90Hz (not supported by default)
I'm on arrow os
Marianopela said:
Maybe mention the ROM you're running on. Could be the common problem shared by most ROMs implementing 90Hz (not supported by default)
Click to expand...
Click to collapse