Re: [Xpert]Asus portable with Silicon Motion Lynx 3DM

2002-04-01 Thread Egbert Eich

Mark Vojkovich writes:
  On Sun, 31 Mar 2002, Vladimir Dergachev wrote:
  
 Egbert, if you can program the registers outside of the retrace
  without hardware gliches, I think you should just do that.  Polling
  for the retrace in the server should not be done for stuff like this.
  These apps are typically cpu intensive so they are competing with 
  the server for CPU.  That means the server might not even be scheduled
  during the retrace a good deal of the time.  I suspect the server
  spends its entire slice spinning most of the time.
  

Right, I didn't program this. I don't like to put any of this busy
waiting into drivers if I can help it. Especially during DVD playback
this will waste so much CPU time. This will certainly not increase
quality of the playback.

Egbert.
___
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert



[Xpert]Asus portable with Silicon Motion Lynx 3DM

2002-03-31 Thread lurwas

Hi.
I'm wondering of the status of the Silicon Motion Lynx 3DM driver?
I've tried it once before, and I can't seem to get a decent frame rate
when playing DVD and DivX movies (I can when using Windows). This is a
Pentium III 600Mhz processor with 128 MB ram, so the hardware should be
sufficient?
I've tried with both Xine (one of the latest versions), XMMS avi-plugin,
vlc and so on. I've also read the Lynx 3DM man page that  comes with the
driver, and have experemeted with some of the settings. Whilst getting a
performance increase with some of them, the frame rate doesn't even come
near to being acceptable.
So, could someone plese give me the status on this one? Is it a lost
cause? I hate to have to run Windows, just to play DivX's and DVD's...:(

Cheers, lurwas



___
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert



Re: [Xpert]Asus portable with Silicon Motion Lynx 3DM

2002-03-31 Thread Mark Vojkovich

On 31 Mar 2002, lurwas wrote:

 Hi.
 I'm wondering of the status of the Silicon Motion Lynx 3DM driver?
 I've tried it once before, and I can't seem to get a decent frame rate
 when playing DVD and DivX movies (I can when using Windows). This is a
 Pentium III 600Mhz processor with 128 MB ram, so the hardware should be
 sufficient?
 I've tried with both Xine (one of the latest versions), XMMS avi-plugin,
 vlc and so on. I've also read the Lynx 3DM man page that  comes with the
 driver, and have experemeted with some of the settings. Whilst getting a
 performance increase with some of them, the frame rate doesn't even come
 near to being acceptable.
 So, could someone plese give me the status on this one? Is it a lost
 cause? I hate to have to run Windows, just to play DivX's and DVD's...:(
 

   Looking at the code for the siliconmotion driver in the tree, I'm 
not surprised.  It looks like the driver is polling until the retrace
everytime it has to put a frame.  I would expect that to eat up more
CPU than just doing all the video in software.   You should probably
try it without Xv, if that's being used now.  Or somebody should fix
the drivers.


Mark.

___
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert



Re: [Xpert]Asus portable with Silicon Motion Lynx 3DM

2002-03-31 Thread lurwas

Wow, that was a quick answer. I'm sorry to say, that I cannot try the xv
tip myself right now, since I'm running Windows on the machine. But i
will try it later.
If someone out there, could fix this, please do.
If not, I might try to fix it myself, altough I have no experience
developing device drivers, but I'm willing to give it a try.
Maybe there's some very similiar code somewhere else in the source tree,
that you could almost copy and paste? Please give me some pointers if it
is?
I was thinking about bying a portable with a Geforce To Go or similiar
in it, but I ranned out of cash...:( (Sorry...;P).
Thanks for the quick response...

On Sun, 2002-03-31 at 20:10, Mark Vojkovich wrote:
 On 31 Mar 2002, lurwas wrote:
 
  Hi.
  I'm wondering of the status of the Silicon Motion Lynx 3DM driver?
  I've tried it once before, and I can't seem to get a decent frame rate
  when playing DVD and DivX movies (I can when using Windows). This is a
  Pentium III 600Mhz processor with 128 MB ram, so the hardware should be
  sufficient?
  I've tried with both Xine (one of the latest versions), XMMS avi-plugin,
  vlc and so on. I've also read the Lynx 3DM man page that  comes with the
  driver, and have experemeted with some of the settings. Whilst getting a
  performance increase with some of them, the frame rate doesn't even come
  near to being acceptable.
  So, could someone plese give me the status on this one? Is it a lost
  cause? I hate to have to run Windows, just to play DivX's and DVD's...:(
  
 
Looking at the code for the siliconmotion driver in the tree, I'm 
 not surprised.  It looks like the driver is polling until the retrace
 everytime it has to put a frame.  I would expect that to eat up more
 CPU than just doing all the video in software.   You should probably
 try it without Xv, if that's being used now.  Or somebody should fix
 the drivers.
 
 
   Mark.
 
 


___
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert



Re: [Xpert]Asus portable with Silicon Motion Lynx 3DM

2002-03-31 Thread Egbert Eich

Mark Vojkovich writes:
  
 Looking at the code for the siliconmotion driver in the tree, I'm 
  not surprised.  It looks like the driver is polling until the retrace
  everytime it has to put a frame.  I would expect that to eat up more
  CPU than just doing all the video in software.   You should probably
  try it without Xv, if that's being used now.  Or somebody should fix
  the drivers.
  

OK, I will look into this next week.

I guess this retrace waiting was done to prevent shearing.
Only very few chipsets support some kind of double buffering
with automatic buffer switching on retrace. On all others
we need to poll the chip to detect a retrace.

Mark, do you have any new idea how to solve this problem?
I guess a solution would be to have some limited kernel
support to handle interrupts.

Regards,
Egbert.
___
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert



Re: [Xpert]Asus portable with Silicon Motion Lynx 3DM

2002-03-31 Thread lurwas

If you are applying a patch, and needs some testing done, I'm willing to
volunteer for that part

On Sun, 2002-03-31 at 22:43, Egbert Eich wrote:
 Mark Vojkovich writes:
   
  Looking at the code for the siliconmotion driver in the tree, I'm 
   not surprised.  It looks like the driver is polling until the retrace
   everytime it has to put a frame.  I would expect that to eat up more
   CPU than just doing all the video in software.   You should probably
   try it without Xv, if that's being used now.  Or somebody should fix
   the drivers.
   
 
 OK, I will look into this next week.
 
 I guess this retrace waiting was done to prevent shearing.
 Only very few chipsets support some kind of double buffering
 with automatic buffer switching on retrace. On all others
 we need to poll the chip to detect a retrace.
 
 Mark, do you have any new idea how to solve this problem?
 I guess a solution would be to have some limited kernel
 support to handle interrupts.
 
 Regards,
   Egbert.
 ___
 Xpert mailing list
 [EMAIL PROTECTED]
 http://XFree86.Org/mailman/listinfo/xpert
 


___
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert



Re: [Xpert]Asus portable with Silicon Motion Lynx 3DM

2002-03-31 Thread Vladimir Dergachev



On Sun, 31 Mar 2002, Egbert Eich wrote:

 Mark Vojkovich writes:
  
  Looking at the code for the siliconmotion driver in the tree, I'm
   not surprised.  It looks like the driver is polling until the retrace
   everytime it has to put a frame.  I would expect that to eat up more
   CPU than just doing all the video in software.   You should probably
   try it without Xv, if that's being used now.  Or somebody should fix
   the drivers.
  

 OK, I will look into this next week.

 I guess this retrace waiting was done to prevent shearing.
 Only very few chipsets support some kind of double buffering
 with automatic buffer switching on retrace. On all others
 we need to poll the chip to detect a retrace.

Well, I know that ATI chipsets did this at least since Rage Pro. Also,
AFAIK, mga does it too and I would be surprised if nvidia does not do it.

The way it is implemented in ATI chips is that registers that describe a
buffer in ram are buffered with new values taking effect after retrace.
I do not think this takes any significant amount of chip real estate.
So there should not be any reason not to implement this.

 Vladimir Dergachev


 Mark, do you have any new idea how to solve this problem?
 I guess a solution would be to have some limited kernel
 support to handle interrupts.

 Regards,
   Egbert.
 ___
 Xpert mailing list
 [EMAIL PROTECTED]
 http://XFree86.Org/mailman/listinfo/xpert


___
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert



Re: [Xpert]Asus portable with Silicon Motion Lynx 3DM

2002-03-31 Thread Mark Vojkovich

On Sun, 31 Mar 2002, Vladimir Dergachev wrote:
 
 On Sun, 31 Mar 2002, Egbert Eich wrote:
 
  Mark Vojkovich writes:
   
   Looking at the code for the siliconmotion driver in the tree, I'm
not surprised.  It looks like the driver is polling until the retrace
everytime it has to put a frame.  I would expect that to eat up more
CPU than just doing all the video in software.   You should probably
try it without Xv, if that's being used now.  Or somebody should fix
the drivers.
   
 
  OK, I will look into this next week.
 
  I guess this retrace waiting was done to prevent shearing.
  Only very few chipsets support some kind of double buffering
  with automatic buffer switching on retrace. On all others
  we need to poll the chip to detect a retrace.
 
 Well, I know that ATI chipsets did this at least since Rage Pro. Also,
 AFAIK, mga does it too and I would be surprised if nvidia does not do it.
 
 The way it is implemented in ATI chips is that registers that describe a
 buffer in ram are buffered with new values taking effect after retrace.
 I do not think this takes any significant amount of chip real estate.
 So there should not be any reason not to implement this.
 

   I agree, but I wouldn't be surprised if some low-end chips didn't
support this anyhow.

   Egbert, if you can program the registers outside of the retrace
without hardware gliches, I think you should just do that.  Polling
for the retrace in the server should not be done for stuff like this.
These apps are typically cpu intensive so they are competing with 
the server for CPU.  That means the server might not even be scheduled
during the retrace a good deal of the time.  I suspect the server
spends its entire slice spinning most of the time.


Mark.


___
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert



Re: [Xpert]Asus portable with Silicon Motion Lynx 3DM

2002-03-31 Thread Vladimir Dergachev



On Sun, 31 Mar 2002, Mark Vojkovich wrote:

 On Sun, 31 Mar 2002, Vladimir Dergachev wrote:
 
  On Sun, 31 Mar 2002, Egbert Eich wrote:
 
   Mark Vojkovich writes:

Looking at the code for the siliconmotion driver in the tree, I'm
 not surprised.  It looks like the driver is polling until the retrace
 everytime it has to put a frame.  I would expect that to eat up more
 CPU than just doing all the video in software.   You should probably
 try it without Xv, if that's being used now.  Or somebody should fix
 the drivers.

  
   OK, I will look into this next week.
  
   I guess this retrace waiting was done to prevent shearing.
   Only very few chipsets support some kind of double buffering
   with automatic buffer switching on retrace. On all others
   we need to poll the chip to detect a retrace.
 
  Well, I know that ATI chipsets did this at least since Rage Pro. Also,
  AFAIK, mga does it too and I would be surprised if nvidia does not do it.
 
  The way it is implemented in ATI chips is that registers that describe a
  buffer in ram are buffered with new values taking effect after retrace.
  I do not think this takes any significant amount of chip real estate.
  So there should not be any reason not to implement this.
 

I agree, but I wouldn't be surprised if some low-end chips didn't
 support this anyhow.

Egbert, if you can program the registers outside of the retrace
 without hardware gliches, I think you should just do that.  Polling
 for the retrace in the server should not be done for stuff like this.
 These apps are typically cpu intensive so they are competing with
 the server for CPU.  That means the server might not even be scheduled
 during the retrace a good deal of the time.  I suspect the server
 spends its entire slice spinning most of the time.


That's a good point.

Another possibility is to use some other hardware mechanishm to wait
for retrace. For example, if your chip has a fifo for incoming commands
there might be a command that waits for a certain event - like retrace
happenning and stalls the fifo with that. This might or might not produce
better results.

Also if you want to implement an irq handler - take a look at km at
http://gatos.sf.net/ it does this (plus dma engine) for ATI cards, I would
imagine your card will be quite similar in this regard. The radeon part is
cleanest, IMO.

   Vladimir Dergachev


   Mark.


 ___
 Xpert mailing list
 [EMAIL PROTECTED]
 http://XFree86.Org/mailman/listinfo/xpert


___
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert