5 ms·
It's really interesting to run a web browser in a framebuffer without any sort of display manager running [1]. [1]: https://ci.netsurf-browser.org/jenkins/job/
by iamevn 3y ago
It's really interesting to run a web browser in a framebuffer without any sort of display manager running [1].
[1]: https://ci.netsurf-browser.org/jenkins/job/docs-netsurf/doxygen/md_docs_using-framebuffer.html https://ci.netsurf-browser.org/jenkins/job/docs-netsurf/doxy...
- arghwhat 3y agoNote that fbdev use deprecated because it's a really bad and broken kernel API. One can use KMS directly, but at that point you're just implementing all the logic of a display server and might as well just use a small kiosk-style Wayland display server instead.
- ranger_danger 3y agohow is it broken?
- direwolf20 3y agoThe Xorg fbdev driver is deprecated. If you're not Xorg but you want to easily put some pixels on the screen, fbdev is still for you. The Linux fbdev subsystem is deprecated, but the fb devices will be emulated with DRM because they are useful.
- ranger_danger 3y agois there an easy way to get a framebuffer with DRM without using fbdev?
- arghwhat 3y agoIt's not super easy. You need to allocate a buffer, modeset the display and commit the buffer. But if you're doing that, then you've implemented a big portion of a display server. So... Just use one.
- direwolf20 3y ago"dumb buffers" it's called. man drm-memory
- dmitrygr 3y agoThat comment assumes that nothing but Linux exists. I’ve ported netsurf to very very non-Linux environments that just had a framebuffer. So no “just use Wayland” is not the answer. (Ever)
- arghwhat 3y ago"just had a framebuffer" != Using fbdev. fbdev is a specific outdated API, which drivers only emulate for compatibility with e.g. fbcon (the kernel's terminal emulator). KMS is how you control the display hardware formally on FreeBSD and Linux. Other platforms will have their own APIs for doing this, but you are writing all the bits of a display server for that platform. And, well, a small kiosk Wayland server is basically just KMS + libinput + a tiny IPC layer. All you save by doing this yourself is the last bit, but at the cost of having to deal with e.g. display modesetting and GPU buffer management.
- kristopolous 3y agoarachne did this as well back in the day https://en.m.wikipedia.org/wiki/Arachne_(web_browser) https://en.m.wikipedia.org/wiki/Arachne_(web_browser) It could run in CGA, really
- snvzz 3y agoMicroWeb[0] similarly provides a DOS web browser that works on CGA today. 0. https://github.com/jhhoward/MicroWeb https://github.com/jhhoward/MicroWeb