Bug 1886

Summary: Glxgears failed in qemux86/x86-64 on ubuntu 11.10 x86-64 with nVidia GLX driver
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Hongna Xu <hongnax.xu>
Component: graphicsAssignee: Edwin Zhai <edwin.zhai>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: Medium CC: dvhart, edwin.zhai, jiajun.xu, lianhao.lu, meta.mr.watcher, meta.watcher, richard.purdie, sgw
Version: 1.2   
Target Milestone: 1.2 M2   
Hardware: x86   
OS: Multiple   
Whiteboard: Patch out. Apr1, 2012
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: ---
Bug Depends on: 1885    
Bug Blocks: 2069    

Description Hongna Xu 2012-01-08 19:30:17 UTC
Description:It failed to run glxgears after changing the location of libLG.so in script/runqemu-internal,the host is x86-64,It depends on Bug 1885.The log is followd:
==================================================
go on...
looking for "glXChooseVisual",
global_glXGetProcAddress request
nbRequestElts=1766
glAddSwapHintRectWIN 1 0
glBeginConditionalRenderNVX 1 0
glBeginDefineVisibilityQueryATI 1 0
glBeginOcclusionQuery 1 0
glBeginSceneEXT 1 0
glBeginUseVisibilityQueryATI 1 0
glBindArraySetARB 1 0
glBinormalArrayEXT 1 0
glBlendEquationSeparateATI 1 0
glBufferRegionEnabled 1 0
glBufferRegionEnabledEXT 1 0
glColor3fVertex3fvSUN 1 0
glColor4fNormal3fVertex3fvSUN 1 0
glColor4ubVertex2fvSUN 1 0
glColor4ubVertex3fvSUN 1 0
glColorPointerListIBM 1 0
glColorPointervINTEL 1 0
glColorTableParameterfvSGI 1 0
glColorTableParameterivSGI 1 0
glColorTableSGI 1 0
glDeformationMap3dSGIX 1 0
glDeformationMap3fSGIX 1 0
glDeleteArraySetsARB 1 0
glDeleteBufferRegion 1 0
glDeleteBufferRegionEXT 1 0
glDeleteFencesAPPLE 1 0
glDeleteOcclusionQueries 1 0
glDeleteVertexArraysAPPLE 1 0
glDeleteVisibilityQueriesATI 1 0
glDisableVertexAttribAPPLE 1 0
glDrawBufferRegion 1 0
glDrawBufferRegionEXT 1 0
glDrawElementsFGL 1 0
glDrawElementsInstancedEXT 1 0
glDrawMeshNV 1 0
glDrawWireTrianglesFGL 1 0
glEdgeFlagPointerListIBM 1 0
glElementPointerAPPLE 1 0
glEnableVertexAttribAPPLE 1 0
glEndConditionalRenderNVX 1 0
glEndDefineVisibilityQueryATI 1 0
glEndOcclusionQuery 1 0
glEndSceneEXT 1 0
glEndUseVisibilityQueryATI 1 0
glFinishAsyncSGIX 1 0
glFinishRenderAPPLE 1 0
glFlushRenderAPPLE 1 0
glFlushVertexArrayRangeAPPLE 1 0
glFogCoordPointerListIBM 1 0
glFogFuncSGIS 1 0
glFragmentColorMaterialEXT 1 0
glFragmentLightfEXT 1 0
glFragmentLightfvEXT 1 0
glFragmentLightiEXT 1 0
glFragmentLightivEXT 1 0
glFragmentLightModelfEXT 1 0
glFragmentLightModelfvEXT 1 0
glFragmentLightModeliEXT 1 0
glFragmentLightModelivEXT 1 0
glFragmentMaterialfEXT 1 0
glFragmentMaterialfvEXT 1 0
glFragmentMaterialiEXT 1 0
glFragmentMaterialivEXT 1 0
glGenArraySetsARB 1 0
glGenFencesAPPLE 1 0
glGenOcclusionQueries 1 0
glGenVertexArraysAPPLE 1 0
glGenVisibilityQueriesATI 1 0
glGetColorTableParameterfvSGI 1 0
glGetColorTableParameterivSGI 1 0
glGetColorTableSGI 1 0
glGetFogFuncSGIS 1 0
glGetFragmentLightfvEXT 1 0
glGetFragmentLightivEXT 1 0
glGetFragmentMaterialfvEXT 1 0
glGetFragmentMaterialivEXT 1 0
glGetImageTransformParameterfvHP 1 0
glGetImageTransformParameterivHP 1 0
glGetListParameterfvSGIX 1 0
glGetListParameterivSGIX 1 0
glGetMapAttribParameterfvNV 1 0
glGetMapAttribParameterivNV 1 0
glGetMapControlPointsNV 1 0
glGetMapParameterfvNV 1 0
glGetMapParameterivNV 1 0
glGetOcclusionQueryiv 1 0
glGetOcclusionQueryuiv 1 0
glGetPixelTexGenParameterfvSGIS 1 0
glGetPixelTexGenParameterivSGIS 1 0
glGetProgramRegisterfvMESA 1 0
glGetQueryObjecti64vEXT 1 0
glGetQueryObjectui64vEXT 1 0
glGetTexFilterFuncSGIS 1 0
glGetTexParameterPointervAPPLE 1 0
glGetUniformOffsetEXT 1 0
glIglooInterfaceSGIX 1 0
glImageTransformParameterfvHP 1 0
glImageTransformParameterivHP 1 0
glIndexPointerListIBM 1 0
glInstrumentsBufferSGIX 1 0
glIsArraySetARB 1 0
glIsOcclusionQuery 1 0
glIsVertexAttribEnabledAPPLE 1 0
glLightEnviEXT 1 0
glListParameterfvSGIX 1 0
glListParameterivSGIX 1 0
glMapControlPointsNV 1 0
glMapParameterfvNV 1 0
glMapParameterivNV 1 0
glMapTexture3DATI 1 0
glMapVertexAttrib1dAPPLE 1 0
glMapVertexAttrib1fAPPLE 1 0
glMapVertexAttrib2dAPPLE 1 0
glMapVertexAttrib2fAPPLE 1 0
glMultiDrawElementArrayAPPLE 1 0
glMultiModeDrawArraysIBM 1 0
glMultiModeDrawElementsIBM 1 0
glPixelTexGenParameterfvSGIS 1 0
glPixelTexGenParameterivSGIS 1 0
glTextureRangeAPPLE 1 0
glVertexAttribIPointerEXT 1 0
glXBindSwapBarrierSGIX 1 0
glXBindTexImageEXT 1 0
glXCopySubBufferMESA 1 0
glXCreateGLXPixmapMESA 1 0
glXCreateGLXPixmapWithConfigSGIX 1 0
glXFreeContextEXT 1 0
glXGetContextIDEXT 1 0
glXGetCurrentDisplayEXT 1 0
glXGetCurrentReadDrawableSGI 1 0
glXGetFBConfigFromVisualSGIX 1 0
glXGetMscRateOML 1 0
glXGetSelectedEventSGIX 1 0
glXGetSyncValuesOML 1 0
glXGetVisualFromFBConfigSGIX 1 0
glXImportContextEXT 1 0
glXJoinSwapGroupSGIX 1 0
glXMakeCurrentReadSGI 1 0
glXQueryContextInfoEXT 1 0
glXQueryMaxSwapBarriersSGIX 1 0
glXReleaseBuffersMESA 1 0
glXReleaseTexImageEXT 1 0
glXSelectEventSGIX 1 0
glXSwapBuffersMscOML 1 0
glXWaitForMscOML 1 0
glXWaitForSbcOML 1 0
looking for "glXChooseVisual",
Error: couldn't get an RGB, Double-buffered visual
Comment 1 Jiajun Xu 2012-01-08 23:55:41 UTC
The bug happends with Ubuntu 11.10 x86_64 and is found on Hongna's machine. Details could be found on bug 1885.
Comment 2 Edwin Zhai 2012-01-12 18:17:06 UTC
I have tried with latest poky master, and can start glxgears in core-image-sato. I doubt this is specific bug on the machine, so suggest lower its priority. After bug 1885 got fixed, Hongna can try to see if it can fix this bug.

