Skip to content

Some flatpak applications wake the dgpu in Integrated Mode #12

@1metropolis

Description

@1metropolis

Describe the bug
When starting certain flatpak applications, the dgpu wakes briefly. At the moment, I've only been able to reproduce this with flatpak Discord.

To Reproduce

  1. Make sure cardwire is in integrated mode
  2. Watch dgpu power state to verify that the dgpu is in D3cold
  3. Start a flatpak application (in this case, flatpak run com.discordapp.Discord)

Expected behavior

  • dgpu remains in D3cold

Actual Behavior

  • dgpu wakes into D0

Environment details

OS: Fedora Linux 44 (Workstation Edition) x86_64
Host: ROG Zephyrus G14 GA403UI_GA403UI (1.0)
Kernel: Linux 6.18.22-cachylts1.fc44.x86_64
Uptime: 41 mins
Packages: 2875 (rpm), 56 (flatpak)
Shell: zsh 5.9
Display (LS24F32xG): 1920x1080 in 24", 120 Hz [External]
DE: GNOME 50.1
WM: Mutter (Wayland)
WM Theme: Adwaita-dark
Theme: Adwaita-dark [GTK2/3/4]
Icons: Neuwaita [GTK2/3/4]
Font: SUSE (11pt) [GTK2/3/4]
Cursor: Adwaita (24px)
Terminal: alacritty 0.17.0
Terminal Font: MesloLGS Nerd Font Mono (11pt, Regular)
CPU: AMD Ryzen 9 8945HS (16) @ 5.26 GHz
GPU 1: NVIDIA GeForce RTX 4070 Max-Q / Mobile [Discrete]
GPU 2: AMD Radeon 780M Graphics [Integrated]
Memory: 6.86 GiB / 30.64 GiB (22%)
Swap: 164.84 MiB / 8.00 GiB (2%)
Disk (/): 64.46 GiB / 124.98 GiB (52%) - btrfs
Disk (/mnt/NTFS): 56.07 GiB / 280.00 GiB (20%) - fuseblk
Disk (/mnt/data): 311.66 GiB / 649.98 GiB (48%) - btrfs
Local IP (enp103s0f3u1u2): 10.254.95.240/22
Battery (A32-K55): 85% [AC Connected]
Locale: en_US.UTF-8

Cardwire version (cardwire --version): cardwire-cli 0.5.0

cardwire list output

ID  NAME                                      PCI           RENDER      DEFAULT  BLOCKED
--  ----------------------------------------  ------------  ----------  -------  -------
0   HawkPoint1                                0000:65:00.0  renderD128  yes      off
1   AD106M [GeForce RTX 4070 Max-Q / Mobile]  0000:01:00.0  renderD129  no       on*

ls -la /dev/dri/by-path/

lrwxrwxrwx@ - root 29 Apr 13:35  pci-0000:01:00.0-card -> ../card0
lrwxrwxrwx@ - root 29 Apr 13:21  pci-0000:01:00.0-render -> ../renderD129
lrwxrwxrwx@ - root 29 Apr 13:21  pci-0000:65:00.0-card -> ../card1
lrwxrwxrwx@ - root 29 Apr 13:21  pci-0000:65:00.0-render -> ../renderD128

cardwired logs
Please provide the daemon logs (e.g., run journalctl -eu cardwired.service --no-pager):

