exploring Mesa in Genode

Norman Feske norman.feske at ...1...
Sun Sep 6 20:57:38 CEST 2015


Hi Jamey,

On 05.09.2015 03:01, Jamey Sharp wrote:
> Alright, I've found a Dell Latitude D620, which has a physical serial
> port and Intel 945 integrated graphics. The eglgears demo runs when
> built from Genode 14.05, and I can see from the console output that
> it's hardware accelerated. So that's great!

great that you got it working! I admire your perseverance. :-)

> My guess is that the fastest way I can prototype separating the driver
> into its own address space is to modify the old linux_drivers code,
> rather than trying to port the modern Intel driver from a current
> Linux kernel release. But I'd prefer to work against Genode master, if
> that isn't too much work to throw at a prototype.
> 
> What would it take to forward-port the old linux_drivers code from
> 2010 into dde_linux on current Genode master? (Or should I just build
> a throwaway demo against 14.05 to prove the concept, and help with
> porting the modern Intel driver later?)

Forward-porting the old driver involves the following aspects:

* Replacing the code that relies on the no-longer-available DDE Kit
  (in lx_emul.cc) or reverting the commit that removed DDE-Kit.

* Adjusting the driver to use the new platform driver instead of
  the old PCI driver. E.g., now, after the transition to the new
  platform driver, we allocate memory for DMA buffers at the
  platform driver instead of talking to core's RAM service. To see
  how this works, I recommend looking into the drivers in the
  dde_linux repository.

* Change repos/libports/src/lib/egl/select_driver.cc to return
  the name of the driver library ("gallium-i915.lib.so"). The
  original probing code used to scan the PCI bus for the supported
  Intel GMA device IDs but we removed the code some months ago.
  For your work, I would drop the probing and just hard-wire the
  driver name.

Regarding your question on how to proceed, it depends on your
priorities. If you want to work on the actual problem of splitting the
driver from the application right away, I'd recommend to base your work
on 14.05. In the meanwhile, someone at our team could look into the
forward-porting of the old driver. So you wouldn't need to waste your
time with following the recent history of our platform driver. On the
other hand, if you are eager to learn more about Genode
architecturally-wise, getting your hands dirty with the forward-porting
work might provide you with insights about Genode.

> As one experiment in that direction, I tried running eglgears built
> from Genode 14.11, which I guess was the last release that had
> dde_kit. Even with the patch to not free a static array, it opens a
> blank window. The console output stops after these messages:

At that time, we transitioned to our new dynamic linker. I remember
that we had a few remaining dynamic-linking issues even after 14.11,
which may have affected the eglgears scenario. With the current master
branch and your fix (in issue 1670), the eglgears.run script works well
using the softpipe driver. I won't bother with 14.11 at this point.

Cheers
Norman

-- 
Dr.-Ing. Norman Feske
Genode Labs

http://www.genode-labs.com · http://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth




More information about the users mailing list