You can easily control this by setting KWIN_DRM_DEVICES env variable. Assuming your iGPU is card0 this will force KDE to render everything on iGPU first
KWIN_DRM_DEVICES=/dev/dri/card0:/dev/dri/card1
This is simply not true anymore. At least on wayland and newer hardware/drivers even on desktop.
I have both my monitor and my TV attached to NVIDIA card, but eveything is rendered on my integrated AMD iGPU on my desktop machine. KDE+Wayland and new drivers are providing reverse PRIME for free just by setting KWIN_DRM_DEVICES env variable
$ inxi -MGa
Machine:
Type: Desktop System: ASUS product: N/A v: N/A serial: <superuser required>
Mobo: ASUSTeK model: TUF GAMING B650M-PLUS v: Rev 1.xx
serial: <superuser required> part-nu: SKU uuid: <superuser required>
UEFI: American Megatrends v: 3287 date: 09/20/2025
Graphics:
Device-1: NVIDIA GB205 [GeForce RTX 5070] vendor: ASUSTeK driver: nvidia
v: 580.105.08 alternate: nouveau,nvidia_drm non-free: 550-580.xx+
status: current (as of 2025-08) arch: Lovelace code: AD1xx
process: TSMC n4 (5nm) built: 2022+ pcie: gen: 4 speed: 16 GT/s lanes: 16
link-max: gen: 5 speed: 32 GT/s ports: active: DP-2,HDMI-A-1
empty: DP-1,DP-3 bus-ID: 01:00.0 chip-ID: 10de:2f04 class-ID: 0300
Device-2: Advanced Micro Devices [AMD/ATI] Granite Ridge [Radeon Graphics]
vendor: ASUSTeK driver: amdgpu v: kernel arch: RDNA-2 code: Navi-2x
process: TSMC n7 (7nm) built: 2020-22 pcie: gen: 4 speed: 16 GT/s
lanes: 16 ports: active: none empty: DP-4,HDMI-A-2,Writeback-1
bus-ID: 0c:00.0 chip-ID: 1002:13c0 class-ID: 0300 temp: 39.0 C
Device-3: icSpring Web Camera driver: snd-usb-audio,uvcvideo type: USB
rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-7:5 chip-ID: 32e6:9221
class-ID: 0102 serial: 2024120914230143508
Display: wayland server: X.org v: 1.21.1.20 with: Xwayland v: 24.1.9
compositor: kwin_wayland driver: X: loaded: modesetting,nvidia
alternate: fbdev,nouveau,nv,vesa dri: radeonsi
gpu: nv_platform,nvidia,nvidia-nvswitch d-rect: 7680x2160 display-ID: 0
Monitor-1: DP-2 pos: primary,left model: LG (GoldStar) Ultra HD
serial: 146047 built: 2018 res: mode: 3840x2160 hz: 60 scale: 150% (1.5)
to: 2560x1440 dpi: 163 gamma: 1.2 size: 600x340mm (23.62x13.39")
diag: 690mm (27.2") ratio: 16:9 modes: max: 3840x2160 min: 640x480
Monitor-2: HDMI-A-1 pos: right model: Beyond TV serial: 65536 built: 2019
res: mode: 3840x2160 hz: 60 scale: 200% (2) to: 1920x1080 dpi: 81 gamma: 1.2
size: 1209x680mm (47.6x26.77") diag: 1387mm (54.6") ratio: 16:9 modes:
max: 3840x2160 min: 640x480
API: EGL v: 1.5 hw: drv: nvidia drv: amd radeonsi platforms: device: 0
drv: nvidia device: 1 drv: radeonsi device: 3 drv: swrast gbm:
drv: kms_swrast surfaceless: drv: nvidia wayland: drv: radeonsi x11:
drv: radeonsi inactive: device-2
API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: amd mesa v: 25.2.7-cachyos1.2
glx-v: 1.4 direct-render: yes renderer: AMD Ryzen 9 9900X 12-Core Processor
(radeonsi raphael_mendocino LLVM 21.1.5 DRM 3.64 6.17.8-2-cachyos)
device-ID: 1002:13c0 memory: 1000 MiB unified: no display-ID: :0.0
API: Vulkan v: 1.4.328 layers: 15 device: 0 type: integrated-gpu name: AMD
Ryzen 9 9900X 12-Core Processor (RADV RAPHAEL_MENDOCINO) driver: mesa radv
v: 25.2.7-cachyos1.2 device-ID: 1002:13c0 surfaces: N/A device: 1
type: discrete-gpu name: NVIDIA GeForce RTX 5070 driver: nvidia
v: 580.105.08 device-ID: 10de:2f04 surfaces: N/A
Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo
de: kscreen-console,kscreen-doctor gpu: gputop, intel_gpu_top, lsgpu, lact,
nvidia-settings, nvidia-smi wl: wayland-info,wlr-randr
x11: xdpyinfo, xprop, xrandr