External monitor on Wayland | HDMI/DisplayPort connected to NVIDIA GPU


I have a laptop with an AMD CPU (and iGPU) and an Nvidia 1660Ti dGPU. My HDMI and DisplayPort ports are connected to the Nvidia dGPU while my laptop screen is connected to the iGPU. I’m running Wayland via a wlroots-based compositor.

My goal is to have a working multi-monitor setup on Wayland. Ideally, I’d have all my applications running on the iGPU to conserve power, with the display buffers copied over to the Nvidia dGPU for display on an external monitor (I believe this is called the Reverse Prime mode). Under specific circumstances, I’d like to run graphics-intensive programs on the dGPU to maximize performance.

A less ideal scenario (higher power consumption) would be to have the dGPU running all the time driving both the laptop screen and the external display.

I can’t get either of these configurations to work with Wayland. I have tried setting the environment variable WLR_DRM_DEVICES as recommended on the Sway wiki but that doesn’t work for me (in case it matters, I’m using Qtile, a different wlroots-based Wayland compositor).

My questions:

  1. Is such a multi-monitor setup currently supported? If so, could someone please share a working configuration or help me troubleshoot?
  2. If this isn’t yet supported, what are the blockers? Is there a timeline for implementing this?

Thank you!

1 Like