NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
17.34k stars 13.58k forks source link

opengl:/run/opengl-driver/lib/dri directory not generated #41392

Closed pasqui23 closed 4 years ago

pasqui23 commented 6 years ago

Issue description

When starting cheese I get the following error:

cheese 
gbm: failed to open any driver (search paths /run/opengl-driver/lib/dri)
gbm: Last dlopen error: /run/opengl-driver/lib/dri/i965_dri.so: cannot open shared object file: No such file or directory
failed to load driver: i965
gbm: failed to open any driver (search paths /run/opengl-driver/lib/dri)
gbm: Last dlopen error: /run/opengl-driver/lib/dri/kms_swrast_dri.so: cannot open shared object file: No such file or directory
failed to load driver: kms_swrast
gbm: failed to open any driver (search paths /run/opengl-driver/lib/dri)
gbm: Last dlopen error: /run/opengl-driver/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory
failed to load swrast driver
gbm: failed to open any driver (search paths /run/opengl-driver/lib/dri)
gbm: Last dlopen error: /run/opengl-driver/lib/dri/i965_dri.so: cannot open shared object file: No such file or directory
failed to load driver: i965
gbm: failed to open any driver (search paths /run/opengl-driver/lib/dri)
gbm: Last dlopen error: /run/opengl-driver/lib/dri/kms_swrast_dri.so: cannot open shared object file: No such file or directory
failed to load driver: kms_swrast
gbm: failed to open any driver (search paths /run/opengl-driver/lib/dri)
gbm: Last dlopen error: /run/opengl-driver/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory
failed to load swrast driver

(cheese:17811): GLib-CRITICAL **: g_strsplit: assertion 'string != NULL' failed
gbm: failed to open any driver (search paths /run/opengl-driver/lib/dri)
gbm: Last dlopen error: /run/opengl-driver/lib/dri/i965_dri.so: cannot open shared object file: No such file or directory
failed to load driver: i965
gbm: failed to open any driver (search paths /run/opengl-driver/lib/dri)
gbm: Last dlopen error: /run/opengl-driver/lib/dri/kms_swrast_dri.so: cannot open shared object file: No such file or directory
failed to load driver: kms_swrast
gbm: failed to open any driver (search paths /run/opengl-driver/lib/dri)
gbm: Last dlopen error: /run/opengl-driver/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory
failed to load swrast driver

(cheese:17811): GLib-CRITICAL **: g_strsplit: assertion 'string != NULL' failed
[1]    17811 segmentation fault  cheese

Steps to reproduce

Technical details

xeji commented 6 years ago

I cannot reproduce this on my machine. But it looks like your root channel is not up to date (May 26) and your user channel is even older (Mar 17). Just guessing, but the error could be caused by incompatible versions in system and user channel. Please update both system and user channel to current version, reinstall cheese and try again.

pasqui23 commented 6 years ago

same error even after upgrading the channels

Now the result of nix-info is:

pasqui23 commented 6 years ago

The same problem even with the version from the unstable channel

xeji commented 6 years ago

Please post the output of ls -lL /run/opengl-driver/lib/dri

pasqui23 commented 6 years ago
ls -lL /run/opengl-driver/lib/dri
ls: cannot access '/run/opengl-driver/lib/dri': No such file or directory

Also this seem like a path that should be corrected during the build

xeji commented 6 years ago

This shouldn't happen if you have X11 enabled. Is X11 enabled on your system ? What kind of Desktop are you running? Your configuration.nix should contain services.xserver.enable = true;. This sets hardware.opengl.enable = true;, which creates the drivers in /run/opengl-driver.

pasqui23 commented 6 years ago

Part of my /etc/nixos/configuration.nix:

{ config, pkgs, ... }:

{
  imports =
    [ # Include the results of the hardware scan.
      ./hardware-configuration.nix
    ];

  ...
  hardware.pulseaudio.enable = true;
  hardware.bluetooth.enable=true;
...
  services={
    ...
    xserver={
      enable = true;
      layout = "it";
      displayManager.sddm.enable = true;
      displayManager.sddm.autoLogin={
        enable=true;
        user="pasquale";
      };
      desktopManager.plasma5.enable = true;
      libinput.enable=true;
      videoDrivers = ["intel" "nvidia" ];
    };
  };
  powerManagement.cpuFreqGovernor = "ondemand";
  hardware.bumblebee.enable=true;
  hardware.opengl.enable=true;
  nixpkgs.config.allowUnfree = true;
  hardware.opengl.driSupport32Bit = true;
  ...
}
xeji commented 6 years ago

Sorry, I still cannot reproduce this, and have no idea what's wrong. Let's hope someone else can help.

pasqui23 commented 6 years ago

Same problem even with services.xserver.videoDrivers=["nvidia" "intel"]

pasqui23 commented 6 years ago

Same problem even with services.xserver.videoDrivers=["nvidia" "intel"]

However if I do

