Hi, sorry for the late reply too. On Mon, Jul 06, 2020 at 02:56:04PM +0800, pengzon...@uniontech.com wrote: > Hi! > > Sorry for my late reply. I preload libGLX_mesa.so.0 , and then run the code > on the arm machine is ok. > I tried to debug it, and then I found something different. The parameter of > __glXLookupVendorByName is NVIDIA instead of mesa, it will dlopen > libGLX_nvidia.so.0, but my Graphics Card is AMD, only IibGLX_mesa.so.0 can > be found locally, so __glXLookupVendorByName failed.
It looks like for some reason your X server returns "nvidia" in response to glXQueryServerString request. I would suggest you to try writing a minimal test case that would call glXQueryServerString (e.g. via libxcb and xcb_glx_query_server_string), and check what happens. If the value is wrong then maybe open a bug against the X server. Exporting __GLX_VENDOR_LIBRARY_NAME=mesa (or whatever) env variable should override it. P.S. The glibc patch was accepted upstream, so it will land in Debian packages sooner or later. -- Dmitry Shachnev
signature.asc
Description: PGP signature