Apr 29 13:21:15 NOSTROMO systemd[1]: Starting cardwired.service - Cardwire Daemon...
Apr 29 13:21:15 NOSTROMO cardwired[1968]: [INFO ] IOMMU detected, reading pci devices using iommu dir
Apr 29 13:21:15 NOSTROMO cardwired[1968]: [INFO ] Successfully read renderD129 from sysfs for 0000:01:00.0
Apr 29 13:21:15 NOSTROMO cardwired[1968]: [INFO ] Successfully read card0 from sysfs for 0000:01:00.0
Apr 29 13:21:15 NOSTROMO cardwired[1968]: [INFO ] Successfully read renderD128 from sysfs for 0000:65:00.0
Apr 29 13:21:15 NOSTROMO cardwired[1968]: [INFO ] Successfully read card1 from sysfs for 0000:65:00.0
Apr 29 13:21:15 NOSTROMO cardwired[1968]: [INFO ] gpu AD106M [GeForce RTX 4070 Max-Q / Mobile] id: 0 internal: 1, desktop: 2, connected: 0, total: 3, connected_internal: 0, connected_desktop: 0
Apr 29 13:21:15 NOSTROMO cardwired[1968]: [INFO ] gpu HawkPoint1 id: 1 internal: 1, desktop: 12, connected: 2, total: 13, connected_internal: 1, connected_desktop: 1
Apr 29 13:21:15 NOSTROMO cardwired[1968]: [INFO ] Switched to Hybrid
Apr 29 13:21:15 NOSTROMO cardwired[1968]: [INFO ] Daemon started
Apr 29 13:21:15 NOSTROMO systemd[1]: Started cardwired.service - Cardwire Daemon.
Apr 29 13:25:40 NOSTROMO cardwired[1968]: [INFO ] Switched to Integrated
Apr 29 13:26:37 NOSTROMO cardwired[1968]: [INFO ] Switched to Integrated
Apr 29 13:26:37 NOSTROMO cardwired[1968]: [INFO ] Switched to Integrated
Apr 29 13:26:39 NOSTROMO cardwired[1968]: [INFO ] Switched to Hybrid
Apr 29 13:27:40 NOSTROMO cardwired[1968]: [INFO ] Switched to Integrated
Apr 29 13:31:32 NOSTROMO systemd[1]: Stopping cardwired.service - Cardwire Daemon...
Apr 29 13:31:32 NOSTROMO systemd[1]: cardwired.service: Deactivated successfully.
Apr 29 13:31:32 NOSTROMO systemd[1]: Stopped cardwired.service - Cardwire Daemon.
Apr 29 13:31:32 NOSTROMO systemd[1]: Starting cardwired.service - Cardwire Daemon...
Apr 29 13:31:32 NOSTROMO cardwired[22355]: [INFO ] IOMMU detected, reading pci devices using iommu dir
Apr 29 13:31:32 NOSTROMO cardwired[22355]: [INFO ] Successfully read renderD128 from sysfs for 0000:65:00.0
Apr 29 13:31:32 NOSTROMO cardwired[22355]: [INFO ] Successfully read card1 from sysfs for 0000:65:00.0
Apr 29 13:31:32 NOSTROMO cardwired[22355]: [INFO ] Successfully read renderD129 from sysfs for 0000:01:00.0
Apr 29 13:31:32 NOSTROMO cardwired[22355]: [INFO ] Successfully read card0 from sysfs for 0000:01:00.0
Apr 29 13:31:32 NOSTROMO cardwired[22355]: [INFO ] gpu HawkPoint1 id: 0 internal: 1, desktop: 12, connected: 2, total: 13, connected_internal: 1, connected_desktop: 1
Apr 29 13:31:32 NOSTROMO cardwired[22355]: [INFO ] gpu AD106M [GeForce RTX 4070 Max-Q / Mobile] id: 1 internal: 1, desktop: 2, connected: 0, total: 3, connected_internal: 0, connected_desktop: 0
Apr 29 13:31:32 NOSTROMO cardwired[22355]: [INFO ] Switched to Integrated
Apr 29 13:31:32 NOSTROMO cardwired[22355]: [INFO ] Daemon started
Apr 29 13:31:32 NOSTROMO systemd[1]: Started cardwired.service - Cardwire Daemon.
Apr 29 13:37:22 NOSTROMO cardwired[22355]: [INFO ] Switched to Hybrid
Apr 29 13:38:49 NOSTROMO cardwired[22355]: [INFO ] Switched to Integrated

Additional context

An strace log was captured when discord woke the dgpu:
strace_discord.txt

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions