[PATCH] DRM/Radeon: Set depth on low mem Radeon cards to 16 instead of 8.

Alex Deucher alexdeucher at gmail.com
Wed Oct 24 10:07:46 PDT 2012


On Wed, Oct 24, 2012 at 12:33 PM, Egbert Eich <eich at 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 at 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
>


More information about the dri-devel mailing list