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

Attachment: Xorg.openchrome.quanta-with-via-driver-in-another-vt.log.gz
Description: GNU Zip compressed data

Attachment: Xorg.openchrome.quanta.log.gz
Description: GNU Zip compressed data

_______________________________________________
openchrome-users mailing list
[email protected]
http://wiki.openchrome.org/mailman/listinfo/openchrome-users
Main page:
http://www.openchrome.org
Wiki:
http://wiki.openchrome.org
User Forum:
http://wiki.openchrome.org/tikiwiki/tiki-view_forum.php?forumId=1

Reply via email to