Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
FS#18323 - [xf86-video-ati] 16 bit depth broken due to changed gamma control
Attached to Project:
Arch Linux
Opened by rene (demonicmaniac) - Saturday, 13 February 2010, 17:05 GMT
Last edited by Andreas Radke (AndyRTR) - Saturday, 07 August 2010, 18:51 GMT
Opened by rene (demonicmaniac) - Saturday, 13 February 2010, 17:05 GMT
Last edited by Andreas Radke (AndyRTR) - Saturday, 07 August 2010, 18:51 GMT
|
Details16 bit depth causes green/blue tinted screen and extreme darkness.
fix is here:(change line number from 450 to 377 for the current ati in archlinux) Boyan Anastasov 2010-01-15 19:28:39 EST There is a difference in the driver for 16bit depth when setting gamma. I've disabled it and now the picture is ok. xf86-video-ati-20091221/src/radeon_crtc.c, at line 450: static void radeon_crtc_gamma_set(xf86CrtcPtr crtc, uint16_t *red, uint16_t *green, uint16_t *blue, int size) { RADEONCrtcPrivatePtr radeon_crtc = crtc->driver_private; ScrnInfoPtr pScrn = crtc->scrn; int i, j; if (0/*pScrn->depth == 16*/) { for (i = 0; i < 64; i++) { if (i <= 31) { for (j = 0; j < 8; j++) { radeon_crtc->lut_r[i * 8 + j] = red[i] >> 6; radeon_crtc->lut_b[i * 8 + j] = blue[i] >> 6; } } for (j = 0; j < 4; j++) { radeon_crtc->lut_g[i * 4 + j] = green[i] >> 6; } } } else { for (i = 0; i < 256; i++) { radeon_crtc->lut_r[i] = red[i] >> 6; radeon_crtc->lut_g[i] = green[i] >> 6; radeon_crtc->lut_b[i] = blue[i] >> 6; } } radeon_crtc_load_lut(crtc); } |
This task depends upon
the listed fix is from fedora bugtracker.
applying it solved the issue for me, running 16 bit now without any problems.
and a lot of very old integradted stuff doesn't have 32 bit accel, only 16 bit accel.