Scheduled Maintenance: We are aware of an issue with Google, AOL, and Yahoo services as email providers which are blocking new registrations. We are trying to fix the issue and we have several internal and external support tickets in process to resolve the issue. Please see: viewtopic.php?t=158230

 

 

 

[SOLVED] Dual GPU laptop recognization issues

Ask for help with issues regarding the Installations of the Debian O/S.
Message
Author
User avatar
stevepusser
Posts: 12930
Joined: 2009-10-06 05:53
Has thanked: 41 times
Been thanked: 71 times

Re: Dual GPU laptop recognization issues

#16 Post by stevepusser »

I'm pretty sure that Stretch defaults to the kernel's built-in modesetting driver for our recent Intel GPUs instead of using the xorg-xserver-video-intel DDX driver like MX is using. Perhaps that's a problem with your particular chipset.

I think you can force Stretch to use the "intel" driver by creating the /etc/X11/xorg.conf.d folder if necessary and putting a "20-intel.conf" text file in it with these contents, then rebooting...at least it works fine with my Skylake Optimus system:

Code: Select all

Section "Device"
        Identifier  "Device0"
        Driver      "intel"
        BusID       "PCI:0:2:0"
        Option      "AccelMethod" "sna"
        Option      "DRI"    "true"
        Option      "TearFree"  "true"
        Option "DRI" "3"
EndSection
MX has a tool for automatically setting up Nvidia drivers and Bumblebee for Optimus systems, but your 1050 needs the 375.66 driver version, and that's still in our test repo--so actually needs an install or at least a persistent Live USB. I'm not sure if the tool would work on plain Debian, since we had to modify the nvidia-detect script that it uses a little to get it to work with the MX repositories. I think the SolydXK Linux tool, "ddm" (device driver manager) that inspired us will work on vanilla Debian, though, but am not sure if it automatically detects Optimus and sets up Bumblebee like the MX one. It did not at the time we first looked at it.
MX Linux packager and developer

elbraca
Posts: 34
Joined: 2017-07-27 18:49

Re: Dual GPU laptop recognization issues

#17 Post by elbraca »

I think you can force Stretch to use the "intel" driver by creating the /etc/X11/xorg.conf.d folder if necessary and putting a "20-intel.conf" text file in it with these contents, then rebooting...at least it works fine with my Skylake Optimus system:
...
I've tried this but didn't work. I don't know why, but at this point the ALT+F2 terminal get freezed if I call a lspci | grep VGA. Probably I should reinstall again Debian Stretch to have a "clean OS" to try again.
I think the SolydXK Linux tool, "ddm" (device driver manager) that inspired us will work on vanilla Debian, though, but am not sure if it automatically detects Optimus and sets up Bumblebee like the MX one.
Do you know where can I get SolydXK Linux Tool to install in Debian? Because SolydXK seems to be a distro.

User avatar
stevepusser
Posts: 12930
Joined: 2009-10-06 05:53
Has thanked: 41 times
Been thanked: 71 times

Re: Dual GPU laptop recognization issues

#18 Post by stevepusser »

I remember poking around their repo and getting the deb and source files a while ago when we were first looking at it...

http://repository.solydxk.com/pool/main/d/ddm/

Actually, when I think about it, the MX tool might work on Debian, since the nvidia-detect script we modified to use with it is part of the nvidia-driver package, so Debian has the original version. It's in here: http://iso.mxrepo.com/mx/repo/pool/main/d/ddm-mx/

It's called Nvidia Driver Installer in the menu, but can also run from the command line.
MX Linux packager and developer

elbraca
Posts: 34
Joined: 2017-07-27 18:49

Re: Dual GPU laptop recognization issues

#19 Post by elbraca »

When I tried to install MX tool said cli-shell-utils is missing and I haven't found it at Debian's Repositories.

The SolydXK ddm needs: gir1.2-webkit-3.0, nvidia-installer-cleanup, apt-show-versions, aptitude, kdesudo and gksu, but are presents in repositories. I'll try with this first.

Update:
Well, using the graphical installation with SolydXK said "Software instalation succed. Will be necesary restart the system". The log seems to be equal to the last tries with Bumblebee by console, but the results too.

I have the fan running at 100% speed. After a reboot and trying to login in graphical environment the screen got freezed again.
Last edited by elbraca on 2017-07-29 01:27, edited 1 time in total.

elbraca
Posts: 34
Joined: 2017-07-27 18:49

Re: Dual GPU laptop recognization issues

#20 Post by elbraca »

Is this really a bug or I'm missing something during installation? I really don't know what more to do: I've tried Debian's wikis, forum help, other threads, terminal installation, graphical installation with SolydXK DDM, etc. Nothing works.

elbraca
Posts: 34
Joined: 2017-07-27 18:49

Re: Dual GPU laptop recognization issues

#21 Post by elbraca »

Update: I've tried to install GPU drivers on other distros, like Zorin or Ubuntu 16.04 LTS. The installation was done withtout issues and without terminal, only with the graphical DDM. So, if could be installed there, should be done in Debian. The question is "how"?

I thought I would read the Ubuntu code, but I am aware that what is developed for Ubuntu will not necessarily work in Debian. Any idea?

This I've got on Zorin after GPU driver installation, for example.

Code: Select all

$ inxi -G
Graphics:  Card-1: Intel Device 591b
           Card-2: NVIDIA Device 1c8d
           Display Server: X.Org 1.18.4 driver: nvidia
           Resolution: 1920x1080@60.01hz
           GLX Renderer: GeForce GTX 1050/PCIe/SSE2
           GLX Version: 4.5.0 NVIDIA 375.66

loki
Posts: 13
Joined: 2017-08-02 22:01

Re: Dual GPU laptop recognization issues

#22 Post by loki »

Hello,

I have just installed Debian stretch on to a dual GPU laptop (Dell XPS 15 9560) which has an integrated Intel HD 630 and discrete Nvidia GeForce GTX 1050, installing Bumblebee seemed to go fine until reboot and I ended up experiencing the same problem as you describe here...
elbraca wrote: 3. Installing Bumblebee for Nvidia non-free drivers following minutely the Wiki (https://wiki.debian.org/Bumblebee#Installation). After that, I've got the following:
- When I've tried to login with my user, the fan started working at 100% speed and Debian got freezed (I saw only the mouse pointer freezed and couldn't do anything else). I had to make a "hard poweroff" to the laptop.
...while I haven't identified the root cause, I do have a workaround for my system. Working back, I deduced there is some issue booting the desktop environment when the discrete GPU is disabled (bumblebee defaults the discrete GPU to OFF). After booting to the graphical login prompt, I switched to a terminal "Ctrl + Alt + F2" and logged in as root.

