danoon2 / Boxedwine

Emulator that can run 32-bit Windows programs/games on multiple platforms via Wine
GNU General Public License v2.0
811 stars 65 forks source link

Newer version of Wine? #63

Open HunterBoy344 opened 2 years ago

HunterBoy344 commented 2 years ago

Just wondering if it's possible to get a version of Wine newer than 5.0 for Boxedwine. The application I'm trying to run, Pokemon Uranium, crashes with a black screen on all versions of Wine prior to 6.1.

danoon2 commented 2 years ago

Here is an alpha build that includes Wine 7 on Windows x64. If you wanted a different platform, sorry, I haven't worked on them yet.

http://boxedwine.org/v/BoxedWineVulkanAlphaWin64.zip

Wine 6 made a big change that affected my emulator. It now uses shared memory to communicate some information between the wineserver and clients. This required a pretty big change to the cpu emulators I have created.

Its pretty close to working, but some things are still broken which is why I haven't released it yet.

FYI: I don't know much about that game, but newer games may not have much luck with Boxedwine.

JakoDel commented 1 year ago

Here is an alpha build that includes Wine 7 on Windows x64. If you wanted a different platform, sorry, I haven't worked on them yet.

http://boxedwine.org/v/BoxedWineVulkanAlphaWin64.zip

Wine 6 made a big change that affected my emulator. It now uses shared memory to communicate some information between the wineserver and clients. This required a pretty big change to the cpu emulators I have created.

Its pretty close to working, but some things are still broken which is why I haven't released it yet.

FYI: I don't know much about that game, but newer games may not have much luck with Boxedwine.

any update on this?

danoon2 commented 1 year ago

Real life has prevented me from working on Boxedwine lately. But I look forward to getting back into it in the next month or so. Wine 7 is what I plan to finish next, so with a bit of luck, hopefully it might be out early next year.

duckfromdiscord commented 1 month ago

Will the Wine 7 code show up in a separate branch?

danoon2 commented 1 month ago

wow, I can't believe that last comment of mine was 2 years ago. I got Wine 6 to work pretty reliably, but Wine 7 was always flaky. Currently I'm working in a branch on a new approach to future versions of Wine. In the master branch

https://github.com/danoon2/Boxedwine/tree/master/tools/wineboxed.drv

I wrote my own wine driver to replace winex11.drv. It worked well, but every time wine changes their driver, I have to change mine. And lately they have been making lots of changes. So I have decide to scrap my wine driver and instead emulate x11. This way I can use the unmodified version of wine.

I am actively working on the x11 emulation

https://github.com/danoon2/Boxedwine/commits/james/winex11/

Currently it is pretty stable and I've been able to test the last couple of Wine releases and they have worked without any issues, so this approach is working. Currently I'm working with Wine 9.18. It is pretty stable, but I'm trying to work out the last few issues and make sure all the platforms work.

The downside is that Boxedwine won't be compatible with previous file systems.

This branch is still pretty experimental. For the Win64 build it seems pretty stable, Mac still has issues. You can test it if you want for your game. It will download the correct new file system, Wine 9.18

http://208.113.165.28:8080/job/Boxedwine/job/james%252Fwinex11/81/

duckfromdiscord commented 1 month ago

It may be worth noting that running the Wine 9.18 build will cause Windows to spam Win32/DefenseEvasion.A!ml detections.

duckfromdiscord commented 1 month ago

There also seems to be no Vulkan option for rendering. image

danoon2 commented 1 month ago

@duckfromdiscord As for the virus thing, maybe I should go back to not caching the contents of the zip file to the file system for reading when the file is opened.

yeah, vulkan is not ready yet. winex11 is actually branched from my vulkan branch since I wanted to run the latest wine in order to get vulkan running. It seems like Wine 9 simplified how they interact with the host for vulkan. I did see the win32 version of vulkan quake starting to run, but with lots of glitches. But it was cool to see recognizable output.

duckfromdiscord commented 1 month ago

So the idea is to get winex11 working, then merge that back to the Vulkan branch, and then get Vulkan working?

Building the program from source did not seem to have the virus thing. I googled it and it sounds like that shows up when Windows thinks something is trying to disable Windows Defender. But it doesn't show up until you try running a game.

danoon2 commented 1 month ago

yeah, I'm hoping soon, in the next week or 2 I can merge x11 into vulkan. It was a big change. It fixes somethings, like Half Demo menus, but it also breaks somethings like the MDK perf test where the colors are off. Currently the only big bug I know of is that the single threaded builds of Boxedwine often hang, but multi-threaded is fine. I might just leave that as a known issue because every build is multi-threaded except Emscripten, and that already has a multi-thread experiment that is kind of working.