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. If you need help to get Debian running on your hardware, please have a look at our user support channels where you may find specific channels (mailing list, IRC channel) dedicated to certain types of 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 |
||
Boot Standard Kernel: |
|
|
LAN network card: |
|
|
Detect hard drives: |
|
|
Extra Features |
||
CPU Frequency Scaling |
|
|
Hibernation |
|
|
Sleep / Suspend |
|
|
Xorg |
|
|
- OpenGL |
|
|
- Resize-and-Rotate(randr) |
[?] |
|
Switch to External Screen |
[?] |
|
Mouse (Touchpad) |
|
|
Wireless/Wifi |
|
|
Wireless/Bluetooth |
|
|
Keyboard's Hotkeys |
|
|
Webcam |
|
Legend :
= OK ;
Unsupported(No Driver) ;
= Error (Couldn't get it working); [?] Unknown, Not Test ; [-] Not-applicable
= Configuration Required;
= 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:
- Under the Boot tab: Change 'Fast Boot' from enabled to disabled
- Under the Boot tab: Change 'Boot mode select' to LEGACY
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):
Bluetooth is integrated in the Killer N1525 Combo WiFi card, but does not work out of the box. To make it work it is necessary to patch the Kernel and manually download non-free firmware. The main issue with this card is that the bluetooth shares the same USB identifier with an older bluetooth card by the same producer, so the chipset (QCA Rome) is not correctly identified as reported in https://bugzilla.kernel.org/show_bug.cgi?id=99371 . Unfortunately the currently proposed patch will make the older cards stop working and thus cannot be accepted in the official kernel.
The required firmware is currently not packaged in Debian, but can be downloaded from https://github.com/wkennington/linux-firmware/tree/master/qca . In particular nvm_usb_00000200.bin and rampatch_usb_00000200.bin are needed and should be installed in /lib/firmware/qca. I have tested scanning for devices, pairing with mobile phone and using bluetooth headset (using pulseaudio). Everything seems to work fine, except the microphone that has not been recognized.
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.
Useful Links
Credits
Credit for the ALX driver solution goes to ?BattleDingo on askubuntu