home.social

#emscripten — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #emscripten, aggregated by home.social.

  1. Oh, look! Another attempt to solve the monumental crisis of handling tarballs—this time with #WebAssembly and a sprinkle of #Emscripten magic. 🙄 Instead of just extracting a file like a normal person, let's generate an "index" to mount things because who doesn't love an overengineered solution to save a few bytes? 😂
    jeroen.github.io/notes/webasse #tarballs #overengineering #techhumor #HackerNews #ngated

  2. Oh, look! Another attempt to solve the monumental crisis of handling tarballs—this time with #WebAssembly and a sprinkle of #Emscripten magic. 🙄 Instead of just extracting a file like a normal person, let's generate an "index" to mount things because who doesn't love an overengineered solution to save a few bytes? 😂
    jeroen.github.io/notes/webasse #tarballs #overengineering #techhumor #HackerNews #ngated

  3. Oh, look! Another attempt to solve the monumental crisis of handling tarballs—this time with #WebAssembly and a sprinkle of #Emscripten magic. 🙄 Instead of just extracting a file like a normal person, let's generate an "index" to mount things because who doesn't love an overengineered solution to save a few bytes? 😂
    jeroen.github.io/notes/webasse #tarballs #overengineering #techhumor #HackerNews #ngated

  4. Oh, look! Another attempt to solve the monumental crisis of handling tarballs—this time with #WebAssembly and a sprinkle of #Emscripten magic. 🙄 Instead of just extracting a file like a normal person, let's generate an "index" to mount things because who doesn't love an overengineered solution to save a few bytes? 😂
    jeroen.github.io/notes/webasse #tarballs #overengineering #techhumor #HackerNews #ngated

  5. Oh, look! Another attempt to solve the monumental crisis of handling tarballs—this time with #WebAssembly and a sprinkle of #Emscripten magic. 🙄 Instead of just extracting a file like a normal person, let's generate an "index" to mount things because who doesn't love an overengineered solution to save a few bytes? 😂
    jeroen.github.io/notes/webasse #tarballs #overengineering #techhumor #HackerNews #ngated

  6. Just posted a new devlog for our C-based web engine, Archimedes!

    It's been a long road from Pygame to a custom C/Emscripten stack. I'm breaking down the architectural hurdles of moving away from our Daedalus library and how my collaborator @smattymatty has been stress-testing the engine with a vampire survivors clone and recent game jams.

    To celebrate the progress, I've rewritten my old ( and very broken ) Game of Life simulator from the ground up. It's a great feeling to see a legacy project running smoother than ever on new, custom-built foundations.

    Check out the devlog: jake-ster.itch.io/game-of-life

    #GameDev #WebAssembly #C #IndieDev #Emscripten #Archimedes #GameOfLife

  7. Long shot, but is there anyone here who has used SDL3 and Emscripten or is familiar with building Emscripten from source?

    I had to get SDL3_TTF from a PR, and managed to build it with embuilder but so far when I try to build with -sUSE_SDL_TTF=3 it doesn't seem to acknowledge the option and if just complaining that it can't find SDL3/SDL_ttf.h

    What am I missing?

    (also if you don't know, sharing is caring)

    #sdl #sdl3 #emscripten #c #gamedev #programming

  8. emsdk-env makes public.

    This is a Vite plugin that automatically downloads and manages the Emscripten SDK, and makes it possible to automatically build WASM C/C++ code in your project.

    With this plugin, you can easily set up a WASM C/C++ development environment in your Vite project.

    github.com/kekyo/emsdk-env

    #emscripten #npm #wasm #vite

  9. Git в браузере. Расширяем возможности с помощью LFS

    Привет, Хабр! Я Паша, разработчик

    habr.com/ru/companies/gram_ax/

    #git #libgit2 #lfs #webassembly #rust #ffi #emscripten #docsascode #opensource #localfirst

  10. Git в браузере. Расширяем возможности с помощью LFS

    Привет, Хабр! Я Паша, разработчик

    habr.com/ru/companies/gram_ax/

    #git #libgit2 #lfs #webassembly #rust #ffi #emscripten #docsascode #opensource #localfirst

  11. Git в браузере. Расширяем возможности с помощью LFS

    Привет, Хабр! Я Паша, разработчик

    habr.com/ru/companies/gram_ax/

    #git #libgit2 #lfs #webassembly #rust #ffi #emscripten #docsascode #opensource #localfirst

  12. Git в браузере. Расширяем возможности с помощью LFS

    Привет, Хабр! Я Паша, разработчик

    habr.com/ru/companies/gram_ax/

    #git #libgit2 #lfs #webassembly #rust #ffi #emscripten #docsascode #opensource #localfirst

  13. I recently gave a makeover to the project page for the first video game I ever made: fietkau.media/revelation_mentis

    The game itself is a small adventure/exploration game for DOS. It's not much to look at. But I touched up the game itself and the web-based player to make it a lot more approachable:

    - Full English translation
    - Nicer menu navigation
    - Touch controls on mobile! 🤯
    - A cute little optional CRT filter
    - Updated #DOSBox and #emscripten, it no longer hangs the page on load for a second

  14. I tried pulling the procedure to change the main engine loop out of WASM's control (codeberg.org/indigoparadox/mau) but #numoon is still, like... skipping every other tick? Or something? Every other in-game script instruction seems to be ignored? And mobile animation isn't happening? Almost like it's just not showing those frames?

    But only in #WASM with #emscripten! The #SDL code on native Linux works perfectly!

    *Extremely* frustrating...

  15. Question on #licenses: Take an #LGPL licensed library written in C, compile it to JavaScript with #emscripten, and bundle it into a JavaScript app. The JavaScript app has to be LGPL licensed because the dynamic linking exception doesn't apply.

    Same LGPL library, build a #NodeAPI module that statically links against it, and use that in a JavaScript app. The NodeAPI code would be LGPL'ed since it's statically linked, but would the #JavaScript code be fine since node loads the module dynamically?

  16. Question on : Take an licensed library written in C, compile it to JavaScript with , and bundle it into a JavaScript app. The JavaScript app has to be LGPL licensed because the dynamic linking exception doesn't apply.

    Same LGPL library, build a module that statically links against it, and use that in a JavaScript app. The NodeAPI code would be LGPL'ed since it's statically linked, but would the code be fine since node loads the module dynamically?

  17. Question on #licenses: Take an #LGPL licensed library written in C, compile it to JavaScript with #emscripten, and bundle it into a JavaScript app. The JavaScript app has to be LGPL licensed because the dynamic linking exception doesn't apply.

    Same LGPL library, build a #NodeAPI module that statically links against it, and use that in a JavaScript app. The NodeAPI code would be LGPL'ed since it's statically linked, but would the #JavaScript code be fine since node loads the module dynamically?

  18. Question on #licenses: Take an #LGPL licensed library written in C, compile it to JavaScript with #emscripten, and bundle it into a JavaScript app. The JavaScript app has to be LGPL licensed because the dynamic linking exception doesn't apply.

    Same LGPL library, build a #NodeAPI module that statically links against it, and use that in a JavaScript app. The NodeAPI code would be LGPL'ed since it's statically linked, but would the #JavaScript code be fine since node loads the module dynamically?

  19. Question on #licenses: Take an #LGPL licensed library written in C, compile it to JavaScript with #emscripten, and bundle it into a JavaScript app. The JavaScript app has to be LGPL licensed because the dynamic linking exception doesn't apply.

    Same LGPL library, build a #NodeAPI module that statically links against it, and use that in a JavaScript app. The NodeAPI code would be LGPL'ed since it's statically linked, but would the #JavaScript code be fine since node loads the module dynamically?

  20. After again struggeling with #emscripten and the wait4 / wait3 #syscalls, and stumbeling across my 1year+ old bug report on that matter, I just said "Fine, I do it myself" and added the two missing c sources to the build process of emscripten's #libc build xDDDDDD Works flawlessly lmao

    #coding #development #programming #c #linux

  21. Today I'm wondering how I could get the new Python 3.13 REPL working in WebAssembly in the browser. 🤔

    xterm-pty for xterm.js looks possibly helpful, but I'm unsure how to use it: github.com/mame/xterm-pty

    I'm also wondering what CPython will need to be configured in its environment to properly trigger the new REPL.

    I'm a TTY novice and definitely feel in over my head with this train of thought. 😅

    #Python #WebAssembly #CPython #WASM #Emscripten #xtermjs

  22. When your event agency gets the briefing wrong and you need to invent a new technology to save the message… You knew css-in-js, but now 📢 introducing CSS in C++, aka. css-in-cpp, compiled to #WebAssembly with #emscripten. (At Google I/O Connect in Bengaluru, India.)

  23. Как мы засунули Git в браузер (и чего нам это стоило)

    Привет, Хабр! Меня зовут Паша, я разработчик

    habr.com/ru/companies/gram_ax/

    #emscripten #rust #webassembly #libgit2 #wasm #git #wysiwyg #open_source #localfirst

  24. Oh, and I can confirm that `-Os` (i.e. optimize for size) does make a difference. #wasm #emscripten

  25. Playing with libav.js [1] (#ffmpeg in #javascript through #emscripten)

    TIL about "async functions" [2]. Seems like moving from "normal" to "async" is a one-way street - normal functions can be easily called in an async context, but it looks like there's no way to get the value of an async function in sync context.

    Yes, I can ".then(...)" on the return value, but then I'm back in callback hell and no longer "sync", am I...

    [1] github.com/Yahweasel/libav.js
    [2] developer.mozilla.org/en-US/do

  26. Proof-of-concept project, showing that it's possible to run an entire Large Language Model in nothing but a #PDF file.

    It uses #Emscripten to compile #llama.cpp into asm.js, which can then be run in the PDF using an old PDF JS injection.

    Combined with embedding the entire #LLM file into the PDF with base64, we are able to run LLM inference in nothing but a PDF

    github.com/EvanZhouDev/llm.pdf

  27. Запуск Linux внутри PDF

    По мнению некоторых пользователей, PDF — простой формат для обмена документами. На самом деле это очень сложный стандарт, который поддерживает выполнение практически любого кода. Неудивительно, что в прошлые годы энтузиастам удалось успешно запустить Doom внутри PDF и провести ряд других интересных экспериментов. Оказалось, что на этом возможности движка по рендерингу PDF не ограничиваются. Он способен запустить даже эмулятор полноценного процессора, а в нём — целую операционную систему .

    habr.com/ru/companies/globalsi

    #PDF #Linux #RISCV #LinuxPDF #Doom #DoomPDF #TinyEMU #Emscripten #asmjs #JSLinux #pdfsyntax

  28. My latest contribution to the Emscripten project is now live with 4.0.4: a contrib port to easily embed Lua in any project

    emscripten.org/docs/compiling/

  29. Released emscripten-glfw 3.4.0.20250209:

    * Added support for touch (mobile)
    * Added support for wasm64 (-sMEMORY64 Emscripten option)

    github.com/pongasoft/emscripte

  30. I know it is silly to be excited about a scrollbar, but my latest emscripten-glfw release actually fixes the "scrollbar stops to work when outside the browser" issue :) github.com/pongasoft/emscripte

    @ocornut

  31. My WebGPU Shader toy is progressing quite nicely...

    * Load external shaders
    * Drag and drop
    * Show Inputs value live
    * Show errors
    * Store current window sizes (local storage)

    youtu.be/Y3PYwwD_cBQ

  32. A much better screenshot with a much better font for Hi Res rendering...

  33. Very early prototype of my attempt at building something like a shader toy for WebGPU in the browser.

    Technologies used:

    * emscripten (c++) for the compiler
    * contrib.glfw3 for the GLFW implementation (multi / resizable windows)
    * ImGui in one window
    * Straight WebGPU / Fragment shader in another (using webgpu_cpp.h)

    youtube.com/watch?v=gLDe6mBnBfQ

  34. The bug fix for the gamepad issue in my emscripten glfw port is now widely available with the latest release of emscripten 3.1.57

    youtube.com/watch?v=WYC-dfHhpT4

  35. Released emscripten-glfw 3.4.0.20250209:

    * Added support for touch (mobile)
    * Added support for wasm64 (-sMEMORY64 Emscripten option)

    github.com/pongasoft/emscripte

    #wasm #wasm64 #GLFW #Emscripten

  36. Released emscripten-glfw 3.4.0.20250209:

    * Added support for touch (mobile)
    * Added support for wasm64 (-sMEMORY64 Emscripten option)

    github.com/pongasoft/emscripte

    #wasm #wasm64 #GLFW #Emscripten

  37. GitHub - ading2210/linuxpdf: Linux running inside a PDF file via a RISC-V emulator

    Link
    📌 Summary: 本文介紹了一個名為 LinuxPDF 的專案,該專案使得 Linux 系統可以在 PDF 檔案內透過 RISC-V 模擬器運行。此技術運用到 PDF 檔案格式中所支持的 Javascript,並透過 Emscripten 將 C 程式碼編譯成 asm.js,進一步載入修改過的 TinyEMU 模擬器。雖然在 PDF 中運行 Linux 存在性能問題,但這一創新仍能展示 PDF 檔案的多元性及其潛力。

    🎯 Key Points:
    - LinuxPDF 專案能讓 Linux 在 PDF 內運行,基於 RISC-V 模擬器。
    - PDF 格式支持 Javascript,但瀏覽器的 API 限制了其功能。
    - 提供了 32 位和 64 位的根檔案系統,默認使用 32 位版本。
    - RISC-V 模擬器運行速度較慢,Linux 核心啟動時間約需 30-60 秒。
    - 使用者可透過克隆專案並運行指定指令來建置系統。

    🔖 Keywords: #Linux #PDF #RISC-V #Emscripten #TinyEMU

  38. It has not been trivial (and the code still sucks in some places), but here is the first beta version of #SilkDust running in a web page. It is still not perfect for mobile devices as it expect a keyboard. It also does not support copy/paste. But it kind of works 😍

    davbucci.chez-alice.fr/varie/s

    #IndieGame #GameDev #Javascript #Emscripten #TextAdventure #InteractiveFiction