Heuristic for selecting primary GPU
Feature summary
Sometimes mutter will pick the wrong GPU to mark as primary. One case that this happens is on some ASUS Strix laptops where the NVIDIA GPU comes earlier in the PCI bus than the APU's display endpoint.
65:00.0 VGA compatible controller: NVIDIA Corporation AD106M [GeForce RTX 4070 Max-Q / Mobile] (rev a1)
66:00.0 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] Strix [Radeon 880M / 890M] (rev c1)
How would you like it to work
I think it would be a good idea to add a heuristic that mutter walks all the DRM connectors. It should look specifically for eDP connectors. If any eDP connectors have an enabled
display then mark the DRM device associated with them as the primary GPU.
If multiple eDP connectors or no eDP connectors have an enabled
display then don't do anything differently.
Relevant links, screenshots, screencasts etc.
- Related issue in drm/amd bugtracker.
- Related issue in mutter.
- Related issue in cosmic
- Related issue in kwin.
Edited by Mario Limonciello