Checked the state of discrete GPU

Code: Select all

# cat /proc/acpi/bbswitch
Which confirmed the GPU to be OFF by returning...

Code: Select all

0000:02:00.0 OFF
I enabled the GPU...

Code: Select all

# echo ON > /proc/acpi/bbswitch
Returned to graphcal login "Alt + F1" and could then login as normal and desktop environment loaded fine.

My current workaround is to immediately enable the discrete GPU after successful login then disabling the GPU once the user session has started.

To disable the GPU after login I created the file "/etc/gdm3/PostLogin/Default" with the following contents...

Code: Select all

#!/bin/sh

BBSWITCH=/proc/acpi/bbswitch

if [ -f $BBSWITCH ]; then
  echo ON > $BBSWITCH
fi
This script file is run as root immediately after login and before starting the user desktop session.

Disabling the GPU after starting the user session was a little more involved as it turns out you can't setuid on scripts and you need root permissions to write to /proc/acpi/bbswitch so I ended up writing a small C utility and setting setuid on it to write to the bbswitch file as root, then creating a ".desktop" file in /etc/xdg/autostart/ which calls the utility as the user session starts.

While this does seem to wor around the issue and is quite unobtrusive I would like to know what the actual root problem is and resolve at that level.

elbraca
Posts: 34
Joined: 2017-07-27 18:49

Re: Dual GPU laptop recognization issues

#23 Post by elbraca »

Thanks for answering.

Recently, I've reinstalled Debian and tried doing what you said.

Code: Select all

# echo ON > /proc/acpi/bbswitch
That let's me log-in without issues. But the fan still working at 100% speed. To stop the fan I must power off the laptop, if I just reboot it keeps working at 100%. It's rare, because the discrete GPU is off by deffault. It shouln't do that and should low down the speed when system reboot. Sounds like kernel issue.

There is some problem because isn't loading Nvidia Drivers, like Zorin (Ubuntu 16.04) was doing. I've installed intel-microcodes too.

Code: Select all

inxi -G
Graphics:  Card-1: Intel Device 591b
           Card-2: NVIDIA Device 1c8d
           Display Server: X.Org 1.19.2 driver: N/A
           Resolution: 1920x1080@60.01hz
           GLX Renderer: Mesa DRI Intel Kabylake GT2
           GLX Version: 3.0 Mesa 13.0.6
I've tried adding the script to "/etc/gdm3/PostLogin/Default" but when I've tried to log-in the system got freezed again. I don't care if I have to enable the GPU manualy, but I don't know why the fan is working at fast speed when discrete GPU is off and why is not loading Nvidia drivers if I enable that GPU previously (that is done by others SO when you install drivers via Device Driver Manager).

loki
Posts: 13
Joined: 2017-08-02 22:01

Re: Dual GPU laptop recognization issues

#24 Post by loki »

After successfully logging in you should disable the discrete GPU from a terminal as root with the following...

Code: Select all

# echo OFF > /proc/acpi/bbswitch
Assuming it is the discrete GPU being enabled that's bringing the fans on I would expect the fans to at least slow down shortly after disabling the GPU with the above code.

I started with a fresh install of Debian Stretch and installed Bumblebee and the Nivida drivers pretty much inline with this guide with the only real difference being I had no need to unload vga_switcheroo.

Unfortunately I am not up to speed with the various different drivers available and their install methods to be able to offer any real help or troubleshooting in that department.

elbraca
Posts: 34
Joined: 2017-07-27 18:49

Re: Dual GPU laptop recognization issues

#25 Post by elbraca »

First, I've tried the following with the "last install way" I've used

Code: Select all

# echo OFF > /proc/acpi/bbswitch
but the fan speed didn't change, working at 100% speed as before.

After that I've done a new fresh install of Debian Stretch. Following that tutorial, when I used

Code: Select all

sudo modprobe bbswitch load_state=0
the fan started to work at 100% speed. Nothing about Nvidia drivers or Bublebee were installed until that moment, only intel-microcode.

Once the tutorial was finished, I've tried to use

Code: Select all

# echo ON > /proc/acpi/bbswitch
to login again. The first time I've tried that command the terminal got freezed. The second time not, and then I've created the script on "/etc/gdm3/PostLogin/Default" and rebooted the system. After that, when I've tried to log-in (graphical) the system got freezed again. So I have to set ON the discrete GPU manually to do a graphical login. The "Nvidia X Server Settings" App says I'm not using Nvidia X driver and suggest to configure it wih nvidia-xconfig, but it's what Bublebee tutorial say we don't have to do.

I've done some test using

Code: Select all

optirun -vv glxgears
and I've got the window with the gears working, but isn't using Nvidia drivers. I keep getting this:

Code: Select all

inxi -G
Graphics:  Card-1: Intel Device 591b
           Card-2: NVIDIA Device 1c8d
           Display Server: X.Org 1.19.2 driver: N/A
           Resolution: 1920x1080@60.01hz
           GLX Renderer: Mesa DRI Intel Kabylake GT2
           GLX Version: 3.0 Mesa 13.0.6
The fan keep working at 100% speed (whatever I do) until I power off the laptop.

loki
Posts: 13
Joined: 2017-08-02 22:01

Re: Dual GPU laptop recognization issues

#26 Post by loki »

I don't use inxi tools myself so can't say for sure but I'm not entirely convinced that the output of inxi you are seeing is not to be expected. If the discrete card is disabled and/or being handled by bumblebee I wouldn't really expected to see Nivida registered as the X driver or rendering engine.

What sort of frame rates are being reported when running "optirun -vv glxgears"? Comparing the frame rates against running glxgears directly should give some indication on whether or not the discrete card is being controlled or not.

If there is a significant difference in reported frame rates when calling "optirun -vv glxgears" vs just "glxgears" and the fans immediately ramp up to full speed when loading bumblebee then I would suspect perhaps some issue with ACPI but other than ensuring your BIOS is up to date and checking system and message logs for hints I couldn't really suggest much more.

With regards the script at "/etc/gdm3/PostLogin/Default" seemingly not working, make sure the script is executable and also try calling the script manually (as root) from a terminal to see if any errors are being generated.

elbraca
Posts: 34
Joined: 2017-07-27 18:49

