Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build Js multithreaded seems to fail #107

Open
momo-AUX1 opened this issue Oct 29, 2024 · 9 comments
Open

Build Js multithreaded seems to fail #107

momo-AUX1 opened this issue Oct 29, 2024 · 9 comments

Comments

@momo-AUX1
Copy link

Build JS multithreaded seems to fail due to undefined because it's looking for undefined does anyone know why?

Built with the latest EMScripten as of today with mingw on windows 10

@danoon2
Copy link
Owner

danoon2 commented Oct 31, 2024

@momo-AUX1 I probably shouldn't have checked in that build script or maybe I should have put a note on it. It's just an experiment. I did get it to work on a slightly older version of emscripten, but it didn't run for more than a few seconds. In my proof of concept it wasn't any faster, but I have some ideas of how to improve the code.

We need a newer version of emscripten to work with multi-threaded, but the newer versions of emscripten broke file handling. My goal is to get Boxedwine working on the newest Emscripten, but I don't have a time frame for that. It would be nice if I can get it done and make my next release of Boxedwine in January for Wine 10 release.

Here is my experiment of multi-threaded using Emscripten 3.1.61

https://www.boxedwine.org/v/mt/kevin61mt/boxedwine.html?app=mdk&p=PERF_W95.EXE

@momo-AUX1
Copy link
Author

Amazing work! I recently ported this specific EMScripten app to Xbox what are some general optimization flags do you recommend?

As for the multithreaded version, I'll keep updating it and make sure it matches the latest BoxedWine release it's currently at Debian10+wine5.0

Thank you very much for your hard work!

@danoon2
Copy link
Owner

danoon2 commented Oct 31, 2024

@momo-AUX1 Do you mean the emscripten build is running on xbox instead of the native c++ version?

@momo-AUX1
Copy link
Author

Indeed the native version would've been a huge task to get it working, but the EMScripten version with some tweaks got up and running! That's why I'm hoping we'd see a multithreaded JS build or any optimizations on that front I could send you the app to test if needed

@danoon2
Copy link
Owner

danoon2 commented Nov 1, 2024

@momo-AUX1 I was curious and just looked into compiling for xbox. https://wiki.libsdl.org/SDL2/README/gdk It seems like there are a lot of hoops to jump through. I was hoping to see just a simple build on windows with an emulator on windows, something more like iPad development. I guess not.

@momo-AUX1
Copy link
Author

There is a SDL for UWP (https://github.com/aerisarn/SDL-uwp-gl) although I wouldn't really know what wine would need on top of SDL so I didn't really attempt it sadly.

However I have a question, what are some optimization flags that you recommend for xbox/EMSscripten? And could boxedwine support Linux apps or is it windows only?

@danoon2
Copy link
Owner

danoon2 commented Nov 1, 2024

Boxedwine uses SDL for windows, drawing, mouse, etc. So for the c++ port to XBox, SDL would need to be included.

Boxedwine does not support Linux apps that have a UI. For command line stuff, it can work.

@danoon2
Copy link
Owner

danoon2 commented Nov 1, 2024

There are no optimization I can think of for the Emscripten build. We have always struggled with performance for that. I keep hoping someone would bring a JIT to the Dosbox port of Emscripten that I could use as a reference.

@momo-AUX1
Copy link
Author

Either way, the reception for it on xbox has been stellar you could expect a video about it to be released soon! I'll keep on maintaining it to the latest EMScripten build so the users can benefit with. big disclaimer about performance for now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants