Hi Mario,
I’m not sure I understand. Are you saying that whether I use the FW DP module or buy a USB-C to DP cable to connect a monitor to the dedicated dGPU USB-C port… the dGPU won’t care that it has a monitor plugged into it and go to sleep during the boot process so my external monitor will be blank before/during SDDM login (pre desktop)?
Why is the dGPU idle if I have a monitor connected to its dedicated display port? In my experience, a monitor connected to video card = you have work to do, show me an image, not go to sleep.
In a design where the only purpose for the dGPU is to be optionally used to drive the laptop panel instead of the iGPU… then sleeping the dGPU when not in use makes sense in an “on battery” use case (and not a bad option either for an “on AC, off battery” use case)… but the moment a dedicated port is added to the dGPU, the use case scenarios must be expanded:
Scenario #1 - On battery, external display on dGPU port, iGPU defaults to laptop panel
Monitor connected to dGPU port = stay awake. If I chose to keep the external monitor connected while on battery, then I accepted the expected increased power drain on the battery.
Scenario #2 - On AC, external display on dGPU port, iGPU defaults to laptop panel
If I am connected to AC (no battery drain)… why sleep the dGPU? If energy conservation is a concern, then they could always move the external monitor to one of the side DP/HDMI ports and that is covered by Scenario #4
Monitor connected to dGPU port = stay awake
Scenario #3 - On battery, dGPU port empty, iGPU defaults to laptop panel
Sleeping the dGPU makes sense here as there is no external monitor connected to the dGPU and the iGPU will driving the laptop panel.
If the user swaps in the dGPU to drive the laptop panel on battery, then they accept the expected increased power drain.
No monitor connected to dGPU port = sleep; until user wants panel/app driven by dGPU
Scenario #4 - On AC, dGPU port empty, iGPU defaults to laptop panel
Similar to Scenario #2… If I am connected to AC (no battery drain)… why sleep the dGPU? But like Scenario #3 there is no monitor connected on the dGPU port, so putting the dGPU to sleep is alright as the panel is driven by the iGPU, until the user chooses to swap the dGPU in to drive the laptop panel.
No monitor connected to dGPU port = sleep; until user wants panel/app driven by dGPU
Another Thought
I wonder why there isn’t a BIOS option to disable the iGPU in favor of the dGPU; thereby killing the sleep mechanism so it acts like a dedicated GPU.
Potential Work-a-rounds?
Is there a…
- kernel parameter I can add to GRUB,
- module I can add to mkintcpio/initramfs,
- conf file I can add to
/etc/modprobe.d
,
- or service i can add to systemd
…that will keep the dGPU awake if I have a monitor plugged to to directly? or if not, an override for the 5 second sleep entirely?