Bug#319003: xserver-xorg: Trident and -3: libvgahw is still broken
Package: xserver-xorg Version: 6.8.2.dfsg.1-3 Severity: grave Justification: renders package unusable This bug-report is related to #318218, #318231, #318271, #318405. Feel free to merge it with them. I didn't, because part of the problem reported in these bug-reports was indeed fixed by the last version. With the previous versions of xserver-xorg, because of the miscompilation in libvgahw, the screen was pure white in graphical mode, and completely garbled when switching to text VTs. Now, with the fix included in -3, the text consoles are usable again. But the screen is still pure white in graphical mode. Installing the libvgahw.a file compiled by Ender fixes the problem. So it seems there is another miscompilation somewhere in the file. -- Package-specific info: VGA-compatible devices on PCI bus: :01:00.0 VGA compatible controller: Trident Microsystems CyberBlade XPAi1 (rev 82) -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#319003: xserver-xorg: Trident and -3: libvgahw is still broken
Le mercredi 20 juillet 2005 à 14:50 +0800, Eugene Konev a écrit : > Can you please test if the problem still exists with the following > libvgahw.a: http://www.imfi.kspu.ru/~ejka/libvgahw.a This version of the library fixes the problem as well. Thanks.
Bug#319003: xserver-xorg: Trident and -3: libvgahw is still broken, Bug#318405: acknowledged by developer (Bug#318218: fixed in xorg-x11 6.8.2.dfsg.1-3)
Can you please test if the problem still exists with the following libvgahw.a: http://www.imfi.kspu.ru/~ejka/libvgahw.a -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#318405: Bug#319003: xserver-xorg: Trident and -3: libvgahw is still broken, Bug#318405: acknowledged by developer (Bug#318218: fixed in xorg-x11 6.8.2.dfsg.1-3)
On Wed, Jul 20, 2005 at 02:50:21PM +0800, Eugene Konev wrote > > Can you please test if the problem still exists with the following > libvgahw.a: http://www.imfi.kspu.ru/~ejka/libvgahw.a > Problem doesn't exit anymore. Thank you! Reinhard -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#318405: Bug#319003: xserver-xorg: Trident and -3: libvgahw is still broken, Bug#318405: acknowledged by developer (Bug#318218: fixed in xorg-x11 6.8.2.dfsg.1-3)
Hello David. On Wed, 20 Jul 2005 10:50:28 +0200 you wrote: > What workaround have you tried to build that libvgahw.a? No > optimization, or > an enhanced version of the X.Org patch? Enhanced version. Attached. gcc4 has issues with libvgahw.a. This patch is a workaround stolen from https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=161242 (by Olivier Baudron). See also Debian #318218 and bugs merged to it Index: xorg-x11-6.8.2.dfsg.1/programs/Xserver/hw/xfree86/vgahw/vgaHW.c === --- xc-old/programs/Xserver/hw/xfree86/vgahw/vgaHW.c2005-07-20 10:32:26.0 +0800 +++ xc/programs/Xserver/hw/xfree86/vgahw/vgaHW.c2005-07-20 10:33:42.0 +0800 @@ -428,12 +428,16 @@ static void mmioWriteAttr(vgaHWPtr hwp, CARD8 index, CARD8 value) { +volatile CARD8 tmp; + if (hwp->paletteEnabled) index &= ~0x20; else index |= 0x20; -(void) minb(hwp->IOBase + VGA_IN_STAT_1_OFFSET); +/* gcc-4.0 -O2 is broken : needs a volatile assignment */ +tmp = minb(hwp->IOBase + VGA_IN_STAT_1_OFFSET); + moutb(VGA_ATTR_INDEX, index); moutb(VGA_ATTR_DATA_W, value); } @@ -441,12 +445,16 @@ static CARD8 mmioReadAttr(vgaHWPtr hwp, CARD8 index) { +volatile CARD8 tmp; + if (hwp->paletteEnabled) index &= ~0x20; else index |= 0x20; -(void) minb(hwp->IOBase + VGA_IN_STAT_1_OFFSET); +/* gcc-4.0 -O2 is broken : needs a volatile assignment */ +tmp = minb(hwp->IOBase + VGA_IN_STAT_1_OFFSET); + moutb(VGA_ATTR_INDEX, index); return minb(VGA_ATTR_DATA_R); } @@ -466,7 +474,11 @@ static void mmioEnablePalette(vgaHWPtr hwp) { -(void) minb(hwp->IOBase + VGA_IN_STAT_1_OFFSET); +volatile CARD8 tmp; + +/* gcc-4.0 -O2 is broken : needs a volatile assignment */ +tmp = minb(hwp->IOBase + VGA_IN_STAT_1_OFFSET); + moutb(VGA_ATTR_INDEX, 0x00); hwp->paletteEnabled = TRUE; } @@ -474,7 +486,11 @@ static void mmioDisablePalette(vgaHWPtr hwp) { -(void) minb(hwp->IOBase + VGA_IN_STAT_1_OFFSET); +volatile CARD8 tmp; + +/* gcc-4.0 -O2 is broken : needs a volatile assignment */ +tmp = minb(hwp->IOBase + VGA_IN_STAT_1_OFFSET); + moutb(VGA_ATTR_INDEX, 0x20); hwp->paletteEnabled = FALSE; }