Thanks,
Edwin
Comment 3 Hongna Xu 2012-03-12 01:26:47 UTC
The same error:"Error:couldn't get an RGB, Double-buffered visual." since bug 1885 fixed.
Comment 4 Hongna Xu 2012-03-12 01:27:48 UTC
The same error "Error:couldn't get an RGB, Double-buffered visual" since bug 1885 fixed.
Comment 5 Edwin Zhai 2012-03-23 01:42:25 UTC
Hongna,
Can you try this on your machine if have time, after bug 1927 got fixed?


Thanks,
Edwin
Comment 6 Edwin Zhai 2012-04-01 02:50:23 UTC
    
Previous version of nVidia GLX driver in Ubuntu 10 cause qemu segfault, so we fall back to Mesa GLX driver if detecting nVidia driver installed. From Ubuntu 11, nVidia GLX driver works well, while previous work around cause GL apps failure.

This failure may come from unclean GL environment as LD_PRELOAD can not eliminate the nVidia's driver completely. E.g even runs following command in host, we have same failure:

$> LD_PRELOAD="$LD_PRELOAD /usr/lib/x86_64-linux-gnu/libGL.so" glxinfo

So I limit this work around in Ubuntu 10 only, and will remove it in future. Patch already out.
Comment 8 Hongna Xu 2012-04-10 08:04:19 UTC
VERIFIED and FIXED with poky/1.2M4 rc2,commint 27aa5489fb40d99c58bb2a4bbf2311e2c502a091.