PDA

View Full Version : Screen Colours / Color Depth: 16 million or 65K?


HoX
2009-10-08, 22:05
Reading the Fremantle Master Layout Guide, I find out that the screen has only 64k colours (16bit)... is it true? Or it has 16M colours (24bit)?
Anybody knows how many colours has the iPhone?

Edit: I correct the bit definition... 16M colors is 24bit and not 32bit :o

javispedro
2009-10-08, 22:08
Maemo is 16bit and wake me up when a mobile device gets more bit depth than my current TFT LCD (18bpp).

The hw may support 18 bit actually, but I doubt the sw does (both iPhone and Maemo).

HoX
2009-10-08, 22:19
Maemo is 16bit and wake me up when a mobile device gets more bit depth than my current TFT LCD (18bpp).

Wake up javispedro... a lot of phone do it... take a look at the Nokia 6131 16M colors (24bit)... and this is just an example.

Jack6428
2009-10-08, 22:23
the N900 has 16M colors

pycage
2009-10-08, 22:28
it's 64k colors (16 bit), just like all the other NITs before.

javispedro
2009-10-08, 22:33
Wake up javispedro... a lot of phone do it... take a look at the Nokia 6131 16M colors (24bit)... and this is just an example.
Note I don't believe it either (I've seen worse dithering lies) but on a QVGA screen who cares.

HoX
2009-10-17, 23:11
the N900 has 16M colors
you're right! (http://en.wikipedia.org/wiki/Nokia_N900#cite_note-15)

javispedro
2009-10-18, 18:21
Well, I corrected Wikipedia's N900 page today, so I wouldn't say Wikipedia is a trusted source on the issue.

HoX
2009-10-18, 20:06
Well, I corrected Wikipedia's N900 page today, so I wouldn't say Wikipedia is a trusted source on the issue.

Of course it's not always trusted, but if you see here (http://www.nokiausa.com/find-products/phone-comparison) (Nokia US page) it confirm that N900 has 16,7 million colours... is it untrusted too? :D

pycage
2009-10-18, 20:23
From looking at undithered color gradients on screen, I would say, definitely not 16.7m but 65k.
However the screen has a resolution where dithering gives great effects.

HoX
2009-10-18, 20:30
From looking at undithered color gradients on screen, I would say, definitely not 16.7m but 65k.
However the screen has a resolution where dithering gives great effects.
So the Nokia US site is wrong? I check the Italian site too and it reports the same thing...

javispedro
2009-10-18, 22:15
So the Nokia US site is wrong? I check the Italian site too and it reports the same thing...

Yes. As I said, maybe the hw is more than 16bpp, but the framebuffers are not. Hopefully I am corrected.

Alex Atkin UK
2009-10-18, 22:23
I would imagine it saves a lot of memory sticking with 16bit although photo viewing would be nice in 24bit, although probably only noticeable when extremely zoomed in to a photo.

Wouldn't 24bit also be a hit on the 3D acceleration? I am not sure if its possible to switch between 16bit (running a game) and 24bit, with compositing enabled. Could be a reason to keep Maemo 16bit all round.

claesbas
2009-10-18, 22:27
was n800 and n810 16million colors?

javispedro
2009-10-18, 22:35
Dunno the screens. Framebuffer is not for sure.

sajd4000
2009-10-18, 22:45
my sony x1 has the resolution of N900 and a 16bit and the pictures look way better then the Iphone

Jack6428
2009-10-18, 23:04
Yes. As I said, maybe the hw is more than 16bpp, but the framebuffers are not. Hopefully I am corrected.

Hm, so you think that only you are right or what? That you are smarter than Nokia or what? I don't understand your framebuffers, but the N900 has 16 Million colors, fact. What more do you have to know?

pycage
2009-10-19, 06:32
Hm, so you think that only you are right or what? That you are smarter than Nokia or what? I don't understand your framebuffers, but the N900 has 16 Million colors, fact. What more do you have to know?

Is it automatically a fact when stated wrong on the market spec sheet?

Here's a fact:


$ python
>>> import gtk
>>> gtk.gdk.get_default_root_window().get_depth()
16
>>>

mece
2009-10-19, 07:15
$ python
>>> import gtk
>>> gtk.gdk.get_default_root_window().get_depth()
16
>>>


Change it to 24 or 32 and see if it crashes!

pycage
2009-10-19, 07:24
It's read-only. You'd have to mess with the X server configuration file.

And I don't feel like bricking my device. :)
16 bits color depth is what the users are going to see. Does it matter if you could hack it? (I doubt that you can increase the depth)

javispedro
2009-10-19, 07:33
That you are smarter than Nokia or what?

Well, after seeing Nokia claiming the gadget has 1GiB RAM, you'd feel that way too :p

vdx29
2009-10-19, 12:43
So does this mean that the N900's screen CAN display 16M but is restricted to 65K by the OS?

Please excuse my noobishness.

