Hi everybody,
We are working on
L4, currently especially on the graphical aspect. As we love NitPicker
(NitPicker is cool ;)), we want to use it to run L4Linux on top on
it.
So we have started
with a Linux installation (Gentoo Linux), after what we have installed Fiasco,
L4Env and L4Linux (2.6.20, next 2.6.21, on top on our recently installed
Gentoo, reusing its filesystem). To test our installation, we first use L4Con,
but the mouse moves were extremely slow; so next we use DOpE, and it was
cool, all worked (network and hard disk via L4Linux, not Ore... Oh is there
exist a multiplexer, as Ore, for hard disk ?). But of course, the
desktop-in-window aproach does not fully satisfied us, we want a fullscreen
aproach so we start investigating on NitPicker.
First we compiled
the nitpicker-client ovlwm server, nitovlwm. Then we install into the L4Linux
the lxevent program, started after Linux kernel boot, with creation of
/dev/lxevent, and the ovltrack program, started via .xinitrc. We had to change a
little the Makefile of ovltrack by adding the -Bdynamic option in LIBS. We
compiled and generated lxevent_drv.o (X.org mouse driver in xorg.conf). The last
step was generating the X.org screen driver, ovlscreen_drv.o. The changes toward
previous versions occurs at this step, as now X.org is modular and consists in
several small packages. But after resolving a lot of include path problems,
importing the needed X.org package to compile the driver, we got the driver
ovlscreen_drv.o compiled and copy it into the L4Linux filesystem, modifying
xorg.conf to use this driver.
Also we use NitDope,
so L4fb driver in L4Linux that creates /dev/fb0.
Then we boot our
L4-based system, NitPicker, NitDOpE and L4Linux, all start, all was right. The
problems come when starting X.org. Indeed, X.org started, the window manager
also (WindowMaker), in fact all works... excepts refresh ! Indeed when
moving the mouse on a L4Linux window, the window content is not refreshed,
resulting in an unusable window. But clicking outside the window forces the
refresh.
We know that with
DOpE, the refresh is automatic, periodic and so it was working for us. But with
NitPicker, we know that the refresh only occurs if a change is made in the
client. What we don't know is how this refresh is done, who is responsible for
it (ovlscreen, ovltrack, nitovlwm ?), and which are the impacts of using a
modular X.org in this process....
Is someone can give
us some tips on how to make the refresh to occur ? Or details about event
forwarding ? Is there other changes to be made that we missed
?
Any help
will be grateful appreciated. Thanks.
--
Nicolas
Clermont