ls /run/opengl-driver/lib    
libcuda.so               libGLESv1_CM_nvidia.so         libGL.so.1               libnvidia-compiler.so                libnvidia-fbc.so            libnvidia-opencl.so
libcuda.so.1             libGLESv1_CM_nvidia.so.1       libGL.so.1.0.0           libnvidia-compiler.so.1              libnvidia-fbc.so.1          libnvidia-opencl.so.1
libcuda.so.390.48        libGLESv1_CM_nvidia.so.390.48  libGLX.la                libnvidia-compiler.so.390.48         libnvidia-fbc.so.390.48     libnvidia-opencl.so.390.48
libEGL.la                libGLESv1_CM.so                libGLX_nvidia.so         libnvidia-eglcore.so                 libnvidia-glcore.so         libnvidia-ptxjitcompiler.so
libEGL_nvidia.so         libGLESv1_CM.so.1              libGLX_nvidia.so.0       libnvidia-eglcore.so.1               libnvidia-glcore.so.1       libnvidia-ptxjitcompiler.so.1
libEGL_nvidia.so.0       libGLESv1_CM.so.1.0.0          libGLX_nvidia.so.390.48  libnvidia-eglcore.so.390.48          libnvidia-glcore.so.390.48  libnvidia-ptxjitcompiler.so.390.48
libEGL_nvidia.so.390.48  libGLESv2.la                   libGLX.so                libnvidia-egl-wayland.so             libnvidia-glsi.so           libnvidia-tls.so
libEGL.so                libGLESv2_nvidia.so            libGLX.so.0              libnvidia-egl-wayland.so.1           libnvidia-glsi.so.1         libnvidia-tls.so.1
libEGL.so.1              libGLESv2_nvidia.so.1          libGLX.so.0.0.0          libnvidia-egl-wayland.so.1.0.2       libnvidia-glsi.so.390.48    libnvidia-tls.so.390.48
libEGL.so.1.0.0          libGLESv2_nvidia.so.390.48     libnvcuvid.so            libnvidia-encode.so                  libnvidia-ifr.so            libOpenGL.la
libGLdispatch.la         libGLESv2.so                   libnvcuvid.so.1          libnvidia-encode.so.1                libnvidia-ifr.so.1          libOpenGL.so
libGLdispatch.so         libGLESv2.so.2                 libnvcuvid.so.390.48     libnvidia-encode.so.390.48           libnvidia-ifr.so.390.48     libOpenGL.so.0
libGLdispatch.so.0       libGLESv2.so.2.0.0             libnvidia-cfg.so         libnvidia-fatbinaryloader.so         libnvidia-ml.so             libOpenGL.so.0.0.0
libGLdispatch.so.0.0.0   libGL.la                       libnvidia-cfg.so.1       libnvidia-fatbinaryloader.so.1       libnvidia-ml.so.1           tls
libGLESv1_CM.la          libGL.so                       libnvidia-cfg.so.390.48  libnvidia-fatbinaryloader.so.390.48  libnvidia-ml.so.390.48      vdpau

Should this stuff be in /run/opengl-driver/lib/dri?

pasqui23 commented 6 years ago

Worse,if I do

echo /nix/store/*/run/opengl-driver/lib/dri                 
zsh: no matches found: */run/opengl-driver/lib/dri
pasqui23 commented 6 years ago

However if in /nix/store i do

echo **/swrast_dri.so           
3nv0699k6d9rgx6qd4dabq6sxjg7qkca-mesa-noglu-17.3.6-drivers/lib/dri/swrast_dri.so

but

echo **/i1965_dri.so 
zsh: no matches found: **/i1965_dri.so
jb55 commented 5 years ago

I was running into this issue. Switching from nvidia to nouveau fixed it.

pasqui23 commented 5 years ago
$ cheese 
gbm: failed to open any driver (search paths /run/opengl-driver/lib/dri)
gbm: Last dlopen error: /run/opengl-driver/lib/dri/i965_dri.so: cannot open shared object file: No such file or directory
failed to load driver: i965
gbm: failed to open any driver (search paths /run/opengl-driver/lib/dri)
gbm: Last dlopen error: /run/opengl-driver/lib/dri/kms_swrast_dri.so: cannot open shared object file: No such file or directory
failed to load driver: kms_swrast
gbm: failed to open any driver (search paths /run/opengl-driver/lib/dri)
gbm: Last dlopen error: /run/opengl-driver/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory
failed to load swrast driver
gbm: failed to open any driver (search paths /run/opengl-driver/lib/dri)
gbm: Last dlopen error: /run/opengl-driver/lib/dri/i965_dri.so: cannot open shared object file: No such file or directory
failed to load driver: i965
gbm: failed to open any driver (search paths /run/opengl-driver/lib/dri)
gbm: Last dlopen error: /run/opengl-driver/lib/dri/kms_swrast_dri.so: cannot open shared object file: No such file or directory
failed to load driver: kms_swrast
gbm: failed to open any driver (search paths /run/opengl-driver/lib/dri)
gbm: Last dlopen error: /run/opengl-driver/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory
failed to load swrast driver

(cheese:4964): GLib-CRITICAL **: 11:59:02.310: g_strsplit: assertion 'string != NULL' failed
gbm: failed to open any driver (search paths /run/opengl-driver/lib/dri)
gbm: Last dlopen error: /run/opengl-driver/lib/dri/i965_dri.so: cannot open shared object file: No such file or directory
failed to load driver: i965
gbm: failed to open any driver (search paths /run/opengl-driver/lib/dri)
gbm: Last dlopen error: /run/opengl-driver/lib/dri/kms_swrast_dri.so: cannot open shared object file: No such file or directory
failed to load driver: kms_swrast
gbm: failed to open any driver (search paths /run/opengl-driver/lib/dri)
gbm: Last dlopen error: /run/opengl-driver/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory
failed to load swrast driver

(cheese:4964): GLib-CRITICAL **: 11:59:02.311: g_strsplit: assertion 'string != NULL' failed

(cheese:4964): Clutter-CRITICAL **: 11:59:02.311: Unable to initialize Clutter: Impossibile inizializzare il backend Clutter: nessun driver trovato.

** (cheese:4964): ERROR **: 11:59:02.311: cheese-application.vala:86: Unable to initialize libcheese-gtk
[1]    4964 trace trap  cheese
$ ls /run/opengl-driver/lib/dri                               
i965_drv_video.la  i965_drv_video.so
diamondburned commented 5 years ago

nvm, same issue

pasqui23 commented 4 years ago

Fixed on lastest nixpkgs,so if nobody else is afflicted by this I'm closing it