Disable Radeon dGPU in Macbook 8,2

Looking for advice on disabling an AMD 6750M at boot on a 2011 Macbook Pro in NixOS.

I’ve been using a Grub workaround to get an old Macbook Pro from 2011 to run with a broken GPU on Ubuntu. Any time I try boot the machine without this fix, the screen freezes during boot and slowly fades to white.

Since AMD has since released another generation of 6000 series GPUs, I’m having a bit of trouble figuring out how to disable the dedicated GPU in NixOS, as most advice on the matter refers to graphics cards one generation newer than mine, or the latest 6000 series of cards.

I’m also curious to see if, once I can figure out the correct things to reference, if I can get a solution like this Nvidia alternative to work for my GPU.

I’ll post my own attempts here but if anyone knows what I should be referencing in the config, help would be appreciated.

Hey and welcome! :slight_smile:

My first try would be to blacklist all the relevant kernel modules from loading. Did you try that already?

That’s the plan - I’m just having trouble researching what the relevant modules actually are, for the reasons I describe. The AMDGPU ones I linked didn’t work when I tried them, I believe because my GPU pre-dates the oldest ones listed for that module.

Yeah the amdgpu is the newer cards. I believe it might be called radeon? You might check and see if that is loaded at all via lsmod.

The only AMD kernel module I can see at the moment from lsmod is amdxcp, so I tried to disable it by using the same blacklisting I had tried for AMDGPU;

{ lib, ... }:

{
  # Disable AMD GPU

  ## Remove Kernel Modules
  boot.extraModprobeConfig = lib.mkDefault ''
    blacklist amdxcp
    options amdxcp modeset=0
  '';
 
}

But I’m still getting the white-screen fadeout around when the startup list gets to Kernel modules. I know there’s a quiet splash function in that Grub workaround I listed. Perhaps it needs that too?

Admittedly I am running lsmod in the nomodeset Live Environment and editing the configuration.nix file from there so it might not be running everything I need to disable.

So just to get this clear, the actual problem you are facing is this white-screen fade-out? But are you certain that is caused by the AMD gpu at all?

Correct, and I believe so. The 2011 Macbook Pro with this GPU has a long history of failures, and this laptop doesn’t even start if you don’t prevent the AMD GPU from switching on fully. Safe-mode boots do work with the dGPU, but then any dark area of the screen will be flickering with green noise. Previous solutions that have gotten it working have typically involved switching hardware ports off at boot (I believe the PCIE bridge?), and forcing the Intel integrated GPU to take over.

I have until now been using an Ubuntu live environment to modify grub.cfg on Debian-based installs with the link in my original post. I was curious if I could get a nix declaration to do something more reproducible, as I usually have to edit it every time there’s a software update, which has been tedious. I’ve always found it a useful learning tool to struggle through, which is why I persist.