DeeGee
2009-10-19, 13:37
Most cheap tft screens (based on tn-techonoly) to my understanding are actually limited to 18-bit (262144) colors even from the hardware side (I don't know exactly what kind of screen is on the N900). But yeah, seems like N900 is limited to 16-bit (65536) from OS.

kopte3
2009-10-19, 17:00
We should sue Nokia. :D

pycage
2009-10-19, 17:21
See it positive.
You won't notice much difference at this high resolution with proper dithering, but the stuff is faster and needs less RAM. :)
This still does not prevent the camera from taking 24 bit photos (does it?).

danielwilson
2009-10-19, 17:25
does maemo only surport 64k colours then

pycage
2009-10-19, 17:38
does maemo only surport 64k colours then

No, it has nothing to do with Maemo. Maemo could use more, if the display had more color depth.

danielwilson
2009-10-19, 17:56
No, it has nothing to do with Maemo. Maemo could use more, if the display had more color depth.

so why can't nokia n900 use 16m colours then if it has it

Flandry
2009-10-19, 18:25
Here's my interpretation. I'm sure someone will correct me where i'm wrong:
-the color display panel only supports 18 bit color in reality
-it's easier to work with byte-sized data (16 bits = 2 bytes; 18 bits not so much)
-therefore the frame buffer (memory that stores image of what's on screen) is set to 16 bits
-Maemo 5 device called N900 displays 16 bit color

In theory, it could support 18 bit color, but in practice i'm guessing it's not worth it. Increasing the framebuffer to 24 bit would increase by 50% the size of it and the bandwidth and processing requirements for handling it, and then it would only get 2 bits actual increase, anyway.

mickeyjaw
2009-10-19, 18:40
AFAIK, the beagleboard supports 24 bit colour, and uses omap3, so the n900 probably does too. OpenGL ES (3D acceleration) only works at 16bit colour depth though, and this is probably the reason why this is the colour depth used. Plus the screen will only be 18bit depth at the most anyway like all TN TFT panels. I somehow doubt they put an IPS or PVA panel in a phone...

solarion
2009-10-19, 18:50
Reminds me of the apple fiasco a while back.

http://www.wired.com/gadgetlab/2007/05/apple_lcd_lawsu/

solarion
2009-10-19, 18:52
AFAIK, the beagleboard supports 24 bit colour, and uses omap3, so the n900 probably does too. OpenGL ES (3D acceleration) only works at 16bit colour depth though, and this is probably the reason why this is the colour depth used. Plus the screen will only be 18bit depth at the most anyway like all TN TFT panels. I somehow doubt they put an IPS or PVA panel in a phone...

It's worse than that, actually, when you really get down to nuts and bolts:

TN displays suffer from limited viewing angles, especially in the vertical direction. Also, TN panels represent colors using only 6 bits per color, instead of 8, and thus are not able to display the 16.7 million color shades (24-bit truecolor) that are available from graphics cards. Instead, these panels display interpolated 24-bit color using a dithering method that combines adjacent pixels to simulate the desired shade. They can also use Frame Rate Control (FRC), which cycles pixels on and off to simulate a given shade. These color simulation methods are noticeable to many people and bothersome to some.[2] FRC tends to be most noticeable in darker tones, while dithering appears to make the individual pixels of the LCD visible. Overall, color reproduction and linearity on TN panels is poor. Shortcomings in display color gamut (often referred to as a percentage of the NTSC 1953 color gamut) are also due to backlighting technology. It is not uncommon for displays with CCFL (Cold Cathode Fluorescent Lamps)-based lighting to range from 10% to 26% of the NTSC color gamut, whereas other kind of displays, utilizing RGB LED backlights, may extend past 100% of the NTSC color gamut—a difference quite perceivable by the human eye.

http://en.wikipedia.org/wiki/TFT_LCD

qwerty12
2009-10-19, 19:39
Hm, so you think that only you are right or what? That you are smarter than Nokia or what? I don't understand your framebuffers, but the N900 has 16 Million colors, fact. What more do you have to know?

Is it automatically a fact when stated wrong on the market spec sheet?

Here's a fact:


$ python
>>> import gtk
>>> gtk.gdk.get_default_root_window().get_depth()
16
>>>


Owned.

(Please ignore me. I serve no purpose except to make this message longer. Grr, stop looking at me!)

Bratag
2009-10-19, 20:40
Pretty much answers that question eh :)

pelago
2009-10-25, 17:28
The Hildon 2.2 UI guidelines document from http://www.forum.nokia.com/info/sw.nokia.com/id/eb8a68ba-6225-4d84-ba8f-a00e4a05ff6f/Hildon_2_2_UI_Style_Guide.html says:
The basic constraints for hardware and form-factors currently supported by Hildon are:
• Screen resolution of 800x480 pixels and 16bit colour depth (65 536 colours)
• 265 dpi screen resolution

Patola
2010-03-24, 07:23
On every N900 brochure and advertisement I find, it shows the N900 as a device with 16 million colors (16777216, to be exact, that is 2^24, which means it should have 24 bit depth or 32 bit depth - 24 bits plus 8 from aplha channel).

However, I just compiled installed the x11-utils package from the tools repository and ran xdpyinfo, and got this:

[user@n900 user]% xdpyinfo | grep -i depth
depth 1, bits_per_pixel 1, scanline_pad 32
depth 4, bits_per_pixel 8, scanline_pad 32
depth 8, bits_per_pixel 8, scanline_pad 32
depth 15, bits_per_pixel 16, scanline_pad 32
depth 16, bits_per_pixel 16, scanline_pad 32
depth 24, bits_per_pixel 32, scanline_pad 32
depth 32, bits_per_pixel 32, scanline_pad 32
depths (7): 16, 1, 4, 8, 15, 24, 32
depth of root window: 16 planes
depth: 16 planes
depth: 32 planes
[user@n900 user]%

Isn't that wrong, 16 planes? That would mean 65536 colors! Or are the brochures referring to the "maximum" capacity of the device (after all it shows 7 different possible color depths)? Can I change its depth somehow? Do games like Bounce Evolution do this?

Patola
2010-03-24, 07:51
At least not that I could check. I ran it and ran xdpyinfo from ssh:

[user@n900 user]% xdpyinfo | grep 'depth of root window'
depth of root window: 16 planes
[user@n900 user]%

I compiled xrandr for ARM but it does not allow to change color depth, only resolution.

MrWeasel
2010-03-24, 08:09
On the the german n900 page (http://www.nokia.de/produkte/mobiltelefone/nokia-n900/technische-daten) it clearly states 65.536 Colors.

Interestingly, it does not say anything about colors on the Nokia USA
product page (http://www.nokiausa.com/find-products/phones/nokia-n900/specifications)..

maxximuscool
2010-03-24, 08:15
on GSM arena it say 16M colours.

lma
2010-03-24, 08:19
On every N900 brochure and advertisement I find, it shows the N900 as a device with 16 million colors

Any official references (clueless "reviewers" don't count IMO)?

FWIW http://europe.nokia.com/find-products/devices/nokia-n900/specifications#hardware-dui says "Up to 65 000 colours", which is clearly wrong but not too misleading.

Patola
2010-03-24, 08:33
Nevertheless, xdpyinfo also says that 24 and 32 color depths are supported. Any way to experiment with this? If I write /etc/X11/Xorg.conf with Depth 24, will it work? Is there any program like xrandr which can change the color depth on-the-fly?

sjgadsby
2010-03-24, 09:31
The thread "N900 color depth: 16million or 65K collors?" with six posts has been merged into this thread.

teh
2010-03-24, 11:22
I can say its 16 million, I don't see the colour lack like i do on a pc with 65k.

The spec says its 16mill so it is. End of.

maxximuscool
2010-03-24, 11:29
I can say its 16 million, I don't see the colour lack like i do on a pc with 65k.

The spec says its 16mill so it is. End of.


funny that, the German site listed as 65k! This is indeed confusing, official europe Nokia did list "up to 65K colour"and GSMARENA listed 16M colour. What to believe? are we all being lied by NOKIA or by ourselves?

65K colours:
http://europe.nokia.com/find-products/devices/nokia-n900/specifications

16M colours:
http://www.gsmarena.com/nokia_n900-2917.php

This can't be right. The N97 mini has 16.5mil colours and listed on Nokia official site.
http://europe.nokia.com/find-products/devices/nokia-n97-mini/specifications

But N900 on the other hand has better colour and sharper, much better resolution and still only say 65K?

This is very misleading. Can anyone this this to Nokia and confirm the fact?

maxximuscool
2010-03-24, 11:47
This can't be right! Even my N95-1 has a 16M colour. Nokia flagship can't be this low! Can it be possible that Nokia has fallen this cheap???

jsa
2010-03-24, 12:07
This can't be right. The N97 mini has 16.5mil colours and listed on Nokia official site.

But N900 on the other hand has better colour and sharper, much better resolution and still only say 65K?

Nokia flagship can't be this low! Can it be possible that Nokia has fallen this cheap???

May I ask you, if you think N900 has "better colour and sharper, much better resolution" why should you care whether it's 65K or 16M? :)

zehjotkah
2010-03-24, 12:10
May I ask you, if you think N900 has "better colour and sharper, much better resolution" why should you care whether it's 65K or 16M? :)

this is the same reason why people buy snapdragon based mobiles, even if the experience is slower than on a different device.
it must be 1ghz or more, if not you're soooo from 1990..

Switch_
2010-03-24, 12:16
A machine is only as good as it's slowest / weakest part...

By the same token its all about the sum of its parts too, and their interaction with each other that results in the final throughput.

Everyone comments on the clarity and resolution of my 900's screen. I don't care if its only 16bit colour depth. I'm happy and people envy the screen on my phone.

Nuff sed <big grin>

pycage
2010-03-24, 12:20
Since people don't seem to be able to tell the difference anyway (it's really only possible with undithered gradients - but then you see clearly that it's 65k), why should marketing not simply write 16m in the specs as this sounds so much better? :)

soeiro
2010-03-24, 12:41
Since people don't seem to be able to tell the difference anyway (it's really only possible with undithered gradients - but then you see clearly that it's 65k), why should marketing not simply write 16m in the specs as this sounds so much better? :)

Because it would be unethical to market a feature you don't have? ;-)

schettj
2010-03-24, 12:53
Because it would be unethical to market a feature you don't have? ;-)

The hardware supports 16 million
The OS supports 16 million

for performance, the OS is running the hardware at 65k colors.

It would be an interesting experiment to see how it performs running at a 32 bit depth, but not that interesting.

Note that even if X is running at 16 bit, it should(/might/I can't really remember anymore) be possible for an app to directly access/set the hardware framebuffer and display video/images at 32 bit depth.

zwer
2010-03-24, 13:19
All LCDs used on mobile phones use TN-Film LCD matrices which gives them 6-bit per color (or in human-readable numbers - 64 levels of red, green and blue). However, since programming in 18bit is a bit awkward, again, while the displays can show 18bit (3 x 6bit per color), or 262144 different colors, framebuffers are limited to 16-bit (or 65536 different colors).

So N900, just like any other mobile device featuring a LCD screen, is capable only of 16-bit color palette (or less). And it doesn't stop only on cell-phones, most, if not all of the laptops also have 18-bit screens, but since they have greater resolution and stronger hardware they could do away with working on 24-bit palette and using various dithering methods to give an illusion of fuller color fidelity. M/PVA and H/S-IPS screens that could display real 24-bit color palette are way too expensive and way too power consuming for mobile devices.

shady
2010-03-24, 14:26
save for the iphad ... it uses ips, and is "mobile(ish)"

zwer
2010-03-24, 14:37
Yes, but hardly a handheld, and certainly not a mobile phone... What's even more perplexing is that Apple uses TN-Film on their MacBooks (incl. Pro), while they've added an IPS screen on an arguably useless device, especially where such a screen is not needed at all...

maxximuscool
2010-03-25, 01:17
The clarity of the screen doesn't help on the colours fluctuating when watching movies or display high quality images on it. If we have 16Mil colours then we can display higher definition images and displaying its colour vividly and exactly like how it supposed to be.

165xxxxxxcolurs > 65356colours

The more colours the better display, and no need dithering just to fool the eyes to believe that the colour is there.

maxximuscool
2010-03-25, 01:25
It seems like everyone thought the N900 has 16M colour TFT resistive screen, but it actually got only a fraction of the 16M colours. 65k is just out dated. After find out about this, my N900 seem to be an old lady with so much cosmetic makeup on to flush the flaw.. of the imperfection.


I've found mixed of blog said that the N900 has 16M colours and some say 65k colours.

http://www.conceptsnews.com/htc-hd2-vs-nokia-n900/
"The display is great at both phones.The resolution is the same 800X480 but the HD2 has a screen of 4.3” wider than the N900 that only has 3.5”.But that’s not a big loose for the N900 because it has 16M colors when the HD2 only has 65k.But not so bad after all."


http://www.phonegiz.com/2010/02/nokia-n900-review.html
"The fully functional keyboard QWERTY is not the only easy feature for you to gain comfortable usage of the phone but also the touchscreen. The N900 has a 3.5 inch capacitive touch screen TFT 16 million colors and offers resolution 800 x 480 pixels. The series features screen acceleration sensor for the automatic sensor and proximity to disable the auto-off included."


http://www.articleultimate.co.cc/?p=1028
"Whereas Nokia N900’s 3.5 inches TFT Touch Screen has 480 x 800 Pixels resolution and offers 16 Million colours. "


http://en.wikipedia.org/wiki/Nokia_N900
"The Nokia N900 has a 3.5 inch resistive touchscreen with a resolution of 800 × 480 pixel (WVGA, 267 ppi) capable of displaying up to 16.7 million colors.[30] The LCD is transreflective to permit usability over a wide range of luminosity (from daylight to dark)."

zwer
2010-03-25, 02:10
It seems like everyone thought the N900 has 16M colour TFT resistive screen, but it actually got only a fraction of the 16M colours. 65k is just out dated. After find out about this, my N900 seem to be an old lady with so much cosmetic makeup on to flush the flaw.. of the imperfection.

Outdated you say? What other cell phone has an LCD panel with 16.7M colors? Show me one that is publicly available and I'll personally refund your N900 purchase! For f. sake, MacBook Pro (and all the older iMacs) has a worse screen than the N900 (same kind of panel, but much lower dpi), and it is used on a daily basis by those who claim to be graphics professionals.

javispedro
2010-03-25, 02:13
I've found mixed of blog said that the N900 has 16M colours and some say 65k colours.
Easy. Every LCD smartphone done until today has been 65k.

shady
2010-03-25, 02:13
hey so instead of an argument how about we find out how to fix the issue, how can we change the bitdepth to show more than 65K cuz this is really bothering me, esp if the screen and OS are capable id at least like to see the downside for myself.

shady
2010-03-25, 18:32
Can anyone help this situation out? I mean do we know which cfg's control bit depth?

zwer
2010-03-25, 18:36
You cannot change the bit depth, unless you want to break all the software on your device - framebuffer is set to 16bit, and all the applications expect it to be, which is quite reasonable - using 18bit instead of 16bit is an entrance to a whole world of pain when it comes to programming and no sane programmer would use it.

javispedro
2010-03-25, 20:12
Changing the depth in Fremantle would break hildon-desktop mostly, but not every program.

In the doable realm is trying to show something in the LCD at a higher depth than 16bpp (NOT the system UI), AFAIU the controller supports 24bpp framebuffers. How to tell if the actual LCD panel is 16 or 18 is over me though.

maxximuscool
2010-03-25, 21:38
yeah would be great if we can somehow hack this to make the N900 running at 24bits depth without breaking anything. But how?

It's bother-some me so much with the 65k colours.

lennartb
2010-03-25, 22:58
Gradients can turn out horrible on the screen I've noticed :(

lma
2010-03-25, 23:04
How to tell if the actual LCD panel is 16 or 18 is over me though.

At least on my summit loaner dmesg reports:

omapfb: acx565akm rev 8b LCD detected

I didn't manage to find any specs on this, but the Fremantle driver code for that panel contains an #ifed-out acx565akm_set_mode() that allegedly handles 16/18/24bpp and this comment:

* supported modes: 12bpp(444), 16bpp(565), 18bpp(666), 24bpp(888)

On the other hand the version (https://patchwork.kernel.org/patch/87587/) that was submitted to linux-omap a couple of days ago doesn't contain either of the above.

maxximuscool
2010-03-25, 23:33
Gradients can turn out horrible on the screen I've noticed :(

Yes I've noticed that too. Especially on Maemo Forum tabs gradient. All become a series of colours stacking up

maxximuscool
2010-03-25, 23:37
Mind to share the command here? I want to see what mine say

Even windows XP running at 32bits colour.

javispedro
2010-03-25, 23:51
allegedly handles 16/18/24bpp and this comment

I couldn't find any info about the panel either, other than it being a Sony "low power" one (thus I really doubt it handles 24bpp). So we don't know what it really handles.

Elhana
2010-03-25, 23:52
Test for you: http://www.lagom.nl/lcd-test/gradient.php

Before saying N900 screen is bad, go check your desktop screen.

Even my old IPS gaming display (NEC 20WGX) is not perfect in that test. Looks clean on 2490WUXi... and hence the price.

I'm more than happy with a current color depth since I can't really tell the difference for normal use case.

maxximuscool
2010-03-26, 00:13
Test for you: http://www.lagom.nl/lcd-test/gradient.php

Before saying N900 screen is bad, go check your desktop screen.


??????????????????????
gradient is quite visible on mine. Badly blocks with even the black and white picture. My Dell Monitor with a crappy machine that cant even watch Youtube still produce better gradient than my N900.

This picture below is from a crappy no graphic card PC.

maxximuscool
2010-03-26, 00:19
this is from n900

maxximuscool
2010-03-26, 00:21
Now let see how you going to counter this? A picture worth a thousand words. So please do not say 16bits colours is better than 32Bits colours even without any graphic enhancement.

Take a look and compare..

This is from my crappy 10years old PC...

zwer
2010-03-26, 00:24
That's normal, one uses 24-bit palette, the other 16-bit so you'll of course have visible blocks with a lesser number of colors. But you'll have the same view on all hand-held devices featuring LCD screens out there.

However, try to snap a photo with a high-quality camera if you want to actually see the real quality of the screen. Or lower color depth to 16-bit on your desktop machine and then try to compare the screens. Or compare the N900's screen with some other cell-phone/MID device with an LCD screen and you'll see how good actually is the N900's screen.

Grabbing a snapshot DOES NOT show the screen quality, but a framebuffer that is yet to be sent to the screen via the graphics card.

maxximuscool
2010-03-26, 00:29
That's normal, one uses 24-bit palette, the other 16-bit so you'll of course have visible blocks with a lesser number of colors. But you'll have the same view on all hand-held devices featuring LCD screens out there.

However, try to snap a photo with a high-quality camera if you want to actually see the real quality of the screen. Or lower color depth to 16-bit on your desktop machine and then try to compare the screens. Or compare the N900's screen with some other cell-phone/MID device with an LCD screen and you'll see how good actually is the N900's screen.

Grabbing a snapshot DOES NOT show the screen quality, but a framebuffer that is yet to be sent to the screen via the graphics card.

Mind to do that then? I don't have camera lying around. This is why this post say 16bits!! and 65K colours! If the OS can boosting to 24bits or 32bits even better, then those blocks will be less. Linux can do that too, not just windows, changing graphic depth is all depending on the graphic driver. But why on earth didn't NOKIA by default set it to 24bits or 32bits? May be because Nokia doesn't have the right driver?


Beside, sharpness is not better quality screen, quality screen doesn't always depending on the sharpness of the picture, it also depending on rendering colours and depth of the screen as well.

You can have a sharp screen with crappy rendering and it won't be any quality to it. Take a look at a black and white!! Will you say black and white screen a good quality screen? The screen can be good but there is the colour is not real then it is not a quality screen.

javispedro
2010-03-26, 01:03
If the OS can boosting to 24bits or 32bits even better, then those blocks will be less. Linux can do that too, not just windows, changing graphic depth is all depending on the graphic driver. But why on earth didn't NOKIA by default set it to 24bits or 32bits?

We're telling you that _YOU_ DON'T have a 24bpp lcd _anywhere_. Your desktop's TFT is hardly 24bpp (most probably 18). Mine's 18bpp. And I've seen +$1000 flat tvs with a 14bpp panel! And 32bpp output is nonsense.

I personally CAN'T see the difference between 16 and 18bpp and thus the reason I'm asking for a conclusive test. A gray gradient just doesn't cut it.

Take a look at a black and white!! Will you say black and white screen a good quality screen? The screen can be good but there is the colour is not real then it is not a quality screen.Pretty funny you mention it, because Yes. Gyricon or eInk are so good.

zwer
2010-03-26, 01:47
Mind to do that then? I don't have camera lying around. This is why this post say 16bits!! and 65K colours! If the OS can boosting to 24bits or 32bits even better, then those blocks will be less. Linux can do that too, not just windows, changing graphic depth is all depending on the graphic driver. But why on earth didn't NOKIA by default set it to 24bits or 32bits? May be because Nokia doesn't have the right driver?

I don't have a high-quality camera capable of capturing such details, but I have a professional calibrated S-IPS screen (which goes way above the standard NTSC color gamut, 128% to be precise) which dwarfs any MVA/PVA and TN-Film LCD panel out there, and of course it will look way better than on the N900. But it is foolish to compare such a screen to the N900's... You seem to have some heavy misconceptions about the display technology.

1) There is no such a thing as 32-bit color depth when it comes to screens. For a real 32-bit color palette (that is 8 bits per color + 8 bits for the alpha channel) you'd need to have a screen that is capable of achieving alpha on its pixels, and so far not even commercially available transparent OLED screens cannot do that. 32-bit was chosen for the exact same reason as 16-bit is used on the N900 even tho it is able to handle 18-bit - ease of programming. 32-bit is a size of an unsigned integer in almost every programming language, and 16-bit is unsigned short (and 8-bit is a byte), so you can easily manipulate pixels as numbers, in a computer and memory friendly way without non-standard bitwising overhead. Of those 32-bit that Windows reports, only the lower 24 bits are used (R(8b) + G(8b) + B(8b)) - alpha channel is completely ignored.

2) N900 has a TN-Film LCD, just like all the other smartphones out there with an LCD screen (and 99.5% laptops as well), and TN-Film cannot show a 24-bit palette - it uses 6 bits per color, hence it cannot physically show more than 64 levels per color, and thus the maximum color depth it can show is 18-bit, or 262144 colors (R(6b) + G(6b) + B(6b)). You can set the frame buffer to 64 bit if you like, but the screen will show only 18-bit. You cannot physically have more colors than that on N900. And you cannot have more colors than that on cheapo desktop monitors as well!

3) 6-bit is a non-standard data size and it would be extremely difficult and impractical to use it. As I've said, no sane programmer would want to change every single graphic library to accommodate such non-standard behavior. There are three possible approaches to using such a display:

To use a 24-bit frame buffer, where the screen's controller would try to interpolate the unavailable colors by dithering methods
To use a 18-bit frame buffer where you'd have a huge processing and programming overhead working with non-standard data types
To use the first lower-depth frame buffer of standard size, which in this case is 16-bit (R(5b) + G(5b) + B(5b), the highest bit is ignored), where you have no overheads.


While the first solution could potentially result in a better color reproduction (you have physical access to four times more colors than when limited to 16 bit), and which is precisely why it is used on desktop computers, you need to put the things in the right context - a mobile device does not have necessarily enough power and/or memory to handle such overhead gracefully, and the more data needed to be processed eats more battery. Further, you don't have a luxury of a high-powered graphic card (graphic cards in computers of today, even the cheapest ones, usually feature a high-powered RAMDAC working on 400+MHz - by itself its almost as powerful as the CPU of N900) and huge amount of memory so you can waste a full byte per pixel (on N900's screen that would be 384kb overhead, and trust me, that is a lot for a mobile device), and displays themselves have powerful controllers for dithering that eat more juice - and all that while you don't have to worry about extreme miniaturization and without concerns for battery usage.

The second approach is so silly that, to repeat, no sane programmer would consider it.

So, the third option is the most practical for a device such as N900. Yes, you get a lesser number of colors, but you massively gain on the performance and battery life, which is in this use case much more important than being able to show a full-available color fidelity on such a tiny screen. Nobody will do serious graphic work on the N900, actually nobody would do it on a TN-Film screen even if dithered, so I don't see what's the problem there. Sure, N900 could theoretically do it, but Hildon would probably need to be rewritten, there would be a serious performance impact, and I'm not clear whether there is a ditherer within the screen controller in the N900 at all, so that would probably need to be written as well further adding on the performance impact; I won't even comment how would that affect the battery life.

Beside, sharpness is not better quality screen, quality screen doesn't always depending on the sharpness of the picture, it also depending on rendering colours and depth of the screen as well.

You can have a sharp screen with crappy rendering and it won't be any quality to it. Take a look at a black and white!! Will you say black and white screen a good quality screen? The screen can be good but there is the colour is not real then it is not a quality screen.

You couldn't be more wrong. Color fidelity is but a note in a long list of requirements for a quality screen. Quality screen does not need to be color at all, there are far more important properties to be considered first - a quality screen may not do all the things possible, but what little it does, it does on a professional level in an appliance that needs those properties. For a CAD designer screen geometry, sharpness and precision are of utter importance, for a print designer correct color reproduction is imperative, for trade shows the most important aspect is angle of viewing etc. TN-Film screens try to do a bit of everything, and they excel at nothing except the price and power consumption - which is actually a quality in the context of mobile devices where aforementioned qualities are not as much important.

So, with everything said, N900 has an exceptional screen for such a device. And there is quite a small number of mobile devices with a screen on par with N900's - and none of those has higher color palette (except those featuring OLED screens, but then you get other issues such as inability to see anything on them in a brightly lit room or under a direct sunlight, seriously crippling them as mobile devices).

plaban
2010-03-26, 06:37
this is from n900

Noticed one strange thing,if you view the picture in Photos app then gradient is noticeable but if you make is desktop background then the it looks perfect as pc.So does it mean the Photos app dispalys 65k and desktop background displays 16 million??can ant boday confirm it?

Elhana
2010-03-26, 06:58
maxximuscool, do you realise that screenshot is irrelevant and will depend on monitors people watching it on? ))
It only matters for yourself.

