VOGONS


Boxedwine (Wine on multiple platforms)

Topic actions

Reply 161 of 184, by danoon

User metadata
Rank Member
Rank
Member
robertmo wrote on 2021-05-21, 14:32:

https://devblogs.microsoft.com/commandline/th … em-for-linux-2/
does this help in no need to emulate cpu ?

Do you know if a 32-bit Linux app would run on 64-bit Windows using that? My understanding was that it wouldn't. Plus I agree, Boxedwine isn't super useful on Windows. The only reason I can think of to use Boxedwine on Windows is the 16-bit CPU emulation. Other than that the direct x wrappers seem to fix the older 32-bit games. But when the day comes that Windows drops 32-bit support, Boxedwine will be there 😀

http://www.boxedwine.org/

Reply 162 of 184, by xcomcmdr

User metadata
Rank Oldbie
Rank
Oldbie

I have a lot of games that are not fixed by only using wrappers, compatibility options, patches, or any combination of the above, and for which PCem is too heavy.
As a huge Windows retro games enthusiast, I'm very interested by Wine on Windows !

Reply 164 of 184, by danoon

User metadata
Rank Member
Rank
Member

I'm running into issue where things like MDK Perf work with OpenGL on Windows but not on Mac. Wine is complaining about not finding the right pixel format so I'm assuming OpenGL doesn't work on Mac for older games that use lower color depths. This got me thinking about using software OpenGL implementations for older games since performances isn't as important. So far I got Mesa running on Windows and here are the results.

The mesa build came from https://github.com/pal1000/mesa-dist-win/

This is the Quake 2 time demo on my Core i7 6700k at 800x600 using OpenGL

All of these results are with the x64 build of Boxedwine on Windows 10
318 fps - normal Windows opengl32.dll
165 fps - mesa using opengl translated to direct x 12
121 fps - mesa using llvmpipe
39 fps - mesa using swr
4 fps - mesa using soft pipe

Overall it seems like llvmpipe performs pretty well.

http://www.boxedwine.org/

Reply 165 of 184, by digger

User metadata
Rank Oldbie
Rank
Oldbie

If OpenGL performance does become an issue, perhaps you could try using MoltenVK on top of Apple's Metal API, and Zink on top of that. 🙂

Reply 166 of 184, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

I've got a bunch of old win3x and 9x multimedia titles, reference and encyclopedia type, what I would like to happen is that I can stick them all on a server and be able to access them on any machine on the network. Can boxedwine be perverted to my evil plan? Not sure it would be better running a local Xserver with them actually running on the server CPU or VNCed onto it, if that's easier, or whether it would just have images to download or stream. I remember some were picky, if you installed from Sony 6 speed on drive letter F, then later tried to run them from a Panasonic 10 speed on drive G they'd throw a hissy fit... even if you tried to switch drive letters, it was less a path problem, as some stupid drive fingerprinting for copy protection.

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 167 of 184, by danoon

User metadata
Rank Member
Rank
Member
digger wrote on 2021-05-27, 15:04:

If OpenGL performance does become an issue, perhaps you could try using MoltenVK on top of Apple's Metal API, and Zink on top of that. 🙂

I might have to try that at some point, it will probably be the best way to continue using Wine with D3D support for newer games. But for the older ones that uses 16-bit textures or even palettes, I think software will be the only way.

http://www.boxedwine.org/

Reply 168 of 184, by danoon

User metadata
Rank Member
Rank
Member
BitWrangler wrote on 2021-05-27, 15:38:

I've got a bunch of old win3x and 9x multimedia titles, reference and encyclopedia type, what I would like to happen is that I can stick them all on a server and be able to access them on any machine on the network. Can boxedwine be perverted to my evil plan? Not sure it would be better running a local Xserver with them actually running on the server CPU or VNCed onto it, if that's easier, or whether it would just have images to download or stream. I remember some were picky, if you installed from Sony 6 speed on drive letter F, then later tried to run them from a Panasonic 10 speed on drive G they'd throw a hissy fit... even if you tried to switch drive letters, it was less a path problem, as some stupid drive fingerprinting for copy protection.