Re: Dual GPU laptop recognization issues

#27 Post by elbraca »

I don't use inxi tools myself so can't say for sure but I'm not entirely convinced that the output of inxi you are seeing is not to be expected. If the discrete card is disabled and/or being handled by bumblebee I wouldn't really expected to see Nivida registered as the X driver or rendering engine.
That has sence, but with the "Driver Device Manager" of Ubuntu (eg.) the Nvidia drivers were setuped as default for render and (maybe I'm wrong) it works with Bumblebee as default.
With regards the script at "/etc/gdm3/PostLogin/Default" seemingly not working, make sure the script is executable and also try calling the script manually (as root) from a terminal to see if any errors are being generated.
You are right. I'm sorry, my bad. I forgot to check if the script was executable. Is working now.
What sort of frame rates are being reported when running "optirun -vv glxgears"? Comparing the frame rates against running glxgears directly should give some indication on whether or not the discrete card is being controlled or not.

Code: Select all

optirun glxgears
FPS avg: 3100

Code: Select all

optirun -vv glxgears
FPS avg: 3100
If there is a significant difference in reported frame rates when calling "optirun -vv glxgears" vs just "glxgears" and the fans immediately ramp up to full speed when loading bumblebee then I would suspect perhaps some issue with ACPI but other than ensuring your BIOS is up to date and checking system and message logs for hints I couldn't really suggest much more.
There aren't significant difference. The BIOS is up to date. Where can I find the log file what you said (/var/log/messages)? The fan ramp up to full speed randomly, but one time it gets full speed it never slow down. It start working at 100% speed even if I'm not doing anything and most of the times on the Alt + F2 terminal before I enable the GPU.

loki
Posts: 13
Joined: 2017-08-02 22:01

Re: Dual GPU laptop recognization issues

#28 Post by loki »

Sorry, perhaps I should've have been clearer, by running glxgears directly I meant simply....

Code: Select all

$ glxgears
...this should return much lower frame rates than you are seeing when calling it through optirun.

Good to read that the PostLogin script is now working, for the moment you will still have to manually disable the discrete GPU after login with...

Code: Select all

# echo OFF > /proc/acpi/bbswitch
I've only been back with a Debian system a few weeks with the last Debian system version I ran being Potato and a lot has changed since then so I'm not entirely sure which logs would be best to look at in this situation but certainly (/var/log/syslog) and (/var/log/messages) exist and may hold some nugget of help, there is also "dmesg" which may be helpful.

I have had very little exposure to Ubuntu so couldn't say for sure if bumblebee is installed/configured by default. I have been searching around the net looking for infor on the possible root cause and resolution of the system hang after login issue that we are both seeing after installing bumblebee/bbswitch and there are certainly enough posts from users of Ubuntu and other distros having various issues with "installing" bumblebee to suggest that it probably isn't installed and configured by default.

elbraca
Posts: 34
Joined: 2017-07-27 18:49

Re: Dual GPU laptop recognization issues

#29 Post by elbraca »

Right! Here are the new test. With

Code: Select all

glxgears
I get 65 FPS (avg). Then, using

Code: Select all

optirun -vv glxgears
I get 3100 FPS (avg). So, there is a huge difference and the driscrete GPU seems to be working.

If I first do

Code: Select all

# echo OFF > /proc/acpi/bbswitch
and then

Code: Select all

inxi -G
or

Code: Select all

lspci | grep VGA
the system get freezed.
I have had very little exposure to Ubuntu so couldn't say for sure if bumblebee is installed/configured by default. I have been searching around the net looking for infor on the possible root cause and resolution of the system hang after login issue that we are both seeing after installing bumblebee/bbswitch and there are certainly enough posts from users of Ubuntu and other distros having various issues with "installing" bumblebee to suggest that it probably isn't installed and configured by default.
I'm sorry, I wasn't clear. I was referring as "Bumblebee as default" when you choose install the non-free GPU drivers via Device Driver Maganer. I think in that situation is when Bumblebee start to work as default and when the issues seems to happen, but I don't know how Ubuntu (and other SO with DDM) come as default. But I insist, maybe I'm wrong with that.

Look at this: if I login "fast" after the boot the fan stay quiet. But when I set OFF the GPU (or ON too) with

Code: Select all

# echo OFF > /proc/acpi/bbswitch
the fan immediately ramp up to full speed. So, maybe is a ACPI issue, as you said. Anyway, I said "fast" because if I let the system on login screen the fan will start working at 100% at some time (same for Alt + F2 terminal).

What should I look for on messages and syslog logs? Errors? Here are the logs obtained (I can't attach at the post)
messages:

Code: Select all

$ sudo grep -i error /var/log/messages
Aug  3 21:58:17 Armonia kernel: [    1.082237] acpi PNP0A08:00: _OSC failed (AE_ERROR); disabling ASPM
Aug  3 21:58:17 Armonia kernel: [    5.357705] EXT4-fs (sda6): re-mounted. Opts: errors=remount-ro
Aug  3 21:58:17 Armonia kernel: [    7.294091] tpm_crb: probe of MSFT0101:00 failed with error -16
Aug  3 21:58:17 Armonia kernel: [    7.835526] bluetooth hci0: Direct firmware load for intel/ibt-hw-37.8.10-fw-1.10.3.11.e.bseq failed with error -2
Aug  3 21:58:17 Armonia kernel: [    7.835570] bluetooth hci0: Direct firmware load for intel/ibt-hw-37.8.bseq failed with error -2
Aug  3 21:58:17 Armonia kernel: [    8.344499] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-26.ucode failed with error -2
Aug  3 21:58:17 Armonia kernel: [    8.344589] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-25.ucode failed with error -2
Aug  3 21:58:17 Armonia kernel: [    8.344670] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-24.ucode failed with error -2
Aug  3 21:58:17 Armonia kernel: [    8.344750] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-23.ucode failed with error -2
Aug  3 21:58:17 Armonia kernel: [    8.344829] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-22.ucode failed with error -2
Aug  3 21:58:17 Armonia kernel: [    8.344927] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-21.ucode failed with error -2
Aug  3 21:58:17 Armonia kernel: [    8.345015] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-20.ucode failed with error -2
Aug  3 21:58:17 Armonia kernel: [    8.345094] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-19.ucode failed with error -2
Aug  3 21:58:17 Armonia kernel: [    8.345166] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-18.ucode failed with error -2
Aug  3 21:58:17 Armonia kernel: [    8.345237] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-17.ucode failed with error -2
Aug  3 21:58:17 Armonia kernel: [    8.466298] nouveau: probe of 0000:01:00.0 failed with error -12
Aug  3 21:58:17 Armonia kernel: [    8.620152] i915 0000:00:02.0: Direct firmware load for i915/kbl_dmc_ver1_01.bin failed with error -2
Aug  3 21:58:19 Armonia kernel: [   15.579054] r8169 0000:03:00.0: Direct firmware load for rtl_nic/rtl8168h-2.fw failed with error -2
Aug  3 21:58:31 Armonia gnome-settings-[912]: g_task_return_error: assertion 'error != NULL' failed
Aug  3 21:58:39 Armonia /usr/lib/gdm3/gdm-x-session[970]: #011(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
Aug  3 21:58:44 Armonia gnome-settings-[1159]: g_task_return_error: assertion 'error != NULL' failed
Aug  3 21:59:58 Armonia software-properties-gnome.desktop[4678]: ERROR:root:Cannot import UbuntuDrivers: No module named 'UbuntuDrivers'
Aug  3 22:01:53 Armonia kernel: [    1.114264] acpi PNP0A08:00: _OSC failed (AE_ERROR); disabling ASPM
Aug  3 22:01:53 Armonia kernel: [    5.766450] EXT4-fs (sda6): re-mounted. Opts: errors=remount-ro
Aug  3 22:01:53 Armonia kernel: [    6.497489] tpm_crb: probe of MSFT0101:00 failed with error -16
Aug  3 22:01:53 Armonia kernel: [    7.460863] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-26.ucode failed with error -2
Aug  3 22:01:53 Armonia kernel: [    7.460943] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-25.ucode failed with error -2
Aug  3 22:01:53 Armonia kernel: [    7.461016] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-24.ucode failed with error -2
Aug  3 22:01:53 Armonia kernel: [    7.461088] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-23.ucode failed with error -2
Aug  3 22:01:53 Armonia kernel: [    7.723511] i915 0000:00:02.0: Direct firmware load for i915/kbl_dmc_ver1_01.bin failed with error -2
Aug  3 22:01:53 Armonia kernel: [    8.156299] nouveau: probe of 0000:01:00.0 failed with error -12
Aug  3 22:02:06 Armonia gnome-settings-[725]: g_task_return_error: assertion 'error != NULL' failed
Aug  3 22:02:10 Armonia /usr/lib/gdm3/gdm-x-session[780]: #011(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
Aug  3 22:02:16 Armonia gnome-settings-[970]: g_task_return_error: assertion 'error != NULL' failed
Aug  3 22:02:40 Armonia software-properties-gnome.desktop[1288]: ERROR:root:Cannot import UbuntuDrivers: No module named 'UbuntuDrivers'
Aug  3 22:03:18 Armonia software-properties-gnome.desktop[1541]: ERROR:root:Cannot import UbuntuDrivers: No module named 'UbuntuDrivers'
Aug  3 22:21:10 Armonia org.a11y.atspi.Registry[701]: XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":1024"
Aug  3 22:21:46 Armonia kernel: [    1.115430] acpi PNP0A08:00: _OSC failed (AE_ERROR); disabling ASPM
Aug  3 22:21:46 Armonia kernel: [    5.671802] EXT4-fs (sda6): re-mounted. Opts: errors=remount-ro
Aug  3 22:21:46 Armonia kernel: [    6.734755] tpm_crb: probe of MSFT0101:00 failed with error -16
Aug  3 22:21:46 Armonia kernel: [    7.424558] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-26.ucode failed with error -2
Aug  3 22:21:46 Armonia kernel: [    7.424639] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-25.ucode failed with error -2
Aug  3 22:21:46 Armonia kernel: [    7.424714] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-24.ucode failed with error -2
Aug  3 22:21:46 Armonia kernel: [    7.424786] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-23.ucode failed with error -2
Aug  3 22:21:46 Armonia kernel: [    8.422511] nouveau: probe of 0000:01:00.0 failed with error -12
Aug  3 22:21:58 Armonia gnome-settings-[805]: g_task_return_error: assertion 'error != NULL' failed
Aug  3 22:22:02 Armonia /usr/lib/gdm3/gdm-x-session[861]: #011(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
Aug  3 22:22:08 Armonia gnome-settings-[1051]: g_task_return_error: assertion 'error != NULL' failed
Aug  3 22:23:25 Armonia firefox-esr.desktop[1206]: 1501809805005#011addons.productaddons#011ERROR#011Request failed certificate checks: [Exception... "SSL is required and URI scheme is not https."  nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)"  location: "JS frame :: resource://gre/modules/CertUtils.jsm :: checkCert :: line 145"  data: no]
Aug  3 22:28:44 Armonia kernel: [    1.041990] acpi PNP0A08:00: _OSC failed (AE_ERROR); disabling ASPM
Aug  3 22:28:44 Armonia kernel: [    7.647058] EXT4-fs (sda6): re-mounted. Opts: errors=remount-ro
Aug  3 22:28:44 Armonia kernel: [    8.788510] tpm_crb: probe of MSFT0101:00 failed with error -16
Aug  3 22:28:44 Armonia kernel: [    9.684410] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-26.ucode failed with error -2
Aug  3 22:28:44 Armonia kernel: [    9.684416] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-25.ucode failed with error -2
Aug  3 22:28:44 Armonia kernel: [    9.684421] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-24.ucode failed with error -2
Aug  3 22:28:44 Armonia kernel: [    9.684425] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-23.ucode failed with error -2
Aug  3 22:28:44 Armonia kernel: [    9.752732] nouveau: probe of 0000:01:00.0 failed with error -12
Aug  3 22:29:00 Armonia gnome-settings-[806]: g_task_return_error: assertion 'error != NULL' failed
Aug  3 22:29:04 Armonia /usr/lib/gdm3/gdm-x-session[863]: #011(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
Aug  3 22:29:10 Armonia gnome-settings-[1053]: g_task_return_error: assertion 'error != NULL' failed
Aug  3 22:29:24 Armonia firefox-esr.desktop[1372]: console.error:
Aug  3 22:29:24 Armonia firefox-esr.desktop[1372]:   Message: SyntaxError: JSON.parse: unexpected end of data at line 1 column 1 of the JSON data
Aug  3 22:30:24 Armonia firefox-esr.desktop[1372]: 1501810224740#011addons.productaddons#011ERROR#011Request failed certificate checks: [Exception... "SSL is required and URI scheme is not https."  nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)"  location: "JS frame :: resource://gre/modules/CertUtils.jsm :: checkCert :: line 145"  data: no]
Aug  3 22:37:24 Armonia firefox-esr.desktop[1372]: 1501810644246#011addons.productaddons#011ERROR#011Request failed certificate checks: [Exception... "SSL is required and URI scheme is not https."  nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)"  location: "JS frame :: resource://gre/modules/CertUtils.jsm :: checkCert :: line 145"  data: no]
Aug  3 22:44:21 Armonia kernel: [  952.612859] traps: gnome-shell[654] trap int3 ip:7fbf274ed261 sp:7ffcc5926660 error:0
Aug  3 22:44:21 Armonia org.a11y.atspi.Registry[784]: XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":1024"
Aug  3 22:45:01 Armonia kernel: [    1.113682] acpi PNP0A08:00: _OSC failed (AE_ERROR); disabling ASPM
Aug  3 22:45:01 Armonia kernel: [    5.954483] EXT4-fs (sda6): re-mounted. Opts: errors=remount-ro
Aug  3 22:45:01 Armonia kernel: [    7.025013] tpm_crb: probe of MSFT0101:00 failed with error -16
Aug  3 22:45:01 Armonia kernel: [    7.991687] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-26.ucode failed with error -2
Aug  3 22:45:01 Armonia kernel: [    7.991704] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-25.ucode failed with error -2
Aug  3 22:45:01 Armonia kernel: [    7.991719] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-24.ucode failed with error -2
Aug  3 22:45:01 Armonia kernel: [    7.991734] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-23.ucode failed with error -2
Aug  3 22:45:17 Armonia gnome-settings-[775]: g_task_return_error: assertion 'error != NULL' failed
Aug  3 22:49:35 Armonia kernel: [    1.075608] acpi PNP0A08:00: _OSC failed (AE_ERROR); disabling ASPM
Aug  3 22:49:35 Armonia kernel: [    6.462669] EXT4-fs (sda6): re-mounted. Opts: errors=remount-ro
Aug  3 22:49:35 Armonia kernel: [    7.352075] tpm_crb: probe of MSFT0101:00 failed with error -16
Aug  3 22:49:35 Armonia kernel: [    8.352765] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-26.ucode failed with error -2
Aug  3 22:49:35 Armonia kernel: [    8.352790] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-25.ucode failed with error -2
Aug  3 22:49:35 Armonia kernel: [    8.352808] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-24.ucode failed with error -2
Aug  3 22:49:35 Armonia kernel: [    8.352828] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-23.ucode failed with error -2
Aug  3 22:49:52 Armonia gnome-settings-[808]: g_task_return_error: assertion 'error != NULL' failed
Aug  3 22:50:37 Armonia /usr/lib/gdm3/gdm-x-session[895]: #011(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
Aug  3 22:50:44 Armonia gnome-settings-[1084]: g_task_return_error: assertion 'error != NULL' failed
Aug  3 22:54:40 Armonia kernel: [    1.114317] acpi PNP0A08:00: _OSC failed (AE_ERROR); disabling ASPM
Aug  3 22:54:40 Armonia kernel: [    6.980073] EXT4-fs (sda6): re-mounted. Opts: errors=remount-ro
Aug  3 22:54:40 Armonia kernel: [    7.819198] tpm_crb: probe of MSFT0101:00 failed with error -16
Aug  3 22:54:40 Armonia kernel: [    8.842723] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-26.ucode failed with error -2
Aug  3 22:54:40 Armonia kernel: [    8.842801] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-25.ucode failed with error -2
Aug  3 22:54:40 Armonia kernel: [    8.842878] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-24.ucode failed with error -2
Aug  3 22:54:40 Armonia kernel: [    8.842950] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-23.ucode failed with error -2
Aug  3 22:54:54 Armonia gnome-settings-[818]: g_task_return_error: assertion 'error != NULL' failed
Aug  3 22:55:38 Armonia /usr/lib/gdm3/gdm-x-session[906]: #011(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
Aug  3 22:55:44 Armonia gnome-settings-[1095]: g_task_return_error: assertion 'error != NULL' failed
Aug  3 23:03:40 Armonia firefox-esr.desktop[1773]: 1501812220081#011addons.productaddons#011ERROR#011Request failed certificate checks: [Exception... "SSL is required and URI scheme is not https."  nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)"  location: "JS frame :: resource://gre/modules/CertUtils.jsm :: checkCert :: line 145"  data: no]
Aug  3 23:04:27 Armonia kernel: [    1.113426] acpi PNP0A08:00: _OSC failed (AE_ERROR); disabling ASPM
Aug  3 23:04:27 Armonia kernel: [    6.082804] EXT4-fs (sda6): re-mounted. Opts: errors=remount-ro
Aug  3 23:04:27 Armonia kernel: [    6.805481] tpm_crb: probe of MSFT0101:00 failed with error -16
Aug  3 23:04:27 Armonia kernel: [    7.810557] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-26.ucode failed with error -2
Aug  3 23:04:27 Armonia kernel: [    7.810638] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-25.ucode failed with error -2
Aug  3 23:04:27 Armonia kernel: [    7.810711] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-24.ucode failed with error -2
Aug  3 23:04:27 Armonia kernel: [    7.810784] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-23.ucode failed with error -2
syslog

Code: Select all

$ sudo grep -i error /var/log/syslog
Aug  4 12:17:15 Armonia bumblebeed[559]: [  356.819532] [ERROR][XORG] (EE) Failed to load module "mouse" (module does not exist, 0)
Aug  4 12:17:15 Armonia bumblebeed[559]: [  356.819546] [ERROR][XORG] (EE) Failed to load module "mouse" (module does not exist, 0)
Aug  4 12:17:15 Armonia bumblebeed[559]: [  356.819548] [ERROR][XORG] (EE) PreInit returned 2 for "<default pointer>"
Aug  4 12:17:15 Armonia bumblebeed[559]: [  356.819552] [ERROR][XORG] (EE) PreInit returned 2 for "<default keyboard>"
Aug  4 12:17:39 Armonia bumblebeed[559]: [  380.656264] [ERROR][XORG] (EE) Failed to load module "mouse" (module does not exist, 0)
Aug  4 12:17:39 Armonia bumblebeed[559]: [  380.656297] [ERROR][XORG] (EE) Failed to load module "mouse" (module does not exist, 0)
Aug  4 12:17:39 Armonia bumblebeed[559]: [  380.656300] [ERROR][XORG] (EE) PreInit returned 2 for "<default pointer>"
Aug  4 12:17:39 Armonia bumblebeed[559]: [  380.656303] [ERROR][XORG] (EE) PreInit returned 2 for "<default keyboard>"
Aug  4 12:20:58 Armonia kernel: [    0.028239] ACPI Error: [PRT0] Namespace lookup failure, AE_ALREADY_EXISTS (20160831/dswload-378)
Aug  4 12:20:58 Armonia kernel: [    0.038049] ACPI Error: 1 table load failures, 10 successful (20160831/tbxfload-246)
Aug  4 12:20:58 Armonia kernel: [    1.114250] acpi PNP0A08:00: _OSC failed (AE_ERROR); disabling ASPM
Aug  4 12:20:58 Armonia kernel: [    5.879165] EXT4-fs (sda6): re-mounted. Opts: errors=remount-ro
Aug  4 12:20:58 Armonia kernel: [    6.669498] tpm_crb: probe of MSFT0101:00 failed with error -16
Aug  4 12:20:58 Armonia kernel: [    7.774881] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-26.ucode failed with error -2
Aug  4 12:20:58 Armonia kernel: [    7.774910] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-25.ucode failed with error -2
Aug  4 12:20:58 Armonia kernel: [    7.774934] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-24.ucode failed with error -2
Aug  4 12:20:58 Armonia kernel: [    7.774957] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-23.ucode failed with error -2
Aug  4 12:21:14 Armonia gnome-settings-[819]: g_task_return_error: assertion 'error != NULL' failed
Aug  4 12:21:54 Armonia /usr/lib/gdm3/gdm-x-session[892]: #011(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
Aug  4 12:22:00 Armonia gnome-settings-[1081]: g_task_return_error: assertion 'error != NULL' failed
Aug  4 12:34:25 Armonia org.a11y.atspi.Registry[756]: XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":1024"
Aug  4 12:34:29 Armonia kernel: [    0.028332] ACPI Error: [PRT0] Namespace lookup failure, AE_ALREADY_EXISTS (20160831/dswload-378)
Aug  4 12:34:29 Armonia kernel: [    0.038190] ACPI Error: 1 table load failures, 10 successful (20160831/tbxfload-246)
Aug  4 12:34:29 Armonia kernel: [    1.041855] acpi PNP0A08:00: _OSC failed (AE_ERROR); disabling ASPM
Aug  4 12:34:29 Armonia kernel: [    5.740978] EXT4-fs (sda6): re-mounted. Opts: errors=remount-ro
Aug  4 12:34:29 Armonia kernel: [    6.941262] tpm_crb: probe of MSFT0101:00 failed with error -16
Aug  4 12:34:29 Armonia kernel: [    7.891687] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-26.ucode failed with error -2
Aug  4 12:34:29 Armonia kernel: [    7.891718] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-25.ucode failed with error -2
Aug  4 12:34:29 Armonia kernel: [    7.891744] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-24.ucode failed with error -2
Aug  4 12:34:29 Armonia kernel: [    7.891770] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-23.ucode failed with error -2
Aug  4 12:34:44 Armonia gnome-settings-[819]: g_task_return_error: assertion 'error != NULL' failed
Aug  4 14:12:23 Armonia /usr/lib/gdm3/gdm-x-session[881]: #011(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
Aug  4 14:12:29 Armonia gnome-settings-[1070]: g_task_return_error: assertion 'error != NULL' failed
Aug  4 14:13:38 Armonia bumblebeed[568]: [  120.200064] [ERROR][XORG] (EE) Failed to load module "mouse" (module does not exist, 0)
Aug  4 14:13:38 Armonia bumblebeed[568]: [  120.200085] [ERROR][XORG] (EE) Failed to load module "mouse" (module does not exist, 0)
Aug  4 14:13:38 Armonia bumblebeed[568]: [  120.200089] [ERROR][XORG] (EE) PreInit returned 2 for "<default pointer>"
Aug  4 14:13:38 Armonia bumblebeed[568]: [  120.200094] [ERROR][XORG] (EE) PreInit returned 2 for "<default keyboard>"
Aug  4 14:18:45 Armonia kernel: [    0.027751] ACPI Error: [PRT0] Namespace lookup failure, AE_ALREADY_EXISTS (20160831/dswload-378)
Aug  4 14:18:45 Armonia kernel: [    0.037450] ACPI Error: 1 table load failures, 10 successful (20160831/tbxfload-246)
Aug  4 14:18:45 Armonia kernel: [    1.113297] acpi PNP0A08:00: _OSC failed (AE_ERROR); disabling ASPM
Aug  4 14:18:45 Armonia kernel: [    6.638353] EXT4-fs (sda6): re-mounted. Opts: errors=remount-ro
Aug  4 14:18:45 Armonia kernel: [    7.508805] tpm_crb: probe of MSFT0101:00 failed with error -16
Aug  4 14:18:45 Armonia kernel: [    8.199349] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-26.ucode failed with error -2
Aug  4 14:18:45 Armonia kernel: [    8.199373] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-25.ucode failed with error -2
Aug  4 14:18:45 Armonia kernel: [    8.199396] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-24.ucode failed with error -2
Aug  4 14:18:45 Armonia kernel: [    8.199418] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-23.ucode failed with error -2
Aug  4 14:19:00 Armonia gnome-settings-[820]: g_task_return_error: assertion 'error != NULL' failed
Aug  4 14:19:13 Armonia /usr/lib/gdm3/gdm-x-session[878]: #011(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
Aug  4 14:19:19 Armonia gnome-settings-[1068]: g_task_return_error: assertion 'error != NULL' failed
Aug  4 14:24:43 Armonia bumblebeed[552]: [  374.482754] [ERROR][XORG] (EE) Failed to load module "mouse" (module does not exist, 0)
Aug  4 14:24:43 Armonia bumblebeed[552]: [  374.482773] [ERROR][XORG] (EE) Failed to load module "mouse" (module does not exist, 0)
Aug  4 14:24:43 Armonia bumblebeed[552]: [  374.482777] [ERROR][XORG] (EE) PreInit returned 2 for "<default pointer>"
Aug  4 14:24:43 Armonia bumblebeed[552]: [  374.482782] [ERROR][XORG] (EE) PreInit returned 2 for "<default keyboard>"
Aug  4 14:25:38 Armonia org.a11y.atspi.Registry[794]: XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":1024"
Aug  4 14:30:05 Armonia kernel: [    0.027826] ACPI Error: [PRT0] Namespace lookup failure, AE_ALREADY_EXISTS (20160831/dswload-378)
Aug  4 14:30:05 Armonia kernel: [    0.037534] ACPI Error: 1 table load failures, 10 successful (20160831/tbxfload-246)
Aug  4 14:30:05 Armonia kernel: [    1.101640] acpi PNP0A08:00: _OSC failed (AE_ERROR); disabling ASPM
Aug  4 14:30:05 Armonia kernel: [    6.133791] EXT4-fs (sda6): re-mounted. Opts: errors=remount-ro
Aug  4 14:30:05 Armonia kernel: [    6.939922] tpm_crb: probe of MSFT0101:00 failed with error -16
Aug  4 14:30:05 Armonia kernel: [    7.870685] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-26.ucode failed with error -2
Aug  4 14:30:05 Armonia kernel: [    7.870764] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-25.ucode failed with error -2
Aug  4 14:30:05 Armonia kernel: [    7.870838] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-24.ucode failed with error -2
Aug  4 14:30:05 Armonia kernel: [    7.870912] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-23.ucode failed with error -2
Aug  4 14:30:22 Armonia gnome-settings-[821]: g_task_return_error: assertion 'error != NULL' failed
Aug  4 14:30:32 Armonia /usr/lib/gdm3/gdm-x-session[880]: #011(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
Aug  4 14:30:38 Armonia gnome-settings-[1070]: g_task_return_error: assertion 'error != NULL' failed
Aug  4 14:34:02 Armonia gvfsd-network[1421]: Couldn't create directory monitor on smb://x-gnome-default-workgroup/. Error: El backend no soporta la operación

loki
Posts: 13
Joined: 2017-08-02 22:01

Re: Dual GPU laptop recognization issues

#30 Post by loki »

The significant difference in frame rates between running glxgears directly vs through optirun suggest to me that for the most part Bumblebee and the Nvidia drivers are working as intended.

The fans ramping up to full speed when toggling the discrete GPU via bbswitch suggests to me that it may be more of a ACPI issue more than anything else.

In terms of what to look for in the logs, essentially anything and everything that looks a little out of place, but as well as errors I'd also be looking for any warnings and mentions of bumblebee and/or bbswitch.

Try searching the web for "bbswitch full speed fan", I've just done that myself and it has returned many results from others with similar issues to yourself. I'm not about to start doing any extensive research into this issue, however, from a cursory glance at some of the results there are some potential fixes being put forward which may help you. One possible solution that seems to address the issue for many is to pass a couple of ACPI kernel parameters at boot, which sounds promising and might be worth a try.

elbraca
Posts: 34
Joined: 2017-07-27 18:49

Re: Dual GPU laptop recognization issues

#31 Post by elbraca »

Here an update.

I've been trying some solitions posted in another threads. There are a lot of people with the fan issue and bbswitch, but seems to be a kernel issue with nvidia drivers or vice versa, according the case. One proposed solution was modifing the kernel parameters. I understand that's via editing /etc/default/grub file for permanent changes, and then updating grub. For a lot of people this solved the fan issue, but they losted some functionality, like brightness hotkey or the touchpad. Most of these cases were with GTX 960 and similars, not with GTX 10 series.

At this moment, I've tried doing the three following solutions, but without sucess:

Code: Select all

GRUB_CMDLINE_LINUX="acpi_osi!'Windows 2009" 

Code: Select all

GRUB_CMDLINE_LINUX="acpi_osi=! acpi_osi='Windows 2009'"

Code: Select all

GRUB_CMDLINE_LINUX="acpi_osi=! acpi_osi='Windows 2009' pcie_port_pm=off" 
For each case, I tested if this was working doing:

Code: Select all

$ optirun glxgears
and then closing the window. After a few seconds, the fan started working at 100% speed, when the discrete GPU were OFF.

Another guy seems to got solved this issues downgrading the Nvidia drivers to 375.39. He had 4.9.7 kernel version and was using a GTX 1050.This is the thread. I didn't try this yet, and I don't know if is easy to do with Bumblebee. Maybe I'll need a fresh Debian install. I haven't found other promising solutions, except I was wrong with when I modified kernel parameters.

elbraca
Posts: 34
Joined: 2017-07-27 18:49

Re: Dual GPU laptop recognization issues

#32 Post by elbraca »

I'm considering reporting these incidents as bug on Optimus systems. I don't know if should I report to Debian, to Bumblebee or somebody else. The problems are:

1) When you install Bumblebee with Nvidia non-free drivers, it sets off the discrete GPU on boot, doing the system get freezed when you try to login in graphical mode. To fix this issue you have to log as su on a Alt+F2 terminal and do

Code: Select all

# echo ON > /proc/acpi/bbswitch 
The problem with this fix is the GPU stays enabled all the time, until bbswitch sets it off.

2) Once you solved the issue exposed above, each time that bbswitch turn off the discrete GPU the fan start working at 100% speed indifenitely. You must poweroff the laptop to stop it, is not enought reboot the system. I haven't found a way to fix this issue yet. Nothing exposed on the other sites worked for ASUS laptop with GTX 10 series GPU on a Optimus system.

