Replacing X11 backend driver with SDL
Replacing X11 backend driver with SDL
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-us ... hment.html>
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-us ... hment.html>
Re: Replacing X11 backend driver with SDL
As-is - no, it's not possible. SDL is not X11 compatible (it's not a drop-in replacement for X11).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?
No, and afaik no one even tried. Wine's X11 driver is far more complex than most people think.rogercruz wrote:2) Does such a SDL driver exist or know of anyone who has worked on it but never made it into Wine?
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: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?
This is an open ended question. How much of Wine and how well do you want to work?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?
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.
Replacing X11 backend driver with SDL
My comments embedded below with >>
From: vitamin <[email protected]>
To: [email protected]
Sent: Monday, September 19, 2011 11:13 PM
Subject: [Wine] Re: Replacing X11 backend driver with SDL
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.
rogercruz wrote:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-us ... hment.html>
From: vitamin <[email protected]>
To: [email protected]
Sent: Monday, September 19, 2011 11:13 PM
Subject: [Wine] Re: Replacing X11 backend driver with SDL
rogercruz wrote:I understand it won't be a drop-in replacement for X11 but my idea is to have a winesdl.drv
which provides the exact functionality Wine expects from the winex11.drv. It may require
more coding and calls into SDL to generate the same graphics and input as X11 provides
but that will all be abstracted by the winesdl.drv.
Basically, I am looking to run Wine on a system which has no X11 subsystem but has
an SDL stack.
No, and afaik no one even tried. Wine's X11 driver is far more complex than most people think.2) Does such a SDL driver exist or know of anyone who has worked on it but never made it into Wine?
rogercruz wrote:Oh yeah, I'm not minimizing the amount of work that would be required. I am only looking
to hear if it is technically feasible or whether i am overlooking some obvious technical problem
that would prevent Wine from working with an SDL backend.. something like Wine requires
a particular shader which can't be duplicated with SDL, for example.
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.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?
rogercruz wrote:Good to know. I was hoping it was all self contained to the winex11.drv. I will look for other then.
This is an open ended question. How much of Wine and how well do you want to work?4) Can SDL provide all the functionality Wine requires of its X driver or are there areas that can't be reproduced with SDL?
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 need to have Wine run as well as it does in Linux, that's the short answer but I will settle for
running Office 2007 and then add whatever else is needed to support other apps.
Any other thoughts/guides/links on how to port Wine to another platform (pared down linux version)
would be greatly appreciated it.
rogercruz wrote:
As-is - no, it's not possible. SDL is not X11 compatible (it's not a drop-in replacement for X11).1) Would it be possible to run Wine on a non-X11 system if I replace its X11 backend driver with an SDL backend?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-us ... hment.html>
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.
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.
Replacing X11 backend driver with SDL
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 avoided.
Regards,
Roger R. Cruz
On Sep 22, 2011, at 12:56 PM, "doh123" <[email protected]> wrote:
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 avoided.
Regards,
Roger R. Cruz
On Sep 22, 2011, at 12:56 PM, "doh123" <[email protected]> wrote:
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.
Re: Replacing X11 backend driver with SDL
they 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: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 avoided
Replacing X11 backend driver with SDL
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.
Thanks
Roger R. Cruz
On Sep 22, 2011, at 4:16 PM, "doh123" <[email protected]> wrote:
Thanks
Roger R. Cruz
On Sep 22, 2011, at 4:16 PM, "doh123" <[email protected]> wrote:
rogercruz wrote:they 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.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 avoided
Re: Replacing X11 backend driver with SDL
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.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.
Replacing X11 backend driver with SDL
Thanks. I don't mind digging into the code. Always something new to learn.
On Sep 23, 2011, at 12:06 PM, "doh123" <[email protected]> wrote:
On Sep 23, 2011, at 12:06 PM, "doh123" <[email protected]> wrote:
rogercruz wrote: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.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.
I too had been thinking whether it was possible for me to run Wine in a system which is non X11 by replacing the X11 backend driver with an SDL backend driver. I guess not since the SDL is incompatible with the X11. However, it would be nice if someone could come up with a tweak to make it compatible.
a "tweak" ??? you mean a total re-write...manil wrote:I too had been thinking whether it was possible for me to run Wine in a system which is non X11 by replacing the X11 backend driver with an SDL backend driver. I guess not since the SDL is incompatible with the X11. However, it would be nice if someone could come up with a tweak to make it compatible.
-
- Level 1
- Posts: 6
- Joined: Sat Oct 22, 2011 4:05 am
X11 will be replaced by native Quartz driver in the UNforeseeable future ...
http://wiki.winehq.org/MacOSX/QuartzDriver
http://wiki.winehq.org/WineReleaseCriteria
http://wiki.winehq.org/MacOSX/QuartzDriver
http://wiki.winehq.org/WineReleaseCriteria
Which only would affect Mac OS X... not Linux or other OSes that can use SDL. When will a Quartz Driver happen? My guess is never. To make it really good it really needs to use some ObjC... which they won't allow... which is really odd since Quartz is only on Mac OS X, so the code being portable to other OSes shouldn't be a factor since it should be totally ignored on all other platforms.PommeGolden wrote:X11 will be replaced by native Quartz driver in the UNforeseeable future ...
http://wiki.winehq.org/MacOSX/QuartzDriver
http://wiki.winehq.org/WineReleaseCriteria
-
- Moderator
- Posts: 1153
- Joined: Wed Apr 27, 2011 11:01 pm
Replacing X11 backend driver with SDL
On Sun, Dec 11, 2011 at 7:11 AM, doh123 <[email protected]> wrote:
realized that DIB functionality was needed. When Huw Davis announces
the DIB engine is complete, then work may restart on the existing
project.
compilers will 'choke' on it. The same for ObjectiveC. However,
there is a pure 'c' to ObjC interface and the winequartz project plans
on using it. Thus a good work-around for broken compilers and this
should make AJ happy because it is 'c' code.
James
Actually, the developers for the winequartz driver stopped when theyPommeGolden wrote:Which only would affect Mac OS X... not Linux or other OSes that can use SDL. When will a Quartz Driver happen?X11 will be replaced by native Quartz driver in the UNforeseeable future ...
http://wiki.winehq.org/MacOSX/QuartzDriver
http://wiki.winehq.org/WineReleaseCriteria
[Wink]
My guess is never.
realized that DIB functionality was needed. When Huw Davis announces
the DIB engine is complete, then work may restart on the existing
project.
AJ will not allow any code other than 'c'. Not even C++ because someTo make it really good it really needs to use some ObjC... which they won't allow... which is really odd since Quartz is
only on Mac OS X, so the code being portable to other OSes shouldn't be a factor since it should be totally ignored on
all other platforms.
compilers will 'choke' on it. The same for ObjectiveC. However,
there is a pure 'c' to ObjC interface and the winequartz project plans
on using it. Thus a good work-around for broken compilers and this
should make AJ happy because it is 'c' code.
James