Do you mean you would like Boxedwine to be able to use them without installing them on the local machine? From the command line you could just tell Boxedwine to use that mapped drive as the root folder. You would only want one instance/machine using that root folder a time though.

BoxedWine.exe -root t:\myserver\title\root -zip t:\myserver\filesystems\Wine-5.0.zip ... etc

http://www.boxedwine.org/

Reply 169 of 184, by danoon

User metadata
Rank Member
Rank
Member

Boxedwine is able to run MDK Perf with a score in the 400s now on the Mac Mini M1 using native ARMv8 code. The x64 build running in rosetta gets about 130 on the same machine, so this is a big jump up. Not a whole lot else works and I'm still struggling with OpenGL.

Screen Shot 2021-06-04 at 12.23.32 PM.png
Filename
Screen Shot 2021-06-04 at 12.23.32 PM.png
File size
469.7 KiB
Views
2226 views
File license
Public domain

http://www.boxedwine.org/

Reply 170 of 184, by danoon

User metadata
Rank Member
Rank
Member

I'm still trying to get Boxedwine to work well on Mac. It seems like when Wine translates DirectDraw to OpenGL it makes use of frame buffer OpenGL calls and they just do not work the same on Mac as on Windows. But other than that the x64 build for Mac is doing well. As soon as I figure out the OpenGL issue I should be able to release an official x64 build for Mac. The ARM build is still probably several months away. A few simple apps work just fine, I'm now trying to get F-16 Multirole Fighter by NovaLogic to work since it uses self modifying code.

The Voodoo Kid was previously released on gog and steam using Boxedwine and I mentioned it earlier, but today they made it available on Mac using Boxedwine. The x64 Mac build is pretty stable except for the OpenGL issue and that game doesn't use OpenGL or DirectX.

http://www.boxedwine.org/

Reply 171 of 184, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie

I have the same problem with QEMU on M1. Wine strategy of OffscreenRendering is to use FBO. That didn't seem to work on macOS. I would have thought that to be XQuartz/OpenGL 2.1 issue as I guess you had a better OpenGL context instantiation from NSWindow/CocoaGL. You should try changing OffscreenRenderingMode to "backbuffer" to see if it resolved your problem.

Reply 172 of 184, by danoon

User metadata
Rank Member
Rank
Member
kjliew wrote on 2021-06-18, 18:45:

I have the same problem with QEMU on M1. Wine strategy of OffscreenRendering is to use FBO. That didn't seem to work on macOS. I would have thought that to be XQuartz/OpenGL 2.1 issue as I guess you had a better OpenGL context instantiation from NSWindow/CocoaGL. You should try changing OffscreenRenderingMode to "backbuffer" to see if it resolved your problem.

Currently I'm just using SDL to create the OpenGL window. I was also wondering if I would have to more manually create the Mac Window and context myself without SDL. I'm guessing I will just have to spend a lot time creating small example apps using FBOs on mac to see how it works.

Using Wine on Mac, Roller Coaster Tycoon appears to work with Wine translating DirectDraw to OpenGL. When I log OpenGL in Wine, I see a ton of stuff without the failures I see when I log Wine inside Boxedwine, so hopefully that proves it's possible. I think I either need to create the window/context differently, fix something in how I marshal OpenGL or fix something in my winex11.drv implementation (Wine's mac driver has a lot of code I don't).

I did try the backbuffer registry option, I no longer see FBO errors, but I still just see a black screen.

http://www.boxedwine.org/

Reply 173 of 184, by danoon

User metadata
Rank Member
Rank
Member

Proof of concept for translating OpenGL to Vulkan. I was able to get GL Gears to run, but Quake 2, Unreal and Wine's DirectDraw to OpenGL all failed, they just gave a black screen. I'm hoping eventually it could be used to replace OpenGL on Mac.

zink.jpg
Filename
zink.jpg
File size
204.73 KiB
Views
2048 views
File license
Public domain

http://www.boxedwine.org/

Reply 174 of 184, by WDStudios

User metadata
Rank Member
Rank
Member

Based on the website's description, it sounds as though the windows version would emulate Linux on Windows, and then run the Linux version of WINE on the emulated Linux system...? That seems to be one compatibility/emulation layer more than is actually necessary. Why not just port WINE to Windows?

