Xiaomi Mi Notebook Pro 15.6
|USB-C / Thunderbolt 3||Working||?|
The Mi Notebook Pro 15.6 is an aluminium notebook. It is a product by the Chinese Company Xiaomi.
The installation should be going without any problems if you follow the following steps.
Pre-Installation System Settings
It is actually very easy getting the Arch Installation Medium to boot properly. Prior to booting the Arch installation ISO enter the UEFI menu by pressing F2 during Boot.
- Security -> set password
- Security -> Disable Secure Boot
- reset the password by setting the password again but letting the "New Password" fields blank
Installation of Arch can proceed normally. Refer to the Installation guide for more info.
Graphics Card Configuration
The Mi Book has an Intel, as well as an NVIDIA GPU.
If you want to completely disable the NVIDIA GPU (which might save batterlife), do the following:
- Install the package
- Blacklist the Kernel modules#Blacklisting and kernel modules
blacklist nouveau blacklist nvidia
- Install turn off the card to
options bbswitch load_state=0 unload_state=0
Intel/NVIDIA Hybrid Configuration
Refer to the respective articles.
Optimus-manager  works great as well. In conjunction with bbswitch, it allows easy and persistent switching between modes (Intel, Hybrid, Nvidia) even after sleep / hibernation.
Note that included MX150 GPU does not properly work with VDPAU. It also does not work with NVDECODE and NVENCODE. Thus, video playback works faster and better with Intel's chip with VAAPI on this particular notebook. Even though it supports specifications, this particular GPUs hardware acceleration APIs do not work with the proprietary NVIDIA driver (nouveau needs to be tested). The only benefit of NVIDIA GPU is better performance on high-resolution screens and CUDA/gaming.
While video playback performance is best with Intel VAAPI, battery life is best when relying on CPU for video decoding (as VDPAU/NCDECODE/NVENCODE does not work).
To use the touchpad like a normal one, you have to use Synaptics)) things are only working sporadically. This configuration of using XOrg configuration files enables two-finger gestures, tap-to-click and 2-and 3-finger clicks (for right- and middle-click respectively).. If you use , your touchpad acts like a touchscreen (e.g it maps your movements directly to your screen). But if you are using (although you really should not, because it is deprecated (see
Section "InputClass" Identifier "libinput touchpad" Driver "libinput" MatchIsTouchpad "on" MatchDevicePath "/dev/input/event*" Option "Tapping" "on" Option "ClickMethod" "clickfinger" Option "NaturalScrolling" "true" EndSection
On this notebook, the Fn-keys are enabled as default (e.g. pressing F1 mutes the sound). If pressing the keys does nothing you are most likely using a Window manager and not a Desktop environment. Use the respective configuration files to bind the keys to their use. For example Xbindkeys or i3's
Most Fn-keys return the correct keycodes. Here is a table containing that information:
To make F7 ("Scissors") work, one have to make sure "xiaomi_wmi" kernel module is loaded. This enables you to assign anything to the key.
Factory display calibration is poor. Check the panel model:
$ edid-decode < /sys/class/drm/card0-eDP-1/edid | grep Alphanumeric
The output of lspci is
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers (rev 08) 00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (rev 07) 00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th Gen Core Processor Gaussian Mixture Model 00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21) 00:14.2 Signal processing controller: Intel Corporation Sunrise Point-LP Thermal subsystem (rev 21) 00:15.0 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #0 (rev 21) 00:15.1 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #1 (rev 21) 00:16.0 Communication controller: Intel Corporation Sunrise Point-LP CSME HECI #1 (rev 21) 00:1c.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #1 (rev f1) 00:1c.4 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #5 (rev f1) 00:1c.7 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #8 (rev f1) 00:1d.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #9 (rev f1) 00:1f.0 ISA bridge: Intel Corporation Sunrise Point LPC Controller/eSPI Controller (rev 21) 00:1f.2 Memory controller: Intel Corporation Sunrise Point-LP PMC (rev 21) 00:1f.3 Audio device: Intel Corporation Sunrise Point-LP HD Audio (rev 21) 00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21) 01:00.0 3D controller: NVIDIA Corporation GP108M [GeForce MX150] (rev a1) 03:00.0 Network controller: Intel Corporation Wireless 8265 / 8275 (rev 78) 04:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM961/PM961
The output of lsusb is
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 005: ID 04f3:0c1a Elan Microelectronics Corp. ELAN:Fingerprint Bus 001 Device 004: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller Bus 001 Device 003: ID 05c8:03b7 Cheng Uei Precision Industry Co., Ltd (Foxlink) XiaoMi USB 2.0 Webcam Bus 001 Device 002: ID 8087:0a2b Intel Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
You can adjust brightness directly (works even with
# echo 7500 > /sys/class/backlight/intel_backlight/brightness
However, if you use a tool like in its default configuration, nothing happens, because the path to the backlighting variable is not standard. To fix this issue, you have to setup Intel driver and add Backlight option to respective X-Org configuration file:
Section "Device" Identifier "Card0" Driver "intel" Option "Backlight" "intel_backlight" BusID "PCI:0:2:0" EndSection