3 ms·
Run Pebble OS in Browser via WASM
- KetoManx64 8mo agoI'm blow away at what Devs are able to do within a browser nowadays.
- bossyTeacher 8mo agoMore that browsers have gotten sprouted downwards and obtained all sorts of low level access than older browsers didn't use to have. I believe this is partially why tools that were meant to just render markup have gotten so complex to build that a small team of devs is not enough to build a modern browser anymore. And by that I mean from scratch, not just piggybacking on Chromium or Gecko.
- idle_zealot 8mo ago> I believe this is partially why tools that were meant to just render markup have gotten so complex to build that a small team of devs is not enough to build a modern browser anymore. Isn't it basically the opposite? The hard parts of the browser are layout, styling, and multimedia stuff that goes into rendering markup compliantly. Then there's the infinite sink of optimization work for a JS engine, the high-level scripting language for that markup. The low level access that something like this emulator use is comparatively easy; a WASM runtime and Canvas blitting pixels from some shared buffer. Or am I mistaken that a WASM engine is much easier to build than a performant JS engine?
- nomel 8mo ago> Or am I mistaken that a WASM engine is much easier to build than a performant JS engine? Absolutely. It's very limited, and designed for purpose, rather than somewhat by mistake (like JS): https://github.com/sunfishcode/wasm-reference-manual/blob/master/WebAssembly.md#instructions https://github.com/sunfishcode/wasm-reference-manual/blob/ma...
- pjmlp 8mo agoYou could have done the same with plugins in the past.
- afavour 8mo agoAnd now we don't need to use them and expose ourselves to security vulnerabilities. Win win.
- quailfarmer 8mo agoI’m very mixed about WASM. It’s clearly a very cool technology, and enables cool things by allowing native performance without needing multi-platform support. But at the same time, it provides a vector for foreign, non-free software to run on my computer. Every time someone sends me a Google doc blocking printing/copying (on _my_ computer!), it makes me want to join a monastery.
- IshKebab 8mo agoJavascript already provides a way for foreign non-free software to run on your computer. WASM doesn't change anything about that.
- mmmlinux 8mo agoShould I be getting more than .2 FPS?
- davsti4 8mo agoI'm not even getting that - its stuck at: 10:26:18.027 Downloaded SPI flash: 16777216 bytes 10:26:18.027 [config] icount: off 10:26:18.028 [status] Loading QEMU WASM module (17MB)...
- zb3 8mo agoProbably could be made faster by: - using native exception handling - getting rid of asyncify (but it would require JSPI) See my experiments with TempleOS here: https://zb3.me/qemu-wasm-test/ https://zb3.me/qemu-wasm-test/
- mischief6 8mo ago08:46:37.125 [err] [fps] 4.0 (12 frames in 3.0s) 08:46:40.225 [err] [fps] 1.0 (3 frames in 3.1s) 08:46:41.224 FIRM | * ASSERTION FAILED: ASSERTN 08:46:41.443 [err] DEBUG post-reset: halted=0 stopped=1 R13=0x20002170 R15=0x080001b4 thumb=1 08:46:42.123 [err] clktree_recalc_output_freq: Clock PCLK1 output frequency (32000000 Hz) exceeds max frequency (30000000 Hz). found an assertion just by clicking up/down. doesn't seem too stable.
- cpfleming 8mo agoYeah that happens when trying to go up into the timeline.
- donohoe 8mo agoAny way to load a local watch-face? Am hoping there is and I didn't see it. This would be very helpful for testing.
- hemmert 8mo agoPretty impressive!
- ezulabs 8mo agoCan already see a nice web based AI app builder on the way, also can be used to quickly try apps before pushing to the device as interactive app store. Please watch out some qemu targets for Cortex m0 or m3, increasing ram from linker out of supported ranges will cause random crashes. Would love to contribute if you are looking for people to crash some issues. Awesome effort btw.
- pmkary 8mo agoCool cool cool
- sonu27 8mo agoKeeps crashing on iOS safari for me
- ornornor 8mo agoSame
- sciencesama 8mo agocan we run linux like this !!??
- Eikon 8mo agohttps://joelseverin.github.io/linux-wasm/ https://joelseverin.github.io/linux-wasm/
- vsviridov 8mo agoDoes not work in Firefox...
- nacs 8mo agoWorks fine for me in Firefox 147.
- infotainment 8mo agoReally slow FPS for me (macOS, Firefox). Not really getting past 1fps...
- wolttam 8mo agoGetting 2 fps on my iPhone SE 2020.. it’s nearly usable!
- podlp 8mo agoLove the idea, would be great to see a modes to switch to circular interface for the Time Round 2. Definitely lots of potential for rapid iteration on new watch faces and apps!