Live data from Hacker News

Minimal Cross-Platform Graphics

zserge.com

61–67 of 67 posts

Re: Minimal Cross-Platform Graphics

#61
post #55

since everyone else is posting links to their similar libraries, i thought i'd post mine too, https://gitlab.com/kragen/bubbleos/-/tree/master/yeso it's probably a bit more efficient than fenster on x-windows because it uses shared memory, and i think the programming interface is a little nicer (see the readme above for code examples) apps i've written in yeso include an adm-3a terminal emulator, a tetris game, a ray…

I like BubbleOS. :)

yay :)

Re: Minimal Cross-Platform Graphics

#62

This is extremely useful, and the page is beautifully written. Some people write absurd electron behemoths, and then there's this jewel of elegance. Could this be compiled as an αpε? Such a thing would make many heads explode.

I think the Xlib dependency would prevent compilation as an αpε. I put some effort into doing X11 from scratch (without Xlib or Xcb) to make this possible. Or at least, my aim was to be able to build with musl libc and generate a single executable that would run on many different Linuxes. https://github.com/abainbridge/deadfrog-lib/blob/master/src/... . It is janky though.

Super interesting!

> It is janky though

So what? It can be improved :)

Would you like to try to make an APE out of it? It would then be not just different Linuxes, but also MacOS and Windows, a bit like https://x410.dev/ or the free software vcxserv https://sourceforge.net/projects/vcxsrv/

We have discord. You should join us!

FWIW I'm currently working on a DNS server with nice extra features like Multicast for mDNS/Bonjour: it could be used to publish the X server DISPLAY and make it accessible via service-discovery

Re: Minimal Cross-Platform Graphics

#63
post #62

Earlier quoted context omitted.

I think the Xlib dependency would prevent compilation as an αpε. I put some effort into doing X11 from scratch (without Xlib or Xcb) to make this possible. Or at least, my aim was to be able to build with musl libc and generate a single executable that would run on many different Linuxes. https://github.com/abainbridge/deadfrog-lib/blob/master/src/... . It is janky though.

Super interesting! > It is janky though So what? It can be improved :) Would you like to try to make an APE out of it? It would then be not just different Linuxes, but also MacOS and Windows, a bit like https://x410.dev/ or the free software vcxserv https://sourceforge.net/projects/vcxsrv/ We have discord. You should join us! FWIW I'm currently working on a DNS server with nice extra features like Multicast for mDNS/…

> We have discord. You should join us!

Who is "you", here?

Re: Minimal Cross-Platform Graphics

#64
post #62

Earlier quoted context omitted.

Super interesting! > It is janky though So what? It can be improved :) Would you like to try to make an APE out of it? It would then be not just different Linuxes, but also MacOS and Windows, a bit like https://x410.dev/ or the free software vcxserv https://sourceforge.net/projects/vcxsrv/ We have discord. You should join us! FWIW I'm currently working on a DNS server with nice extra features like Multicast for mDNS/…

> We have discord. You should join us! Who is "you", here?

People who try to hack stuff with APE - here abainbridge but hopefully, you too: the more the merrier :)

Re: Minimal Cross-Platform Graphics

#65

Earlier quoted context omitted.

There’s simple and there’s naive. SDL already walked this path. So did pygame. It turns out without shaders, and all their complexity, you basically can’t do anything useful at high resolutions. /shrug It’s too slow; compositing, transformations, all the things people want to do are very much harder to implement in software on top of a naive graphics stack. Simple doesn’t mean naive; you can have a simple api that is…

For any graphic intensive application it would be obviously be necessary to use a GPU. But for quick hacking / porting old demos / writing emulators and also text based UI it can be fast enough. With the added benefit of small footprint, high compatibility and fast startup time. The Lite editor https://github.com/rxi/lite is using pure software rendering (on top of SDL) in a rather naïve fashion but it still renders…

> is using pure software rendering (on top of SDL) in a rather naïve fashion

https://github.com/rxi/lite/blob/master/src/rencache.c#L4

I think you'll find that they found the naive approach was sufficiently poor, performance wise, that additional optimizations had to be applied on-top.

> But for quick hacking / porting old demos / writing emulators and also text based UI it can be fast enough.

/shrug

If you want to use it, use it. It's 'good enough'...

> if you vastly lower your expectations

Post reply on HN