On Wed, Oct 24, 2012 at 12:33 PM, Egbert Eich eich@suse.de wrote:
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.
I don't have a strong opinion either way on this one.
Alex
Signed-off-by: Egbert Eich eich@suse.de
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