The Radeon driver reduces the framebuffer resolution to 8bpp if a device with less than 32 Mb VRAM is found. This causes the framebuffer to run in 8 bit paletted mode. For a text console this is not an issue as 256 different colors is more than one gets on a VGA text console. It is done to give X more memory to work with since the console memory is not freed but remains allocated while X is active. Still, running the fbdev Xserver driver - which we do during installation - will give applications an 8bit pseudo-color visual which doesn't look too pretty. We therefore limit the framebuffer bpp to 16 when memory is 24MB or lower and to 8 only if 8MB or less VRAM is found. This should be a reasonable compromise for us. This patch will most likely not ever make it upstream. This works around ugly modes on crappy IPMI cards using ES1000. Signed-off-by: Egbert Eich <eich@xxxxxxx> --- drivers/gpu/drm/radeon/radeon_fb.c | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/radeon/radeon_fb.c b/drivers/gpu/drm/radeon/radeon_fb.c index cc8489d..9e8e221 100644 --- a/drivers/gpu/drm/radeon/radeon_fb.c +++ b/drivers/gpu/drm/radeon/radeon_fb.c @@ -356,9 +356,12 @@ int radeon_fbdev_init(struct radeon_device *rdev) int bpp_sel = 32; int ret; - /* select 8 bpp console on RN50 or 16MB cards */ - if (ASIC_IS_RN50(rdev) || rdev->mc.real_vram_size <= (32*1024*1024)) + /* select 16 bpp console on RN50 or 32MB cards */ + if (rdev->mc.real_vram_size <= (8*1024*1024)) bpp_sel = 8; + else if (ASIC_IS_RN50(rdev) + || rdev->mc.real_vram_size <= (32*1024*1024)) + bpp_sel = 16; rfbdev = kzalloc(sizeof(struct radeon_fbdev), GFP_KERNEL); if (!rfbdev) -- 1.7.6.3 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel