Tiny Core Base > Raspberry Pi
Offering Xfbdev from XFree86 on PiCore
CNK:
As part of a project I'm working on I fixed a bunch of ARM/modern-Linux incompatibilities in the old XFree86 X server, so that now I have a version that runs on the Raspberry Pi. This includes the Tiny X framebuffer server Xfbdev, which currently isn't available on PiCore. Looking through the forum it seems that Tiny Core's stripped down version of Xorg's Xfbdev was tested on PiCore during initial development, but found to be unstable and therefore scrapped. I've tested my XFree86 Xfbdev on a Pi Zero and a Pi Zero 2 and not experienced any crashes, although the mouse acceleration needed some fiddling and still seems a little laggy (might just be to do with the wireless mouse I'm using).
I've tested a few programs, including Firefox running from a PC in a remote window (PiCore's firefox.tcz seg. faults for me on the Pi Zero 2 regardless of the X server used). Also Dillo, "Links -g", aterm, xeyes, twm. It seems stable. I've only tested on the composite video output so far though.
The current extension that I've got, which needs some minor modification to account for font paths, is 500KB, so that compares well with the xorg-server.tcz extension which is 2.63MB and depends on mesa.tcz which is 2.85MB. It's bigger than Tiny Core's Xfbdev extensions on x86 (340KB) and x86_64 (356KB) though, but has all the original Tiny X features like TCP support.
Anyway I thought it might be useful for people looking to start X faster on a Raspberry Pi. On the other hand it's not using Tiny Core's Tiny X codebase, so maybe that's too confusing (could name it something like xf86-Xfbdev.tcz though). Also the configuration might not work as well as on PC because PiCore seems to assume that Xorg is the only server available (jwm.tcz depends on Xorg.tcz, for example). It also lacks the Raspberry Pi optimised framebuffer driver that the Xorg server uses.
Basically, if there's interest then when I have time I can try to build a good extension for it. Or if it's not wanted because it'll cause confusion or something, then I won't. So let me know.
neonix:
I love Xfbdev becouse it works on GPUs that are not officially supported by Linux, but what's the point to create Xfbdev for Raspberry Pi if all Raspberry models have support for GPU hardware acceleration?
CNK:
--- Quote from: neonix on June 09, 2023, 12:42:30 PM ---I love Xfbdev becouse it works on GPUs that are not officially supported by Linux
--- End quote ---
Well I don't want to break up a love affair, but that's not really anything that Xorg (or the full XFree86) can't do for you. You just need to configure Xorg to load the "fbdev" (framebuffer) driver and it will also work with GPUs that don't have dedicated X drivers. The full X servers with fbdev also support GLX for many 3D applications (using software rendering), which Xfbdev doesn't.
The TinyX servers are basically stripped-down versions of the full X server glued to one particular driver from the full-size X server. So the fbdev driver becomes Xfbdev, and the vesa driver (on x86) becomes Xvesa (there are also hardware-specific TinyX drivers). The advantage is that this means they're smaller and faster than the full X server running the same drivers, and this difference is quite significant.
Maybe Xfbdev is easier to configure because there's only one driver option so you never need to tell X what driver to use in xorg.conf, but that's really not the point of it.
--- Quote ---but what's the point to create Xfbdev for Raspberry Pi if all Raspberry models have support for GPU hardware acceleration?
--- End quote ---
The point is as I said, faster loading time so a Pi, eg. in an embedded application (which might not have any fancy graphics), can boot faster. People have complained here before about the time it takes to load Xorg on a Pi, Xfbdev should load a lot faster for them. In fact this seems more relevent on the Pis these days (especially the Zeros) than on PC where performance of modern hardware is much better (although I recently set up TC 14 on an old PC where I still appreciated the quick start-up time of Xvesa). However nobody has replied here so I'm guessing either they all need one of the features that the full Xorg server offers, or they weren't really serious. Anyway I take it that I was wrong about my idea of there being a demand, so unless I really feel like mucking about with it again, I won't go to the effort of submitting extensions (on the other hand I also take it that nobody would object if I did).
Paul_123:
A nice stripped down version might be interesting. Getting Firefox to run a simple kiosk mode. NoThing 3d or accelerated.
aus9:
Hi CNK
I have updated privately jwm with Xorg but not submitted as other things to do. I have no problem if you would like to submit jwm built on your video driver. I will see if Paul_123 would allow me to then submit later, a jwm-Xorg.
Navigation
[0] Message Index
[#] Next page
Go to full version