Boot/Wake to black screen/cursor with dual dGPU setup

Hello,
I recently installed an Nvidia 3070 alongside my Radeon 9700XT a few weeks ago. After a giant headache getting the Nvidia open drivers installed, I got it working, and allowing me to use it in Vulkan split workloads. But it started to cause my pc to boot to just the cursor/underline in the top corner. Rebooting fixed it most of the time, but I never saw any errors in the logs. But now it’s just a nightmare as whenever the pc goes to sleep, and wakes, it turns on the monitor with a blank image, and then the monitor says no signal and turns back off.

I think this is a driver race condition of sorts, with the nvidia driver getting in front of the amdgpu driver. But I can’t find any resources on this case that aren’t just about Optimus for laptops, and trying to prioritize the Nvidia card. I basically don’t care about the Nvidia card, beside for using it in lamma.cpp vulkan workloads. Otherwise I just want everything to run on my AMD card. I think the solution is some grub or dracut flags and commands, but many reference X11, and I highly doubt AI isn’t hallucinating flags. Zypper dup is also currently broken for me due to some ffmpeg issue, I believe just packman being behind or something, so probably not related.

This is my first post here so if I’ve left out some info, or screwed up the formatting please let me know!

Thanks!

inxi -GSaz output:

Output
System:
  Kernel: 6.19.6-1-default arch: x86_64 bits: 64 compiler: gcc v: 15.2.1
    clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=/opensuse-tumbleweed/6.19.6-1-default/linux-b67afcf34244e78002db3aefc871d0dc6bd56e7f
    splash=silent resume=/dev/system/swap mitigations=auto quiet
    security=selinux selinux=1 rd.driver.blacklist=nouveau
    root=UUID=a65eb065-3d3d-4121-aa2f-604d54c888b4
    rootflags=subvol=@/.snapshots/1/snapshot
    systemd.machine_id=5b362790e53a761f85ed1c3c6919b250
  Desktop: KDE Plasma v: 6.6.2 tk: Qt v: N/A info: frameworks v: 6.23.0
    wm: kwin_wayland tools: avail: xscreensaver vt: 3 dm: SDDM Distro: openSUSE
    Tumbleweed 20260308
Graphics:
  Device-1: NVIDIA GA104 [GeForce RTX 3070 Lite Hash Rate] vendor: eVga.com.
    driver: nvidia v: 580.126.18 alternate: nouveau,nvidia_drm
    non-free: 550-580.xx+ status: current (as of 2025-11; EOL~2026-12-xx)
    arch: Ampere code: GAxxx process: TSMC n7 (7nm) built: 2020-2023 pcie:
    gen: 1 speed: 2.5 GT/s lanes: 4 link-max: gen: 4 speed: 16 GT/s lanes: 16
    ports: active: none empty: DP-4, DP-5, DP-6, HDMI-A-2 bus-ID: 04:00.0
    chip-ID: 10de:2488 class-ID: 0300
  Device-2: Advanced Micro Devices [AMD/ATI] Navi 31 [Radeon RX 7900
    XT/7900 XTX/7900 GRE/7900M] driver: amdgpu v: kernel arch: RDNA-3
    code: Navi-3x process: TSMC n5 (5nm) built: 2022+ pcie: gen: 4
    speed: 16 GT/s lanes: 16 ports: active: DP-1,DP-3
    empty: DP-2,HDMI-A-1,Writeback-1 bus-ID: 2d:00.0 chip-ID: 1002:744c
    class-ID: 0300
  Display: wayland server: X.org v: 1.21.1.21 with: Xwayland v: 24.1.9
    compositor: kwin_wayland driver: X: loaded: modesetting,nvidia
    unloaded: vesa alternate: fbdev,nouveau,nv dri: radeonsi gpu: amdgpu
    d-rect: 5120x1440 display-ID: 0
  Monitor-1: DP-1 pos: primary,left model: MSI Optix MAG27CQ
    serial: <filter> built: 2018 res: mode: 2560x1440 hz: 120 scale: 100% (1)
    dpi: 110 gamma: 1.2 size: 597x336mm (23.5x13.23") diag: 686mm (27")
    ratio: 15:9, 16:9 modes: max: 2560x1440 min: 720x400
  Monitor-2: DP-3 pos: right model: LG (GoldStar) ULTRAGEAR serial: <filter>
    built: 2023 res: mode: 2560x1440 hz: 120 scale: 100% (1) dpi: 108 gamma: 1.2
    size: 697x392mm (27.44x15.43") diag: 690mm (27.2") ratio: 16:9 modes:
    max: 2560x1440 min: 640x480
  API: EGL v: 1.5 hw: drv: nvidia drv: amd radeonsi platforms: device: 0
    drv: nvidia device: 2 drv: radeonsi device: 3 drv: swrast gbm: drv: nvidia
    surfaceless: drv: nvidia wayland: drv: radeonsi x11: drv: radeonsi
    inactive: device-1
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: amd mesa v: 26.0.1 glx-v: 1.4
    direct-render: yes renderer: AMD Radeon RX 7900 XT (radeonsi navi31 ACO DRM
    3.64 6.19.6-1-default) device-ID: 1002:744c memory: 19.53 GiB unified: no
    display-ID: :1.0
  API: Vulkan v: 1.4.341 layers: 9 device: 0 type: discrete-gpu name: AMD
    Radeon RX 7900 XT (RADV NAVI31) driver: mesa radv v: 26.0.1
    device-ID: 1002:744c surfaces: N/A device: 1 type: discrete-gpu
    name: NVIDIA GeForce RTX 3070 driver: nvidia v: 580.126.18
    device-ID: 10de:2488 surfaces: N/A device: 2 type: cpu name: llvmpipe
    (LLVM 21.1.8 256 bits) driver: mesa llvmpipe v: 26.0.1 (LLVM 21.1.8)
    device-ID: 10005:0000 surfaces: N/A
  Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo
    de: kscreen-console,kscreen-doctor gpu: nvidia-smi wl: wayland-info
    x11: xdpyinfo, xprop, xrandr

