Making libXvMC better?

Thomas Hellström unichrome at
Sat Oct 30 15:25:14 PDT 2004

Hi, Kendall,

Kendall Bennett wrote:

>Hi Thomas,
>I hear you have been working on making libXvMC work better, and I was 
>about to embark on the same project. Where are you currently at with this 
>project? I would like to work with you to build a solution we can get 
>into the mainline tree to solve this problem once and for all. 
>The main issue we have to solve at present is how to export the correct 
>library name from the X server driver, in such a way that we can be 
>backwards compatible with the existing NVIDIA drivers and fall back on a 
>'hack' solution to load the NVIDIA driver until NVIDIA can produce 
>updated driver support.
>Let me know where you are at with this project.
Take a look at the XvMC wrapper currently in Xorg CVS.
The idea is that the application links to the wrapper, which, when it is 
called, queries the X-server what driver name it should load and if it 
doesn't get an answer loads a driver who's name is in 
<config_dir>/XvMCConfig. Xine has already adapted this solution for 
their upcoming RC7 release. The wrapper currently needs libXv, libXvMC 
and the hardware specific library to be available as shared objects.

I also have a proposal for the modification of the XvMC protocol to 
allow the client driver name to be passed to the wrapper. The API looks 
as follows:

On the server side, a function which is called just after XvMC Init:

int XvMCRegisterDRIClientDriverName(ScreenPtr pScreen, char *name)

The wrapper uses
char * XvMCDRIGetClientDriverNameP(Display *, XvPortID);

which is implemented in libXvMC. The protocol implementation is done, 
but I've not commited it to Xorg.

However, I was planning to extend this to not just transmit the name, 
but also the
DDX version and the busid of the card.

Would this be sufficient for your needs?
Until this is agreed on and implemented, you could always use the 
wrapper in it's current form. We needed the wrapper for the viaXvMC 
driver since we made an extension to the XvMC API implementing a new 
acceleration level.


>Kendall Bennett
>Chief Executive Officer
>SciTech Software, Inc.
>Phone: (530) 894 8400
>~ SciTech SNAP - The future of device driver technology! ~

More information about the xorg mailing list