starting mag in l4con virtual console

Adam Lackorzynski adam at os.inf.tu-dresden.de
Mon Jun 25 23:40:14 CEST 2012


Hi,

On Mon Jun 25, 2012 at 04:51:00 +0400, Valery V. Sedletski wrote:
> I'm now experimenting with l4con from l4re. I found that now l4con
> is exporting the console access via Goos interface. And l4dope is
> started in Mag buffer. And equally, because l4con exports the same
> interface, it can be started in l4con virtual console. I tried that,
> it works perfectly.
> 
> Then I tried the same with Mag in l4con buffer. -- It even starts,
> but the mouse isn't moving.
> 
> I looked into Mag source, and discovered that Mag has plugins. But I
> have no idea how to use them. Can you give me a hint?
> 
> Also, I found that there is two input plugins, one of them using
> event interface, other using libinput library. I suspect that I must
> to use the event one, but how?

Yes. It's somewhat automatic. The input-plugin will not work if there's
no vbus, and the event plugin will work when it finds 'ev'.

> I start Mag the same way as DOpE. The single difference from the
> usual way of starting Mag is that vbus cap is missing (I gave the
> vbus cap to l4con, so, I think that Mag should not access input
> devices directly via vbus_input, but what instead?)
> 
> So, I have the following output from Mag:
> 
> [32mmag     | libio: Warning: Query of 'vbus' failed![0m
> [32mmag     | Hello from MAG[0m
> [32mmag     | mapped frame buffer at 0x400000[0m
> [32mmag     | View::Info:[0m
> [32mmag     |   flags: 0[0m
> [32mmag     |   size:  800x582  pos: 0, 0[0m
> [32mmag     |   bytes_per_line: 1600[0m
> [32mmag     |   buffer_offset:  0[0m
> [32mmag     |   RGBA(2): 5(11):6(5):5(0):0(0)[0m
> [32mmag     |   memory 400000-4e3580[0m
> [32mmag     | L4INPUT native mode activated[0m
> [37ml4con   | vc[4] 800x600 at 16, bpl:1600, gmode:0x0 save:1[0m
> [32mmag     | L4INPUT:                !!! W A R N I N G !!![0m
> [32mmag     | L4INPUT:  Please, do not use Fiasco's "-esc" with L4INPUT.[0m
> [32mmag     | L4INPUT:                !!! W A R N I N G !!![0m[32m[0m
> [32mmag     |
> /media/os2l/var/src/genode/l4re/svn/l4/pkg/input/lib/src/init.c:110:
> failed l4input_internal_i8042_init(): -16[0m
> 
> I found in the event input plugin source that it requires the "ev"
> cap. But where I can get it from?

The framebuffer is actually a L4Re::Console which is a combination of
the Goos interface and events. So just use the same for both.
 
> I start Mag this way:
> 
> loader = L4.default_loader;
> ...
> local mag_svc = loader:new_channel();
> 
> -- Start mag
  local conwin = con_svc:create(L4.Proto.Goos, "g=800x600");
> loader:start(
>   {
>     caps = {
        fb = conwin;
	ev = conwin;
>       svc = mag_svc:svr();
>     },
>     l4re_dbg = L4.Dbg.Warn,
>     log = {"mag", "green"},
>    },
>    "rom/mag");



Adam
-- 
Adam                 adam at os.inf.tu-dresden.de
  Lackorzynski         http://os.inf.tu-dresden.de/~adam/




More information about the l4-hackers mailing list