What do you think guys? Where should I report this issues? There are three critial componentes involved: kernel, Bumblebee (bbswitch), Nvidia drivers.

BTW: I don't know how many people visit this forum, but with more than 500 views of this post only 3 (three) users tried to help or had something to say. It's a common issue and should be fixed, come on! I'll try to make a guide for new users when I solve this.

loki
Posts: 13
Joined: 2017-08-02 22:01

Re: Dual GPU laptop recognization issues

#33 Post by loki »

I would think that any bugs reported at this time wouldn't get much time or attention on the ground that there is very little clarity, detail or information to go on.

I'm not convinced that bumblebee/bbswitch is a factor in the issue at all and suspect that the system hang after (graphical) login will occur if the discrete GPU is disabled/unloaded regardless of the method or mechanism used to do so.

I've been looking into my issue and have concluded the system appears to hang during the initialization of the user desktop session as X is expecting, and sat waiting for, a response from the discrete GPU that never comes. Although the discrete GPU is disabled, the system (and X) is still detecting it.

After a bit more investigation, passing kernel parameter...

Code: Select all

acpi_rev_override
...at boot has addressed this issue for me.

This option should force the OS to return/report ACPI revision "5" which some system firmware (I guess mine included) expects for Linux and will cause some things to be handled differently. I think this has been addressed in later Linux kernels.

