| Summary: | Vivante GPU doesn't work with X11 | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] BSPs | Reporter: | Gary Thomas <gary> | ||||
| Component: | bsps-meta-fsl-arm | Assignee: | Otavio Salvador <otavio> | ||||
| Status: | VERIFIED FIXED | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | Medium+ | CC: | corneliux.stoicescu, diego.ml, sgw | ||||
| Version: | 1.6 | ||||||
| Target Milestone: | 1.6 | ||||||
| Hardware: | x86 | ||||||
| OS: | Multiple | ||||||
| Whiteboard: | |||||||
| OS type for building Yocto: | --- | Type of Regression: | --- | ||||
| Verified: | Documentation change: | No (bug/feature does not impact docs) | |||||
| Attachments: |
|
||||||
Hi Gary. I'm not an expert, but I think a clear distinction needs to be made for GLX and EGL. GLX is OpenGL only (NOT OpenGL ES): http://en.wikipedia.org/wiki/GLX and while Vivante does on paper support OpenGL: http://www.vivantecorp.com/index.php/en/technology/3d.html it is not actually supported by headers (and probably will never be), see bug #5098. (In reply to comment #0) > > The X11 server happy reports that it is using the Vivante libraries, > but I think there are problems. In particular, I see this message > in the log (complete log attached): > [ 53044.383] (EE) AIGLX error: vivante exports no extensions > (/usr/lib/dri/vivante_dri.so: undefined symbol: __driDriverExtensions) > [ 53044.383] (EE) AIGLX: reverting to software rendering This is normal, as AIGLX relies on GLX so in turn on OpenGL: http://en.wikipedia.org/wiki/AIGLX > > Then there are these messages which don't make much sense: > [ 53044.493] (II) GLX: Initialized DRISWRAST GL provider for screen 0 This talks about GLX and "SWRAST GL" which probably means "OpenGL software rasterizer", which make sense, as Vivante does not officially support GLX / OpenGL. > [ 53044.495] (II) VIVANTE(0): Setting screen physical size to 211 x 127 > (my physical screen is 800x480) Don't know why, but nothing GLX / OpenGL related here. > > Finally, when I run Google chrome, I get a slew of EGL related errors: > [2136:2136:0327/105115:ERROR:gl_surface_glx.cc(742)] glXChooseFBConfig > failed. > [2136:2136:0327/105115:ERROR:gpu_info_collector.cc(27)] > gfx::GLContext::CreateOffscreenGLSurface failed > [2113:2131:0327/105117:ERROR:browser_process_resource_provider.cc(52)] Not > implemented reached in > task_manager::BrowserProcessResource::BrowserProcessResource() > [ 1] libGAL: Performing a software resolve! > [2136:2136:0327/105117:ERROR:buffer_manager.cc(313)] > [.Compositor-0x3b7c34f8]GL ERROR :GL_INVALID_ENUM : glBufferData: <- error > from previous GL command > [2203:2203:0327/105117:ERROR:gl_surface_glx.cc(742)] glXChooseFBConfig > failed. > [2203:2203:0327/105117:ERROR:gpu_info_collector.cc(27)] > gfx::GLContext::CreateOffscreenGLSurface failed > [ 1] libGAL: Performing a software resolve! > [2203:2203:0327/105117:ERROR:buffer_manager.cc(313)] > [.Compositor-0x39e5a998]GL ERROR :GL_INVALID_ENUM : glBufferData: <- error > from previous GL command > [2214:2214:0327/105117:ERROR:gl_surface_glx.cc(742)] glXChooseFBConfig > failed. > [2214:2214:0327/105117:ERROR:gpu_info_collector.cc(27)] > gfx::GLContext::CreateOffscreenGLSurface failed > [ 1] libGAL: Performing a software resolve! > [2214:2214:0327/105118:ERROR:buffer_manager.cc(313)] > [.Compositor-0x3b835a30]GL ERROR :GL_INVALID_ENUM : glBufferData: <- error > from previous GL command > I see lots of GLX calls, but no EGL call. As per above the it all makes sense considering GLX / OpenGL are not supported (at least not officially). > and the chrome://gpu/ page indicates that hardware acceleration > is *not* available. I think that would only work in case Chromium supported EGL calls / OpenGL ES acceleration. I think that support will probably come now that Chromium devs are targetting Wayland support. Regarding Chromium it looks like it has already some support for EGL: http://code.google.com/p/chromium/issues/detail?id=90464 However, that is not related to tha main topic of this bug. Gary, did you try to build glmark2 and run glmark2-es2? Dora works fine in X11. Hello Gary, can you please set this to VERIFIED if it's working now? Thank you! This is very old and we've been using X11 for a while. Closing it. |
Created attachment 1879 [details] X server log showing problems with Vivante GPU libraries Build configuration: BB_VERSION = "1.21.1" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "Ubuntu-13.10" TARGET_SYS = "arm-poky-linux-gnueabi" MACHINE = "nitrogen6x" DISTRO = "poky" DISTRO_VERSION = "1.5+snapshot-20140331" TUNE_FEATURES = "armv7a vfp neon callconvention-hard cortexa9" TARGET_FPU = "vfp-neon" meta = "master:5f05bdda0bf3f9fadf287a0632c2fa697380273f" meta-fsl-arm = "master:1b571a2f7b3b7ea42d6b4e1a1e85f20a5b7a1ba4" meta-fsl-arm-extra = "master:30736bf64b3b010a73209abfa3371de5083d5c71" The X11 server happy reports that it is using the Vivante libraries, but I think there are problems. In particular, I see this message in the log (complete log attached): [ 53044.383] (EE) AIGLX error: vivante exports no extensions (/usr/lib/dri/vivante_dri.so: undefined symbol: __driDriverExtensions) [ 53044.383] (EE) AIGLX: reverting to software rendering Then there are these messages which don't make much sense: [ 53044.493] (II) GLX: Initialized DRISWRAST GL provider for screen 0 [ 53044.495] (II) VIVANTE(0): Setting screen physical size to 211 x 127 (my physical screen is 800x480) Finally, when I run Google chrome, I get a slew of EGL related errors: [2136:2136:0327/105115:ERROR:gl_surface_glx.cc(742)] glXChooseFBConfig failed. [2136:2136:0327/105115:ERROR:gpu_info_collector.cc(27)] gfx::GLContext::CreateOffscreenGLSurface failed [2113:2131:0327/105117:ERROR:browser_process_resource_provider.cc(52)] Not implemented reached in task_manager::BrowserProcessResource::BrowserProcessResource() [ 1] libGAL: Performing a software resolve! [2136:2136:0327/105117:ERROR:buffer_manager.cc(313)] [.Compositor-0x3b7c34f8]GL ERROR :GL_INVALID_ENUM : glBufferData: <- error from previous GL command [2203:2203:0327/105117:ERROR:gl_surface_glx.cc(742)] glXChooseFBConfig failed. [2203:2203:0327/105117:ERROR:gpu_info_collector.cc(27)] gfx::GLContext::CreateOffscreenGLSurface failed [ 1] libGAL: Performing a software resolve! [2203:2203:0327/105117:ERROR:buffer_manager.cc(313)] [.Compositor-0x39e5a998]GL ERROR :GL_INVALID_ENUM : glBufferData: <- error from previous GL command [2214:2214:0327/105117:ERROR:gl_surface_glx.cc(742)] glXChooseFBConfig failed. [2214:2214:0327/105117:ERROR:gpu_info_collector.cc(27)] gfx::GLContext::CreateOffscreenGLSurface failed [ 1] libGAL: Performing a software resolve! [2214:2214:0327/105118:ERROR:buffer_manager.cc(313)] [.Compositor-0x3b835a30]GL ERROR :GL_INVALID_ENUM : glBufferData: <- error from previous GL command and the chrome://gpu/ page indicates that hardware acceleration is *not* available.