[HACK] Calibration profile for Nexus One v5.1, now with 100% less Sith!

Search This thread

storm99999

Senior Member
Nov 11, 2007
365
16
I dunno, I'll research how LUT tables work in Linux (are they software or hardware) and see about implementing them properly in android. Bit of a major undertaking compared to this, but then people can use calibration software over vnc or something and that's just better.

Anyways, new version's up, different calibration settings, added as a separate option in CyanogenMod settings instead of replacing the last one.

Edit: LUTs are software some of the time, hardware some of the time. Linux uses Xorg for the interface, so there is no color calibration capabilities in Android. It can be added, however. I'd love it if I could create a universal shader that has access to the color data, so that is where I'm going to focus my work.
 
Last edited:

storm99999

Senior Member
Nov 11, 2007
365
16
I can't seem to install this in recovery. It says the package is not signed?

I'm using clockworkmod recovery and it works from there... I'll try with AmonRA to check, but I did sign it with test keys (or well, more accurately, custom test keys) so it should work.

Edit: Yup, AmonRA's recovery hates the file. I'll get a new one up once I figure out what's wrong.

Edit: New one up, took 7 different downloaded files before one would actually sign the file and work in AmonRA. Sorry about that, I never noticed as my recovery ignores signatures.
 
Last edited:

wrinklefree

Senior Member
Jun 24, 2010
117
344
I'm using clockworkmod recovery and it works from there... I'll try with AmonRA to check, but I did sign it with test keys (or well, more accurately, custom test keys) so it should work.

Edit: Yup, AmonRA's recovery hates the file. I'll get a new one up once I figure out what's wrong.

Edit: New one up, took 7 different downloaded files before one would actually sign the file and work in AmonRA. Sorry about that, I never noticed as my recovery ignores signatures.

Thanks for getting this up and running. I applied the hack and did some before and after color temperature readings with my spectraphotometer.

Before: 7900k
After: 5600K (little bit warm)

Is there a way you can have multiple selections so I can get close to D65?

Great work so far. You definitely need a tip jar.
 
Last edited:

storm99999

Senior Member
Nov 11, 2007
365
16
Thanks for getting this up and running. I applied the hack and did some before and after color temperature readings with my spectraphotometer.

Before: 7900k
After: 5600K (little bit warm)

Is there a way you can have multiple selections so I can get close to D65?

Great work so far. You definitely need a tip jar.

Huh, I went from 9300K to 6500K. Maybe there is too much variance. For the third version, I think I'm going to create an app that tries to run at boot to enable it, but all of the ratios are dynamically configurable. That aught to suit the most people the best and a large web of code can be cut out in surfaceflinger.

This requires a lot of changes, so it is probably going to be harder for the maintainers to take it in. Right now I've added a few strings, a constant, and 3 lines of code. The other method requires a new app and a bit of interface rewriting. It's worth it to try.
 

katiepea

Senior Member
Apr 28, 2010
854
169
Los Angeles
I just fell in love with my Nexus all over again. It looks maybe just a slight tad warm,i don't mind, its a huge improvement. Thank you.
 

katiepea

Senior Member
Apr 28, 2010
854
169
Los Angeles
Is it a simple "flash" from recovery?

I'm interested in testing this as well, but not sure how to...

yeah it's a recovery flash, then the "calibrated" option shows up in cyanogenmod settings rederfx tab. it looks real good to me. i know a lot of people don't like 6500k area and think it's too yellowish, but thats how **** should actually look, at least according to me and professionals, liking it a lot here. i just wish it would implement at boot. no big deal to turn it on once tho. also, i bet this saves battery.
 

storm99999

Senior Member
Nov 11, 2007
365
16
Same here, download unsuccessful on phone and can't dl it on any laptops or pc's around the house either. I'll wait though :) Looks neat!

I'm able to download it... Where is the best place to mirror it? I only have it on mediafire because it looks to be the most respectable host site for free, suggestions are welcome.

Oh, on the note of battery... the display is ~70% of the power usage when it's on, and the blue alone is 40% of the panel. I reduced the blue power 20%, so altogether, I lowered power consumption at least 7% on a perfectly white screen.
 
Last edited:

uoY_redruM

Senior Member
May 1, 2010
3,469
1,941
Longwood, FL
Hmmm, colors look much more "pure", I really like it.

My eyes are slowly adjusting to, and really liking the white on this setting.
 

r0adki111

Senior Member
Dec 30, 2009
303
10
www.tacochicsalsa.com
I'm able to download it... Where is the best place to mirror it? I only have it on mediafire because it looks to be the most respectable host site for free, suggestions are welcome.