elbraca
Posts: 34
Joined: 2017-07-27 18:49

Re: Dual GPU laptop recognization issues

#34 Post by elbraca »

Well, finally I was able to solve the problem. It wasn't the way I wanted it, but the most important thing is that now is solved.

For this, I tried to imitate what Ubuntu (I think) does. I proceeded to disable the integrated GPU to exclusively use the discrete GPU, without using BIOS. The ideal solution would have been to make it work properly with Bumblebee, but it was getting out of my hands and I went through 11 fresh Debian installations, piles of threads and attempts at solution. All were "patches", nothing to fix it from root.

Regarding the "non-recognition" of lspci (and nvidia-detect) command, what probably happens is that it doesn't have built-in recognition of the new GPUs yet and that is why when we use that command shows only a part of the GPU ID.

As I promised, I'll left a step-by-step guide to what I did to be able to walk the discreet GPU. I would like to mention that although I based the tutorial on Debiban's wikis, these wikis aren't properly drafted and aren't complete. There are important things that are not properly clarified or mentioned, forcing the user to "guess" certain things that for some may be trivial and for others not.

Here we go...
--------------------------------------------------------------------------------------------------------------
Pros and cons of this solution
--------------------------------------------------------------------------------------------------------------
First, I would like to mention the pros and cons that I found with this solution.
Pros:
+ We can get more performance from the Nvidia GPU, regarding if we didn't use the official drivers.
+ In cases where correspond, we can take advantage of the use CUDA support.

Cons:
- The GPU is constantly on, which generates more power consumption and therefore reduces the battery life.
- A few degrees of temperature are appreciated more than using only the onboard GPU or even Bumblebee. This point seems to me more worrying than the previous one, since the temperature and the batterie life arent good friends considering some laptops don't offer the possibility to remove the battery when we use the power adapter.

--------------------------------------------------------------------------------------------------------------
Guide: how to install Nvidia drivers on Optimus system and using only the discrete GPU
--------------------------------------------------------------------------------------------------------------
OS: Debian Stretch
Desktop: GNOME
Drivers version: 375.66

Important: This guide is intended for someone who has just completed a fresh installation of Debian. We consider that we already know our model of GPU Nvidia and that's covered in the version of drivers that we're going to use.

Step 1
Add "contrib" and "non-free" components to /etc/apt/sources.list, for example

Code: Select all

deb http://httpredir.debian.org/debian/ stretch main contrib non-free
Step 2
Update the list of available packages. Install the appropriate linux-headers and kernel module packages:

Code: Select all

# apt-get update
# apt-get install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') nvidia-driver
Step 3
Ensure xrandr is installed and available

Code: Select all

# apt-get install x11-xserver-utils
Step 4
Create an xorg.conf under /etc/X11/xorg.conf and add the following:

