I have an old MacBook with both integrated and discrete graphics, on which I run Fedora. When I first installed it, and sometimes when I update, it fails to boot with a weird "screen crash" where there is a dirty black-and-white checkerboard. People have reported issues like this many times, on many machines, over the years, and it seems the cause is trouble with the VGA switcheroo; dmesg will typically include a line like "vga_switcheroo: client 0 refused switch" (or "vga_switcheroo: client 1 refused switch"!).
The first time I encountered this, I found a Red Hat bug where the best workaround was to disable (with
systemctl mask) the alsa-switch service, which was somehow blocking the switch and leaving the system in an inconsistent state.
However, the problem came back, and disabling alsa-switch does nothing. So, presumably, there is now another program blocking the switch. How do I find out what it is?