[Openchrome-users] VIA Announces Open Source Driver Initiative
Paulo Cesar Pereira de Andrade
pcpa
Thu Apr 17 11:40:02 PDT 2008
Xavier Bachelot wrote:
Hi again,
>> Hope I did not go over any mailing list limit, and this information
>> is useful. Also the Xorg version is the one from Mandriva 2008, but
>> we tried "cooker" version. And without the option TTLLCD (available
>> on the latest binary only driver), the display would look like
>> http://www.youtube.com/watch?v=wG9dV3l0oeA
>>
> Try the attached guess work patch. Not sure it'll do any good, but at
> least should show you what to tweak to get openchrome working on the
> VX800. Most notably the fifo settings are probably completely borked.
> Gabriel or Jon would have more insight.
>
> Regards,
> Xavier
Logfile Xorg.openchrome.quanta-with-via-driver-in-another-vt.log.gz
from A Xserver started from a console, while another X Server
(with via driver) was active in another VT.
Attaching gdb:
-%<-
# gdb /usr/bin/Xorg 3691
GNU gdb 6.6-3mdv2008.0 (Mandriva Linux release 2008.0)
[blahblah]
0xb7c0513d in viaFlushPCI (buf=0x8239688)
at via_accel.c:110
110 while (!(VIAGETREG(VIA_REG_STATUS) &
VIA_VR_QUEUE_BUSY)
(gdb) bt
#0 0xb7bca13d in viaFlushPCI (buf=0x8239690) at via_accel.c:110
#1 0xb7bc7fb8 in viaAccelFillRect (pScrn=0x82382c8, x=0, y=0, w=640,
h=480,
color=0) at via_accel.c:2584
#2 0xb7bd1542 in VIAScreenInit (scrnIndex=0, pScreen=0x823b760, argc=12,
argv=0xbff9d4f4) at via_driver.c:2684
#3 0x080706ba in AddScreen ()
#4 0x080a3834 in InitOutput ()
#5 0x08070e52 in main ()
(gdb) n
-%<-
and it would loop forever. If not attaching gdb, the computer would just
completely lock when trying to kill the X Server with the openchrome driver.
When testing with a "init 3" boot, I got the same result, so I patched
via_accel.c as:
-%<-
--- via_accel.c 2008-04-16 14:17:34.000000000 -0300
+++ via_accel.c 2007-09-22 01:38:41.000000000 -0300
@@ -106,7 +106,8 @@
*/
if (pVia->Chipset != VIA_P4M890 &&
pVia->Chipset != VIA_K8M890 &&
- pVia->Chipset != VIA_P4M900) {
+ pVia->Chipset != VIA_P4M900 &&
+ pVia->Chipset != VIA_VX800) {
while (!(VIAGETREG(VIA_REG_STATUS) &
VIA_VR_QUEUE_BUSY)
&& (loop++ < MAXLOOP)) ;
}
-%<-
Logfile Xorg.openchrome.quanta.log.gz is when running with that patch,
and gdb:
-%<-
# gdb /usr/bin/Xorg `pidof X`
GNU gdb 6.6-3mdv2008.0 (Mandriva Linux release 2008.0)
[blahblah]
0xb7b817d3 in viaAccelSync (pScrn=0x82382b8)
at via_accel.c:419
419 default:
(gdb) c
Continuing.
Program received signal SIGINT, Interrupt.
[Switching to Thread -1211427136 (LWP 13382)]
0xb7b8513d in viaFlushPCI (buf=0x8239680) at via_accel.c:110
110 pVia->Chipset != VIA_VX800) {
(gdb) bt
#0 0xb7b8513d in viaFlushPCI (buf=0x8239680) at via_accel.c:110
#1 0xb7b81d69 in viaSubsequentSolidFillRect (pScrn=0x82382b8, x=0, y=0,
w=640, h=480) at via_accel.c:663
#2 0xb7a00334 in XAAFillSolidRects () from /usr/lib/xorg/modules//libxaa.so
#3 0xb7a0d5f8 in XAAPaintWindow () from /usr/lib/xorg/modules//libxaa.so
#4 0x0817926d in ?? ()
#5 0x08174862 in ?? ()
#6 0x08103b1e in compPaintWindowBackground ()
#7 0x08139bd5 in miClearToBackground ()
#8 0x08085d3a in ProcClearToBackground ()
#9 0x081533bd in ?? ()
#10 0x08089d6f in Dispatch ()
#11 0x08071025 in main ()
(gdb) c
Continuing.
Program received signal SIGINT, Interrupt.
0xb7b8513d in viaFlushPCI (buf=0x8239680) at via_accel.c:110
110 pVia->Chipset != VIA_VX800) {
(gdb) bt
#0 0xb7b8513d in viaFlushPCI (buf=0x8239680) at via_accel.c:110
#1 0xb7b81d69 in viaSubsequentSolidFillRect (pScrn=0x82382b8, x=0, y=0,
w=640, h=480) at via_accel.c:663
#2 0xb7a00334 in XAAFillSolidRects () from /usr/lib/xorg/modules//libxaa.so
#3 0xb7a0d5f8 in XAAPaintWindow () from /usr/lib/xorg/modules//libxaa.so
#4 0x0817926d in ?? ()
#5 0x08174862 in ?? ()
#6 0x08103b1e in compPaintWindowBackground ()
#7 0x08139bd5 in miClearToBackground ()
#8 0x08085d3a in ProcClearToBackground ()
#9 0x081533bd in ?? ()
#10 0x08089d6f in Dispatch ()
#11 0x08071025 in main ()
(gdb) c
Continuing.
-%<-
but again it would completely lock if trying to exit the X Server.
I did not follow carefully the code, but my attempt to
"skip the busy loop" was probably pointless as it seens to be always
coming back to viaFlushPCI...
Paulo
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Xorg.openchrome.quanta-with-via-driver-in-another-vt.log.gz
Type: application/x-gzip
Size: 7052 bytes
Desc: not available
Url : http://wiki.openchrome.org/pipermail/openchrome-users/attachments/20080417/cd9a13b8/Xorg.openchrome.quanta-with-via-driver-in-another-vt.log.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Xorg.openchrome.quanta.log.gz
Type: application/x-gzip
Size: 6871 bytes
Desc: not available
Url : http://wiki.openchrome.org/pipermail/openchrome-users/attachments/20080417/cd9a13b8/Xorg.openchrome.quanta.log.bin
More information about the Openchrome-users
mailing list