On 2002.04.21 02:31 Felix K�hling wrote:
> ...
> 
> OK, I checked the mach64-0-0-4-branch out tonight and compiled it. It
> runs surprisingly usable. The only big difference to mach64-0-0-3 which I
> noticed is that all the CPU load is in the kernel now :)
> 

Good. I guess that I can start making binary snapshots of this branch as 
well.

> > There are locks in place in aticonsole.c for vt/mode switches
> > (xc/programs/Xserver/hw/xfree86/drivers/ati) and in atimach64.c for the
> > XAA functions.  The disabled code to initialize 2D acceleration is in
> > ATIMach64AccelInit() in atimach64.c.  I guess the first thing to do is
> to
> > make sure that the locks are in the right place, and that the 2D
> driver's
> > state is restored correctly.  Currently, if a GL context is active, a
> vt
> > or mode switch will cause a lockup on returning to the X server
> > (ATIEnterVT and ATISwitchMode).  Also dragging a window or other XAA
> 
> Ok, I checked aticonsole.c. The existing locks seem to be in the right
> places. If I understand the problem correctly I will have to make sure
> that the hardware is in 2d state when the X-server has the lock. This
> means that it has to check whether it had the lock before. Only if not it
> will have to restore 2d state. This mechanism could look similar to
> LOCK_HARDWARE and mach64GetLock in mach64_lock.[ch].

I gave a look into aticonsole.c and it seems that we have everything 
that's needed for VT switching. When DMA is working we'll gonna need a 
MACH64DMA_START/MACH64DMA_STOP but we still don't have it. Looking at the 
TDFX driver (which doesn't do DMA either), it hasn't nothing that the 
current Mach64 doesn't has, so I don't understand very well why VT switchs 
still locks the system.

> 
> ...
> 
> As I mentioned before, I don't have another machine to do this. But maybe
> I can build a simple input device which is not used by X to trigger a
> background process to kill the X-server.
> 

You could attempt to do something like (with root):

        at now + 1 minutes
        killall -9 X
        ^D

and you got 1 minutes to do the testing. If everything worked allright, 
you could still stop the job. Check "at" manpage for details.

> ...
> 
> Felix
> 


Jos� Fonseca

_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to