2

So apparently this is a common problem, however I have been googling this issue for a week and can't seem to fix it. powertop reports ~30W of power when nothing is running, which is too high. I did sudo prime-select intel but that doesn't lower power usage. I rebooted, but system froze before login and I had to prime-select nvidia from recovery to get it working again. I also echoed OFF to bbswitch (even though I don't have bumblebee installed), but it resets to on:

$ sudo bash -c "echo OFF > /proc/acpi/bbswitch"
$ echo /proc/acpi/bbswitch
0000:01:00.0 ON

Here is more information:

uname -a
Linux HOSTNAME 4.15.0-29-generic #31~16.04.1-Ubuntu SMP Wed Jul 18 08:54:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
$  sudo prime-select nvidia
Info: the current GL alternatives in use are: ['nvidia-410-prime', 'nvidia-410-prime']
Info: the current EGL alternatives in use are: ['nvidia-410-prime', 'nvidia-410-prime']
Info: selecting nvidia-410 for the nvidia profile
update-alternatives: using /usr/lib/nvidia-410/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf (x86_64-linux-gnu_gl_conf) in manual mode
update-alternatives: using /usr/lib/nvidia-410/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_EGL.conf (x86_64-linux-gnu_egl_conf) in manual mode
update-alternatives: using /usr/lib/nvidia-410/alt_ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_GL.conf (i386-linux-gnu_gl_conf) in manual mode
update-alternatives: using /usr/lib/nvidia-410/alt_ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_EGL.conf (i386-linux-gnu_egl_conf) in manual mode


$ sudo prime-select intel 
Info: the current GL alternatives in use are: ['nvidia-410', 'nvidia-410']
Info: the current EGL alternatives in use are: ['nvidia-410', 'nvidia-410']
Info: selecting nvidia-410-prime for the intel profile
update-alternatives: using /usr/lib/nvidia-410-prime/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf (x86_64-linux-gnu_gl_conf) in manual mode
update-alternatives: using /usr/lib/nvidia-410-prime/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_EGL.conf (x86_64-linux-gnu_egl_conf) in manual mode
update-alternatives: using /usr/lib/nvidia-410-prime/alt_ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_GL.conf (i386-linux-gnu_gl_conf) in manual mode
update-alternatives: using /usr/lib/nvidia-410-prime/alt_ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_EGL.conf (i386-linux-gnu_egl_conf) in manual mode


$ ls /usr/lib/nvidia*   
/usr/lib/nvidia:
pre-install

/usr/lib/nvidia-410:
alt_ld.so.conf                 libGLESv2_nvidia.so.2       libnvcuvid.so.1                 libnvidia-fatbinaryloader.so.410.78  libnvidia-rtcore.so.410.78
bin                            libGLESv2_nvidia.so.410.78  libnvcuvid.so.410.78            libnvidia-fbc.so                     libnvidia-tls.so.410.78
ld.so.conf                     libGLESv2.so                libnvidia-cbl.so.410.78         libnvidia-fbc.so.1                   libnvidia-wfb.so.1
libEGL_nvidia.so.0             libGLESv2.so.2              libnvidia-cfg.so                libnvidia-fbc.so.410.78              libnvidia-wfb.so.410.78
libEGL_nvidia.so.410.78        libGLESv2.so.2.1.0          libnvidia-cfg.so.1              libnvidia-glcore.so.410.78           libnvoptix.so.1
libEGL.so                      libGL.so                    libnvidia-cfg.so.410.78         libnvidia-glsi.so.410.78             libnvoptix.so.410.78
libEGL.so.1                    libGL.so.1                  libnvidia-compiler.so           libnvidia-glvkspirv.so.410.78        libOpenGL.so
libEGL.so.1.1.0                libGL.so.1.7.0              libnvidia-compiler.so.1         libnvidia-ifr.so                     libOpenGL.so.0
libEGL.so.410.78               libGL.so.410.78             libnvidia-compiler.so.410.78    libnvidia-ifr.so.1                   tls
libGLdispatch.so.0             libGLX_indirect.so.0        libnvidia-eglcore.so.410.78     libnvidia-ifr.so.410.78              vdpau
libGLESv1_CM_nvidia.so.1       libGLX_nvidia.so.0          libnvidia-egl-wayland.so.1      libnvidia-ml.so                      xorg
libGLESv1_CM_nvidia.so.410.78  libGLX_nvidia.so.410.78     libnvidia-egl-wayland.so.1.1.0  libnvidia-ml.so.1
libGLESv1_CM.so                libGLX.so                   libnvidia-encode.so             libnvidia-ml.so.410.78
libGLESv1_CM.so.1              libGLX.so.0                 libnvidia-encode.so.1           libnvidia-ptxjitcompiler.so.1
libGLESv1_CM.so.1.2.0          libnvcuvid.so               libnvidia-encode.so.410.78      libnvidia-ptxjitcompiler.so.410.78

/usr/lib/nvidia-410-prime:
alt_ld.so.conf  ld.so.conf



$  lspci -k | grep -EA2 'VGA|3D'
00:02.0 VGA compatible controller: Intel Corporation Device 591b (rev 04)
    DeviceName:  Onboard IGD
    Subsystem: Dell Device 07e1
--
01:00.0 3D controller: NVIDIA Corporation Device 1c8d (rev a1)
    Subsystem: Dell Device 07e1
    Kernel driver in use: nvidia

I am using a Dell Inspiron Laptop with i7 7700HQ and GTX 1050 mobility card. I have also tried the nvidia-430 driver (like maybe newer drivers have less issues), but with that X doesn't even start. So I reverted back to nvidia-410.

I also read some other links such as this and this one that had a modified prime-select script, but none of those have helped me so far.

I have also noticed that glxinfo doesn't work after switching to intel drivers (before reboot). It fails with the following output

name of display: :0
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Error: couldn't find RGB GLX visual or fbconfig

132 GLX Visuals
<Long GLX Listings>
215 GLXFBConfigs:
<Longer GLXFB Listings>

I but that is probably not related to prime. It might be that nvidia-410 doesn't work at all with prime, and I need some other driver version for the GTX 1050m. I have been at this for weeks, missing my laptop's intel graphics and battery life on my linux. Any help would be greatly appreciated.

1 Answers1

0

You seem to have been bitten by a nasty bug:

The best fix seems to be a patch presented in comment #46 where you can use sudo prime-select intel without rebooting:

Please read the entire bug report before deciding the best remedy.


TL;DR

The bug doesn't effect me because:

  • I'm on 16.04 which doesn't seem effected
  • I have a GTX 970M where 18.04 patches work but your 1050 doesn't get fixed

I've been using nvidia 384.130 for a long time and no problems here:

$ sudo prime-select query
nvidia

$ sudo prime-select intel Info: the current GL alternatives in use are: ['nvidia-384', 'nvidia-384'] Info: the current EGL alternatives in use are: ['nvidia-384', 'nvidia-384'] Info: selecting nvidia-384-prime for the intel profile update-alternatives: using /usr/lib/nvidia-384-prime/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf (x86_64-linux-gnu_gl_conf) in manual mode update-alternatives: using /usr/lib/nvidia-384-prime/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_EGL.conf (x86_64-linux-gnu_egl_conf) in manual mode update-alternatives: using /usr/lib/nvidia-384-prime/alt_ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_GL.conf (i386-linux-gnu_gl_conf) in manual mode update-alternatives: using /usr/lib/nvidia-384-prime/alt_ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_EGL.conf (i386-linux-gnu_egl_conf) in manual mode

$ sudo prime-select nvidia Info: the current GL alternatives in use are: ['nvidia-384-prime', 'nvidia-384-prime'] Info: the current EGL alternatives in use are: ['nvidia-384-prime', 'nvidia-384-prime'] Info: selecting nvidia-384 for the nvidia profile update-alternatives: using /usr/lib/nvidia-384/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf (x86_64-linux-gnu_gl_conf) in manual mode update-alternatives: using /usr/lib/nvidia-384/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_EGL.conf (x86_64-linux-gnu_egl_conf) in manual mode update-alternatives: using /usr/lib/nvidia-384/alt_ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_GL.conf (i386-linux-gnu_gl_conf) in manual mode update-alternatives: using /usr/lib/nvidia-384/alt_ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_EGL.conf (i386-linux-gnu_egl_conf) in manual mode

The other details where my system is similar to yours:

$ cat /proc/acpi/bbswitch
0000:01:00.0 ON

$ uname -a Linux alien 4.14.114-0414114-generic #201904270558 SMP Sat Apr 27 10:01:11 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

$ lspci -k | grep -EA2 'VGA|3D' 00:02.0 VGA compatible controller: Intel Corporation HD Graphics 530 (rev 06) DeviceName: Onboard IGD Subsystem: Dell Skylake Integrated Graphics -- 01:00.0 3D controller: NVIDIA Corporation GM204M [GeForce GTX 970M] (rev a1) Subsystem: Dell GM204M [GeForce GTX 970M] Kernel driver in use: nvidia

  • Even I am on 16.04, but nvidia-410 seems to carry this issue. I will try to install nvidia-384 and nvidia-375 and see if they work (hopefully). – Abhishek Agarwal Jul 14 '19 at 19:11
  • I am using gtx 1050 as mentioned in my post. People with 18.04 have problems with gtx 10xx cards, but for me somehow prime is broken even though I'm on 1604 – Abhishek Agarwal Jul 14 '19 at 19:58