I'm only saying that most people won't tell the difference without testing display.
It is a quality/price question, there is always tradeoff and 24 bit capable screens just don't fit into mobile budget.

p.s. also most budget LCD screens doing hardware dithering to cover the lack of color depth.

Elhana
2010-03-26, 07:04
Noticed one strange thing,if you view the picture in Photos app then gradient is noticeable but if you make is desktop background then the it looks perfect as pc.So does it mean the Photos app dispalys 65k and desktop background displays 16 million??can ant boday confirm it?

Photoshop tries to draw "real" colors, windows likely applies dithering to make it look smooth with colors you are capable of displaying.

plaban
2010-03-26, 07:20
See the difference

maxximuscool
2010-03-26, 07:55
See the difference

yeah i can see that. I want to know why this happening too! May be the application doesn't use hardware rendering?

But there are other devices out there listed as 16.7mil colours. Even the iPHONE 3GS spec say 16.7mils colour offially on their page.

can someone explain why isn't N900 spec say the same as the iPhone? though i can see that N900 has better clearer screen when comparing it side by side.

Elhana
2010-03-26, 18:10
It's called "marketing" or in other words how to lie to you so that you buy their ****.

http://www.displaymate.com/iPhone_3GS_ShootOut.htm quote:
"The iPhone uses 18-bit color, which provides 64 possible intensity levels for each of the Red, Green and Blue sub-pixels that are used to mix and produce all of the on-screen image colors."

