[Nix-dev] dlopen and mesa-likes

Mateusz Kowalczyk fuuzetsu at fuuzetsu.co.uk
Sat Aug 9 01:05:44 CEST 2014


On 08/09/2014 12:57 AM, Mateusz Kowalczyk wrote:
> On 08/09/2014 12:18 AM, Vladimír Čunát wrote:
>> On 08/08/2014 11:30 PM, Mateusz Kowalczyk wrote:
>>> Unfortunately /run/opengl-driver/lib contains neither libEGL.so nor
>>> libGLESv2.so. Do you know how to proceed? Does this means that there is
>>> just no support for these things from nVidia and I need another driver?
>>
>> Ah, that's an issue not solved yet, I didn't realize that. I believe it 
>> should work to have EGL and GLES from our mesa_noglu. IIRC those are 
>> relatively thin wrappers around libGL, which will get chosen from 
>> /run/opengl-driver* due to LD_LIBRARY_PATH (BTW this variable is why 
>> often dlopening libGL works fine without any patching).
>>
>>> Out of interest, is there a solution which would work both on NixOS and
>>> on setups with just nixpkgs?
>>
>> I don't think so. Driver is an OS thing, and I believe libGL 
>> implementation needs to be driver-dependent.
>>
>>
>> Vlada
>>
> 
> Unfortunately using mesa_noglu (or mesa) doesn't work:
> 
> libEGL warning: DRI2: failed to authenticate
> libEGL warning: DRI2: failed to open swrast (search paths
> /run/opengl-driver/lib/dri)
> -!- EGL is not or could not be initialized
> -!- Could not initialize any context
> 
> The last two lines are from the software itself. I just fetched the
> latest nVidia blob and after struggling for a bit I manage to unpack it
> with the intuitive ‘tail -n +1126 NVIDIA-Linux-x86_64-340.24.run | xz -d
> | tar xvf -’ command. I can clearly see that libGLESv2.so and libEGL.so
> are in fact provided so it seems to me that whoever is packaging the
> nVidia driver has made an oversight.
> 
> 
> 

Well, guess I was right. Looking at
https://github.com/NixOS/nixpkgs/blob/master/pkgs/os-specific/linux/nvidia-x11/builder.sh#L36
, libGLESv2 and libEGL are not copied over. Blaming that bit points to
eda055ded2b92b01ee9816cfeba7be10782913c8 which dealt with similar
problem to mine but with some other libraries. I think we should just
copy over all the .so files there are without being selective like this.

I'll make a PR, thanks for help.

-- 
Mateusz K.


More information about the nix-dev mailing list