Backstreet Ruby is a kernel patch for the Linux kernel. It is a back port to Linux-2.4 of the Ruby kernel tree, which is developed by the Linux Console Project. The aim of the Linux Console developers is to enhance and reorganize the input, the console and the framebuffer subsystems in the Linux kernel, so they can work independent from each other and to allow multi-desktop operation. All this is done in the Ruby kernel tree which is based on the development Linux-2.5 kernel. The new Input subsystem and the new Framebuffer layer are already integrated in Linux-2.5 kernel, but as the main developer of the Linux Console Project, James Simmons, is too busy with completing the rewrite of the framebuffer layer in Linux-2.5, the multi-desktop operation will not be integrated in the next stable Linux kernel (Linux-2.6).
So Backstreet Ruby brings to the current stable Linux kernel (Linux-2.4) the enhanced input subsystem and the ability to use multiple graphic cards and multiple keyboards independently, in order to make multiple local XFree users on a single PC system possible.
You can have multiple independent graphic cards and multiple independent mice, but in order for multiple users to interact with the system, they do need independent keyboards as well. Multiple independent keyboards is the feature that Linux-2.4 (and in the future Linux-2.6) lacks, and this is what Backstreet Ruby adds to the stable Linux kernel Linux-2.4.
The entire work on back porting Ruby to Linux-2.4 is done by Aivils Stoss. <Aivils.Stoss (at) unibanka.lv>
Aivils got recently his hands on Ruby, and now Ruby is fully functional[1] too, so if you prefer the Linux-2.6 kernel you might use Ruby instead of Linux-2.4 + Backstreet Ruby.
Visit his web site for more information on the patch itself, on the current status, how to build a kernel using his patch or how to build modified XFree86 server.
You can find it here: http://startx.times.lv
There are also several mirrors
in the United States:
in Germany:
in the United Kingdom:
The address of the Linux Console Project is: http://linuxconsole.sf.net
" What are the advantages/disadvantages of the 2.4 patch/ kernel against the 2.5 one"
Well the 2.4 Linux kernel is really stable and most of the distributions are build on it, the 2.6 kernel is still in development and to my knowledge there is no distribution which supports 2.6 "out of the box".
The 2.4 patch is more tested/used so there should be less bugs(AFAIK there are no bugs added by the patch itself), but the 2.4 patch do not support framebuffer devices.
The 2.6 patch supports framebuffer devices[2], framebuffer console support is included (for a single video card -- no multi-user console support yet), so you could use a single dual-headed card which registers 2 framebuffers for 2 users/ X sessions, but the 2.6 patch is not really tested and may have a lot of bugs, the 2.6 kernel itself is not very stable.
And if you use the framebuffer driver of XFree with such a card (for example Matrox G550 DH) two get 2 X sessions on a single graphic card, you loose a lot of features as the XFree framebuffer driver do not support acceleration, DRI, XVideo extentions ....
[1] | All the features in Backstreet Ruby are included ( "/proc " interface & hot-plugging, video hack, ...), support for Framebuffer devices, support for single Framebuffer console which takes over the VGA console (support for multiple independent Framebuffer consoles is not yet implemented) |
[2] | The Ruby patch doesn't modify framebuffer device related code so if your video card is supported from vanilla Linux-2.6 it will work equally well under Ruby, but there are still a number of incomplete framebuffer drivers in Linux-2.6. |