3

I am trying to get my hybrid graphics working properly. I have an Acer aspire E5-57G. Here is the info about my hybrid graphics as described by lspci -kv:

00:02.0 VGA compatible controller: Intel Corporation Sky Lake Integrated Graphics (rev 07) (prog-if 00 [VGA controller])
    Subsystem: Acer Incorporated [ALI] Skylake Integrated Graphics
    Flags: bus master, fast devsel, latency 0, IRQ 130
    Memory at 92000000 (64-bit, non-prefetchable) [size=16M]
    Memory at a0000000 (64-bit, prefetchable) [size=256M]
    I/O ports at 5000 [size=64]
    [virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
    Capabilities: [40] Vendor Specific Information: Len=0c 
    Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
    Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable- 64bit-
    Capabilities: [d0] Power Management version 2
    Capabilities: [100] #1b
    Capabilities: [200] Address Translation Service (ATS)
    Capabilities: [300] #13
    Kernel driver in use: i915
    Kernel modules: i915
01:00.0 3D controller: NVIDIA Corporation Device 179c (rev ff) (prog-if ff)
    !!! Unknown header type 7f
    Kernel modules: nvidiafb, nouveau, nvidia_367, nvidia_367_drm

I have followed the directions explained at https://mintguide.org/video/508-easily-switch-nvidia-hybrid-graphics-nvdia-intel.html and it seems like I sort of have my hybrid graphics working, at least as far as bbswitch can do it. But it doesn't work very well; for example, if the screen powers off after enough time of inactivity has elapsed, the desktop graphic is screwed up. For now, I have only the intel card active. But, as you can see from the lspci output, there's an issue with the recognition of the NVidia card.

The relevant output of dmesg (I've included everything, and possibly more than necessary, regarding video) is:

[    1.563668] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input5
[    1.563771] [Firmware Bug]: ACPI(PXSX) defines _DOD but not _DOS
[    1.563780] ACPI: Video Device [PXSX] (multi-head: yes  rom: yes  post: no)
[    1.563815] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:32/LNXVIDEO:01/input/input6
[    1.563876] [drm] Initialized i915 1.6.0 20160711 for 0000:00:02.0 on minor 0
[    4.227045] nvidia: loading out-of-tree module taints kernel.
[    4.227050] nvidia: module license 'NVIDIA' taints kernel.
[    4.227051] Disabling lock debugging due to kernel taint
[    4.229429] ath10k_pci 0000:03:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0
[    4.231463] nvidia: module verification failed: signature and/or required key missing - tainting kernel
[    4.243859] nvidia 0000:01:00.0: enabling device (0006 -> 0007)
[    4.244038] nvidia-nvlink: Nvlink Core is being initialized, major device number 244
[    4.244050] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  367.44  Wed Aug 17 22:24:07 PDT 2016
[    4.354098] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms  367.44  Wed Aug 17 21:54:40 PDT 2016
[    4.355592] [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
[    4.535262] nvidia-uvm: Loaded the UVM driver in 8 mode, major device number 243
[    4.651841] bbswitch: version 0.8
[    4.651845] bbswitch: Found integrated VGA device 0000:00:02.0: _SB_.PCI0.GFX0
[    4.651850] bbswitch: Found discrete VGA device 0000:01:00.0: _SB_.PCI0.RP01.PXSX
[    4.651873] ACPI Warning: _SB.PCI0.RP01.PXSX._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20160422/nsarguments-95)
[    4.652028] bbswitch: detected an Optimus _DSM function
[    4.652037] bbswitch: Succesfully loaded. Discrete card 0000:01:00.0 is on
[    4.667587] ACPI Warning: _SB.PCI0.RP01.PXSX._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20160422/nsarguments-95)
[    4.667630] ACPI Warning: _SB.PCI0.RP01.PXSX._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20160422/nsarguments-95)
[    4.667659] ACPI Warning: _SB.PCI0.RP01.PXSX._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20160422/nsarguments-95)
[    4.667697] ACPI Warning: _SB.PCI0.RP01.PXSX._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20160422/nsarguments-95)
[    4.667719] ACPI Warning: _SB.PCI0.RP01.PXSX._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20160422/nsarguments-95)
[    4.667772] ACPI Warning: _SB.PCI0.RP01.PXSX._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20160422/nsarguments-95)
[    4.667795] ACPI Warning: _SB.PCI0.RP01.PXSX._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20160422/nsarguments-95)
[    4.674346] random: crng init done
[    4.686181] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    4.686182] Bluetooth: BNEP filters: protocol multicast
[    4.686185] Bluetooth: BNEP socket layer initialized
[    4.729195] ACPI Warning: _SB.PCI0.RP01.PXSX._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20160422/nsarguments-95)
[    4.921450] IPv6: ADDRCONF(NETDEV_UP): enp4s0f1: link is not ready
[    4.942385] r8169 0000:04:00.1 enp4s0f1: link down
[    4.942952] IPv6: ADDRCONF(NETDEV_UP): enp4s0f1: link is not ready
[    4.959563] ACPI Warning: _SB.PCI0.RP01.PXSX._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20160422/nsarguments-95)
[    4.964355] nvidia-uvm: Unloaded the UVM driver in 8 mode
[    4.993315] [drm] [nvidia-drm] [GPU ID 0x00000100] Unloading driver
[    5.013083] nvidia-modeset: Unloading
[    5.037081] nvidia-nvlink: Unregistered the Nvlink Core, major device number 244
[    5.056776] bbswitch: disabling discrete graphics
[    5.056787] ACPI Warning: _SB.PCI0.RP01.PXSX._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20160422/nsarguments-95)

