[Openchrome-users] VIA Announces Open Source Driver Initiative
Xavier Bachelot
xavier
Thu Apr 17 12:58:55 PDT 2008
Paulo Cesar Pereira de Andrade wrote:
> 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
>
hmm, I forgot to update a couple of places. I attach another patch, give
it a try, but it's probably better to start slowly and disable
acceleration at least for the beginning (Option "NoAccel").
Regards,
Xavier
-------------- next part --------------
A non-text attachment was scrubbed...
Name: VX800_2.patch
Type: text/x-patch
Size: 11424 bytes
Desc: not available
Url : http://wiki.openchrome.org/pipermail/openchrome-users/attachments/20080417/2e1ac3cf/VX800_2-0001.bin
More information about the Openchrome-users
mailing list