Re: [Linux-fbdev-devel] Re: Problem with current fb_get_color_depth function

From: Antonino A. Daplas
Date: Tue Nov 02 2004 - 19:48:14 EST


On Tuesday 02 November 2004 13:55, Joshua Kwan wrote:
> [ long overdue follow-up ]
>
> On Mon, Oct 11, 2004 at 08:33:10AM +0800, Antonino A. Daplas wrote:
> > So, linux_logo_224 cannot be drawn when visual is directcolor at RGB555
> > or RGB565 because the logo clut requirements exceeds the hardware clut
> > capability. You need to use a logo image with a lower depth such as the
> > 16-color logo, linux_logo_16.
>
> This is weird, because removing that conditional from fb_get_color_depth
> allows a 224-color logo to show correctly on my Radeon framebuffer, in
> full color.
>
> Otherwise, it is dithered to kingdom come and mostly appears all orange
> and black.
>
> You may be right conceptually, but the fact of the matter is that this
> is a regression because 224-color logos work perfectly with the old
> fb_get_color_depth. So what is the real problem?
>

After giving it a lot of thought, perhaps you are not booting at 16 bpp, but
at 8bpp pseudocolor. However, radeonfb's default var use only a red, green,
and blue length of 6. Try this patch and let me know if it helps.

Tony

diff -Nru a/drivers/video/aty/radeon_monitor.c b/drivers/video/aty/radeon_monitor.c
--- a/drivers/video/aty/radeon_monitor.c 2004-10-27 14:58:07 +08:00
+++ b/drivers/video/aty/radeon_monitor.c 2004-10-28 06:04:32 +08:00
@@ -12,9 +12,9 @@
.xres_virtual = 640,
.yres_virtual = 480,
.bits_per_pixel = 8,
- .red = { 0, 6, 0 },
- .green = { 0, 6, 0 },
- .blue = { 0, 6, 0 },
+ .red = { 0, 8, 0 },
+ .green = { 0, 8, 0 },
+ .blue = { 0, 8, 0 },
.activate = FB_ACTIVATE_NOW,
.height = -1,
.width = -1,


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/