diff --git a/README.md b/README.md index 3146eef..2561c80 100644 --- a/README.md +++ b/README.md @@ -72,6 +72,7 @@ See code for all available configurations. | [Apple MacBook Air 4,X](apple/macbook-air/4) | `` | | [Apple MacBook Air 6,X](apple/macbook-air/6) | `` | | [Apple MacBook Pro 10,1](apple/macbook-pro/10-1) | `` | +| [Apple MacBook Pro 11,5](apple/macbook-pro/11-5) | `` | | [Apple MacBook Pro 12,1](apple/macbook-pro/12-1) | `` | | [Asus ROG Strix G733QS](asus/rog-strix/g733qs) | `` | | [Asus ROG Zephyrus G14 GA401](asus/zephyrus/ga401) | `` | diff --git a/apple/macbook-pro/11-5/README.md b/apple/macbook-pro/11-5/README.md index 17e5ef1..63fa119 100644 --- a/apple/macbook-pro/11-5/README.md +++ b/apple/macbook-pro/11-5/README.md @@ -22,11 +22,49 @@ This configuration will **not** work with MacBook Pro 11,2 or 11,3 models. ## Graphics -The [MacBookPro11,4 and MacBookPro11,5](https://support.apple.com/kb/SP719) models ship with a discrete ATI graphics card (whereas MacBookPro11,2 and MacBookPro11,3 ship with NVidia cards). This is alongside the usual integrated Intel GPU. +The [MacBookPro11,4 and MacBookPro11,5](https://support.apple.com/kb/SP719) 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. -You may wish to look into dynamic switching between integrated and discrete graphics, but this config doesn't attempt it. +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`: + +```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 + } + ]; + }; +}; +``` + +## Power management + +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](https://github.com/NixOS/nixpkgs/pull/33915) option for an entry point. + +## Hardware probes + +Hardware probes generated with `nix run nixpkgs#hw-probe -- -all -upload`: + +* Probe [#305905e674](https://linux-hardware.org/?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](https://drmdb.emersion.fr/snapshots/e8f8076f1f1b) (with `amdgpu` driver) ## Additional resources * Arch linux wiki: [MacBookPro11,x](https://wiki.archlinux.org/index.php/MacBookPro11,x) * Kernel patches: [MacBookPro11,x](https://bugzilla.kernel.org/buglist.cgi?quicksearch=macbookpro11) + +For more context about experimental `amdgpu` support, see: + +* [Enabling AMDGPU by default for SI & CIK (November 2021)](https://gitlab.freedesktop.org/drm/amd/-/issues/1776) +* [Enabling AMDGPU by default for SI & CIK (August 2020))](https://lists.freedesktop.org/archives/amd-gfx/2020-August/052243.html) +* [Feature support matrix](https://wiki.gentoo.org/wiki/AMDGPU#Feature_support) diff --git a/apple/macbook-pro/11-5/default.nix b/apple/macbook-pro/11-5/default.nix index a53b5d8..434e8e7 100644 --- a/apple/macbook-pro/11-5/default.nix +++ b/apple/macbook-pro/11-5/default.nix @@ -10,13 +10,10 @@ in imports = [ ../. ../../../common/pc/laptop/ssd - ]; - # Apparently this is currently only supported by ati_unfree drivers, not ati - hardware.opengl.driSupport32Bit = false; - - services.xserver.videoDrivers = [ "ati" ]; + # Enable broadcom-43xx firmware + hardware.enableRedistributableFirmware = lib.mkDefault true; services.udev.extraRules = # Disable XHC1 wakeup signal to avoid resume getting triggered some time