Any thoughts about how I can resolve some of these things beyond what I have already tried? The NVidia card was not working at all before this, but if I am going to use it at all, I would prefer that it worked properly! :)

Thanks, Steve

1
  • did you solve it? I need help, I've searched a lot but I can not find how to solve it, please. Dec 4, 2017 at 9:09

1 Answer 1

1

Firs ensure you have turned off secure-boot from bios setup.

You can try the bumblebee method. It's cleaner and easier to switch, no need to logout. To try it out, first uninstall any driver installed, or start fresh.

However elementary doesn't ship with the ppa tools by default, to install them run:

sudo apt install software-properties-common

You'll need the latest packages from the bumblebee repo:

sudo apt-add-repository ppa:bumblebee/testing

Then (optionally) add the nvidia drivers repo:

sudo apt-add-repository ppa:graphics-drivers/ppa

Update the package indexes:

sudo apt update

Install the latest Nvidia driver, replace the XXX with the latest available from the repo:

sudo apt install nvidia-XXX

Now select the intel gpu to be used as primary device

sudo prime-select intel

Install the Bumblebee package with some extra utils

sudo apt install bumblebee primus

Open /etc/bumblebee/bumblebee.conf and edit some parameters:

  • Change the 'Driver=' line to be 'Driver=nvidia'
  • Change the 'KernelDriver=nvidia' line to be 'KernelDriver=nvidia-XXX' (XXX being the driver version you just installed)
  • Further down you'll see some lib paths, containing 'nvidia-current'. Replace 'nvidia-current' with 'nvidia-XXX' on all 3 locations and save the file.

Open /etc/modprobe.d/bumblebee.conf and check if the driver you installed is blacklisted at the bottom of the file, don't worry, IT SHOULD BE eg.:

blacklist nvidia-XXX
blacklist nvidia-XXX-updates
...

You should be good to go. Reboot and try it out.

sudo apt install mesa-utils
primusrun glxinfo | grep OpenGL

If you see the specs of your Nvidia chip, you did it right. You can also check if the discrete gpu is properly shut down after using it with primusrun by executing:

cat /proc/acpi/bbswitch

If it returns OFF, you're done. For more info on how to use bumblebee and the primus bridge, see bumblebee usage To run Steam games with the NV gpu you don't need to start steam with primusrun, but just add single option on each game's settings. There you go, the games start on the nvidia gpu with no hassle and messing with commands.

1
  • Wow, thank you for the excellently thorough reply. I will try this ASAP and (hopefully) accept this as the answer if/when it solves the problem. Dec 5, 2017 at 10:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.