I'm running Xubuntu 16.10 on an MSI MS-16J5 laptop. When using the NVIDIA driver, all is well, but when I try to switch to the integrated Intel graphics card, the system becomes very unstable.
When I go into
nvidia-settings, set it to use the Intel GPU (Power Saving Mode), and then log out, at first everything seems to work, however the system will lock up within a few minutes. Switching between battery power and AC power is an immediate hang; trying to suspend, shutdown or reboot is also an immediate hang; even just trying to use the computer normally will make it lock up after a few minutes.
While in Intel mode,
lspci also does not work, the process just hangs (though it does not immediately take the whole system with it), and not even
kill -9 will get rid of it.
However, switching to Intel itself seems to work fine (logging out does make it switch GPUs). It will also boot up fine while in Intel mode. Trying to switch back to the NVIDIA GPU hangs on a black screen when logging out, however after a reboot it will have switched back to using the NVIDIA GPU, and then everything works fine.
nouveau driver is very unstable as well. I had to use
nomodeset to get the installer to run. Trying to use the
nouveau driver tends to give messages like
nouveau: 0000:01:00.0: pci: failed to adjust lnkctl speed.
acpi=off seems to "fix" the problem, however then there is no power management, and since it is a laptop this is a deal-breaker. On top of that, this disables the trackpad.
acpi=noirq disables both the trackpad and the internal keyboard, but the problem remains.
pci=nomsi changes nothing.
With the NVIDIA GPU, everything is fine, however that cuts the battery life in half and I do not need its power anyway (the games are on Windows).
In Windows 10, everything works, it also switches between the GPUs without any problems, so I'm pretty sure it's not a hardware problem.
I'd like to be able to use the Intel GPU in Linux to conserve battery power.
00:00.0 Host bridge: Intel Corporation Skylake Host Bridge/DRAM Registers (rev 07) 00:01.0 PCI bridge: Intel Corporation Skylake PCIe Controller (x16) (rev 07) 00:02.0 VGA compatible controller: Intel Corporation HD Graphics 530 (rev 06) 00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31) 00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31) 00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31) 00:17.0 SATA controller: Intel Corporation Sunrise Point-H SATA Controller [AHCI mode] (rev 31) 00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #1 (rev f1) 00:1c.3 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #4 (rev f1) 00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31) 00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31) 00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31) 00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31) 01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2) 02:00.0 Network controller: Intel Corporation Wireless 3165 (rev 81) 03:00.0 Ethernet controller: Qualcomm Atheros Killer E2400 Gigabit Ethernet Controller (rev 10)
4.8.0-38-generic #41-Ubuntu SMP Wed Feb 8 14:27:17 UTC 2017
lshw -c video:
*-display description: 3D controller product: GM107M [GeForce GTX 960M] vendor: NVIDIA Corporation physical id: 0 bus info: pci@0000:01:00.0 version: a2 width: 64 bits clock: 33MHz capabilities: pm msi pciexpress bus_master cap_list rom configuration: driver=nvidia latency=0 resources: irq:132 memory:de000000-deffffff memory:c0000000-cfffffff memory:d0000000-d1ffffff ioport:e000(size=128) memory:df000000-df07ffff *-display description: VGA compatible controller product: HD Graphics 530 vendor: Intel Corporation physical id: 2 bus info: pci@0000:00:02.0 version: 06 width: 64 bits clock: 33MHz capabilities: pciexpress msi pm vga_controller bus_master cap_list rom configuration: driver=i915 latency=0 resources: irq:127 memory:dd000000-ddffffff memory:b0000000-bfffffff ioport:f000(size=64) memory:c0000-dffff
dmesg has the following error reported every few seconds:
[ 2388.248063] pcieport 0000:00:1c.0: AER: Corrected error received: id=00e0 [ 2388.248073] pcieport 0000:00:1c.0: PCIe Bus Error: severity=Corrected, type=Physical Layer, id=00e0(Receiver ID) [ 2388.248080] pcieport 0000:00:1c.0: device [8086:a110] error status/mask=00000001/00002000 [ 2388.248085] pcieport 0000:00:1c.0: [ 0] Receiver Error