This configuration will not work with MacBook Pro 11,2 or 11,3 models.
-
Prevent intermittent USB 3.0 controller wakeup signal when the lid is closed. Without this fix your laptop may get very hot and drain the battery after waking up in your laptop bag.
You can see for yourself which devices are allowed to wake up your laptop using the command:
cat /proc/acpi/wakeup
This fix works for Linux kernel 3.13 and above.
Sources:
The MacBookPro11,4 and MacBookPro11,5 models ship with a discrete ATI/AMD graphics card (whereas MacBookPro11,2 and MacBookPro11,3 ship with NVidia cards). This is alongside the usual integrated Intel GPU.
To switch from the older radeon
driver to the newer amdgpu
driver (via experimental si_support
), include nixos-hardware.nixosModules.common-gpu-amd-southern-islands
(or ${nixos-hardware}/common/gpu/amd/southern-islands
) in your configuration. This will get you vulkan support among other benefits.
For example, in your flake.nix
:
nixosConfigurations = {
macbook-pro-11-5 = lib.nixosSystem {
system = "x86_64-linux";
modules = [
nixos-hardware.nixosModules.apple-macbook-pro-11-5
nixos-hardware.nixosModules.common-gpu-amd-southern-islands
{
# Your personal configuration
}
];
};
};
You may also wish to look into dynamic switching between integrated and discrete graphics, but this config doesn't currently attempt it. See the removed hardware.amdHybridGraphics.disable option for an entry point.
Hardware probes generated with nix run nixpkgs#hw-probe -- -all -upload
:
- Probe #305905e674 of Apple MacBookPro11,5 (with
amdgpu
driver)
DRM (Direct Rendering Manager) snapshots generated with drm_info -j | curl -d @- https://drmdb.emersion.fr/submit
:
- Snapshot #e8f8076f1f1b (with
amdgpu
driver)
- Arch linux wiki: MacBookPro11,x
- Kernel patches: MacBookPro11,x
For more context about experimental amdgpu
support, see: