Is there a "how-to" on configuring the X Windowing System for running under dope? If not, I'd be happy to write one up afterwards, if someone could help me through the process...
I am interested in running the X Windowing System from within L4Linux on my existing DROPS workstation (currently using my existing distribution -- Debian Sarge) on native hardware.
With Adam's previous help, I have managed to get everything else (fiasco, dope, l4linux with networking) up and running perfectly fine. Thanks!
I see from the Nitpicker demo on the Demo CD, that xorg.conf is configured to run the OvlScreen device driver, and xinitrc runs an ovltrack process, however i didn't see these binaries get built as part of the usual drops build process.
I did find an ovlscreen.c in the examples directory... is there a separate build process for generating the binaries to use under l4linux? How can I build ovlscreen and ovltrack for my system?
Is Nitpicker required or is it optional? I noticed there is now an l4ovlwm, in addition to the nitovlwm binary referenced by the demo cd -- however, i don't see a nitdope binary that the demo cd references. Has this been integrated directly into l4dope, or perhaps no longer supported?
Am I missing other pieces as well?
Thanks in advance for any help you might offer!
-Mike
Hi,
On Fri Mar 23, 2007 at 22:33:15 -0700, SwiftBoo wrote:
Is there a "how-to" on configuring the X Windowing System for running under dope? If not, I'd be happy to write one up afterwards, if someone could help me through the process...
I am interested in running the X Windowing System from within L4Linux on my existing DROPS workstation (currently using my existing distribution -- Debian Sarge) on native hardware.
With Adam's previous help, I have managed to get everything else (fiasco, dope, l4linux with networking) up and running perfectly fine. Thanks!
The easiest way is to just use the fbdev X driver which uses the framebuffer interface provided by the l4fb driver in L4Linux. This driver also takes care of the input. The responsiveness of the X system depends on the refresh rate of the whole frame buffer, so you may want to adjust it. Use l4fb.refreshsleep=40 on the L4Linux kernel command line to change to 25 fps. 10 fps default.
I see from the Nitpicker demo on the Demo CD, that xorg.conf is configured to run the OvlScreen device driver, and xinitrc runs an ovltrack process, however i didn't see these binaries get built as part of the usual drops build process.
I did find an ovlscreen.c in the examples directory... is there a separate build process for generating the binaries to use under l4linux? How can I build ovlscreen and ovltrack for my system?
Those are not built automatically but you should be able to build them on your own. Just go to (e.g.) overlay_wm/examples/xf86screen and do the usual 'make O=...'. As this is an X driver you'll also need X sources to compile against.
Is Nitpicker required or is it optional? I noticed there is now an l4ovlwm, in addition to the nitovlwm binary referenced by the demo cd -- however, i don't see a nitdope binary that the demo cd references. Has this been integrated directly into l4dope, or perhaps no longer supported?
Nitpicker is optional in the sense that you may also leave it out and just use DOpE alone. nitdope is built in nitpicker/examples/nitdope but is currently tagged to not be built automatically. It might work though. I fear this stuff is quite a bit experimental. Maybe someone else also likes to comment on that.
Adam
Hello,
SwiftBoo wrote:
Is there a "how-to" on configuring the X Windowing System for running under dope? If not, I'd be happy to write one up afterwards, if someone could help me through the process...
I am interested in running the X Windowing System from within L4Linux on my existing DROPS workstation (currently using my existing distribution -- Debian Sarge) on native hardware.
As Adam already mentioned, there are two ways to X11 on DROPS.
1 You can use the Linux Framebuffer. This is the easiest way because you do not need to customize X11 and your xorg.conf. However, with this solution, the l4fb driver in the L4Linux kernel has to refresh the whole screen periodically. These copy operations are expensive and are performed regardless if there is any graphical activity in X11 or not. Furthermore, this approach is limited to the classical desktop-in-a-window mode of operation.
2 You can use Nitpicker with my custom drivers. This solution provides much better performance because screen updates are only performed when X11 is actually drawing something. This solution also enables you to have X11 merged with DOpE windows into one Desktop as seen on the Demo CD.
Some time back, I have answered a similar request a yours with the following description of how Nitpicker interacts with X11:
---
For integrating X11, I had to face the problem that for X11 on Linux, the input handling, frame buffer driver, and view handling are provided by distinct processes (on L4, they are having different thread IDs) but belong to one and the same Nitpicker session. Nitpicker differentiates sessions by the IPC sender thread ID.
Therefore, I introduced a mediating component called OvlWM that is a Nitpicker client and, in turn, provides three interfaces (screen, input, window) that can be used by different processes. You can find the interfaces of screen, input, and window at
l4/pkg/overlay_wm/idl
The implementation of OvlWM for Nitpicker is here:
l4/pkg/nitpicker/examples/nitovlwm
For OvlWM clients, there exist convenience libraries, which wrap the OvlWM interface. The libraries are located at
l4/pkg/overlay_wm/lib
Based on these libraries, I created a X11 screen driver as a XFree/Xorg driver module:
l4/pkg/overlay_wm/examples/xf86screen
For the input, I created two things: First, there is a Linux program that receives input events from OvlWM, translates them to /dev/input/event-compatible events, and writes them to a named pipe. The source code for this program is here:
l4/pkg/overlay_wm/examples/lxevent
Second, I created a /dev/input/event-compatible driver for the X server:
l4/pkg/overlay_wm/examples/xf86input
I heard that recent versions of Xorg already feature a /dev/input/event driver. Thus, my custom driver may not be needed anymore. (I haven't tried lxevent with Xorg's /dev/input/event driver yet)
Finally, we need to track the X11 window state changes and forward them to the window interface of OvlWM. This is performed by a plain X11 client application that I start via .xinitrc. You find my X11 window event tracker here:
l4/pkg/overlay_wm/examples/xf86track
---
I see from the Nitpicker demo on the Demo CD, that xorg.conf is configured to run the OvlScreen device driver, and xinitrc runs an ovltrack process, however i didn't see these binaries get built as part of the usual drops build process.
I hope, these things are clearer now ;-)
I did find an ovlscreen.c in the examples directory... is there a separate build process for generating the binaries to use under l4linux? How can I build ovlscreen and ovltrack for my system?
Ovlscreen is a Xorg driver. When building, you need to specify the location of your Xorg sources. Please make sure that the gcc version that you use for compiling the driver matches the gcc version used for compiling Xorg on your Debian Sarge installation.
Is Nitpicker required or is it optional? I noticed there is now an l4ovlwm, in addition to the nitovlwm binary referenced by the demo cd -- however, i don't see a nitdope binary that the demo cd references. Has this been integrated directly into l4dope, or perhaps no longer supported?
There exists an experimental version of OvlWm for DOpE (at overlay_wm/server) but I recommend to use Nitpicker. BTW, Nitpicker + Nitdope is even faster than stand-alone DOpE. You find Nitdope at l4/pkg/nitpicker/examples/nitdope It is not built by default (there is a broken tag checked in) but you should be able to build it after setting the make variables DOPEDIR and DOPEOBJDIR in nitdope/l4/Makefile.
Best regards Norman
l4-hackers@os.inf.tu-dresden.de