exploring Mesa in Genode

Norman Feske norman.feske at ...1...
Thu Sep 3 17:59:27 CEST 2015


Hi Jamey,

On 03.09.2015 05:31, Jamey Sharp wrote:
> Thanks to your pointers, Norman, I've gotten as far as building Genode
> 14.11 for nova_x86_32 with the eglgears run script, with i915 added to
> SPECS.
> 
> I've booted the resulting .iso on a couple of Thinkpads from various
> eras, as well as in qemu of course. I don't actually get any gears
> rendering on any of them.
> 
> I don't expect it to work right under qemu since I don't think Intel
> integrated graphics is emulated there, but it's the only way I know to
> get debugging output so far. Under qemu, I see the following output:
> 
> [init -> launchpad -> init -> eglgears] native_probe*
> native_create_probe(EGLNativeDisplayType): not yet implemented dpy=0
> [init -> launchpad -> init -> eglgears] native_probe_result
> native_get_probe_result(native_probe*): not yet implemented
> [init -> launchpad -> init -> eglgears] falling back to softpipe driver
> [init -> launchpad -> init -> eglgears] returned from init display->screen
> [init -> launchpad -> init -> eglgears] no plugin found for fcntl(2)
> [init -> launchpad -> init -> eglgears] no plugin found for write(2)
> [init -> launchpad -> init -> eglgears] called, return 1 connector
> no RM attachment (READ pf_addr=9 pf_ip=481c4 from a2bfefc6 eglgears)
> virtual void Genode::Signal_session_component::submit(Genode::Signal_context_capability,
> unsigned int): invalid signal-context capability
> static void Genode::Pager_object::_page_fault_handler(): unhandled
> page fault, 'pager:eglgears' address=0x9 ip=0x481c4
> 
> So under qemu I guess eglgears crashes by dereferencing a bogus
> pointer. How can I get this console output on real hardware, to see if
> it's crashing the same way?

thank you for the log. I can see two things: First, eglgears fails to
probe for the Intel GMA PCI device, which is just expected as you are
executing the run script on Qemu. If falls back to the softpipe driver.
The second issue indeed looks like a de-referenced NULL pointer. I can
reproduce it with the current master branch of Genode. It even occurs on
Linux, where I was able to obtain a backtrace. I just created the
following issue for it:

  https://github.com/genodelabs/genode/issues/1670

While investigating, I tried various prior versions of Genode, including
the versions 14.11 and 14.05. Interestingly, all the tested versions
fail in the same way. However, once I installed the old tool chain (the
one built by the tool/tool_chain script for the respective version),
things started to look a bit brighter. E.g., with Genode 14.05 and the
tool chain of the this version, the eglgears.run script works on Qemu
(on NOVA, I had to increase the memory assignment in the launchpad a
bit). I haven't tested it on real hardware though.

So the issue seems somehow to be related to the tool chain.
Unfortunately, the backtrace does not point to an obvious problem. We'll
need to investigate.

In the meanwhile, could you try to give Genode 14.05 (with the
corresponding tool chain) a spin?

Regarding your question about obtaining the log output on real hardware,
you have two options:

* Use a machine with Intel Active Management Technology (AMT), which
  allows you to transfer the serial output over the network.

* Install a serial ExpressCard (if your laptop has such a slot).

Our run tool supports both options.

> Also, Norman, do you remember exactly which hardware you tested this
> code on in 2010? I grabbed an old Thinkpad to try to match your setup
> more closely, so my test box has Intel 945GM graphics (PCI ID
> 8086:27a2) and a 32-bit Core Duo CPU. I may have gone a little too far
> back as it's a 2006 model, perhaps?

The machine looks fine. I successfully tested the eglgears.run script on
a 945GM device.

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