Oh, on the note of battery... the display is ~70% of the power usage when it's on, and the blue alone is 40% of the panel. I reduced the blue power 20%, so altogether, I lowered power consumption at least 7% on a perfectly white screen.

I'm not sure of another hosting spot. Maybe dropbox? Or if anyone wouldn't mind mirroring it somewhere else that'd be sweet :)
 

storm99999

Senior Member
Nov 11, 2007
365
16
Its included in the new CM Nightly..

Oh, that's really really awesome. I put a pull request on it just a few hours ago; it feels cool to know I added a feature to that.

Tonight, or maybe tomorrow, I'll start learning enough java to make an on-boot loader and settings changer. It doesn't look too hard, I'll just triplicate the interface that communicates what render mode to use. I already know enough code to interface it.

Just a quick survey for those of us with calibrators, what format do you get data? Does it just spit out a temp, does it give x and y, or does it give LAB? I'm thinking of brushing up on my algorithms so that you can input one of those formats and it figures out the ideal settings for D65.

For those of us without a calibrator, I'll probably make a D50 D65 and D75 setting preset. They'd of course be most accurate on my phone, but a 3500k range should cover most people, right?
 
D

diversificationied

Guest
Oh, that's really really awesome. I put a pull request on it just a few hours ago; it feels cool to know I added a feature to that.

Tonight, or maybe tomorrow, I'll start learning enough java to make an on-boot loader and settings changer. It doesn't look too hard, I'll just triplicate the interface that communicates what render mode to use. I already know enough code to interface it.

Just a quick survey for those of us with calibrators, what format do you get data? Does it just spit out a temp, does it give x and y, or does it give LAB? I'm thinking of brushing up on my algorithms so that you can input one of those formats and it figures out the ideal settings for D65.

For those of us without a calibrator, I'll probably make a D50 D65 and D75 setting preset. They'd of course be most accurate on my phone, but a 3500k range should cover most people, right?

I mentioned in the nightly thread, so it would be awesome to have a few presets ready to go.

(this is more useful than the other render effects in place currently).
 

storm99999

Senior Member
Nov 11, 2007
365
16
I'm not on the nightlies. Using kangorama sp1 b2

http://dl.dropbox.com/u/9780975/calibrated-signed.zip , that should work. :)

I mentioned in the nightly thread, so it would be awesome to have a few presets ready to go.

(this is more useful than the other render effects in place currently).

I'll get to work on it and I'll of course keep this area updated.

It's amazing how much the color balance shifts with the blue multiplier. .80 is 6000k, .82 is (for me) 6500k, and .84 is 7000k.
 
Last edited:

mik101

Senior Member
Jul 13, 2010
765
194
Anyone else finding it a little yellow? Ordered my N1 directly from Google in June. Using it built into the latest CM6 nightly. Any chance of getting a few options through the middle?

Summary: Factory is definitely too blue on mine as well, but this setting actually looks a little yellow.
 

theophile2

Senior Member
Jul 15, 2010
188
91
Mississippi
Anyone else finding it a little yellow? Ordered my N1 directly from Google in June. Using it built into the latest CM6 nightly. Any chance of getting a few options through the middle?

Summary: Factory is definitely too blue on mine as well, but this setting actually looks a little yellow.

I just applied it and have the same feeling. Having some experience in color balancing digital photographs, I'm aware that "correct" color balance often looks wrong at first, but holding the N1 next to my laptop display with both showing the same photo, it's definitely coming across on the yellow side.

But this mod is seriously fantastic. I'm really excited about what this can accomplish and I'm looking forward to seeing what comes next!
 