Since people like posting system specs:

LGA 2011
Core i7 Sandy Bridge @ 3.6 ghz
4 GB of RAM in quad-channel
Geforce GTX 780
1600 x 1200 monitor
Dual-booting WinXP Integral Edition and Win7 Pro 64-bit
-----
XP compatibility is the hill that I will die on.

Reply 175 of 184, by Jorpho

User metadata
Rank l33t++
Rank
l33t++
WDStudios wrote on 2021-06-21, 04:49:

Why not just port WINE to Windows?

People literally spent decades ruminating about that and what a great idea it would be. WineHQ had a lengthy page on it back in the day, though you won't find a trace of it anymore.

In the end, it seems Wine is just too tightly-integrated with X to make a simple port possible, and this is pretty much the closest thing that has developed so far.

Reply 177 of 184, by digger

User metadata
Rank Oldbie
Rank
Oldbie
danoon wrote on 2021-06-20, 22:29:

Proof of concept for translating OpenGL to Vulkan. I was able to get GL Gears to run, but Quake 2, Unreal and Wine's DirectDraw to OpenGL all failed, they just gave a black screen. I'm hoping eventually it could be used to replace OpenGL on Mac.

zink.jpg

Mike Blumenkrantz is doing amazing work with Zink, and he's moving real fast with improvements on it. Many of his more recent optimizations haven't even made it upstream to Mesa/Gallium3D yet.

Are you using his zink-wip tree for your tests? See also https://www.phoronix.com/scan.php?page=news_i … tor-Performance

Of course, I assume he's primarily been focusing on Linux development so far. But it's worth trying out on Windows, and I'm sure he'd love to receive patches. 🙂

Reply 178 of 184, by danoon

User metadata
Rank Member
Rank
Member
WDStudios wrote on 2021-06-21, 04:49:

Based on the website's description, it sounds as though the windows version would emulate Linux on Windows, and then run the Linux version of WINE on the emulated Linux system...? That seems to be one compatibility/emulation layer more than is actually necessary. Why not just port WINE to Windows?

Boxedwine actually started with me building Wine in Visual Studio. I didn't build all of wine, but I got wine, wineserver and a few dlls. It was enough to run a command line windows application. But I realized pretty quickly that it wasn't a one person job and because of the number changes required in wine, it would be a moving target. Emulating Linux wasn't too bad, only about 200 syscalls.

xcomcmdr wrote on 2021-06-21, 07:24:

WineVDM or WineD3D are both available on Windows, however. It's great, but BoxedWine could fill a huge gap in app compatibility on Windows.

I think Boxedwine is still trying to find its niche.

digger wrote on 2021-06-21, 14:23:

Mike Blumenkrantz is doing amazing work with Zink, and he's moving real fast with improvements on it. Many of his more recent optimizations haven't even made it upstream to Mesa/Gallium3D yet.

Are you using his zink-wip tree for your tests? See also https://www.phoronix.com/scan.php?page=news_i … tor-Performance

Of course, I assume he's primarily been focusing on Linux development so far. But it's worth trying out on Windows, and I'm sure he'd love to receive patches. 🙂

No, I'm just using the latest official Mesa release. https://github.com/pal1000/mesa-dist-win has prebuilt binaries I like to use when testing mesa. I look forward to following it's progress. But I think the real solution might be to implement vulkan pass through like I did with OpenGL in Boxedwine then use Wine's dxvk.

http://www.boxedwine.org/

Reply 179 of 184, by WDStudios

User metadata
Rank Member
Rank
Member
xcomcmdr wrote on 2021-06-21, 07:24:

WineVDM

OMG. I'd heard that there had been attempts to make a 64-bit version of NTVDM, but one only worked with DOS programs and I forget what the other's issue was. I didn't know about WineVDM. This is huge. Thanks!

Since people like posting system specs:

LGA 2011
Core i7 Sandy Bridge @ 3.6 ghz
4 GB of RAM in quad-channel
Geforce GTX 780
1600 x 1200 monitor
Dual-booting WinXP Integral Edition and Win7 Pro 64-bit
-----
XP compatibility is the hill that I will die on.