You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on May 3, 2026. It is now read-only.
Describe the bug
After switching to integrated mode with EnvyControl, the NVIDIA dGPU is correctly disabled at boot. However, after suspend/resume, the BIOS re‑enumerates the NVIDIA GPU and exposes it to the kernel again. This leaves the device in a “zombie” state (present in PCI tree, but unbound to any driver), which wastes power and can cause instability.
To Reproduce
Steps to reproduce the behavior:
Run sudo envycontrol -s integrated
Reboot → dGPU is disabled (not visible in lspci, renderer is AMD iGPU).
Suspend the system.
Resume → kernel logs show NVIDIA PCI devices (0000:01:00.0 and 0000:01:00.1) being re‑added.
dGPU remains unbound, but present in PCI tree.
Expected behavior
The dGPU should remain disabled after suspend/resume, with no PCI re‑enumeration. EnvyControl should either:
Automatically remove the device again after resume, or
Bind it to a safe driver (e.g. Nouveau) to prevent unmanaged zombie state.
System Information:
Model: ASUS TUF Gaming A15 FA507UV
Distro: Fedora Linux 43 (GNOME, previously KDE Plasma)
Kernel:6.17.11-300.fc43.x86_64
DE/WM and Display Manager: GNOME 45 with GDM
EnvyControl version: 3.5.2
Nvidia driver version: None installed (no matching packages in dnf list installed | grep nvidia)
lspci output (before suspend):
(no NVIDIA devices listed)
Kernel logs (after resume):
pcieport 0000:00:01.1: Slot(0): Card present pci 0000:01:00.0: [10de:28e0] type 00 class 0x030000 PCIe Legacy Endpoint pci 0000:01:00.1: [10de:22be] type 00 class 0x040300 PCIe Endpoint input: HDA NVidia HDMI/DP,pcm=3 ...
Screenshot: Basically I closed my laptop lid DURING integrated mode to check ZOMBIE dgpu wake up
Additional context
glxinfo confirms AMD Radeon 780M iGPU is the active renderer.
lspci shows no NVIDIA device before suspend, but devices reappear after resume.
journalctl -k logs confirm PCI hotplug events for NVIDIA GPU/audio controller after resume.
Workarounds tested: binding to Nouveau (safe hold) vs. systemd sleep hook to auto‑remove PCI device.
Suggested fix
Add a systemd sleep hook in EnvyControl that automatically re‑removes the dGPU after resume, or provide an option to bind it to Nouveau for safe handling of BIOS wakeups.
Describe the bug
After switching to integrated mode with EnvyControl, the NVIDIA dGPU is correctly disabled at boot. However, after suspend/resume, the BIOS re‑enumerates the NVIDIA GPU and exposes it to the kernel again. This leaves the device in a “zombie” state (present in PCI tree, but unbound to any driver), which wastes power and can cause instability.
To Reproduce
Steps to reproduce the behavior:
sudo envycontrol -s integratedlspci, renderer is AMD iGPU).0000:01:00.0and0000:01:00.1) being re‑added.Expected behavior
The dGPU should remain disabled after suspend/resume, with no PCI re‑enumeration. EnvyControl should either:
System Information:
6.17.11-300.fc43.x86_64dnf list installed | grep nvidia)(no NVIDIA devices listed)
pci 0000:01:00.0: [10de:28e0] VGA compatible controller pci 0000:01:00.1: [10de:22be] Audio device
pcieport 0000:00:01.1: Slot(0): Card present pci 0000:01:00.0: [10de:28e0] type 00 class 0x030000 PCIe Legacy Endpoint pci 0000:01:00.1: [10de:22be] type 00 class 0x040300 PCIe Endpoint input: HDA NVidia HDMI/DP,pcm=3 ...
Screenshot: Basically I closed my laptop lid DURING integrated mode to check ZOMBIE dgpu wake up
Additional context
glxinfoconfirms AMD Radeon 780M iGPU is the active renderer.lspcishows no NVIDIA device before suspend, but devices reappear after resume.journalctl -klogs confirm PCI hotplug events for NVIDIA GPU/audio controller after resume.Suggested fix
Add a systemd sleep hook in EnvyControl that automatically re‑removes the dGPU after resume, or provide an option to bind it to Nouveau for safe handling of BIOS wakeups.