zypper se -si nvidia output:

Output
S  | Name                                      | Type    | Version                  | Arch   | Repository
---+-------------------------------------------+---------+--------------------------+--------+------------------
i  | kernel-firmware-nvidia                    | package | 20251018-1.2             | noarch | repo-oss
i  | libnvidia-egl-gbm1                        | package | 1.1.3-11.1               | x86_64 | repo-non-free
i  | libnvidia-egl-gbm1-32bit                  | package | 1.1.3-11.1               | x86_64 | repo-non-free
i  | libnvidia-egl-wayland1                    | package | 1.1.22-57.1              | x86_64 | repo-non-free
i  | libnvidia-egl-wayland1-32bit              | package | 1.1.22-57.1              | x86_64 | repo-non-free
i  | libnvidia-egl-x111                        | package | 1.0.5-26.1               | x86_64 | repo-non-free
i  | libnvidia-egl-x111-32bit                  | package | 1.0.5-26.1               | x86_64 | repo-non-free
i  | libnvidia-gpucomp                         | package | 580.126.18-49.1          | x86_64 | repo-non-free
i  | libnvidia-gpucomp-32bit                   | package | 580.126.18-49.1          | x86_64 | repo-non-free
i  | nvidia-common-G06                         | package | 580.126.18-49.1          | x86_64 | repo-non-free
i  | nvidia-compute-G06                        | package | 580.126.18-49.1          | x86_64 | repo-non-free
i  | nvidia-compute-G06-32bit                  | package | 580.126.18-49.1          | x86_64 | repo-non-free
i  | nvidia-compute-utils-G06                  | package | 580.126.18-49.1          | x86_64 | repo-non-free
i  | nvidia-gl-G06                             | package | 580.126.18-49.1          | x86_64 | repo-non-free
i  | nvidia-gl-G06-32bit                       | package | 580.126.18-49.1          | x86_64 | repo-non-free
i  | nvidia-modprobe                           | package | 580.126.18-23.2          | x86_64 | repo-non-free
i  | nvidia-open-driver-G06-signed-kmp-default | package | 580.126.18_k6.19.6_1-1.6 | x86_64 | (System Packages)
i+ | nvidia-open-driver-G06-signed-kmp-meta    | package | 580.126.09-36.1          | x86_64 | repo-non-free
i  | nvidia-persistenced                       | package | 580.126.18-3.4           | x86_64 | repo-non-free
i+ | nvidia-userspace-meta-G06                 | package | 580.126.18-36.1          | x86_64 | repo-non-free
i  | nvidia-video-G06                          | package | 580.126.18-49.1          | x86_64 | repo-non-free
i  | nvidia-video-G06-32bit                    | package | 580.126.18-49.1          | x86_64 | repo-non-free
i+ | openSUSE-repos-Tumbleweed-NVIDIA          | package | 20250728.9adc675-1.2     | x86_64 | repo-oss