The DIB engine was discussed quite a lot at WineConf. I am now trying to summarize these discussions to update bug 421 - Implement a DIB engine.
http://wine.codeweavers.com/bugzilla/show_bug.cgi?id=421 Is the following accurate, complete, etc? Comments? Other ideas? Any volunteers? This was discussed quite a bit at WineConf. Ideas that were floated around are: 1. Have X export the required API --------------------------------- XFree86 4 has all the needed code, for all bit depths and layouts we care about. We could try to have the X guys export this in the form of an API ala Xft. Wine could then link with this library to implement the DIB engine (or dlopen that library). * Is the needed API already available? * If not, are the XFree86 guys willing to export it? * Almost everyone is using XFree86, but what about people who don't (embedded devices, Wine on Solaris...). We need a fallback. * We won't have to maintain that code which is a good thing, although it is not supposed to change much once written. * Will we be able to do all that we need with that API? Probably yes since it can be expected to match the X API quite closely and we are abel to use the X API. 2. Copy the relevant X code into Wine ------------------------------------- Since X has all the code and that code is under the X11 license we could copy it all into Wine. * This means we will have to maintain the code ourselves, although it is not supposed to change much once written. 3. Copy the relevant code from MicroWindows/NanoGUI to Wine ----------------------------------------------------------- MicroWindows/NanoGUI also has code that could help us bootstrap our DIB engine. We probably don't want Wine to depend on these projects but we could copy their code into Wine. * Are the licenses compatible? * Do they support all the bit depths and layouts we care about? * This means we will have to maintain the code ourselves, although it is not supposed to change much once written. 4. Copy the relevant code from GGI to Wine ------------------------------------------ GGI also has similar code. Again we probably don't want to introduce a dependency on GGI so the same questions apply: * Are the licenses compatible? * Do they support all the bit depths and layouts we care about? * This means we will have to maintain the code ourselves, although it is not supposed to change much once written. -- Francois Gouget [EMAIL PROTECTED] http://fgouget.free.fr/ "Utilisateur" (nom commun) : Mot utilisé par les informaticiens en lieu et place d'"idiot".