Code: Select all

Section "Module"
    Load "modesetting"
EndSection

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "PCI:X:Y:Z"
    Option "AllowEmptyInitialConfiguration"
EndSection

# Insert any additional custom configurations, below:
Where "BusID" X:Y:Z are the shortened/truncated numbers from the ID gathered by lspci | grep 3D. For example, if the output of lspci | grep 3D displayed a PCI ID of 09:00.0, the BusID entry would read: BusID "9:0:0"

Step 5
Create a custom script, /usr/local/bin/switch_nvidia.sh:

Code: Select all

xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
xrandr --dpi 96
The DPI setting, (--dpi) should be fine for most screens; however, this may need to be adjusted for newer high density pixel screens. Systems with HiDPI screens likely will want to set this to 192. Consult your hardware manufacturer's specification for the appropriate setting.

Step 6
Make the script executable:

Code: Select all

# chmod +x /usr/local/bin/switch_nvidia.sh
Step 7
Create a two new .desktop files - /usr/share/gdm/greeter/autostart/optimus.desktop and /etc/xdg/autostart/optimus.desktop about following content:

Code: Select all

[Desktop Entry]
Type=Application
Name=Optimus
Exec=sh -c "xrandr --setprovideroutputsource modesetting NVIDIA-0; xrandr --auto"
NoDisplay=true
X-GNOME-Autostart-Phase=DisplayServer
Step 7
Reboot the system.

