Translation(s): none

DebianOn is an effort to document how to install, configure and use Debian on some specific hardware. Therefore potential buyers would know if that hardware is supported and owners would know how get the best out of that hardware.

The purpose is not to duplicate the Debian Official Documentation, but to document how to install Debian on some specific hardware.

GS40 6QE(Phantom)-001
MSI GS40

Model number: 9S7-14A112-001 options :
- Video card: Nvidia ?GeForce GTX970M
- Screen: 14" FHD (1920x1080)
- Wireless card: Atheros Qualcomm Killer AC 1625
- Disk and Ram size: 1 x 2.5" 1TB HDD + 1 x NVMe M.2 SSD by PCIe Gen3 X4 / SATA-SSD Combo, no optical drive, 16GB RAM
- Webcam (FHD type (30fps@1080p) ), backlit (red) keyboard

Overall Status

Core Components

[ATTACH]

Boot Standard Kernel:

{OK}

LAN network card:

{OK}

Detect hard drives:

{OK}

Extra Features

CPU Frequency Scaling

{OK}

Hibernation

{OK}

Sleep / Suspend

{OK}

Xorg

{i}

- OpenGL

/!\

- Resize-and-Rotate(randr)

[?]

Switch to External Screen

[?]

Mouse (Touchpad)

{OK}

Wireless/Wifi

{i}

Wireless/Bluetooth

{i}

Keyboard's Hotkeys

{OK}

Webcam

{OK}

