The hardware gamma luts get bypassed at color depth 30 anyway, so skip their setup. Also skip drmmode_crtc_gamma_set() for a screen with depth 30. Signed-off-by: Mario Kleiner <mario.kleiner.de at gmail.com> --- src/drmmode_display.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/drmmode_display.c b/src/drmmode_display.c index 7ad3235..e5f9dbe 100644 --- a/src/drmmode_display.c +++ b/src/drmmode_display.c @@ -1275,6 +1275,10 @@ drmmode_crtc_gamma_set(xf86CrtcPtr crtc, uint16_t *red, uint16_t *green, RADEONInfoPtr info = RADEONPTR(scrn); int i; + /* Hw gamma lut's are bypassed at color depth 30 */ + if (scrn->depth == 30) + return; + drmmode_crtc_gamma_do_set(crtc, red, green, blue, size); /* Compute index of this CRTC into xf86_config->crtc */ @@ -2730,8 +2734,10 @@ Bool drmmode_setup_colormap(ScreenPtr pScreen, ScrnInfoPtr pScrn) "Initializing kms color map\n"); if (!miCreateDefColormap(pScreen)) return FALSE; - /* all radeons support 10 bit CLUTs */ - if (!xf86HandleColormaps(pScreen, 256, 10, + + /* All radeons support 10 bit CLUTs. They get bypassed at depth 30. */ + if (pScrn->depth != 30 && + !xf86HandleColormaps(pScreen, 256, 10, NULL, NULL, CMAP_PALETTED_TRUECOLOR #if 0 /* This option messes up text mode! (eich at suse.de) */ -- 2.7.4