16M colors listed on iPhone page is a number of colors used on software level, but when it actually being drawn to a screen it is converted to 18 bit image with dithering (google for that word finally!).

A good example is a black and white newspaper photo which only uses black ink, but due to the way it is used your eyes actually see a gradation of gray color - now take a magnifying glass and look at the way it is done.
Some spots are completely black, some are completely white, but some have small dots of both, so depending on how many of those near your eyes see it as some sort of gray. Dithering on your screen is similar, yet not the same as in newspapers.

N900 screen has higher resolution and therefore higher dpi - reason it looks better.

Read some wiki on how digital images are displayed on screen, then you'll understand better the difference and can actually decide if screen depth is as important as you claim it. Don't get me wrong, it would be cool to have a 24 bit, but as long as screen is only 18, making software calculate more than that won't make much difference.

soeiro
2010-03-26, 18:57
We're telling you that _YOU_ DON'T have a 24bpp lcd _anywhere_. Your desktop's TFT is hardly 24bpp (most probably 18). Mine's 16bpp. And I've seen +$1000 flat tvs with a 14bpp panel! And 32bpp output is nonsense.


Some higher quality LCD screens do have more depth than TN does. I am a luck person with a IPS-based display and it shows true 24 bits of color.

IRC, Apple has chosen an IPS based display for its iPad, too.