Top Liked Posts

  • There are no posts matching your filters.
  • 7
    One of the most common criticisms of the Nexus One is its screen. Beyond a few touchscreen problems, a lot of people have had problems with the screen being too blue. This mod attempts to correct this color cast.



    The top is with my hack, the bottom is without. This is a color accurate version. The weird green band is just the combination of my camera and what is on the page.

    Here is a screenshot of the .apk:

    UI, on Flickr


    Currently, the color cast is corrected for most people's taste and there is an app to configure it.

    Beyond color casts, it is theoretically possible to fix the gamma. It is currently 1.5 when it should be 2.2. That is a fairly bad setting. The roadblock to the implementation of this is that SurfaceFlinger, the window control application in Android, would have to be converted to OpenGL ES 2.0, which some devices don't support, and I would have to figure out how to write the right shader. If you or someone you know is experienced in GLSL for mobile devices, let me know.

    Installation:

    Anything earlier than Froyo is not supported. If you really want me to add support, let me know, but I'm not putting the time in unless there is a strong need.

    For CM6 Nightlies (after Aug 8th) or CM6 final you don't need to flash anything, just install the CM .apk.

    For most other roms, you want Universal .zip and normal .apk.

    If universal doesn't work due to a failure to flash (so far, this is confirmed for eVIL's Sense V1.00 rom, but not later versions), try the one labeled Sense.

    After you install the .zip and there are no errors during flashing, then install the Calibrator Control app.

    Use:

    To control it, open the Calibration Settings app and just change the numbers. Let me know what numbers you find pleasing to your eye. We currently use: Red = 975, Green = 937, Blue = 854 for the settings for reference. It will save your settings and load them on boot. This feature only works if you have the app installed on the phone and not on the SD card.

    As always, there is no warranty with regards to this hack.

    Credit goes to Cyanogen and his team for maintaining the source I based my small tweak off of and the authors of the original source, RixKliq for the great icon, and xenio2000 for the UI improvements and help with presets.

    Changelog:

    V1.0 - First hacky implementation
    V2.0 - Cleaned up implementation, integrated better
    V2.0b - Fixed signing issues.
    V3.0 - Added 3 presets, of which the neutral one loads at boot.
    V3.1 - Moved presets slightly cooler, added low red mode for low brightness screens and those who hate red.
    V3.2 - Changed profile to be significantly more accurate and fixed multilingual bug.
    V4.0 - API not changed, but new .apk allows on boot loading of any color setting you want.
    V4.1 - API changed, but only to add a wider rom support. It still requires froyo though.
    V4.2 - API not changed, added support for roms that moved libraries to /data/lib, enhanced UI.
    V5.0 - API not changed, sadly, but added presets, major UI overhaul to .apk.
    V5.1 - Bugfixes galore!

    (Still) Planned:
    Adding gamma, much less likely than I thought.

    Adding dynamic red decrease as the backlight goes down.

    Downloads

    V5.1 is an .apk fix only, so no need to get the .zip file.

    Universal (AOSP) Download:
    http://dl.dropbox.com/u/9780975/calibrated-signed-42-Universal.zip

    Sense (Desire) Download:
    http://dl.dropbox.com/u/9780975/calibrated-signed-42-Sense.zip

    Calibrator Controller V5.1 Normal Download:
    http://dl.dropbox.com/u/9780975/Calibrator-5.1-Universal.apk

    Calibrator Controller V5.1 CM Nightly (and Final) Download:
    http://dl.dropbox.com/u/9780975/Calibrator-5.1-CM6.apk

    Known Bugs

    If calibration is enabled, Spare Parts will crash when Render Settings is opened.

    Some versions may have logcat spam. Let me know if this happens to you.
    3
    If I flash the zip, then update my ROM, will I need to flash the zip again after the update? Or is it just a one-time flash and forget? Thanks.

    Just use the v5.1 app, copy and paste into /system/app and set permissions like all other system/apps, then reboot. App should be in your app drawer and work just fine. To make it stick upon ROM flashing, put the apk into a custom_backup_list.txt in /etc and it will survive most anything:p
    1
    Check my 2nd edit...
    Im gonna try the new file tomorrow since it's sleep time here..
    For the gamma setting maybe we should contact some kernel master...good night!

    Sent from my Nexus One using XDA App
    1
    I talked about this issue with snq- on IRC, the 2.29 base has some new dependencies:

    So, really, it's because I haven't updated the source recently and the system is out of date? Well, shouldn't be too hard to fix, but it all depends on which source I need to base this off of.

    Hi Storm,
    Much appreciation for this mod already. Since it may be up you're alley, are you aware of this project? http://project-voodoo.org/color
    It would be wonderful if the sharpness optimizations could be ported to the Nexus One!

    That looks incomparably awesome, but try as I might, I couldn't find their source code. If I did, this should be an easy port.

    Edit: I found the source code, but it looks like they changed far more than I expected. I'll see what I can do.
    1
    I really really miss Calibration profile on Gingerbread :(:(:(
    using this file calibrated-signed-42-Universal.zip
    and I am using this rom

    [ROM] Gingerbread v.11
    http://xdaforums.com/showthread.php?t=872441

    and I am getting a bootloop.
    My boot log show this... if it helps for fix
    Thanks
    Xenio

    I'm on the same rom, so I will be targeting it.

    I knew I needed to rebase my code for Gingerbread. Once I have some solid bandwidth, I'll redo the Cyanogenmod build (so current 2.2 bases that aren't working, e.g. Desire builds should work) and then get the Gingerbread AOSP and work on that.

    The only reason for the delay is that I have to run maybe 5-6 GB through a 0.7 Mbps pipe to get up to speed.