Xiaomi RedmiBook Pro 16 2025
Hardware | PCI/USB ID | Working? |
---|---|---|
GPU | 8086:7d51 |
Yes |
Wi-Fi | 8086:7740 |
Yes |
Bluetooth | 8087:0026 |
Yes |
Webcam | 2b7e:c817 |
Yes |
Touchpad | 27c6:0f90 |
Yes |
Keyboard | Yes | |
TPM | Yes | |
Fingerprint reader | 27c6:689a |
Yes |
Audio | 8086:7728 |
Yes |
Ambient light sensor | Yes | |
NPU | 8086:7d1d |
Untested |
The Xiaomi RedmiBook Pro 16 (2025) features a 16" screen, Intel Core Ultra 5 225H or Ultra 7 255H processor, and integrated Intel Arc 130T / 140T GPU.
For a general overview of laptop-related articles and recommendations, see Laptop.
Installation
When installing Arch Linux on this device, Wi-Fi functionality may require the linux-firmware-gitAUR package.
To disable Secure Boot, a UEFI password has to be set first.
Accessibility
The firmware interface is set to Chinese by default.
To change the firmware language to English, navigate through the menus by pressing: Right
(to access the Settings tab), Down
, Down
, Enter
(to enter language settings), Down
, Enter
(to select English).
Firmware
fwupd supports updating the system firmware, NVMe SSD, and webcam on this device.
Function keys
Key | Visible?1 | Marked?2 | Effect |
---|---|---|---|
Fn+Esc |
No | Yes | Enable Fn lock |
Fn+F1 |
Yes | Yes |
XF86AudioMute
|
Fn+F2 |
Yes | Yes |
XF86AudioLowerVolume
|
Fn+F3 |
Yes | Yes |
XF86AudioRaiseVolume
|
Fn+F4 |
No | Yes | Mute Microphone |
Fn+F5 |
Yes | Yes |
XF86MonBrightnessDown
|
Fn+F6 |
Yes | Yes |
XF86MonBrightnessUp
|
Fn+F7 |
No | Yes | Xiao AI |
Fn+F8 |
No | Yes | Project |
Fn+F9 |
No | Yes | Settings |
Fn+F10 |
No | Yes | Toggle Keyboard Backlight |
Fn+F11 |
Yes | Yes |
Print
|
Fn+F12 |
Yes | Yes |
Insert
|
Fn+p |
Yes | No |
Pause
|
Fn+b |
Yes | No |
Pause
|
Fn+Ctrl |
Yes | Yes |
Menu
|
- The key is visible to
xev
and similar tools. - The physical key has a symbol on it, which describes its function.
Charge Limit
The device supports setting a charge limit by making some ACPI calls (extracted from the Xiaomi PC Manager software). Provided the acpi_call package is installed, the following script makes this easily accessible under Linux as well:
set_charge_limit.sh
#!/bin/bash acpi_call() { local command="$1" local hex_value="$2" local acpi_string="\\_SB.PC00.WMID.WMAA 0x0 0x1 { \ 0x00 $command 0x00 0x10 0x02 0x00 $hex_value 0x00 \ 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 \ 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 \ 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 }" echo "$acpi_string" | tee /proc/acpi/call } set_charge_limit() { local limit_hex case "$1" in 40) limit_hex="0x08" ;; 50) limit_hex="0x07" ;; 60) limit_hex="0x06" ;; 70) limit_hex="0x05" ;; 80) limit_hex="0x01" ;; *) echo "Invalid limit. Valid options: 40, 50, 60, 70, 80"; exit 1 ;; esac echo "Setting $1% limit" acpi_call "0xfb" "$limit_hex" echo "Enabling charge limit" acpi_call "0xfa" "0x00" echo "Enabling charge limit (second call)" acpi_call "0xfa" "0x00" } disable_charge_limit() { echo "Disabling charge limit" acpi_call "0xfb" "0x00" echo "Disabling charge limit (second call)" acpi_call "0xfb" "0x00" } if [ "$#" -ne 1 ]; then echo "Usage: $0 <limit|disable>" echo " limit: 40, 50, 60, 70, or 80" echo " disable: turns off charge limiting" exit 1 fi if [ "$1" = "disable" ]; then disable_charge_limit else set_charge_limit "$1" fi
The script needs to be run on every reboot. You can automate this by using systemd. An example unit to set the charge limit to 70% may look like this:
[Unit] Description=Set battery charge limit on boot [Service] Type=simple ExecStart=/path/to/set_charge_limit.sh 70 User=root Group=root [Install] WantedBy=multi-user.target