Bug#702480: xserver-xorg-video-radeon: GTK fonts are invisible on PowerPC
On Mit, 2013-03-06 at 19:04 -0800, Dan DeVoto wrote:
> Package: xserver-xorg-video-radeon
> Version: 1:6.14.4-7
> Severity: important
FWIW I think this deserves even higher severity, it should definitely be
fixed for wheezy.
> Dear Maintainer,
>
> On new Wheezy installs or after an upgrade, PowerPC Macs using the radeon
> driver have GTK fonts render as very light purple making them invisible against
> gray backgrounds. Other users have discussed this problem in the following
> threads:
>
> http://lists.debian.org/debian-powerpc/2013/01/msg00028.html
>
> http://www.mintppc.org/forums/viewtopic.php?f=15&t=1205&sid=19248fa6623f340007d9c86ea8f37611
>
> A workaround is to edit xorg.conf, changing AccelMethod to XAA or keeping the
> EXA default but adding the options "RenderAcceleration" "False" and
> "MigrationHeuristic" "greedy".
>
> This bug does not affect fonts in a console, xterm, qt apps, or Openbox desktop
> menus, only in GTK apps.
I think the attached patch should fix this. Can you or anyone else on
the debian-powerpc list test it?
> Option "RenderAcceleration" "False"
> Option "MigrationHeuristic" "greedy"
[...]
> [ 45.807] (WW) RADEON(0): Option "RenderAcceleration" is not used
BTW, if you spelled "RenderAccel" correctly, Option "MigrationHeuristic"
shouldn't be necessary to work around the problem. In theory the latter
won't avoid the problem in some cases anyway.
--
Earthling Michel Dänzer | http://www.amd.com
Libre software enthusiast | Debian, X and DRI developer
From f9c21f46e87fb2bf5c6489b2365fc2bba88fd336 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <michel.daenzer@amd.com>
Date: Thu, 7 Mar 2013 09:59:29 +0100
Subject: [PATCH] UMS: Swap bytes when uploading to pixmap for solid picture on
big endian host
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
---
src/radeon_exa_shared.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/radeon_exa_shared.c b/src/radeon_exa_shared.c
index 7af8a52..48c8fcf 100644
--- a/src/radeon_exa_shared.c
+++ b/src/radeon_exa_shared.c
@@ -40,6 +40,7 @@
#endif
#include "radeon_macros.h"
#include "radeon_probe.h"
+#include "radeon_reg.h"
#include "radeon_version.h"
#include "radeon_vbo.h"
@@ -159,7 +160,12 @@ PixmapPtr RADEONSolidPixmap(ScreenPtr pScreen, uint32_t solid)
/* XXX: Big hammer... */
info->accel_state->exa->WaitMarker(pScreen, info->accel_state->exaSyncMarker);
+#if X_BYTE_ORDER == X_BIG_ENDIAN
+ RADEONCopySwap(info->FB + exaGetPixmapOffset(pPix), (uint8_t*)&solid, 4,
+ RADEON_HOST_DATA_SWAP_32BIT);
+#else
memcpy(info->FB + exaGetPixmapOffset(pPix), &solid, 4);
+#endif
return pPix;
}
--
1.8.2.rc1
Reply to: