Agreed... I'm a little surprised they wouldn't adapt to work/build to wasm+webgl target. It seems to me that could make a pretty good cross platform base.
Emscripten has an SDL implementation so you can just SDL_BlitSurface inside a <canvas>.
What about the performance? Not that it's going to be huge on some modern hardware, but thinking a 4-5yo tablet or raspberry pi 2-3 level support.
Not that WebGL is all that much to write home about vs. native...
How so? emscripten already supports WebGL
Emscripten has an OpenGL 1.x implementation and Quake 2 uses pretty much OpenGL 1.1. Some years ago i ported my engine that has a GL1.x-only path to Emscripten and had an SDL backend (i removed it since then) and it took just a couple of hours to "port" (the two main problems i had were that i was doing some unaligned pointer accesses - casting a byte array to a float array to read vertex data - that Emscripten didn't knew how to handle so i wrote a slower path for Emscripten and that the OpenGL 1.x implementation wasn't that great and i had to write some workarounds).