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

WIP: Support Qt for WebAssembly #294

Draft
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

Vogtinator
Copy link
Member

@Vogtinator Vogtinator commented Dec 29, 2022

  • Needs better platform integration (file management and settings)
  • Must not break other platforms
  • Fix caching of emsdk libraries in the GH build
  • On Firefox on Android, the screen is drawn too large. I suppose the condition for iOS in qtframebuffer.cpp needs to be extended

@Vogtinator Vogtinator force-pushed the emscriptenfix branch 3 times, most recently from 29d8890 to f132010 Compare December 29, 2022 21:28
Vogtinator added a commit that referenced this pull request Dec 29, 2022
@Vogtinator
Copy link
Member Author

Demo deployed at https://nspire-emus.github.io/firebird/wasm

@Vogtinator Vogtinator force-pushed the emscriptenfix branch 2 times, most recently from a27424d to 40374c8 Compare December 29, 2022 23:20
Vogtinator added a commit that referenced this pull request Dec 29, 2022
@Vogtinator Vogtinator force-pushed the emscriptenfix branch 2 times, most recently from e7fda43 to de03b42 Compare December 30, 2022 18:52
@Vogtinator
Copy link
Member Author

  • Fix caching of emsdk libraries in the GH build

Apparently that's because setup-emsdk behaves differently if the cache was found. If it's not found, it'll install emsdk into emsdk-main and create a cache in emsdk-cache. The system libs end up in emsdk-main in those builds, but only emsdk-cache is cached. If the cache is found, it uses emsdk-cache as emsdk location and build system libs inside that directory.

@Vogtinator Vogtinator force-pushed the emscriptenfix branch 5 times, most recently from db494c5 to 0850802 Compare December 30, 2022 20:51
@Vogtinator
Copy link
Member Author

Fix caching of emsdk libraries in the GH build

Fixed by running emsdk manually instead of using the setup-emsdk action

@Vogtinator Vogtinator force-pushed the emscriptenfix branch 2 times, most recently from 5f11f3b to 522cb04 Compare December 30, 2022 22:21
Based on Adriweb's patch, but avoiding the QML file dialog.

CONFIG += ltcg causes the "-s X" options to be merged to a single "-s",
breaking build.
Basically implement cooperative multitasking manually by converting EmuThread
into a QTimer.
Same issue as on iOS also appears in browsers if scaling is used.
@Vogtinator
Copy link
Member Author

-O3 -flto is not noticably faster compared to the default (-O3 for object files, -O2 for linking), but it takes twice as long to build.

Vogtinator added a commit that referenced this pull request Dec 30, 2022
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

Successfully merging this pull request may close these issues.

None yet

1 participant