Slashdot Mirror


FourHead: One PC, Four Users

LoganGD writes "A reseach group from UFPR university in Brazil, C3SL has managed to make one Linux box run four terminals at the same time. That means four mice, keyboards, displays and users with just one CPU. The way they managed to do that can be found at the FourHead project webpage. The fact that one computer science laboratory can suport up to 60 users whit only 15 PCs is really attractive for low-resource groups and countries."

7 of 496 comments (clear)

  1. Multi-headed Computer by pantherace · · Score: 5, Interesting
    I have looked at this... the problem is the way Linux handles the keyboard... To Linux, all keyboards are the same. If there was some way to either tell X to ignore all KBs except some, or have the kernel map them (say /dev/input/kb0 /dev/input/kb1) similar to how mice are done, this would not be a problem at all.

    Also, you don't need 4 cards, You could do it with two. NVidia's twinview allows you to run two seperate X-servers off of one card (provided of course that it has two outputs).

    1. Re:Multi-headed Computer by plaa · · Score: 5, Interesting

      Not relating directly to the above, but I think this may interest some people:

      When I got a dualhead card, I knew that I wanted two separate desktops, between which I can switch with a hotkey, not by scrolling the mouse to the other display (I wanted to use virtual desktops on both). I was astounded that I could find absolutely no way of doing this, and no references to it on the Net.

      The best I could do was make the screens separate and stop the mouse from going from the edge of one display to another, but then I found no way of moving the pointer to the other screen.

      After a few months I found a suitable function call in the X libraries and wrote a small program, switchscreen, to switch between the displays. Now I've got two totally separate desktops between which I can move with a simple alt-tab.

      You can read the details for configuring your X system like this in the README file included in the package.

      --

      I doubt, therefore I may be.
  2. My favorite line by Froze · · Score: 5, Funny

    Initially it is necessary to catch the code source of kernel 2.4.25. Makes it sound like an adventure.

    --
    -- The morphemes of your disquisition are ascertainable, but they have eschewed an ambit of transpicuous exposition.
  3. Hate to burst your bubble... by Anonymous Coward · · Score: 5, Insightful
    But not everyone runs top of the line NVIDIA cards. I imagine the cards in this box are probably low budget Geforce 2's. Probably MX 200's. Might even be lower cards then that, since why do they need hardware 3d?

    I don't think anyone could argue that these create massive amounts of heat. What heat they do create can easily be exhausted by a case fan.

    This is definitely a setup for an environment where people are literally running on a shoestring budget. This is a really nice ability, and I'm glad someone has done it.

  4. Been there, done that by Uninen · · Score: 5, Funny

    Man, this is old news. We did this few years ago with five or more people on one machine. All we needed was a really small computer class, some free chairs, one PC, one keyboard, one mouse and one display.

    Fastest (or strongest) got the best seats and the one with specs got the keyboard.

    Talking about multi-tasking...

  5. Great gamer machine. No latency! by Animats · · Score: 5, Interesting

    This sounds like a multiplayer gamer configuration. Unlike most shared-CPU systems, everybody has a 3D video card, although they have to be PCI boards. With everybody on the same CPU, latency is a non-issue. Fast FPS games should synchronize perfectly. That tightly synchronized feel will make for much better head to head gameplay.

  6. They're TNT2, and hardware GLX is supported... by Anonymous Coward · · Score: 5, Informative

    Just here to let you know, this 4-user setup defined in this forum's topic is using four nVidia TNT2 graphics accelerators! These are better than GeForce graphics accelerators for driver-related reasons. Way back in the maturation of XFree86, with version 3.3.6, it is possible then and a throughout the 3.x XFree86 branch to configure XFree86Config to "Load """ Utah-GLX's nvidia driver to attain hardware-accelerated openGL. This is a completly different driver approach than DRI's openGL SAL. Utah-GLX provides X Server modules rather than its various competitors providing a /usr/lib/libGL.so.* and any non-standard patch cludged into the X Server. DRI project's openGL acceleration architecture at the moment may also allow mutliple local X Servers, albeit that of the various non-XFree86 such as the capable technology at DirectFB project (which allows accelerated openGL without a X Server; directly using the DRI without an X Server).

    Backtracking to Utah-GLX's driver (project page here, this will allow many complex openGL-phile programs to run at the same time given its architecture. I, however, doubt that older XFree86 3.3.6 will scale to this feat; I simply don't know. Yet, the Utah-GLX driver system has been ported to XFree86-4.x; it is a openGL GLX driver package in the form of dynamically loaded X Server modules/extensions and can be manipulated into and without the X Server without having to restart the X Server. It's somwhat parallel to the DRI driver, to provide an alternative, but it is not being maintaned anymore; Utah-GLX is dead and someone needs to commandeer!

    I am using three Athlon Thunderbid 700MHz computers with a total 9 nVidia TNT2 adaptors total (three per computer), S-Video composite output to NTSC televisions, and quad-bonded 100BaseTX ZNYX LAN adaptors for verry low-latency threaded shared openGL rendering; I use as Chromium 3D videowalls, by using XFree86 4.3 and Utah-GLX's nVidia openGLX driver.

    And yes, Quake3 looks hot!