Legend :
{OK} = OK ; {X} Unsupported(No Driver) ; /!\ = Error (Couldn't get it working); [?] Unknown, Not Test ; [-] Not-applicable
{i} = Configuration Required; X-( = Only works with a non-free driver and or firmware

Important Note

BIOS settings

Before attempting to boot, a couple changes need to be made to the BIOS settings. Press the delete key when the MSI splash screen appears after turning on to enter the BIOS menu. The following changes should be made:

  1. Under the Boot tab: Change 'Fast Boot' from enabled to disabled
  2. Under the Boot tab: Change 'Boot mode select' to LEGACY

{X} Both the ethernet and WiFi do not work out of the box on a fresh Jessie install, as the drivers/firmware are not available. So there is no way to update and upgrade to the testing (Stretch) distribution or download needed firmware unless the user has an alternative means of connection. To get around the lack of working internet connection on the stock hardware a usb-to-ethernet adapter was used. The model was a J5-create JUE130 USB 3.0 to ethernet adapter, it is automatically recognized and loaded as an ASIX AX88179 device. Alternatively one might be able to use the testing/Stretch installation media to obtain a working WiFi connection in order to install extra packages/updates, but this is untested.

Configuration

Try to follow the order of the wiki in order to avoid possible dead ends.

From a fresh Jessie install (don't update jessie first or you may end up with non-working Xorg), first edit your /etc/apt/sources.list to point to stretch. You will also need to enable non-free components in order to get the NVidia drivers. Then upgrade to Testing/Stretch by doing:

sudo apt-get update && sudo apt-get upgrade

Display

Intel integrated graphics works out-of-the-box on Jessie/Stretch with Gallium.

Display/NVIDIA 970M:

As of 11/29/15 the packaged Nvidia drivers in Jessie/Testing(Stretch)/Sid are all too old to support the recent GTX 970M card (which requires the proprietary driver > 346.16). However, the drivers in experimental are recent enough.This is an Optimus laptop, so bumblebee is necessary for proper functionality. To install (w/ OpenCL support) add experimental to your sources by doing:

echo "deb http://httpredir.debian.org/debian experimental main contrib non-free" | sudo tee -a /etc/apt/sources.list

then update and install the nvidia drivers:

sudo apt-get update
sudo apt-get -t experimental install nvidia-driver vdpau-driver-all nvidia-settings bumblebee-nvidia nvidia-libopencl1 nvidia-opencl-common nvidia-opencl-icd nvidia-cuda-dev libcuda1 libgl1-nvidia-glx

also, to make sure you are present in the bumblebee group (if you are already a member of sudo, this may be unnecessary), do:

sudo usermod -a -G bumblebee $USER

then reboot. To test the bumblebee/optimus functionality, try running:

optirun glxinfo | grep OpenGL

the output should look like:

OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GTX 970M/PCIe/SSE2
OpenGL core profile version string: 4.4.0 NVIDIA 352.63
OpenGL core profile shading language version string: 4.40 NVIDIA via Cg compiler
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.5.0 NVIDIA 352.63
OpenGL shading language version string: 4.50 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:

Strangely, while executing optirun does turn on the GPU, it seems that the OpenGL work is not being offloaded to the discrete card properly. For example running  optirun glxgears  doesn't produce any output and promptly exits without even creating a window. On the otherhand, when the GPU is switched on with optirun it is available for OpenCL workloads and following the testing guide on Andreas Kloeckner's website OpenCL testing resources does show that the card is on and accepts OpenCL jobs.

Audio

Seems to work fine without user configuration.

Mouse

Seems to work fine without user configuration

Power Management

Hibernation seems to work OK.

WiFi

1- Download the drivers from github.

 git clone https://github.com/kvalo/ath10k-firmware.git

2- Copy the directories hw2.1 and hw3.0 in "/lib/firmware/ath10k/QCA6174" directory (create the directory if it does not exist)

sudo cp -r ath10k-firmware/QCA6174 /lib/firmware/ath10k/

3- change the names of the binaries insides the directories

 sudo mv /lib/firmware/ath10k/QCA6174/hw2.1/firmware-5.bin_SW_RM.1.1.1-00157-QCARMSWPZ-1 /lib/firmware/ath10k/QCA6174/hw2.1/firmware-5.bin

 sudo mv /lib/firmware/ath10k/QCA6174/hw3.0/firmware-4.bin_WLAN.RM.2.0-00180-QCARMSWPZ-1 /lib/firmware/ath10k/QCA6174/hw3.0/firmware-4.bin

Bluetooth

Method 1

1- Download the deb file from this link

wget http://mirrors.kernel.org/ubuntu/pool/main/l/linux-firmware/linux-firmware_1.160_all.deb -O linux-firmware.deb

2- extract the driver

mkdir linux-firmware && sudo dpkg -x linux-firmware.deb linux-firmware
sudo cp -r linux-firmware/lib/firmware/qca /lib/firmware/

Method 2

If the above method doesn't work, you likely need to patch the Linux kernel as described below (copied from InstallingDebianOn/MSI/GS60):

LAN

The Lan is working fine with the kernel 4.6.0-1-amd64.


System Summary

lspci

00:00.0 Host bridge [0600]: Intel Corporation Sky Lake Host Bridge/DRAM Registers [8086:1910] (rev 07)
00:01.0 PCI bridge [0604]: Intel Corporation Sky Lake PCIe Controller (x16) [8086:1901] (rev 07)
00:02.0 VGA compatible controller [0300]: Intel Corporation Device [8086:191b] (rev 06)
00:08.0 System peripheral [0880]: Intel Corporation Sky Lake Gaussian Mixture Model [8086:1911]
00:14.0 USB controller [0c03]: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller [8086:a12f] (rev 31)
00:14.2 Signal processing controller [1180]: Intel Corporation Sunrise Point-H Thermal subsystem [8086:a131] (rev 31)
00:16.0 Communication controller [0780]: Intel Corporation Sunrise Point-H CSME HECI #1 [8086:a13a] (rev 31)
00:17.0 SATA controller [0106]: Intel Corporation Sunrise Point-H SATA Controller [AHCI mode] [8086:a103] (rev 31)
00:1c.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #5 [8086:a114] (rev f1)
00:1d.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #9 [8086:a118] (rev f1)
00:1d.5 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #14 [8086:a11d] (rev f1)
00:1d.6 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #15 [8086:a11e] (rev f1)
00:1f.0 ISA bridge [0601]: Intel Corporation Sunrise Point-H LPC Controller [8086:a14e] (rev 31)
00:1f.2 Memory controller [0580]: Intel Corporation Sunrise Point-H PMC [8086:a121] (rev 31)
00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-H HD Audio [8086:a170] (rev 31)
00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-H SMBus [8086:a123] (rev 31)
01:00.0 3D controller [0302]: NVIDIA Corporation GM204M [GeForce GTX 970M] [10de:13d8] (rev ff)
3b:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd Device [144d:a802] (rev 01)
3c:00.0 Ethernet controller [0200]: Qualcomm Atheros Device [1969:e0a1] (rev 10)
3d:00.0 Network controller [0280]: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter [168c:003e] (rev 20)

lsusb

lsusb -v | grep -E '\<(Bus|iProduct|bDeviceClass|bDeviceProtocol)' 2>/dev/null

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         3
  iProduct                2
Bus 001 Device 002: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
  bDeviceClass          255 Vendor Specific Class
  bDeviceProtocol       255 Vendor Specific Protocol
  iProduct                2
      (Bus Powered)
Bus 001 Device 004: ID 5986:055c Acer, Inc
  bDeviceClass          239 Miscellaneous Device
  bDeviceProtocol         1 Interface Association
  iProduct                1
      (Bus Powered)
Couldn't open device, some information will be missing
Bus 001 Device 003: ID 0cf3:3004 Atheros Communications, Inc. AR3012 Bluetooth 4.0
  bDeviceClass          224 Wireless
  bDeviceProtocol         1 Bluetooth
  iProduct                0
Couldn't open device, some information will be missing
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         1 Single TT
  iProduct                2 

USB Host controllers entries (without OHCI, UHCI, EHCI) are removed too.

Resources

Attachments

Xorg.conf file generation fails with the error: 'Number of created screens does not match the number of detected devices'

Some configuration files and sample outputs.

  • [get | view] (2015-11-29 06:34:13, 23.9 KB) [[attachment:dmidecode_output.txt]]
  • [get | view] (2015-11-29 06:34:25, 4.9 KB) [[attachment:lsmod_output.txt]]
 All files | Selected Files: delete move to page copy to page

Credits

Credit for the ALX driver solution goes to ?BattleDingo on askubuntu


CategoryLaptopComputer CategoryDebianOn