Greetings everyone. Let me start by stating that I appreciate the enormous undertaking that Wine has been, and I am not suggesting that the ideas I will ask about in this post would be easy (or even possible) to implement, so there's no need to flame the n00b. As I understand it, Wine is an implementation of the Windows API for Linux and other Unix-like operating systems (Mac OS X, FreeBSD, Solaris, etc.). Wine is really super awesome, and can apparently even somehow run 16-bit in 64-bit versions of Linux despite the absence of Virtual 8086 mode while in Long Mode, something that 64-bit versions of Windows can't do. In my role as the webmaster and curator of a retro gaming website, I'm finding that a large number of older DirectX games don't run well in Windows 7. Windows just isn't very good at running old Windows software any more. Before anyone tells me that I should switch to Linux or get a Mac for any of a thousand valid reasons, that would solve my problem, but it won't solve the problem for my visitors. Converting the world to Linux is a noble goal, but not one that I expect to be very successful at. So, my question is whether it would be possible to make a portable version of Wine, perhaps using something like SDL. Actually, I see there are a number of ideas about how to run Wine on Windows (http://wiki.winehq.org/WineOnWindows), though it doesn't seem like any of them would work as well as a native Windows solution. But, for that matter, why limit Wine to just Windows? ARM has jumped from smart phones to tablets, with netbooks on the way, and low powered notebooks planned in the future. Microsoft is even making an ARM version of Windows 8... which of course, won't run x86 Windows software. This "post PC world" thing might be for real. It seems like the only truly safe and universal platform is the web. danoon to the rescue, there is now a Java port of DOSBox called jDosbox, which has allowed me to make over 260 DOS games playable online at http://www.classicdosgames.com/online.html. jDosbox can even run Windows 3.x and Windows 98 -- though it would be illegal for me to install Windows in a disk image and put it online. Of course, there's HX DOS Extender (http://www.japheth.de/HX.html). So the other question is, could Wine's implementation of the Windows API be incorporated into HX DOS Extender, and is there any interest in trying? Anyway, I'm sure y'all are a friendly bunch, but go easy on me anyway. I realize that the purpose of Wine is to make life easier for Linux users, not to allow Windows programs to run on every operating system under the sun (including Windows), and I don't expect anyone to go out of their way to accommodate a userbase that the project was never intended to support.
I just asked a similar question on porting Wine to other platforms. I would be interested in hearing any other info you get offline. I'm looking at SDL as a possibility. Roger R. Cruz On Sep 22, 2011, at 4:01 PM, "DOSGuy" <wineforum-user at winehq.org> wrote:> Greetings everyone. Let me start by stating that I appreciate the enormous undertaking that Wine has been, and I am not suggesting that the ideas I will ask about in this post would be easy (or even possible) to implement, so there's no need to flame the n00b. > > As I understand it, Wine is an implementation of the Windows API for Linux and other Unix-like operating systems (Mac OS X, FreeBSD, Solaris, etc.). Wine is really super awesome, and can apparently even somehow run 16-bit in 64-bit versions of Linux despite the absence of Virtual 8086 mode while in Long Mode, something that 64-bit versions of Windows can't do. In my role as the webmaster and curator of a retro gaming website, I'm finding that a large number of older DirectX games don't run well in Windows 7. Windows just isn't very good at running old Windows software any more. > > Before anyone tells me that I should switch to Linux or get a Mac for any of a thousand valid reasons, that would solve my problem, but it won't solve the problem for my visitors. Converting the world to Linux is a noble goal, but not one that I expect to be very successful at. > > So, my question is whether it would be possible to make a portable version of Wine, perhaps using something like SDL. Actually, I see there are a number of ideas about how to run Wine on Windows (http://wiki.winehq.org/WineOnWindows), though it doesn't seem like any of them would work as well as a native Windows solution. > > But, for that matter, why limit Wine to just Windows? ARM has jumped from smart phones to tablets, with netbooks on the way, and low powered notebooks planned in the future. Microsoft is even making an ARM version of Windows 8... which of course, won't run x86 Windows software. This "post PC world" thing might be for real. It seems like the only truly safe and universal platform is the web. danoon to the rescue, there is now a Java port of DOSBox called jDosbox, which has allowed me to make over 260 DOS games playable online at http://www.classicdosgames.com/online.html. jDosbox can even run Windows 3.x and Windows 98 -- though it would be illegal for me to install Windows in a disk image and put it online. Of course, there's HX DOS Extender (http://www.japheth.de/HX.html). So the other question is, could Wine's implementation of the Windows API be incorporated into HX DOS Extender, and is there any interest in trying? > > Anyway, I'm sure y'all are a friendly bunch, but go easy on me anyway. I realize that the purpose of Wine is to make life easier for Linux users, not to allow Windows programs to run on every operating system under the sun (including Windows), and I don't expect anyone to go out of their way to accommodate a userbase that the project was never intended to support. > > > > >
On 9/22/11 1:01 PM, DOSGuy wrote:> Greetings everyone. Let me start by stating that I appreciate the enormous undertaking that Wine has been, and I am not suggesting that the ideas I will ask about in this post would be easy (or even possible) to implement, so there's no need to flame the n00b. > >There is an effort to port Wine to the ARM platform. The problem is like that for the Mac PowerPC platform, you will need a CPU emulator until Windows programs start to appear for the target platform. Given the number of ARM based 'objects', this may not be too far off. However, running an emulator AND a bloated Windows program may prove to slow for ARM processors as it did for the PowerPC platform. James
DOSGuy First fact of the matter true win16 applications don't require virtual x86 mode at all. Microsoft reason for removing win16 support is bogus basically. Dos support requires virtual x86 mode not win16. http://sites.google.com/site/x32abi/ This is a true example of bending reality. 64 bit chips in long mode running 32 bit application code. Yes the same stunts to bend reality here can be done with 16 bit code running in protected mode as well. So yes win64 win32 and win16 all in theory could be run in long long mode. Currently wine is not exploiting this evil. dos applications need emulation v86 is emulation of an old 8086 chip. Yes wine is working on using dosbox to fill that hole. Making wine portable to non posix is basically a dream of fools almost. Reason is its not only X11 that is going to be trouble. http://wiki.winehq.org/WineOnWindows This is only people who travelled down the tip of the iceberg. Samba and other parts are used by wine that are also suspect on non posix systems. Arm and x86 emulations there are options to reduce pain but the problem is resources todo them. The means to run dll code native arm and application inside x86 emulation could reduce a lot of the performance bloat issue. Yes this would be a huge undertaking. I am sorry DOSGuy end of days are basically coming up on people. If a lot goes to play by Microsoft and Hardware guys only place dos stuff will work is in emulation. So work on HX DOS Extender would mostly be a waste of resources since its never going to match what windows looks like internally. Really wine is not that worry about windows. Reactos.org uses a large section of wine dlls for targeted goal of a Windows Replacement. Yes in a lot of ways working on the goal to replace windows with a clone is a simpler idea than running Wine inside windows or other non posix os designs. Since building a windows replacement you can use the windows subsystem design where as a independent developers you cannot use the subsystem design under normal windows unless stuff is signed and you don't duplicate with existing. Before the Reactos developers started on reactos they did freewindows that is a long gone project that was basically a dos loader like HX DOS Extender they run into major issues to say the least. Reason for changing over to the NT design and starting clean. Basially working on HX extender is working on a path that is already known to lead to ruin. DOSGuy you really need to start picking out the best games from dos and start cloning them.