This github repository contains:
- NVME kernel patches for linux made by Andy Lutomirski.
- PKGBUILD for linux-nvme on Arch maintained by me.
These patches enable NVME drives to enter lower power states.
For example: my case (XPS13, linux-nvme4.9.0) it decreases idle usage by ~1.5watt (see Benchmarks file)
It seems that the patch to disable SM951 has been merged also:
static const struct nvme_core_quirk_entry core_quirks[] = {
/*
* Seen on a Samsung "SM951 NVMe SAMSUNG 256GB": using APST causes
* the controller to go out to lunch. It dies when the watchdog
* timer reads CSTS and gets 0xffffffff.
*/
{
.vid = 0x144d,
.fr = "BXW75D0Q",
.quirks = NVME_QUIRK_NO_APST,
},
- git clone: https://github.com/damige/linux-nvme.git
- go into /src/[kernel you want]
- type "makepkg" -wait until compilation completes-
- pacman -U linux-nvme-*
- Adjust your bootloader of choice to boot linux-nvme
4.8.x:
Patch using nvmepatch1-V4.patch, nvmepatch2-V4.patch, nvmepatch3-V4.patch.
4.9.x:
Patch using APST.patch, pm_qos1.patch, pm_qos2.patch, pm_qos3.patch, nvme.patch
4.10.x:
Patch using APST.patch
- use AUR helper of choice to install "linux-nvme"
- Adjust your bootloader of choice to boot linux-nvme
* Add to your /etc/pacman.conf
[linuxnvme]
SigLevel = TrustAll
Server = http://linuxnvme.damige.net/repo
- Update db and install with:
pacman -Sy
pacman -S linuxnvme/linux-nvme linuxnvme/linux-nvme-headers linuxnvme/linux-nvme-docs
My GPG key (for reference) is: A6255D31F80BEC97
- Adjust your bootloader of choice to boot linux-nvme
- Download: http://linuxnvme.damige.net/kernels/
- Verify sums: https://github.com/damige/linux-nvme/blob/master/compiled/sums
- install with:
pacman -U linux-nvme-*
- Adjust your bootloader of choice to boot linux-nvme
- install nvme-cli and: "nvme get-feature -f 0x0c -H /dev/nvme0" Expected output is: "Autonomous Power State Transition Enable (APSTE): Enabled"
- Check if "/sys/class/nvme/nvme0/power/pm_qos_latency_tolerance_us" exists
- Verify measurably lower power usage when ssd is idle
In the latest patches the samsung SM951 (as used in the XPS 9350) has been disabled for NVME APST.
This is due to some reported instability.
I have not included the patch disabling this nvme drive, as i use it myself. Incase you want the full APST patch its listed as APST-FULL.patch
- None?