exploring Mesa in Genode

Jamey Sharp jamey at ...343...
Thu Sep 3 23:22:29 CEST 2015


Hooray, eglgears runs on this old Thinkpad when I build it from Genode
14.05 and the 12.11 toolchain! Until I get a serial console I guess I
can't tell for sure whether it's using softpipe or hardware
acceleration, though.

Based on the stack trace you got, I debugged the problem with eglgears
on the newer toolchain (it attempted to pass statically allocated data
to free()) and included a trivial patch in the GitHub issue you
opened.

Applying that patch makes the eglgears demo work under qemu on Genode
14.11, but the window is still black on my test machine. I guess I
need a serial console to troubleshoot that, too.

My current test laptop has a CardBus slot but not ExpressCard, as far
as I can tell; does that matter? There's nothing in its BIOS about
turning on AMT so I'm guessing it doesn't have that. I'm trying to
scrounge up other laptops now with either of those options and
sufficiently old Intel graphics.

Jamey

On Thu, Sep 3, 2015 at 8:59 AM, Norman Feske
<norman.feske at ...1...> wrote:
> 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
>
> ------------------------------------------------------------------------------
> Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
> Get real-time metrics from all of your servers, apps and tools
> in one place.
> SourceForge users - Click here to start your Free Trial of Datadog now!
> http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140
> _______________________________________________
> genode-main mailing list
> genode-main at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/genode-main




More information about the users mailing list