javispedro
2010-03-26, 19:16
Some higher quality LCD screens do have more depth than TN does. I am a luck person with a IPS-based display and it shows true 24 bits of color..
You said it: you were lucky. It's not common.

javispedro
2010-03-26, 23:25
To use the first lower-depth frame buffer of standard size, which in this case is 16-bit (R(5b) + G(5b) + B(5b), the highest bit is ignored), where you have no overheads.
[/LIST]
The actual color format is 5+6+5 in the N900 (otherwise you don't actually get 65k colors), but excellent post either way.

zwer
2010-03-26, 23:58
yeah i can see that. I want to know why this happening too! May be the application doesn't use hardware rendering?

Probably the desktop app pre-process the image with its own renderer using dithering algorithms to give it a smoother finish. Which actually is reasonable - those images don't change frequently enough so a bit overhead when adding them to desktop is quite acceptable - and since those are the images that users will most frequently see there is a reason to do that from a marketing/general user experience point of view.

But there are other devices out there listed as 16.7mil colours. Even the iPHONE 3GS spec say 16.7mils colour offially on their page.

You can see a City Bank written on a bus, that doesn't mean that you'll get any money if you enter it. iPhone has way worse screen than the N900 - color depth is the same, N900 has 2.5 more pixels thus resulting in far crisper image and especially text, and the N900 has better viewing angles (actually I'm quite surprised how good it is at that given that it uses TN-Film which by itself has abysmal viewing angles which only get worse as the dpi rises, and N900 probably has the highest DPI I've ever seen on an LCD).

The actual color format is 5+6+5 in the N900 (otherwise you don't actually get 65k colors), but excellent post either way.

Oops :o, I stand corrected. I forgot to consider that for the sake of color uniformity as the debate started on white-to-black gradient where additional bit to any of the colors plays no role except giving it a hardly noticeable tint. Yep, when limiting a screen to the 16-bit (or any other depth indivisible by three) you need to give an advantage to one of the colors to have 65k colors available, but when considering a grayscale we can safely say that the screen actually performs as 15-bit, which is precisely the reason why there are 32 distinguishable bars on a full white-to-black gradient.

lma
2010-03-27, 07:52
N900 probably has the highest DPI I've ever seen on an LCD

The Neo 1973 (http://en.wikipedia.org/wiki/Neo_1973) & FreeRunner (http://en.wikipedia.org/wiki/Neo_FreeRunner) still beat it :-)

soeiro
2010-03-27, 13:13
You said it: you were lucky. It's not common.

Yeah, unfortunately it is not common. You have to search for an IPS or PVA based monitor if you want 24 bits. It is even harder than that because most companies that sell those are available only in Europe, with just a few in the US. If you live somewhere else, you have to import it (a lot of trouble).

Anyway, current large TN panels seems to do 24 bit colors by doing hardware dithering (either spacial - rare or time-based dithering - more usual). That way, they "present" a 24bit interface to the OS and the user sees a good approximation of it.

It would be interesting in checking if small panels for cellphones would also be sold with controllers capable of hardware dithering. Although for it to work, the Operating System would have to send 24-bit color instructions instead of only 15 or 16-bit. Since the OpenGLES engine only seems to work at 16-bit colors mode, for the N900 there is no point, aside from curiosity.

maykon-de-angra
2010-04-01, 09:59
Some tests I did here with the N900,
The result was a Next.
View a photo to the gallery of photos, it displays in 16bit
And the image display on the desktop, or videos he shows up at 32 or 24 bits.

Fassa the test, I created a video with a photo posted here.
Fassa Download and test.
The video is in 800x480 30FPS 5.5Mbps/s . MPG4

http://rs465.rapidshare.com/files/370674029/test_Video.zip

Turn the Video with MPlayer, It better!

Thank you all! ATT: MAYKON

maykon-de-angra
2010-04-01, 14:52
Therefore, it is clear the N900's screen is capable of playing much besides just 65K colors!
The problem is the gallery of photos, which renders Images Only 16bits. The same technique used to navigate the web.

And for playing videos he renders with Over 16 Bits No doubt! Reaches 24 bit Color Video In fact it is!.

The question is? such a limitation of 16 bits Imposed by the photo gallery and the configuration of Maemo5 or photo gallery that renders only 16bit?

By remembering that put the image on the Desktop of the N900 image is displayed with 24 bits.

Ate more! Thanks!

Kegetys
2010-04-01, 14:58
View a photo to the gallery of photos, it displays in 16bit
And the image display on the desktop, or videos he shows up at 32 or 24 bits.

How did you reach this conclusion? Most likely explanation for any differences is that the desktop and video player do dithering, while the photo gallery (for some reason) does not. Try taking (lossless) screenshots of a color gradient on both and compare those.

Rob1n
2010-04-01, 14:58
Therefore, it is clear the N900's screen is capable of playing much besides just 65K colors!

No, all that shows is that the dithering on the desktop is far better than that in the image viewer (to the point where you can't see the any effects). You'd need to get a screenshot of that image, load it into a decent photo editor, and get a count of the number of different colour values (and that assumes that the screenshot is taken from the display post-processing).

maykon-de-angra
2010-04-01, 15:30
Did downlaod the video that I mounted to test? http://rs465.rapidshare.com/files/370674029/test_Video.zip
This video is in 32 Bit Color

Image to 32 bits in color http://talk.maemo.org/attachment.php?attachmentid=8399&stc=1&d=1269562974.

See the difference! Take the quiz! Rotate Video in Windows Setup in 16bits

Then rotate Player Of The Nokia N900.

Soon after, Turn Video On PC With Windows running on 32bit!

The Comparable is that the video running on 16 bit Windows, you become like the image appears in the photo gallery of the N900.

And when we shot the video in Windows with 32bit, It is identical to the Video Video Player running on the Nokia N900. And the identical image appears on the Desktop Do N900.

Thus we conclude that the N900 generates images with more than 65K colors! No doubt!

Rob1n
2010-04-01, 15:49
Thus we conclude that the N900 generates images with more than 65K colors! No doubt!

No, we can conclude that dithering in 16-bit windows is poor, which is unsurprising as there's probably near-enough zero people who've ever used it. Anything else is still supposition.

maykon-de-angra
2010-04-01, 16:12
Curiosity! I did a test using the Nokia 5800, it displays the image in your gallery with a definition of colors higher than in the N900!

nokia 5800 in the image Appears in 32bits!
The same image as the Nokia N900 appears in 16bits!

How do not understand how powerful a device Nokia N900, shows photos in only 65K (16bit) colors!

While the Nokia 5800 Display Images in 32 bits, or near!

zwer
2010-04-01, 16:53
Here we go again... There is no such a thing as 32bit color depth on a monitor. None! Zip! Nada! Please, educate yourself: HERE (http://talk.maemo.org/showthread.php?p=582728#post582728).

javispedro
2010-04-01, 18:38
The Comparable is that the video running
on 16 bit Windows, you become like the image
appears in the photo gallery of the N900.
Nice haiku!

Didn't understand a thing unfortunately :(

Note that there's indeed a chance the media player uses a greater depth (the _media_ player, not the photo gallery nor the desktop background since both use the sgx).
I'd still like some kind of image I could use to test if the output is 16 or 18bpp.
I have quite a few things (let's say knobs) to test but as I said I have no way to tell if the actual output is 18bpp or the system is just lying to me.

dummy_office
2010-04-14, 20:44
http://www.nokia.ro/produse/cautare-si-comparare/nokia-n900/specificatii#hardware-dui
nokia.ro romania
and
http://www.nokia.fi/tuotteet/kaikki-puhelimet/nokia-n900/tarkka-tuoteseloste#hardware-dui
nokia.fi FINLAND

Patola
2010-04-14, 20:57
The Nokia Finland link translated to English:

http://translate.google.com/translate?js=y&prev=_t&hl=en&ie=UTF-8&layout=1&eotf=1&u=http%3A%2F%2Fwww.nokia.fi%2Ftuotteet%2Fkaikki-puhelimet%2Fnokia-n900%2Ftarkka-tuoteseloste%23hardware-dui&sl=fi&tl=en

dchky
2010-06-23, 16:54
If I write /etc/X11/Xorg.conf with Depth 24, will it work? Is there any program like xrandr which can change the color depth on-the-fly?

Short answer, nope, it doesn't work - or at least it didn't for me. You'll end up in the good old endless reboot cycle : (

You probably don't want to be doing that.

TiagoTiago
2010-08-27, 22:10
I imagine the proper way of doing it for backwards compatibility would be to mess with the video driver to make it so when a program tries to make the screen be 16bits, padding is added as the least significant bits of each color component to produce a 32 (or 24 or whatever) bits image; the programs would think they are making the display be 16bits when actually everything is more bits all the time. Unless, of course, it is actually easy and trouble free to change bit depth each time a program wants a different one.

Bernard
2011-03-05, 01:44
when using opengl you can clearly see that the display depth is 16bit. if you display a number of 32bit textures with an alpha channel there is a lot van color banding.

i would love to know how to set the bitdepth to 32bit when using an QGLwidget. But i think you would loose the ability to view a thumbnail of your application when multitasking and the ability to see the alerts (like the yellowbar for the volume), since these are composited in 16bit and i don't think you can mix those.

javispedro
2011-03-05, 01:58
But i think you would loose the ability to view a thumbnail of your application when multitasking and the ability to see the alerts (like the yellowbar for the volume), since these are composited in 16bit and i don't think you can mix those.
Oh, of course you can -- in fact, you can actually do 8+8+8+8 rgba surfaces and hildon desktop will take proper care of the alpha values up to the point it will actually composite the background with both your actual window and the thumbnail.

I do not know how to do it with QGLWidget, though.

Bernard
2011-04-29, 10:51
Oh, of course you can -- in fact, you can actually do 8+8+8+8 rgba surfaces and hildon desktop will take proper care of the alpha values up to the point it will actually composite the background with both your actual window and the thumbnail.

I do not know how to do it with QGLWidget, though.

I just found out how!!

And it is REALLY simple!
you can start yourQt application in 32bit mode by adding the argument "-visual TrueColor"
Works perfectly, all the banding problems are GONE!!
This really should be known by anybodu who is writing OpenGL games in Qt for Maemo.

http://doc.trolltech.com/latest/qapplication.html

javispedro
2011-04-29, 11:03
The composited output is still 16bpp, and the banding is not gone (look closely).

Also, I suggest you don't do this because it will be even more slow.

Bernard
2011-04-29, 11:30
The composited output maybe 16bit, but my banding problem is definitely gone. It isn't directly related to 16 bit output, but to loading textures as 16bit, and that kills the alpha channel

just have a look at the blue nebula in the background:
http://dl.dropbox.com/u/6050252/16bitQGLN900.png
http://dl.dropbox.com/u/6050252/32bitQGLN900.png

So yes it did solve my problem :)

rsvr
2011-05-04, 12:12
Check the following link to get detailed specs about the N900:

http://pdadb.net/index.php?m=specs&id=2019&view=1&c=nokia_n900_nokia_rover

Hope this will be helpful to all...


RSVR

shady
2011-05-04, 20:45
hmm, wonder if it can be applied to the kernel ... ? it has to be a battery issue ..

demolition
2011-05-04, 23:26
I have a few questions about this...

It seems the screen is fixed to 18bpp and software is generally written in RGB565. Obviously, a h/w limitation many devices are subjected to. On the device, that's fine because the pixel density is quite high and everything generally looks quite good.

- I'm not clear as to whether the frame buffer is similarly limited or can it handle True-Color (or whatever it's called)? Indeed, is that what the much-touted specs really refer to - the SGX530 can render 16M colours, even if the screen can't?

- The reaason I ask is when an external screen, capable of displaying 24bpp, is used in lieu of the standard one, can the graphics hardware cope even if the display cannot?

- Can data go straight from the frame buffer to the out channel, without going to/via the screen, thus no need to be interpolated down? (out channel could be any, not just the normal tv-out e.g. BT, wifi, etc).

- Can the frame buffer render different sizes/proportions to that of the screen? Again, if connected to a different screen, this would be ideal for running desktop applications. Not much more, say 1024 x 768. Though, the N900 might have to live in a bucket of dry ice to do this!

Incidentally, those green artifacts that appear on embedded video streams - do they occur because of the 888 - to - 565 conversion?

javispedro
2011-05-04, 23:47
I have a few questions about this...

It seems the screen is fixed to 18bpp and software is generally written in RGB565. Obviously, a h/w limitation many devices are subjected to. On the device, that's fine because the pixel density is quite high and everything generally looks quite good.
Tbh, I'm not still sure what the screen depth is. The device software is configured to 16bpp, and possibly makes that assumption in some closed places noone knows. But Hildon works on 24bpp. That's tested easily on a PC.

- I'm not clear as to whether the frame buffer is similarly limited or can it handle True-Color (or whatever it's called)? Indeed, is that what the much-touted specs really refer to - the SGX530 can render 16M colours, even if the screen can't?
Yes. Also, the Pre1 does 24bpp.


- The reaason I ask is when an external screen, capable of displaying 24bpp, is used in lieu of the standard one, can the graphics hardware cope even if the display cannot?

Well, no real idea here... probably can be answered with a lookup to schematics.


- Can data go straight from the frame buffer to the out channel, without going to/via the screen, thus interpolated down? (out channel could be any, not just the normal tv-out e.g. BT, wifi, etc).

Yes -- you're not transferring uncompressed 800x480 at 24bpp via wifi, though. So you will have to use some compression, like VNC, or NX. In which case, 24bpp is more like a nuisance...

Can the frame buffer render different sizes/proportions to that of the screen? Again, if connected to a different screen, this would be ideal for running desktop applications. Not much more, say 1024 x 768. Though, the N900 might have to live in a bucket of dry ice to do this!
Of course (http://talk.maemo.org/showthread.php?p=303207#post303207). And no bucket of ice. Remember this is pretty much like a desktop GNU/Linux after all.


Incidentally, those green artifacts that appear on embedded video streams - do they occur because of the 888 - to - 565 conversion?
Na, video is not rgb888, but usually YUV (http://en.wikipedia.org/wiki/YUV).