Issues with prime-run and Hyprland – NVIDIA GPU not working with charger plugged in

I’m trying to set up a working prime-run configuration so my system uses the Intel GPU by default and offloads specific apps to the NVIDIA GPU when needed.

Right now, I can’t run anything with prime-run. For example, if I try prime-run Hyprland, I can’t even open a terminal. I’ve followed the Arch Wiki pages for NVIDIA, Intel, PRIME, and the official Hyprland wiki, but nothing has fixed the issue.

System Info:

  • Laptop: Acer Predator Helios 300
  • CPU: Intel i7-10750H (12) @ 5.00GHz
  • GPU 1: Intel CometLake-H GT2 [UHD Graphics]
  • GPU 2: NVIDIA GeForce RTX 3070 Mobile / Max-Q
  • Kernel: linux-lts
  • Display Server: Wayland (echo $XDG_SESSION_TYPE returns wayland)
  • WM/Compositor: Hyprland, started via prime-run uwsm --start Hyprland (managed by sddm)

When I add prime-run to the startup command, I can’t log in. I checked journalctl, but didn’t find anything obvious.

pacman -Qs ‘kernel|nvidia’


local/dkms 3.2.1-1
    Dynamic Kernel Modules System
local/egl-gbm 1.1.2.1-1
    The GBM EGL external platform library
local/egl-wayland 4:1.1.19-1
    EGLStream-based Wayland external platform
local/egl-x11 1.0.2-1
    NVIDIA XLib and XCB EGL Platform Library
local/fuse2 2.9.9-5
    Interface for userspace programs to export a filesystem to the Linux kernel
local/fuse3 3.17.1-1
    Interface for userspace programs to export a filesystem to the Linux kernel
local/iptables 1:1.8.11-2
    Linux kernel packet control tool (using legacy interface)
local/kmod 34.2-1
    Linux kernel module management tools and library
local/lib32-libdrm 2.4.125-1
    Userspace interface to kernel DRM services (32-bit)
local/lib32-nvidia-utils 575.64.05-1
    NVIDIA drivers utilities (32-bit)
local/libdrm 2.4.125-1
    Userspace interface to kernel DRM services
local/libnetfilter_conntrack 1.0.9-2
    Library providing an API to the in-kernel connection tracking state table
local/libnfnetlink 1.0.2-2
    Low-level library for netfilter related kernel/userspace communication
local/libsysprof-capture 48.0-5
    Kernel based performance profiler - capture library
local/libva-nvidia-driver 0.0.14-1
    VA-API implementation that uses NVDEC as a backend
local/libvdpau 1.5-3
    Nvidia VDPAU library
local/libxnvctrl 575.64.05-1
    NVIDIA NV-CONTROL X extension
local/linux 6.15.8.arch1-1
    The Linux kernel and modules
local/linux-api-headers 6.15-1
    Kernel headers sanitized for use in userspace
local/linux-firmware-nvidia 20250708-1
    Firmware files for Linux - Firmware for NVIDIA GPUs and SoCs
local/linux-headers 6.15.8.arch1-1
    Headers and scripts for building modules for the Linux kernel
local/mtdev 1.1.7-1
    A stand-alone library which transforms all variants of kernel MT events to the slotted type B protocol
local/nvidia 575.64.05-2
    NVIDIA kernel modules
local/nvidia-utils 575.64.05-1
    NVIDIA drivers utilities
local/nvtop 3.2.0-1
    GPUs process monitoring for AMD, Intel and NVIDIA

Key Issue:
I discovered that prime-run only works when I boot without the charger plugged in. As soon as I connect the charger:

Hyprland becomes unresponsive.

I can’t open any windows or terminals.

nvidia-smi shows no processes, though memory usage increases.

Sometimes it just stops working at random, even if I didn’t change anything.

Also, HDMI output only works if I boot without the charger connected, which is a major problem since I rely on HDMI for presentations.
lspci -d ::03xx

00:02.0 VGA compatible controller: Intel Corporation CometLake-H GT2 [UHD Graphics] (rev 05)
01:00.0 VGA compatible controller: NVIDIA Corporation GA104M [GeForce RTX 3070 Mobile / Max-Q] (rev a1)

I’m fairly new to Linux, so please let me know if I’m missing something or if there’s anything I can try to fix this. I really need this setup to work reliably, especially with HDMI output.

Thanks!

Jul 31 07:31:55 archlinux kernel: wlan0: associate with 9a:3b:a8:17:73:74 (try 1/3)
Jul 31 07:31:55 archlinux kernel: wlan0: RX AssocResp from 9a:3b:a8:17:73:74 (capab=0x1431 status=0 aid=8)
Jul 31 07:31:55 archlinux kernel: wlan0: associated
Jul 31 07:31:55 archlinux kernel: wlan0: Limiting TX power to 20 (20 - 0) dBm as advertised by 9a:3b:a8:17:73:74
Jul 31 07:31:57 archlinux kernel: Initializing XFRM netlink socket
Jul 31 07:31:58 archlinux kernel: bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
Jul 31 07:31:59 archlinux kernel: Bluetooth: RFCOMM TTY layer initialized
Jul 31 07:31:59 archlinux kernel: Bluetooth: RFCOMM socket layer initialized
Jul 31 07:31:59 archlinux kernel: Bluetooth: RFCOMM ver 1.11
Jul 31 07:35:10 archlinux kernel: warning: `ThreadPoolForeg' uses wireless extensions which will stop working for Wi-Fi 7 hardware; use nl80211
Jul 31 07:39:13 archlinux unknown: ====== CHARGER PLUGGED IN ======
Jul 31 07:39:18 archlinux kernel: NVRM: GPU at PCI:0000:01:00: GPU-eb7cb673-1ed6-4bf5-6e5c-a6690d3a3439
Jul 31 07:39:18 archlinux kernel: NVRM: Xid (PCI:0000:01:00): 62, 3226d140 00016818 00000000 202a8b94 202aa94c 202a96ae 2025d264 202ac05a
Jul 31 07:39:18 archlinux kernel: ata1: SATA link down (SStatus 4 SControl 300)
Jul 31 07:39:18 archlinux kernel: r8169 0000:07:00.0 enp7s0: Link is Down
Jul 31 07:39:38 archlinux kernel: i915 0000:00:02.0: [drm] *ERROR* Atomic update failure on pipe A (start=140135 end=140136) time 156 us, min 1046, max 1079, scanline start 1042, end 1090

I was trying to video record what happens, but to my surprise, when OBS is recording, the error doesn’t happen at all.

It only crashes after I stop recording and try to start it again. Then I get this error:


So I guess this means that as long as the NVIDIA driver is actively doing something (like NVENC encoding), it doesn’t fail. But once it idles and I try to re-engage it, things fall apart.

This kind of confirms what I suspected earlier — something about power state transitions or the driver going idle on AC power is breaking everything.

Let me know if there’s a way to stop the GPU from sleeping or if this is something that can be patched.

Ok i solved it, I removed all Nvidia drivers and installed an old one 535.261.03