Hi, I'm trying to figure out how to get the framebuffer working on my beagleboard using the spectrum example. I noticed the following errors in my bootstrap log: mag | l4drv: Could not find driver for OMAP_TSC. mag | l4drv: Could not find driver for OMAP_KP. spectrum| x:640 y:480 bit/pixel:16 bytes/line:960 Please see [1] for the full log. How do I fix this? How do I include those drivers? Anyway, are any further steps required to make the LCD work? Because here [2], Adam says that U-Boot should configure my LCD display and that l4fb uses those settings. Hope you can help me. Thanks Giorgio [1] http://pastebin.com/RH2WBy1U [2] http://os.inf.tu-dresden.de/pipermail/l4-hackers/2011/004869.html and http://os.inf.tu-dresden.de/pipermail/l4-hackers/2011/005009.html my config files: ----------------------------------------------------------------------- arm-bb-lcd.io gui => new System_bus() { #KBD => wrap(hw-root.KBD); #MOUSE => wrap(hw-root.MOUSE); } fbdrv => new System_bus() { CTRL => wrap(hw-root.CTRL); LCD => wrap(hw-root.LCD); } ----------------------------------------------------------------------- arm-omap4.devs hw-root { CTRL => new Device() { .hid = "System Control"; new-res Mmio(0x48002000 .. 0x48002fff); new-res Mmio(0x48004000 .. 0x48004fff); } prcm => new Device() { .hid = "OMAP PRCM"; new-res Mmio(0x48004000 .. 0x48004fff); new-res Mmio(0x48005000 .. 0x48005fff); } gpio => new Device() { .hid = "GPIO"; new-res Mmio(0x48004000 .. 0x48004fff); new-res Mmio(0x48310000 .. 0x48310fff); new-res Mmio(0x49050000 .. 0x49050fff); new-res Mmio(0x49052000 .. 0x49052fff); new-res Mmio(0x49054000 .. 0x49054fff); new-res Mmio(0x49056000 .. 0x49056fff); new-res Mmio(0x49058000 .. 0x49058fff); } LCD => new Device() { .hid = "OMAP_LCD"; new-res Mmio(0x48050000 .. 0x48050fff); } i2c1 => new Device() { .hid = "I2C"; new-res Mmio(0x48070000 .. 0x48070fff); } } ----------------------------------------------------------------------- arm-bb-lcd.cfg require("L4"); local l = L4.default_loader; local io_buses = { gui = l:new_channel(); fbdrv = l:new_channel(); }; l:start({ caps = { gui = io_buses.gui:svr(), fbdrv = io_buses.fbdrv:svr(), icu = L4.Env.icu, sigma0 = L4.cast(L4.Proto.Factory, L4.Env.sigma0):create(L4.Proto.Sigma0), }, log = { "IO", "y" }, l4re_dbg = L4.Dbg.Warn, }, "rom/io rom/arm-omap3.devs rom/arm-bb-lcd.io"); local fbdrv_fb = l:new_channel(); l:startv({ caps = { vbus = io_buses.fbdrv, fb = fbdrv_fb:svr(), }, log = { "fbdrv", "r" }, l4re_dbg = L4.Dbg.Warn, }, "rom/fb-drv", "-c", "1024 565 bgr"); local mag_caps = { mag = l:new_channel(), svc = l:new_channel(), }; l:start({ caps = { vbus = io_buses.gui, fb = fbdrv_fb, mag = mag_caps.mag:svr(), svc = mag_caps.svc:svr(), }, log = { "mag", "g" }, l4re_dbg = L4.Dbg.Warn, -- scheduler = L4.Env.user_factory:create(L4.Proto.Scheduler, 0xa0, 0x80), }, "rom/mag"); e = l:start({ caps = { fb = mag_caps.svc:create(L4.Proto.Goos, "g=640x480"), }, log = { "spectrum", "b" }, l4re_dbg = L4.Dbg.Warn, -- scheduler = L4.Env.user_factory:create(L4.Proto.Scheduler, 0x18, 0x8), }, "rom/ex_fb_spectrum"); print("ex_fb_spectrum exited with: " .. e:wait());