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?

  • 1
    @Goro Neither MacBook nor Fedora are code so should not be formatted as such. Also, the use of present tense for when I update, it fails is correct as updating is something that is regularly carried out. Finally, How can I find out is not an improvement on How do I find out. – Anthony Geoghegan Sep 17 '18 at 13:46
  • 1
    @Anthony Geoghegan. thank you for the constructive comments! I Completely agree! :-) – user88036 Sep 17 '18 at 13:51
  • 1
    @Goro Also, "the root is troublesome with the VGA switcheroo" is not correct - "trouble" is a noun, "troublesome" is an adjective. I've rolled back the edit - but thank you very much for caring enough to make it! – Tom Anderson Sep 17 '18 at 14:31
  • 1
    @AnthonyGeoghegan I've uppercased the pronouns. I realise "root" might be ambiguous here; i meant "root cause", not any of the various unix-related meanings of root, so i've changed that. – Tom Anderson Sep 17 '18 at 16:50
  • 1
    quoting myself "Presumably a part of the sound is handled by the discrete GPU so the sound card musn't be in use (this includes pulseaudio etc) before switching card". I have no proof nor understanding of that, but reading the comments in the bug report, am willing to believe. So yes that's pulseaudio. the lsof command is to look what is using sound, preventing video to work as intended. The generic solution is all in the comments. – A.B Sep 17 '18 at 18:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.