Black screen booting Linux when eGPU is ON (even single/console mode)
However, I wonder if someone could help me with a Linux issue: I tried Ubuntu and Manjaro, both work fine as long as the enclosure is OFF when it boots. If I hot plug the GPU, the screen flicks, I see log entries for amdgpu in system log, but X (either GDM3 or XFCE) continues to work perfectly but for the fact that the monitor connected to the eGPU is still blank.
Otherwise (when the GPU is ON during boot), the system seems to freeze early in the process regardless where monitors are connected. I see rEFInd boot messages, but then screens goes blank. It happens even if I boot on single mode (i.e. console). I say "seems to" because I can see in journalctl that it is indeed booting all the way every time. The notable difference is that, when the GPU is OFF, I see messages referring to the Intel (internal) controller, such as these (early during boot):
> kernel: Reserving Intel graphics memory at [mem 0x7a000000-0x7fffffff]
> kernel: pci 0000:00:02.0: vgaarb: setting as boot VGA device
> kernel: pci 0000:00:02.0: vgaarb: VGA device added: decodes=io+mem,owns=io+mem,locks=none
> kernel: pci 0000:00:02.0: vgaarb: bridge control possible
And these, late in the logs:
> kernel: checking generic (a0000000 e10000) vs hw (a0000000 10000000)
> kernel: fb0: switching to inteldrmfb from EFI VGA
> kernel: Console: switching to colour dummy device 80x25
> kernel: i915 0000:00:02.0: vgaarb: deactivate vga console
> kernel: [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
> kernel: [drm] Driver supports precise vblank timestamp query.
> kernel: i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
> kernel: [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_04.bin (v1.4)
Other than those, differences seem to be minimal and irrelevant. From such messages, I assume linux is automatically disabling the internal Intel video controller whenever it sees the external GPU is connected.
I have tried several kernel versions, several kernel options (such as nomodeset and video=...), blacklisting amdgpu drivers, and apple_set_os.efi. All venues to no avail. Also, please ignore the fact that amdgpu drivers are not loading correctly, for the time being I'd be satisfied with not having to turn off the eGPU at every boot.
Would anyone have a hint on how I can force linux to use the internal adapter on boot? Or perhaps how I could enable it through an SSH session? Please note that I don't refer to X, console would suffice as it allows me to continue investigations over amdgpu without turning my enclosure off and on every boot. Also, it happens merely by the enclosure being ON, regardless if there is any monitor connected to it.
Thanks in advance, JD.
Sorry I probably won't be of much help but have you 'authorized' the Akitio Node enclosure? You could pull the GPU out of the enclosure just to be able to boot without having the screen go blank, so you can do that.
Weird that the screen goes blank directly after EFI but maybe that's just how the Mac Mini works, I don't know. Are you using any of the tools on this forum to inject the config needed at boot to make X use the eGPU?
Hi there, @sebulon
Thanks, any help is welcome. Yes, I authorized, and double checked it. And yes, I believe I tried all the tools, including the EFI fixes.
Maybe you're onto something, it is how the mini works. Today I borrowed another enclosure, with an nVidia card, and got similar results.