You are not logged in.
Intel iGPU
Nvidia RTX (Nvidia-open drivers)
KDE Wayland
I recently got a second monitor, and I've been using prime to run certain programs, and display them through my MB HDMI port with the CPU. I have the second monitor plugged directly into the GPU through DP, and I want to tell specific programs to ignore "prime run", and just use the GPU by itself. I don't want to change the primary monitor, as I want the CPU to always be the default. Whenever I search for a way around prime-run, I just find discussions about removing the feature entirely, along with a lot of laptop specific discussions.
I've been trying a couple launch options on steam, and the game always launches on the "primary" monitor. Tried "-m 2", "-monitor 2", "screen=2" and some others. I imagine there's a very simple answer to this, but I'm having no luck finding it on my own.
Help would be appreciated.
Offline
Wut?
If the display server (kwin_wayland) is running on the IGP, that's what will be rendering all outputs.
The framebuffer for the GPU attached output is then copied to the GPU, whether the GPU has previously been rendering the window and passed that to the display server on the IGP doesn't matter here.
If you want to use the IGP and the GPU independently, you'll have to run two display servers - one exclusively on the IGP and one exclusively on the GPU.
You will no longer be able to pass around windows between the monitors (except for xinerama on X11 but that's more theoretical since KDE will mostly crash w/o randr)
This is certainly doable on X11, whether kwin_wayland allows you to run independent instances you'll have to try.
I'd imagine https://wiki.archlinux.org/title/KDE#Me … -specific) might be a possible vector to control the drm device used by each instance.
You'll probably also have to dbus-run-session or dbus-launch one of the instances to keep them on different dbus instances (so one session cannot talk to the other session this way)
An alternative approach (using KWIN_DRM_DEVICES) might be to just run the display server ("everything") on the GPU and effectively prime-run isolated things on the IGP, but at that point and if your UEFI allows it: just completely disable the IGP.
Offline
Thanks for the info. I didn't realize it was so complicated. I figured the desktop environment would be flexible, and the GPUs would be just output tools. I didn't think sddm for instance, was tied to a specific GPU.
I really wanted to have the iGPU the default for everything, and dedicate the GPU to only specific programs. My plan was, if any things ever goes wrong with the GPU, the system would still be usable since it has the IGPU. I also just liked the idea of my GPU being focused on just specific things.
I was wondering if I could get everything to run on the iGPU, and maybe reverse prime to the dGPU to use it's output to the second monitor.... I guess that would mean a game running on the dGPU, gets passed through the iGPU, and then rendered back out of through the dGPU? The iGPU would then just be a bottleneck, right?
It was my hope to use the iGPU for efficiency and redundancy, but I guess that's currently just not possible while wanting to take advantage of the dGPU performance, running 240fps for the example. Sounds like either efficiency, or performance.
One last question. I unplugged the monitor from the MB port, does that mean the iGPU won't be used, or do I actually have to disable it?
I was thinking I could plug it back up if I ever need to run in hybrid mode.
Offline
I really wanted to have the iGPU the default for everything, and dedicate the GPU to only specific programs.
That's the default optimus/prime setup.
I guess that would mean a game running on the dGPU, gets passed through the iGPU, and then rendered back out of through the dGPU?
Worst case scenario, yes. (It would *theoretically* be possible to remove the second output from the display server and start a new one on it to run a single fullscreen window there, but I don't think anyone or anything does this, whether X11 or wayland)
I unplugged the monitor from the MB port, does that mean the iGPU won't be used, or do I actually have to disable it?
You'll have to check, it's possible that kwin_wayland defaults to whatever drm device has an output attached, but idk that.
qdbus6 org.kde.KWin /KWin supportInformationOtherwise you can set KWIN_DRM_DEVICES to enforce the use of a GPU (what will require your to restart kwin_wayland, ie. the display server - and your session because most clients will just die when the connection to the display server breaks. but you won't have to reboot)
Offline
Thanks, this helps a lot.
Going by the GPU utilization, it does seem the dGPU is doing the work by just disconnecting the iGPU. I'm guessing prime is just unused if there's no iGPU output to use, so I'll just control it by changing where monitors are plugged in. Lol
Offline
Going by the GPU utilization
kwin will /tell/ you what chip it's running on - no need for guesstimation.
Please always remember to mark resolved threads by editing your initial posts subject - so others will know that there's no task left, but maybe a solution to find.
Thanks.
Offline