Page MenuHomeSolus

Modernise hybrid GPU management
Open, Needs TriagePublic

Description

linux-driver-management will be brought back to life with a number of small changes.
The existing implementation predates widespread adoption (and viability) of glvnd, thus forces uses onto the dGPU when proprietary
drivers are installed, resulting in reduced efficiency.

  • Default to iGPU in xorg.conf
  • Support switcheroo-control compatibility:
    • Symlink for supporting list and launch commands
    • Expose same D-BUS service, using the *working* logic of LDM
  • Implement launching using env vars:
    • NVIDIA: __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia __NV_PRIME_RENDER_OFFLOAD=1
    • Intel/AMD: DRI_PRIME=1
  • Test integration with GNOME
  • Investigate Plasma integration work
  • Ensure Budgie compatibility
  • Document the launch commands for other desktops
  • Potentially integrate into Brisk Menu for MATE
  • Investigate Caja compat.
  • Investigate whether we need to forcibly enable PRIME_SYNCHRONIZATION in ldm-session-init, otherwise drop these integrations.
  • Test @TClark77 and @ikey laptops
  • Get AMD testers (@ermo ?)

Unknown: MATE desktop

Related Objects

StatusSubtypeAssignedTask
Resolvedjoebonrichie
OpenNone

Event Timeline

ikey updated the task description. (Show Details)

Note: We will need to do some version detection logic too.
PRIME Offload is only correctly supported on 435+ NVIDIA drivers, otherwise
we're back to the old approach.

Plasma has this implemented via: https://phabricator.kde.org/D3451

This won't work with NVIDIA proprietary driver, so we'll need to play around until we get stuff working (likely LDM integration..)

How will this affect desktops that has an Intel integrated gpu along with a dedicated gpu from another manufacturer?

Should be fine - but we'll test. Thanks for volunteering :D