I have been doing some research on Wine and have the following questions ? 1) Would it be possible to run Wine on a non-X11 system if I replace its X11 backend driver?with an SDL backend?? 2) Does such a SDL driver exist or know of anyone who has worked on it but never made it into Wine? 3)?Are all the X11 dependencies in Wine contained in the winex11.drv driver or are there other areas of the code where it uses X or assumes it is running on an X system?? 4)?Can SDL provide all the functionality Wine requires of its X driver or are there areas that can't be reproduced with SDL? ? ? Thank you in advance, ? Roger R. Cruz -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://www.winehq.org/pipermail/wine-users/attachments/20110919/5e96e313/attachment.html>
rogercruz wrote:> 1) Would it be possible to run Wine on a non-X11 system if I replace its X11 backend driver?with an SDL backend?As-is - no, it's not possible. SDL is not X11 compatible (it's not a drop-in replacement for X11). rogercruz wrote:> 2) Does such a SDL driver exist or know of anyone who has worked on it but never made it into Wine?No, and afaik no one even tried. Wine's X11 driver is far more complex than most people think. rogercruz wrote:> 3)?Are all the X11 dependencies in Wine contained in the winex11.drv driver or are there other areas of the code where it uses X or assumes it is running on an X system?For the most part yes. But there are number of parts in user32 (input, graphics), OpenGL, wined3d (both opengl, graphics), dinput (input, controls). There are few other places that I can't recall now. rogercruz wrote:> 4)?Can SDL provide all the functionality Wine requires of its X driver or are there areas that can't be reproduced with SDL?This is an open ended question. How much of Wine and how well do you want to work? Not expert in SDL can't tell you for sure. But just rewriting window handling parts of winex11drv is a nightmare. Good luck with that.
I'm sure its possible... it would be a lot of work. Transgamings Mac OS X version of Cedega they use to port with (called Cider) used to use a SDL engine... they don't any more since they wrote a new one that uses OSX's native quartz, but the SDL version ran good. Of course Transgaming is anti-open source... errr.. well i take that back, they are pro Open Source as long as they can use it for profit without giving hardly anything back... so don't expect to be able to see any of their coding to how they did it.
rogercruz wrote:> That's good to know that some else already used SDL. I would love to get my hands on that code but you are saying they didn't open source it? > > Using SDL has the benefit of getting wine running on many more platforms since SDL has a large platform support. > > Any pointers to other companies who have used an SDL backend to Wine is extremely appreciated. I don't want to duplicate efforts if it can be avoidedthey did not open source their SDL or mac quartz drivers they use, just as much of their stuff is not... but their wine fork was forked off so long ago, it might be vastly different than needed now... and it was Mac OS X only so... it might be better to start from scratch anyways. SDL has a large performance boost in graphics over X11 on Macs.
rogercruz wrote:> Great. Thanks for the info. I'll start a preliminary investigation of adding an SDL back engine to Wine. Being new to Wine, is there documentation that explains how to port to a new platform? If not, I'll just dive into that code and try to understand all the X dependencies. >Documentation is very inadequate... you'll pretty much have to search for what little you can find, and jump in and figure it out. This sounds like a very very difficult project, but it could be very worthwhile, so all the best of luck to you.