Step 8
Enjoy the drivers.

--------------------------------------------------------------------------------------------------------------
Verify the discrete GPU is working
--------------------------------------------------------------------------------------------------------------
1. Install inxi

Code: Select all

$ sudo apt-get install inxi
and reboot.

Then call inxi -G, you should get something like this

Code: Select all

$ inxi -G
Graphics:  Card-1: Intel Device 591b
           Card-2: NVIDIA Device 1c8d
           Display Server: X.Org 1.19.2 drivers: modesetting,nvidia
           Resolution: 1920x1080@60.01hz
           GLX Renderer: GeForce GTX 1050/PCIe/SSE2
           GLX Version: 4.5.0 NVIDIA 375.66
2. Run

Code: Select all

$ glxgears
You must have a large number of FPS. For example, on a GTX 1050 it has ~5000fps while with the Intel and Bumblebee had ~70fps.

Note: In some cases could be usefull install firmware-linux with contrib and non-free repositories.

--------------------------------------------------------------------------------------------------------------
Sources:
--------------------------------------------------------------------------------------------------------------
NVIDIA Proprietary Driver
NVIDIA Optimus
--------------------------------------------------------------------------------------------------------------
Feel free to share, edit or comment this guide. I hope this help someone. Cheers!

User avatar
stevepusser
Posts: 12930
Joined: 2009-10-06 05:53
Has thanked: 41 times
Been thanked: 71 times

Re: Dual GPU laptop recognization issues

#35 Post by stevepusser »

I'll say again that nvidia-detect will not "see" the secondary Nvdia GPU on an Optimus system.

Also, glxgears is matching your refresh rate of 60. Your 630 graphics actually should be much, much higher--run this for an xorg driver like the intel or modesetting.

Code: Select all

vblank_mode=0 glxgears


Out of curiosity, did you ever try an MX 16.1 install (should only take a few minutes from the Live USB), enable the MX test repo in Synaptic for the 375.66 driver, reload the apt database, and then try the Nvidia driver installer in MX Tools? It's supposed to recognize an Optimus system and automatically set up bumble-nvidia. At least, that's what it does on my Skylake Optimus system, and the developer will be interested to see if it works or fails on your system.
MX Linux packager and developer

Post Reply