| Summary: | Crownbay BSP fails to load AIGLX | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] BSPs | Reporter: | Marc Ferland <marc.ferland> | ||||||
| Component: | bsps-configuration | Assignee: | Tom Zanussi <tom.zanussi> | ||||||
| Status: | RESOLVED FIXED | QA Contact: | |||||||
| Severity: | normal | ||||||||
| Priority: | Medium | CC: | dvhart, sgw, yp.bsp.watcher, yp.watcher | ||||||
| Version: | 1.0 | ||||||||
| Target Milestone: | 1.1 | ||||||||
| Hardware: | Other | ||||||||
| OS: | x86 | ||||||||
| Whiteboard: | laverne with same binaries and master with emgd 1.61 ok, investigating bernard | ||||||||
| OS type for building Yocto: | --- | Type of Regression: | --- | ||||||
| Verified: | Documentation change: | --- | |||||||
| Attachments: |
|
||||||||
|
Description
Marc Ferland
2011-04-12 07:43:11 UTC
Created attachment 137 [details]
Xorg log file (bernard)
Adding Xorg log file.
Created attachment 138 [details]
Xorg log file (laverne)
Adding Xorg log file (laverne).
This new message is also appearing in bernard: ... drmOpenByBusid: Interface 1.4 failed, trying 1.1 ... Tom, this looks like a bug fix appropriate to 1.1 to me. Would you agree? swrast_dri.so should be pulled in by the latest mesa (7.10). Probably adding a PREFERRED_VERSION for mesa-7.10 in the crownbay recipe should fix it. I can try to reproduce and fix this, or you can, Darren if you want. BTW, we did test glxgears before shipping, so things should basically work if the right stuff gets pulled in. I'm performing test builds now. Having trouble building, the emgd-bin .so files can't be found. I tried the crownbay-bernard-5.0 BSP, it didn't have them either. What is the proper way to build the crownbay BSP with emgd graphics? So the problem as I understand it is: (EE) AIGLX error: emgd exports no DRI extension (EE) AIGLX: reverting to software rendering (II) AIGLX: Screen 0 is not DRI capable (EE) AIGLX error: dlopen of /usr/lib/dri/swrast_dri.so failed (/usr/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory) (EE) GLX: could not load software renderer But the reason it is looking for swrast_dri.so is because the the emgd driver is not exporting a DRI extension and it is reverting to software rendering. Having it not find swrast_dri.so is a secondary problem I think, the primary problem being that emgd is not find a DRI extension. In laverne, the AIGLX log read more like this: (II) AIGLX: enabled GLX_MESA_copy_sub_buffer (II) AIGLX: enabled GLX_SGI_make_current_read (II) AIGLX: GLX_EXT_texture_from_pixmap backed by buffer objects (II) AIGLX: enabled GLX_SGI_swap_control and GLX_MESA_swap_control (II) AIGLX: Loaded and initialized /usr/lib/dri/emgd_dri.so (II) GLX: Initialized DRI2 GL provider for screen 0 The emgd_dri.so library does exist in the bernard build, which it would find if the DRI extension was exported. Do I have this right? (I was able to build poky-image-sato with the EULA'd crownbay-bernard-5.0 image from yoctoproject.org) (In reply to comment #8) > So the problem as I understand it is: > > (EE) AIGLX error: emgd exports no DRI extension > (EE) AIGLX: reverting to software rendering > (II) AIGLX: Screen 0 is not DRI capable > (EE) AIGLX error: dlopen of /usr/lib/dri/swrast_dri.so failed > (/usr/lib/dri/swrast_dri.so: cannot open shared object file: No such file or > directory) > (EE) GLX: could not load software renderer > > But the reason it is looking for swrast_dri.so is because the the emgd driver > is not exporting a DRI extension and it is reverting to software rendering. > Having it not find swrast_dri.so is a secondary problem I think, the primary > problem being that emgd is not find a DRI extension. In laverne, the AIGLX log > read more like this: > > (II) AIGLX: enabled GLX_MESA_copy_sub_buffer > (II) AIGLX: enabled GLX_SGI_make_current_read > (II) AIGLX: GLX_EXT_texture_from_pixmap backed by buffer objects > (II) AIGLX: enabled GLX_SGI_swap_control and GLX_MESA_swap_control > (II) AIGLX: Loaded and initialized /usr/lib/dri/emgd_dri.so > (II) GLX: Initialized DRI2 GL provider for screen 0 > > The emgd_dri.so library does exist in the bernard build, which it would find if > the DRI extension was exported. Do I have this right? I think you're right. Even if the software rasterizer was indeed present, it wouldn't be that useful. The problem is really that no _accelerated_ OpenGL providers exists in bernard. (In reply to comment #5) > swrast_dri.so should be pulled in by the latest mesa (7.10). Probably adding a > PREFERRED_VERSION for mesa-7.10 in the crownbay recipe should fix it. I can > try to reproduce and fix this, or you can, Darren if you want. > > BTW, we did test glxgears before shipping, so things should basically work if > the right stuff gets pulled in. As it turns out, mesa-dri_7.10 is built and the work dir has swrast_dri.so, but it isn't installed to the final root image. I compared the kernel .configs between laverne and bernard and didn't see any difference, so the change must be due so some other graphics package. Switching back to mesa 7.8 didn't fix the problem. Switching to emgd 1.6.1 and 1.9.3 xserver doesn't show a problem: [3765742.291] (II) AIGLX: enabled GLX_MESA_copy_sub_buffer [3765742.291] (II) AIGLX: enabled GLX_INTEL_swap_event [3765742.291] (II) AIGLX: enabled GLX_SGI_make_current_read [3765742.291] (II) AIGLX: GLX_EXT_texture_from_pixmap backed by buffer objects [3765742.291] (II) AIGLX: Loaded and initialized /usr/lib/dri/emgd_dri.so [3765742.291] (II) GLX: Initialized DRI2 GL provider for screen 0 Though it does show the warning: [3765742.254] drmOpenByBusid: Interface 1.4 failed, trying 1.1 which apparently is not important for this bug. Switching the bernard kernel into the laverne image, everything is fine. Fixed by meta-intel/bernard commit 651ca742a0ba5a1bbc216914195f79b644e48b30 Output from Xorg.0.log: (II) AIGLX: enabled GLX_MESA_copy_sub_buffer (II) AIGLX: enabled GLX_SGI_make_current_read (II) AIGLX: GLX_EXT_texture_from_pixmap backed by buffer objects (II) AIGLX: enabled GLX_SGI_swap_control and GLX_MESA_swap_control (II) AIGLX: Loaded and initialized /usr/lib/dri/emgd_dri.so (II) GLX: Initialized DRI2 GL provider for screen 0 Also successfully ran glxgears and got expected output from glxinfo. |