System76 Power Management

Overview

System76 Power Management

system76-power is a utility for managing graphics and power profiles.

Graphics Modes

Integrated

The integrated graphics controller on the Intel or AMD CPU is used exclusively.

Lower graphical performance with a longer battery life.

External displays connected to the dGPU ports cannot be used.

NVIDIA

The dGPU (NVIDIA) is used exclusively.

Higher graphical performance at the expense of a shorter battery life.

Allows using external displays.

Hybrid

Enables PRIME render offloading. The iGPU is used as the primary renderer, with the ability to have specific applications render using the dGPU.

PRIME render offloading requires the 435.17 NVIDIA drivers or later.

Applications must use GLVND to take advantage of this feature, so may not render on the dGPU even when requested. Vulkan applications must be launched with __NV_PRIME_RENDER_OFFLOAD=1 to render on the dGPU. GLX applications must be launched with __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia to render on the dGPU.

Display offload sinks ("reverse PRIME") require 450.57 NVIDIA drivers or later. This feature allows using external displays while in this mode.

GPU support for run-time power management is required for the device to enter a low power state when not used. Only Turing cards and newer fully implement this functionality. Support for run-time power manage can be checked in the supported-gpus.json file provided by the driver. e.g.:

$ cat /sys/bus/pci/devices/0000:01:00.0/device
0x1f15
$ jq '.chips[] | select(.devid=="0x1F15")' < /usr/share/doc/nvidia-driver-460/supported-gpus.json
{
  "devid": "0x1F15",
  "name": "GeForce RTX 2060",
  "features": [
    "dpycbcr420",
    "dpgsynccompatible",
    "hdmi4k60rgb444",
    "hdmigsynccompatible",
    "geforce",
    "runtimepm",
    "vdpaufeaturesetJ"
  ]
}

Compute

The integrated graphics controller is used exclusively for rendering. The dGPU is made available as a compute node.

Comments
  • [REQUEST] Add option for AMD - NVIDIA switching for AMD APUs (Ryzen)

    [REQUEST] Add option for AMD - NVIDIA switching for AMD APUs (Ryzen)

    I don't know why no one is talking about this. But, this is a problem I'm currently stuck at. I have an laptop with AMD APU (Ryzen 5 - 2500U) & nvidia gtx 1050. This laptop is Muxless. This laptop's display is attached to the iGPU (Vega 8).

    I want to use Vega for normal tasks. & Nvidia for process hungry tasks (mainly CUDA & ML training stuffs).

    There are many (glitchy) options for switching graphics (e.g Prime, bumblebee) . But, everyone states about Intel-nvidia. If you search more, you can find some about intel-amd switching.

    But, nothing for AMD-nvidia switching.

    APUs are things. Can anyone tell me how I can do this?

    Note : I can't disable any graphics on bios. My laptop doesn't allow it.

    Laptop : Asus F570D

    What I have tried : I tried installing ubuntu multiple times. It (almost) disappointed me everytime. The last time I did, it was ALMOST working correctly (by setting flags like - noveau.modeset=0 ). It just sometimes freeze during boot forever.

    feature request 
    opened by unsuitable001 35
  • Unable to switch from Nvidia to Intel

    Unable to switch from Nvidia to Intel

    Distribution (run cat /etc/os-release): NAME="Ubuntu" VERSION="18.04.1 LTS (Bionic Beaver)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 18.04.1 LTS" VERSION_ID="18.04" HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" VERSION_CODENAME=bionic UBUNTU_CODENAME=bionic

    Related Application and/or Package Version (run apt policy $PACKAGE NAME): system76-power: Installed: 0.1.2~1536704439~18.04~ad63c63 Candidate: 0.1.2~1536704439~18.04~ad63c63 Version table: *** 0.1.2~1536704439~18.04~ad63c63 1001 1001 http://ppa.launchpad.net/system76/pop/ubuntu bionic/main amd64 Packages 100 /var/lib/dpkg/status

    Issue/Bug Description: Using system76-power to switch from the (active) nvidia mode to intel mode results in nothing happening, and the computer continuing to run in nvidia mode. This causes my laptop to heat up faster, run louder, and use more battery.

    Steps to reproduce (if you know):

    1. Activate "Nvidia Graphics" mode
    2. Select "Intel Graphics" from the system menu in Gnome, or run sudo system76-power graphics nvidia in a terminal
    3. Reboot

    Expected behavior: Computer reboots into Intel graphics mode

    Other Notes: Test machine: Sony SVF15N18PXB GPU: NVIDIA GK208M [GeForce GT 735M] (rev a1)

    I'm not sure when the original switch from intel to nvidia mode occurred, but it was likely several weeks ago when I was testing a Steam game.

    needs testing / confirmation 
    opened by 8bitbuddhist 27
  • feat: Add dbus API and CLI for battery charge thresholds

    feat: Add dbus API and CLI for battery charge thresholds

    The dbus API authenticates with Polkit, which should prompt for an administrator password, or run without prompt when the client in root.

    Thresholds can be displayed in the CLI with system76-power charge-thresholds, and set with system76-power charge-thresholds <start> <end>.

    This is currently limited to System76 hardware with open firmware, to avoid worrying for now about things like systems with multiple batteries, only having an end thresholds, and other differences between implementations.

    NOTE: I haven't tested this fully myself since the firmware I'm currently running doesn't have charge thresholds.

    opened by ids1024 21
  • nvidia card not shutting down when booting with intel

    nvidia card not shutting down when booting with intel

    • currently on pop 18.04, nvidia 396
    • in intel mode, bbswitch reports that my gpu still on
    • I have nouveau blacklisted since it segfaults

    is there any logs I can check to see why bbswitch is not turning off the nvidia card?

    opened by sudopluto 17
  • Disable dGPU in integrated mode if it doesn't support runtimepm

    Disable dGPU in integrated mode if it doesn't support runtimepm

    If a device does not support runtime power management, then remove it from the bus when in integrated mode.

    Fixes: 1e1599a9dd12 ("daemon: Always enable GPU power") Resolves: #325

    opened by crawfxrd 16
  • Switched nvidia to intel, but now I cannot switch from nvidia to intel (asus zenbook ux530ux)

    Switched nvidia to intel, but now I cannot switch from nvidia to intel (asus zenbook ux530ux)

    NAME="Pop!_OS" VERSION="18.04 LTS" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Pop!_OS 18.04 LTS" VERSION_ID="18.04" HOME_URL="https://system76.com/pop" SUPPORT_URL="http://support.system76.com" BUG_REPORT_URL="https://github.com/pop-os/pop/issues" PRIVACY_POLICY_URL="https://system76.com/privacy" VERSION_CODENAME=bionic UBUNTU_CODENAME=bionic

    system76-cuda:
      Installed: 0pop2
      Candidate: 0pop2
      Version table:
     *** 0pop2 500
            500 http://apt.pop-os.org/proprietary bionic/main amd64 Packages
            100 /var/lib/dpkg/status
    
    miguel@pop-os:~$ apt policy system76-power
    system76-power:
      Installed: 1.0.1~1574207757~18.04~4f6a818
      Candidate: 1.0.1~1574207757~18.04~4f6a818
      Version table:
     *** 1.0.1~1574207757~18.04~4f6a818 1001
           1001 http://ppa.launchpad.net/system76/pop/ubuntu bionic/main amd64 Packages
            100 /var/lib/dpkg/status
    

    Switched to intel graphics, but now I can't switch back to nvidia. I have done the process of switching via terminal and via GUI but after rebooting there is no change at all.

    The steps to reproduce the error are basically having a hybrid GPU nvidia/intel. Installing pop os. Then, switch graphics to intel. After that, try to switch back to nvidia. The problem will happen. In fact, the system will say that graphics will be changed after restart. However, after restart, graphics still are intel.

    The expected behavior is that you could switch to nvidia successfully, however the OS remains using just the intel graphics.

    Other notes: Logs from system76-power

    -- Reboot --
    Nov 22 12:38:22 pop-os system76-power[951]: [INFO] Starting daemon
    Nov 22 12:38:22 pop-os system76-power[951]: [INFO] Connecting to dbus system bus
    Nov 22 12:38:22 pop-os system76-power[951]: [INFO] Rescanning PCI bus
    Nov 22 12:38:22 pop-os system76-power[951]: [INFO] 0000:01:00.0: NVIDIA graphics
    Nov 22 12:38:22 pop-os system76-power[951]: [INFO] 0000:01:00.0: Function for 0000:01:00.0
    Nov 22 12:38:22 pop-os system76-power[951]: [INFO] 0000:00:02.0: Intel graphics
    Nov 22 12:38:22 pop-os system76-power[951]: [INFO] 0000:00:02.0: Function for 0000:00:02.0
    Nov 22 12:38:22 pop-os system76-power[951]: [INFO] Disabling NMI Watchdog (for kernel debugging only)
    Nov 22 12:38:22 pop-os system76-power[951]: [INFO] Setting automatic graphics power
    Nov 22 12:38:22 pop-os system76-power[951]: [INFO] Disabling graphics power
    Nov 22 12:38:22 pop-os system76-power[951]: [INFO] 0000:01:00.0: Removing
    Nov 22 12:38:22 pop-os system76-power[951]: [INFO] Initializing with the balanced profile
    Nov 22 12:38:22 pop-os system76-power[951]: [INFO] Registering dbus name com.system76.PowerDaemon
    Nov 22 12:38:22 pop-os system76-power[951]: [INFO] Adding dbus path /com/system76/PowerDaemon with interface com.system76.PowerDaemon
    Nov 22 12:38:22 pop-os system76-power[951]: [ERROR] fan daemon: platform hwmon not found
    Nov 22 12:38:22 pop-os system76-power[951]: [INFO] Handling dbus requests
    Nov 22 12:39:01 pop-os system76-power[951]: [INFO] DBUS Received GetSwitchable method
    Nov 22 12:39:01 pop-os system76-power[951]: [INFO] DBUS Received GetGraphics method
    Nov 22 12:39:01 pop-os system76-power[951]: [INFO] DBUS Received GetProfile method
    Nov 22 12:40:08 pop-os system76-power[951]: [INFO] DBUS Received Performance method
    Nov 22 12:40:13 pop-os system76-power[951]: [INFO] DBUS Received Battery method
    Nov 22 12:41:01 pop-os system76-power[951]: [INFO] DBUS Received GetGraphics method
    Nov 22 12:41:12 pop-os system76-power[951]: [INFO] DBUS Received SetGraphics(nvidia) method
    Nov 22 12:41:12 pop-os system76-power[951]: [INFO] Creating /etc/modprobe.d/system76-power.conf
    Nov 22 12:41:12 pop-os system76-power[951]: [INFO] Enabling nvidia-fallback.service
    Nov 22 12:41:12 pop-os system76-power[951]: Failed to enable unit: Unit file nvidia-fallback.service does not exist.
    Nov 22 12:41:12 pop-os system76-power[951]: [WARN] systemctl: failed with exit code: 1 (not an error if service does not exist!)
    Nov 22 12:41:12 pop-os system76-power[951]: [INFO] Updating initramfs
    Nov 22 12:41:13 pop-os system76-power[951]: update-initramfs: Generating /boot/initrd.img-5.3.0-22-generic
    Nov 22 12:41:24 pop-os system76-power[951]: cryptsetup: WARNING: target cryptswap has a random key, skipped
    Nov 22 12:41:51 pop-os system76-power[951]: kernelstub.Config    : INFO     Looking for configuration...
    Nov 22 12:41:51 pop-os system76-power[951]: kernelstub           : INFO     System information:
    Nov 22 12:41:51 pop-os system76-power[951]:     OS:..................Pop!_OS 18.04
    Nov 22 12:41:51 pop-os system76-power[951]:     Root partition:....../dev/sda6
    Nov 22 12:41:51 pop-os system76-power[951]:     Root FS UUID:........c7ea262a-7c36-40a8-a384-765a71446281
    Nov 22 12:41:51 pop-os system76-power[951]:     ESP Path:............/boot/efi
    Nov 22 12:41:51 pop-os system76-power[951]:     ESP Partition:......./dev/sda5
    Nov 22 12:41:51 pop-os system76-power[951]:     ESP Partition #:.....5
    Nov 22 12:41:51 pop-os system76-power[951]:     NVRAM entry #:.......-1
    Nov 22 12:41:51 pop-os system76-power[951]:     Boot Variable #:.....0000
    Nov 22 12:41:51 pop-os system76-power[951]:     Kernel Boot Options:.quiet loglevel=0 systemd.show_status=false splash
    Nov 22 12:41:51 pop-os system76-power[951]:     Kernel Image Path:.../boot/vmlinuz-5.3.0-22-generic
    Nov 22 12:41:51 pop-os system76-power[951]:     Initrd Image Path:.../boot/initrd.img-5.3.0-22-generic
    Nov 22 12:41:51 pop-os system76-power[951]:     Force-overwrite:.....False
    Nov 22 12:41:51 pop-os system76-power[951]: kernelstub.Installer : INFO     Copying Kernel into ESP
    Nov 22 12:41:51 pop-os system76-power[951]: kernelstub.Installer : INFO     Copying initrd.img into ESP
    Nov 22 12:41:52 pop-os system76-power[951]: kernelstub.Installer : INFO     Setting up loader.conf configuration
    Nov 22 12:41:52 pop-os system76-power[951]: kernelstub.Installer : INFO     Making entry file for Pop!_OS
    Nov 22 12:41:52 pop-os system76-power[951]: kernelstub.Installer : INFO     Backing up old kernel
    Nov 22 12:42:12 pop-os system76-power[951]: [INFO] DBUS Received GetGraphics method
    Nov 22 12:42:30 pop-os system76-power[951]: [INFO] DBUS Received SetGraphics(nvidia) method
    Nov 22 12:42:30 pop-os system76-power[951]: [INFO] Creating /etc/modprobe.d/system76-power.conf
    Nov 22 12:42:30 pop-os system76-power[951]: [INFO] Enabling nvidia-fallback.service
    Nov 22 12:42:30 pop-os system76-power[951]: Failed to enable unit: Unit file nvidia-fallback.service does not exist.
    Nov 22 12:42:30 pop-os system76-power[951]: [WARN] systemctl: failed with exit code: 1 (not an error if service does not exist!)
    Nov 22 12:42:30 pop-os system76-power[951]: [INFO] Updating initramfs
    Nov 22 12:42:30 pop-os system76-power[951]: update-initramfs: Generating /boot/initrd.img-5.3.0-22-generic
    Nov 22 12:42:38 pop-os system76-power[951]: cryptsetup: WARNING: target cryptswap has a random key, skipped
    Nov 22 12:43:02 pop-os system76-power[951]: kernelstub.Config    : INFO     Looking for configuration...
    Nov 22 12:43:02 pop-os system76-power[951]: kernelstub           : INFO     System information:
    Nov 22 12:43:02 pop-os system76-power[951]:     OS:..................Pop!_OS 18.04
    Nov 22 12:43:02 pop-os system76-power[951]:     Root partition:....../dev/sda6
    Nov 22 12:43:02 pop-os system76-power[951]:     Root FS UUID:........c7ea262a-7c36-40a8-a384-765a71446281
    Nov 22 12:43:02 pop-os system76-power[951]:     ESP Path:............/boot/efi
    Nov 22 12:43:02 pop-os system76-power[951]:     ESP Partition:......./dev/sda5
    Nov 22 12:43:02 pop-os system76-power[951]:     ESP Partition #:.....5
    Nov 22 12:43:02 pop-os system76-power[951]:     NVRAM entry #:.......-1
    Nov 22 12:43:02 pop-os system76-power[951]:     Boot Variable #:.....0000
    Nov 22 12:43:02 pop-os system76-power[951]:     Kernel Boot Options:.quiet loglevel=0 systemd.show_status=false splash
    Nov 22 12:43:02 pop-os system76-power[951]:     Kernel Image Path:.../boot/vmlinuz-5.3.0-22-generic
    Nov 22 12:43:02 pop-os system76-power[951]:     Initrd Image Path:.../boot/initrd.img-5.3.0-22-generic
    Nov 22 12:43:02 pop-os system76-power[951]:     Force-overwrite:.....False
    Nov 22 12:43:02 pop-os system76-power[951]: kernelstub.Installer : INFO     Copying Kernel into ESP
    Nov 22 12:43:02 pop-os system76-power[951]: kernelstub.Installer : INFO     Copying initrd.img into ESP
    Nov 22 12:43:02 pop-os system76-power[951]: kernelstub.Installer : INFO     Setting up loader.conf configuration
    Nov 22 12:43:02 pop-os system76-power[951]: kernelstub.Installer : INFO     Making entry file for Pop!_OS
    Nov 22 12:43:02 pop-os system76-power[951]: kernelstub.Installer : INFO     Backing up old kernel
    Nov 22 12:43:02 pop-os system76-power[951]: [INFO] DBUS Received Balanced method
    Nov 22 12:43:02 pop-os system76-power[951]: [INFO] DBUS Received Performance method
    Nov 22 12:43:02 pop-os system76-power[951]: [INFO] DBUS Received Performance method
    Nov 22 12:43:02 pop-os system76-power[951]: [INFO] profile was already set
    Nov 22 12:43:02 pop-os system76-power[951]: [INFO] DBUS Received Balanced method
    Nov 22 12:43:05 pop-os system76-power[951]: [INFO] DBUS Received Performance method
    Nov 22 12:43:33 pop-os system76-power[951]: [INFO] DBUS Received SetGraphics(nvidia) method
    Nov 22 12:43:33 pop-os system76-power[951]: [INFO] Creating /etc/modprobe.d/system76-power.conf
    Nov 22 12:43:33 pop-os system76-power[951]: [INFO] Enabling nvidia-fallback.service
    Nov 22 12:43:33 pop-os system76-power[951]: Failed to enable unit: Unit file nvidia-fallback.service does not exist.
    Nov 22 12:43:33 pop-os system76-power[951]: [WARN] systemctl: failed with exit code: 1 (not an error if service does not exist!)
    Nov 22 12:43:33 pop-os system76-power[951]: [INFO] Updating initramfs
    Nov 22 12:43:33 pop-os system76-power[951]: update-initramfs: Generating /boot/initrd.img-5.3.0-22-generic
    Nov 22 12:43:36 pop-os system76-power[951]: cryptsetup: WARNING: target cryptswap has a random key, skipped
    Nov 22 12:43:50 pop-os system76-power[951]: kernelstub.Config    : INFO     Looking for configuration...
    Nov 22 12:43:50 pop-os system76-power[951]: kernelstub           : INFO     System information:
    Nov 22 12:43:50 pop-os system76-power[951]:     OS:..................Pop!_OS 18.04
    Nov 22 12:43:50 pop-os system76-power[951]:     Root partition:....../dev/sda6
    Nov 22 12:43:50 pop-os system76-power[951]:     Root FS UUID:........c7ea262a-7c36-40a8-a384-765a71446281
    Nov 22 12:43:50 pop-os system76-power[951]:     ESP Path:............/boot/efi
    Nov 22 12:43:50 pop-os system76-power[951]:     ESP Partition:......./dev/sda5
    Nov 22 12:43:50 pop-os system76-power[951]:     ESP Partition #:.....5
    Nov 22 12:43:50 pop-os system76-power[951]:     NVRAM entry #:.......-1
    Nov 22 12:43:50 pop-os system76-power[951]:     Boot Variable #:.....0000
    Nov 22 12:43:50 pop-os system76-power[951]:     Kernel Boot Options:.quiet loglevel=0 systemd.show_status=false splash
    Nov 22 12:43:50 pop-os system76-power[951]:     Kernel Image Path:.../boot/vmlinuz-5.3.0-22-generic
    Nov 22 12:43:50 pop-os system76-power[951]:     Initrd Image Path:.../boot/initrd.img-5.3.0-22-generic
    Nov 22 12:43:50 pop-os system76-power[951]:     Force-overwrite:.....False
    Nov 22 12:43:50 pop-os system76-power[951]: kernelstub.Installer : INFO     Copying Kernel into ESP
    Nov 22 12:43:50 pop-os system76-power[951]: kernelstub.Installer : INFO     Copying initrd.img into ESP
    Nov 22 12:43:50 pop-os system76-power[951]: kernelstub.Installer : INFO     Setting up loader.conf configuration
    Nov 22 12:43:50 pop-os system76-power[951]: kernelstub.Installer : INFO     Making entry file for Pop!_OS
    Nov 22 12:43:50 pop-os system76-power[951]: kernelstub.Installer : INFO     Backing up old kernel
    Nov 22 12:44:55 pop-os system76-power[951]: [INFO] caught signal: 15
    Nov 22 12:44:56 pop-os system76-power[951]: [INFO] daemon exited from loop
    -- Reboot --
    Nov 22 12:45:24 pop-os system76-power[918]: [INFO] Starting daemon
    Nov 22 12:45:24 pop-os system76-power[918]: [INFO] Connecting to dbus system bus
    Nov 22 12:45:24 pop-os system76-power[918]: [INFO] Rescanning PCI bus
    Nov 22 12:45:24 pop-os system76-power[918]: [INFO] 0000:01:00.0: NVIDIA graphics
    Nov 22 12:45:24 pop-os system76-power[918]: [INFO] 0000:01:00.0: Function for 0000:01:00.0
    Nov 22 12:45:24 pop-os system76-power[918]: [INFO] 0000:00:02.0: Intel graphics
    Nov 22 12:45:24 pop-os system76-power[918]: [INFO] 0000:00:02.0: Function for 0000:00:02.0
    Nov 22 12:45:24 pop-os system76-power[918]: [INFO] Disabling NMI Watchdog (for kernel debugging only)
    Nov 22 12:45:24 pop-os system76-power[918]: [INFO] Setting automatic graphics power
    Nov 22 12:45:24 pop-os system76-power[918]: [INFO] Disabling graphics power
    Nov 22 12:45:24 pop-os system76-power[918]: [INFO] 0000:01:00.0: Removing
    Nov 22 12:45:24 pop-os system76-power[918]: [INFO] Initializing with the balanced profile
    Nov 22 12:45:24 pop-os system76-power[918]: [INFO] Registering dbus name com.system76.PowerDaemon
    Nov 22 12:45:24 pop-os system76-power[918]: [INFO] Adding dbus path /com/system76/PowerDaemon with interface com.system76.PowerDaemon
    Nov 22 12:45:24 pop-os system76-power[918]: [ERROR] fan daemon: platform hwmon not found
    Nov 22 12:45:24 pop-os system76-power[918]: [INFO] Handling dbus requests
    Nov 22 12:45:47 pop-os system76-power[918]: [INFO] DBUS Received GetSwitchable method
    Nov 22 12:45:47 pop-os system76-power[918]: [INFO] DBUS Received GetGraphics method
    Nov 22 12:45:47 pop-os system76-power[918]: [INFO] DBUS Received GetProfile method
    Nov 22 12:47:03 pop-os system76-power[918]: [INFO] DBUS Received GetGraphics method
    Nov 22 12:49:47 pop-os system76-power[918]: [INFO] caught signal: 15
    Nov 22 12:49:48 pop-os system76-power[918]: [INFO] daemon exited from loop
    -- Reboot --
    Nov 22 12:50:11 pop-os system76-power[899]: [INFO] Starting daemon
    Nov 22 12:50:11 pop-os system76-power[899]: [INFO] Connecting to dbus system bus
    Nov 22 12:50:11 pop-os system76-power[899]: [INFO] Rescanning PCI bus
    Nov 22 12:50:11 pop-os system76-power[899]: [INFO] 0000:01:00.0: NVIDIA graphics
    Nov 22 12:50:11 pop-os system76-power[899]: [INFO] 0000:01:00.0: Function for 0000:01:00.0
    Nov 22 12:50:11 pop-os system76-power[899]: [INFO] 0000:00:02.0: Intel graphics
    Nov 22 12:50:11 pop-os system76-power[899]: [INFO] 0000:00:02.0: Function for 0000:00:02.0
    Nov 22 12:50:11 pop-os system76-power[899]: [INFO] Disabling NMI Watchdog (for kernel debugging only)
    Nov 22 12:50:11 pop-os system76-power[899]: [INFO] Setting automatic graphics power
    Nov 22 12:50:11 pop-os system76-power[899]: [INFO] Disabling graphics power
    Nov 22 12:50:11 pop-os system76-power[899]: [INFO] 0000:01:00.0: Removing
    Nov 22 12:50:11 pop-os system76-power[899]: [INFO] Initializing with the balanced profile
    Nov 22 12:50:11 pop-os system76-power[899]: [INFO] Registering dbus name com.system76.PowerDaemon
    Nov 22 12:50:11 pop-os system76-power[899]: [INFO] Adding dbus path /com/system76/PowerDaemon with interface com.system76.PowerDaemon
    Nov 22 12:50:11 pop-os system76-power[899]: [ERROR] fan daemon: platform hwmon not found
    Nov 22 12:50:11 pop-os system76-power[899]: [INFO] Handling dbus requests
    Nov 22 12:50:37 pop-os system76-power[899]: [INFO] DBUS Received GetSwitchable method
    Nov 22 12:50:37 pop-os system76-power[899]: [INFO] DBUS Received GetGraphics method
    Nov 22 12:50:37 pop-os system76-power[899]: [INFO] DBUS Received GetProfile method
    Nov 22 12:50:45 pop-os system76-power[899]: [INFO] DBUS Received SetGraphics(nvidia) method
    Nov 22 12:50:45 pop-os system76-power[899]: [INFO] Creating /etc/modprobe.d/system76-power.conf
    Nov 22 12:50:45 pop-os system76-power[899]: [INFO] Enabling nvidia-fallback.service
    Nov 22 12:50:45 pop-os system76-power[899]: Failed to enable unit: Unit file nvidia-fallback.service does not exist.
    Nov 22 12:50:45 pop-os system76-power[899]: [WARN] systemctl: failed with exit code: 1 (not an error if service does not exist!)
    Nov 22 12:50:45 pop-os system76-power[899]: [INFO] Updating initramfs
    Nov 22 12:50:45 pop-os system76-power[899]: update-initramfs: Generating /boot/initrd.img-5.3.0-22-generic
    Nov 22 12:50:49 pop-os system76-power[899]: cryptsetup: WARNING: target cryptswap has a random key, skipped
    Nov 22 12:51:01 pop-os system76-power[899]: kernelstub.Config    : INFO     Looking for configuration...
    Nov 22 12:51:01 pop-os system76-power[899]: kernelstub           : INFO     System information:
    Nov 22 12:51:01 pop-os system76-power[899]:     OS:..................Pop!_OS 18.04
    Nov 22 12:51:01 pop-os system76-power[899]:     Root partition:....../dev/sda6
    Nov 22 12:51:01 pop-os system76-power[899]:     Root FS UUID:........c7ea262a-7c36-40a8-a384-765a71446281
    Nov 22 12:51:01 pop-os system76-power[899]:     ESP Path:............/boot/efi
    Nov 22 12:51:01 pop-os system76-power[899]:     ESP Partition:......./dev/sda5
    Nov 22 12:51:01 pop-os system76-power[899]:     ESP Partition #:.....5
    Nov 22 12:51:01 pop-os system76-power[899]:     NVRAM entry #:.......-1
    Nov 22 12:45:24 pop-os system76-power[918]: [INFO] Rescanning PCI bus
    Nov 22 12:45:24 pop-os system76-power[918]: [INFO] 0000:01:00.0: NVIDIA graphics
    Nov 22 12:45:24 pop-os system76-power[918]: [INFO] 0000:01:00.0: Function for 0000:01:00.0
    Nov 22 12:45:24 pop-os system76-power[918]: [INFO] 0000:00:02.0: Intel graphics
    Nov 22 12:45:24 pop-os system76-power[918]: [INFO] 0000:00:02.0: Function for 0000:00:02.0
    Nov 22 12:45:24 pop-os system76-power[918]: [INFO] Disabling NMI Watchdog (for kernel debugging only)
    Nov 22 12:45:24 pop-os system76-power[918]: [INFO] Setting automatic graphics power
    Nov 22 12:45:24 pop-os system76-power[918]: [INFO] Disabling graphics power
    Nov 22 12:45:24 pop-os system76-power[918]: [INFO] 0000:01:00.0: Removing
    Nov 22 12:45:24 pop-os system76-power[918]: [INFO] Initializing with the balanced profile
    Nov 22 12:45:24 pop-os system76-power[918]: [INFO] Registering dbus name com.system76.PowerDaemon
    Nov 22 12:45:24 pop-os system76-power[918]: [INFO] Adding dbus path /com/system76/PowerDaemon with interface com.system76.PowerDaemon
    Nov 22 12:45:24 pop-os system76-power[918]: [ERROR] fan daemon: platform hwmon not found
    Nov 22 12:45:24 pop-os system76-power[918]: [INFO] Handling dbus requests
    Nov 22 12:45:47 pop-os system76-power[918]: [INFO] DBUS Received GetSwitchable method
    Nov 22 12:45:47 pop-os system76-power[918]: [INFO] DBUS Received GetGraphics method
    Nov 22 12:45:47 pop-os system76-power[918]: [INFO] DBUS Received GetProfile method
    Nov 22 12:47:03 pop-os system76-power[918]: [INFO] DBUS Received GetGraphics method
    Nov 22 12:49:47 pop-os system76-power[918]: [INFO] caught signal: 15
    Nov 22 12:49:48 pop-os system76-power[918]: [INFO] daemon exited from loop
    -- Reboot --
    Nov 22 12:50:11 pop-os system76-power[899]: [INFO] Starting daemon
    Nov 22 12:50:11 pop-os system76-power[899]: [INFO] Connecting to dbus system bus
    Nov 22 12:50:11 pop-os system76-power[899]: [INFO] Rescanning PCI bus
    Nov 22 12:50:11 pop-os system76-power[899]: [INFO] 0000:01:00.0: NVIDIA graphics
    Nov 22 12:50:11 pop-os system76-power[899]: [INFO] 0000:01:00.0: Function for 0000:01:00.0
    Nov 22 12:50:11 pop-os system76-power[899]: [INFO] 0000:00:02.0: Intel graphics
    Nov 22 12:50:11 pop-os system76-power[899]: [INFO] 0000:00:02.0: Function for 0000:00:02.0
    Nov 22 12:50:11 pop-os system76-power[899]: [INFO] Disabling NMI Watchdog (for kernel debugging only)
    Nov 22 12:50:11 pop-os system76-power[899]: [INFO] Setting automatic graphics power
    Nov 22 12:50:11 pop-os system76-power[899]: [INFO] Disabling graphics power
    Nov 22 12:50:11 pop-os system76-power[899]: [INFO] 0000:01:00.0: Removing
    Nov 22 12:50:11 pop-os system76-power[899]: [INFO] Initializing with the balanced profile
    Nov 22 12:50:11 pop-os system76-power[899]: [INFO] Registering dbus name com.system76.PowerDaemon
    Nov 22 12:50:11 pop-os system76-power[899]: [INFO] Adding dbus path /com/system76/PowerDaemon with interface com.system76.PowerDaemon
    Nov 22 12:50:11 pop-os system76-power[899]: [ERROR] fan daemon: platform hwmon not found
    Nov 22 12:50:11 pop-os system76-power[899]: [INFO] Handling dbus requests
    Nov 22 12:50:37 pop-os system76-power[899]: [INFO] DBUS Received GetSwitchable method
    Nov 22 12:50:37 pop-os system76-power[899]: [INFO] DBUS Received GetGraphics method
    Nov 22 12:50:37 pop-os system76-power[899]: [INFO] DBUS Received GetProfile method
    Nov 22 12:50:45 pop-os system76-power[899]: [INFO] DBUS Received SetGraphics(nvidia) method
    Nov 22 12:50:45 pop-os system76-power[899]: [INFO] Creating /etc/modprobe.d/system76-power.conf
    Nov 22 12:50:45 pop-os system76-power[899]: [INFO] Enabling nvidia-fallback.service
    Nov 22 12:50:45 pop-os system76-power[899]: Failed to enable unit: Unit file nvidia-fallback.service does not exist.
    Nov 22 12:50:45 pop-os system76-power[899]: [WARN] systemctl: failed with exit code: 1 (not an error if service does not exist!)
    Nov 22 12:50:45 pop-os system76-power[899]: [INFO] Updating initramfs
    Nov 22 12:50:45 pop-os system76-power[899]: update-initramfs: Generating /boot/initrd.img-5.3.0-22-generic
    Nov 22 12:50:49 pop-os system76-power[899]: cryptsetup: WARNING: target cryptswap has a random key, skipped
    Nov 22 12:51:01 pop-os system76-power[899]: kernelstub.Config    : INFO     Looking for configuration...
    Nov 22 12:51:01 pop-os system76-power[899]: kernelstub           : INFO     System information:
    Nov 22 12:51:01 pop-os system76-power[899]:     OS:..................Pop!_OS 18.04
    Nov 22 12:51:01 pop-os system76-power[899]:     Root partition:....../dev/sda6
    Nov 22 12:51:01 pop-os system76-power[899]:     Root FS UUID:........c7ea262a-7c36-40a8-a384-765a71446281
    Nov 22 12:51:01 pop-os system76-power[899]:     ESP Path:............/boot/efi
    Nov 22 12:51:01 pop-os system76-power[899]:     ESP Partition:......./dev/sda5
    Nov 22 12:51:01 pop-os system76-power[899]:     ESP Partition #:.....5
    Nov 22 12:51:01 pop-os system76-power[899]:     NVRAM entry #:.......-1
    Nov 22 12:51:01 pop-os system76-power[899]:     Boot Variable #:.....0000
    Nov 22 12:51:01 pop-os system76-power[899]:     Kernel Boot Options:.quiet loglevel=0 systemd.show_status=false splash
    Nov 22 12:51:01 pop-os system76-power[899]:     Kernel Image Path:.../boot/vmlinuz-5.3.0-22-generic
    Nov 22 12:51:01 pop-os system76-power[899]:     Initrd Image Path:.../boot/initrd.img-5.3.0-22-generic
    Nov 22 12:51:01 pop-os system76-power[899]:     Force-overwrite:.....False
    Nov 22 12:51:01 pop-os system76-power[899]: kernelstub.Installer : INFO     Copying Kernel into ESP
    Nov 22 12:51:01 pop-os system76-power[899]: kernelstub.Installer : INFO     Copying initrd.img into ESP
    Nov 22 12:51:01 pop-os system76-power[899]: kernelstub.Installer : INFO     Setting up loader.conf configuration
    Nov 22 12:51:01 pop-os system76-power[899]: kernelstub.Installer : INFO     Making entry file for Pop!_OS
    Nov 22 12:51:01 pop-os system76-power[899]: kernelstub.Installer : INFO     Backing up old kernel
    Nov 22 12:52:00 pop-os system76-power[899]: [INFO] DBUS Received GetGraphics method
    Nov 22 12:52:03 pop-os system76-power[899]: [INFO] DBUS Received SetGraphics(nvidia) method
    Nov 22 12:52:03 pop-os system76-power[899]: [INFO] Creating /etc/modprobe.d/system76-power.conf
    Nov 22 12:52:03 pop-os system76-power[899]: [INFO] Enabling nvidia-fallback.service
    Nov 22 12:52:03 pop-os system76-power[899]: Failed to enable unit: Unit file nvidia-fallback.service does not exist.
    Nov 22 12:52:03 pop-os system76-power[899]: [WARN] systemctl: failed with exit code: 1 (not an error if service does not exist!)
    Nov 22 12:52:03 pop-os system76-power[899]: [INFO] Updating initramfs
    Nov 22 12:52:03 pop-os system76-power[899]: update-initramfs: Generating /boot/initrd.img-5.3.0-22-generic
    Nov 22 12:52:06 pop-os system76-power[899]: cryptsetup: WARNING: target cryptswap has a random key, skipped
    Nov 22 12:52:16 pop-os system76-power[899]: kernelstub.Config    : INFO     Looking for configuration...
    Nov 22 12:52:16 pop-os system76-power[899]: kernelstub           : INFO     System information:
    Nov 22 12:52:16 pop-os system76-power[899]:     OS:..................Pop!_OS 18.04
    Nov 22 12:52:16 pop-os system76-power[899]:     Root partition:....../dev/sda6
    Nov 22 12:52:16 pop-os system76-power[899]:     Root FS UUID:........c7ea262a-7c36-40a8-a384-765a71446281
    Nov 22 12:52:16 pop-os system76-power[899]:     ESP Path:............/boot/efi
    Nov 22 12:52:16 pop-os system76-power[899]:     ESP Partition:......./dev/sda5
    Nov 22 12:52:16 pop-os system76-power[899]:     ESP Partition #:.....5
    Nov 22 12:52:16 pop-os system76-power[899]:     NVRAM entry #:.......-1
    Nov 22 12:52:16 pop-os system76-power[899]:     Boot Variable #:.....0000
    Nov 22 12:52:16 pop-os system76-power[899]:     Kernel Boot Options:.quiet loglevel=0 systemd.show_status=false splash
    Nov 22 12:52:16 pop-os system76-power[899]:     Kernel Image Path:.../boot/vmlinuz-5.3.0-22-generic
    Nov 22 12:52:16 pop-os system76-power[899]:     Initrd Image Path:.../boot/initrd.img-5.3.0-22-generic
    Nov 22 12:52:16 pop-os system76-power[899]:     Force-overwrite:.....False
    Nov 22 12:52:16 pop-os system76-power[899]: kernelstub.Installer : INFO     Copying Kernel into ESP
    Nov 22 12:52:16 pop-os system76-power[899]: kernelstub.Installer : INFO     Copying initrd.img into ESP
    Nov 22 12:52:17 pop-os system76-power[899]: kernelstub.Installer : INFO     Setting up loader.conf configuration
    Nov 22 12:52:17 pop-os system76-power[899]: kernelstub.Installer : INFO     Making entry file for Pop!_OS
    Nov 22 12:52:17 pop-os system76-power[899]: kernelstub.Installer : INFO     Backing up old kernel
    Nov 22 12:52:22 pop-os system76-power[899]: [INFO] caught signal: 15
    Nov 22 12:52:23 pop-os system76-power[899]: [INFO] daemon exited from loop
    -- Reboot --
    Nov 22 12:52:44 pop-os system76-power[919]: [INFO] Starting daemon
    Nov 22 12:52:44 pop-os system76-power[919]: [INFO] Connecting to dbus system bus
    Nov 22 12:52:44 pop-os system76-power[919]: [INFO] Rescanning PCI bus
    Nov 22 12:52:44 pop-os system76-power[919]: [INFO] 0000:01:00.0: NVIDIA graphics
    Nov 22 12:52:44 pop-os system76-power[919]: [INFO] 0000:01:00.0: Function for 0000:01:00.0
    Nov 22 12:52:44 pop-os system76-power[919]: [INFO] 0000:00:02.0: Intel graphics
    Nov 22 12:52:44 pop-os system76-power[919]: [INFO] 0000:00:02.0: Function for 0000:00:02.0
    Nov 22 12:52:44 pop-os system76-power[919]: [INFO] Disabling NMI Watchdog (for kernel debugging only)
    Nov 22 12:52:44 pop-os system76-power[919]: [INFO] Setting automatic graphics power
    Nov 22 12:52:44 pop-os system76-power[919]: [INFO] Disabling graphics power
    Nov 22 12:52:44 pop-os system76-power[919]: [INFO] 0000:01:00.0: Removing
    Nov 22 12:52:44 pop-os system76-power[919]: [INFO] Initializing with the balanced profile
    Nov 22 12:52:44 pop-os system76-power[919]: [INFO] Registering dbus name com.system76.PowerDaemon
    Nov 22 12:52:44 pop-os system76-power[919]: [INFO] Adding dbus path /com/system76/PowerDaemon with interface com.system76.PowerDaemon
    Nov 22 12:52:44 pop-os system76-power[919]: [ERROR] fan daemon: platform hwmon not found
    Nov 22 12:52:44 pop-os system76-power[919]: [INFO] Handling dbus requests
    Nov 22 12:52:55 pop-os system76-power[919]: [INFO] DBUS Received GetSwitchable method
    Nov 22 12:52:55 pop-os system76-power[919]: [INFO] DBUS Received GetGraphics method
    Nov 22 12:52:55 pop-os system76-power[919]: [INFO] DBUS Received GetProfile method
    lines 4991-5050/5050 (END)
    Nov 22 12:51:01 pop-os system76-power[899]:     Boot Variable #:.....0000
    Nov 22 12:51:01 pop-os system76-power[899]:     Kernel Boot Options:.quiet loglevel=0 systemd.show_status=false splash
    Nov 22 12:51:01 pop-os system76-power[899]:     Kernel Image Path:.../boot/vmlinuz-5.3.0-22-generic
    Nov 22 12:51:01 pop-os system76-power[899]:     Initrd Image Path:.../boot/initrd.img-5.3.0-22-generic
    Nov 22 12:51:01 pop-os system76-power[899]:     Force-overwrite:.....False
    Nov 22 12:51:01 pop-os system76-power[899]: kernelstub.Installer : INFO     Copying Kernel into ESP
    Nov 22 12:51:01 pop-os system76-power[899]: kernelstub.Installer : INFO     Copying initrd.img into ESP
    Nov 22 12:51:01 pop-os system76-power[899]: kernelstub.Installer : INFO     Setting up loader.conf configuration
    Nov 22 12:51:01 pop-os system76-power[899]: kernelstub.Installer : INFO     Making entry file for Pop!_OS
    Nov 22 12:51:01 pop-os system76-power[899]: kernelstub.Installer : INFO     Backing up old kernel
    Nov 22 12:52:00 pop-os system76-power[899]: [INFO] DBUS Received GetGraphics method
    Nov 22 12:52:03 pop-os system76-power[899]: [INFO] DBUS Received SetGraphics(nvidia) method
    Nov 22 12:52:03 pop-os system76-power[899]: [INFO] Creating /etc/modprobe.d/system76-power.conf
    Nov 22 12:52:03 pop-os system76-power[899]: [INFO] Enabling nvidia-fallback.service
    Nov 22 12:52:03 pop-os system76-power[899]: Failed to enable unit: Unit file nvidia-fallback.service does not exist.
    Nov 22 12:52:03 pop-os system76-power[899]: [WARN] systemctl: failed with exit code: 1 (not an error if service does not exist!)
    Nov 22 12:52:03 pop-os system76-power[899]: [INFO] Updating initramfs
    Nov 22 12:52:03 pop-os system76-power[899]: update-initramfs: Generating /boot/initrd.img-5.3.0-22-generic
    Nov 22 12:52:06 pop-os system76-power[899]: cryptsetup: WARNING: target cryptswap has a random key, skipped
    Nov 22 12:52:16 pop-os system76-power[899]: kernelstub.Config    : INFO     Looking for configuration...
    Nov 22 12:52:16 pop-os system76-power[899]: kernelstub           : INFO     System information:
    Nov 22 12:52:16 pop-os system76-power[899]:     OS:..................Pop!_OS 18.04
    Nov 22 12:52:16 pop-os system76-power[899]:     Root partition:....../dev/sda6
    Nov 22 12:52:16 pop-os system76-power[899]:     Root FS UUID:........c7ea262a-7c36-40a8-a384-765a71446281
    Nov 22 12:52:16 pop-os system76-power[899]:     ESP Path:............/boot/efi
    Nov 22 12:52:16 pop-os system76-power[899]:     ESP Partition:......./dev/sda5
    Nov 22 12:52:16 pop-os system76-power[899]:     ESP Partition #:.....5
    Nov 22 12:52:16 pop-os system76-power[899]:     NVRAM entry #:.......-1
    Nov 22 12:52:16 pop-os system76-power[899]:     Boot Variable #:.....0000
    
    opened by miguelcarcamov 16
  • Configuration File, Configurable Profiles, & Custom Profiles

    Configuration File, Configurable Profiles, & Custom Profiles

    Closes #2 Improves the situation for #38 Requires #46 in order for the thresholds and default.{battery,ac} to have an affect. Closes #48

    Changes

    Error Handling Improvements

    • Errors when setting a parameter in a profile will no longer stop the attempt to set a profile.
    • Each error that occurs when setting a profile will be combined into a single error at the end.

    TOML Config

    • A TOML config for the daemon is placed at /etc/system76-power/config.toml
    • Deserialization of this config is performed by serde.
    • Serialization is done by hand, however, to get the desired formatting, hints, and explanatory comments.
    • The default settings will be used if there is an error when reading the config

    Fixes

    • Logging now works for the CLI as well as the daemon.

    New Features

    • A configuration script / command may now be defined for each profile
    • Custom fan curve and power profiles may also be defined and set.
    • New fan-curve subcommand to swap fan curves without restarting the daemon.
    • New config subcommand to display and validate the config.

    Config

    Example config (generated by default when the config is missing):

    # This config is automatically generated by system76-power.
    
    # The default profile that will be set on connecting to AC.
    # ac = 'performance'
    
    # The default profile that will be set on disconnecting from AC.
    # battery = 'battery'
    
    # Uncomment to enable extra untested power-saving features
    # experimental = true
    
    # [threshold]
    # Defines what percentage of battery is required to set the profile to 'battery'.
    # critical = 25
    
    # Defines what percentage of battery is required to revert the critical change.
    # normal = 50
    
    # Settings for controlling fan curves
    [fan_curves]
    # The fan curve to set when starting the daemon. Default is 'standard'.
    active = 'standard'
    
    # The default fan curve.
    # standard = [ { temp = 2000, duty = 3000 },
    #              { temp = 3000, duty = 3500 },
    #              { temp = 4000, duty = 4250 },
    #              { temp = 5000, duty = 5250 },
    #              { temp = 6500, duty = 10000 } ]
    
    [profiles]
    # The last profile that was activated.
    active = 'balanced'
    
    # [profiles.battery]
    # backlight = { keyboard = 0, screen = 10 }
    # laptop_mode = 2
    # max_lost_work = 15
    # pci = { runtime_pm = true }
    # pstate = { min = 0, max = 50, turbo = false }
    # radeon = { profile = 'low', dpm_state = 'battery', dpm_perf = 'low' }
    # script = '$PATH'
    
    # [profiles.balanced]
    # backlight = { keyboard = 50, screen = 40 }
    # laptop_mode = 0
    # max_lost_work = 15
    # pci = { runtime_pm = true }
    # pstate = { min = 0, max = 100, turbo = true }
    # radeon = { profile = 'auto', dpm_state = 'performance', dpm_perf = 'auto' }
    # script = '$PATH'
    
    # [profiles.performance]
    # backlight = { keyboard = 100, screen = 100 }
    # laptop_mode = 0
    # max_lost_work = 15
    # pci = { runtime_pm = false }
    # pstate = { min = 50, max = 100, turbo = true }
    # radeon = { profile = 'high', dpm_state = 'performance', dpm_perf = 'auto' }
    # script = '$PATH'
    

    Custom Profiles

    [profiles]
    active = 'custom-profile'
    
    [profiles.custom-profile]
    pstate = { .. }
    script = '/path/to/script'
    
    opened by mmstick 16
  • Update fan curve

    Update fan curve

    The original fan curve almost always spun the fans at idle, and had a very low maximum fan speed temperature of 65 degrees. This curve was taken from the motherboard defaults.

    original_fan_curve

    This new curve will keep all models of fans we have used off until 40 degrees C, then will spin up the fans more gradually until reaching maximum speed at 75 degrees C.

    new_fan_curve

    Fixes #69

    opened by jackpot51 15
  • Can't switch from Integrated Graphics

    Can't switch from Integrated Graphics

    Distribution (run cat /etc/os-release): DISTRIB_ID=Pop DISTRIB_RELEASE=21.04 DISTRIB_CODENAME=hirsute DISTRIB_DESCRIPTION="Pop!_OS 21.04" NAME="Pop!_OS" VERSION="21.04" ID=pop ID_LIKE="ubuntu debian" PRETTY_NAME="Pop!_OS 21.04" VERSION_ID="21.04" HOME_URL="https://pop.system76.com" SUPPORT_URL="https://support.system76.com" BUG_REPORT_URL="https://github.com/pop-os/pop/issues" PRIVACY_POLICY_URL="https://system76.com/privacy" VERSION_CODENAME=hirsute UBUNTU_CODENAME=hirsute LOGO=distributor-logo-pop-os

    Related Application and/or Package Version (run apt policy $PACKAGE NAME): system76-power: Instalado: 1.1.20~1637635456~21.04~b5ed171 Candidato: 1.1.20~1637635456~21.04~b5ed171 Tabela de Versรฃo: *** 1.1.20~1637635456~21.04~b5ed171 1001 1001 http://ppa.launchpad.net/system76/pop/ubuntu hirsute/main amd64 Packages 100 /var/lib/dpkg/status 1.1.20~1637635456~21.04~b5ed171~dev 500 500 http://ppa.launchpad.net/system76-dev/stable/ubuntu hirsute/main amd64 Packages

    Issue/Bug Description: I am unable to switch from Integrated Graphics. When I click any of the options (Hybrid Graphics, NVIDIA Graphics, Compute... etc) I get a message popup (for 30 seconds) staying that the change is being made, and then I am asked to reboot and switch. After reboot, Integrated Graphics is the only option selected.

    Steps to reproduce (if you know): I login to desktop, chose Hybrid graphics, reboot, but after reboot and login again to desktop, I see integrated graphics is selected again.

    Expected behavior: I login to desktop, chose hybrid graphics, reboot, and after reboot and login I see Hybrid Graphics selected.

    Other Notes: I've noticed this behaviour after apt upgrade from Pop_OS! 19 (or so I think) because this was working when I first installed Pop_OS!. Its a dual boot machine, and on WIndows 10 side, everything is working. So its not a graphics card issue. Graphic card is: NVIDIA Geforce GTX 1650 TI Laptop: HP Pavilion Gaming 15S-ec1010np

    If I run lspci | grep -i VGA right before boot, I get: 05:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Renoir (rev c7)

    but if first, I run system76-power graphics power on and then lspci | grep -i VGA i get 01:00.0 VGA compatible controller: NVIDIA Corporation TU117M [GeForce GTX 1650 Ti Mobile] (rev a1) 05:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Renoir (rev c7)

    This shows that system76-power is disabling my discrete graphics card at boot. Why?

    Thanks. Regards, Pedro

    opened by binaryz3r0 14
  • galp5 performance mode should be tuned

    galp5 performance mode should be tuned

    Distribution (run cat /etc/os-release):

    NAME="Pop!_OS"
    VERSION="20.10"
    ID=pop
    ID_LIKE="ubuntu debian"
    PRETTY_NAME="Pop!_OS 20.10"
    VERSION_ID="20.10"
    HOME_URL="https://pop.system76.com"
    SUPPORT_URL="https://support.system76.com"
    BUG_REPORT_URL="https://github.com/pop-os/pop/issues"
    PRIVACY_POLICY_URL="https://system76.com/privacy"
    VERSION_CODENAME=groovy
    UBUNTU_CODENAME=groovy
    LOGO=distributor-logo-pop-os
    

    Issue/Bug Description: With performance power profile selected on AC power for i7-1165G7:

    • TDP boosts to 44-45W for up to 28s (observed with pcm)
    • Thermal throttling at 88C
    • TDP normalizes to 28W
    • all-core frequency 3.6-3.8GHz w/ adequate cooling

    Writing MSRs (93C, pl1 45W 99999) results in:

    • TDP boosts to 44-45W indefinitely (as thermals allow)
    • Thermal throttling at 93C (exceeding 95C seems to trigger some cooldown)
    • all-core frequency 4.0-4.1GHz w/ adequate cooling (meets spec)

    Other Notes:

    opened by curiousercreative 14
  • Add support for PRIME hybrid graphics

    Add support for PRIME hybrid graphics

    NVIDIA driver 435.17 added support for PRIME render offloading. This enables using the iGPU (Intel) as the default driver while allowing rendering to be done on the dGPU (NVIDIA) for selected applications. Like the other modes, a reboot is required after selecting the hybrid mode.

    $ system76-power graphics hybrid
    $ sudo reboot
    

    This takes advantage of gpu-manager creating the necessary Xorg config when /etc/prime-discrete is set. Other distros may have their own mechanism, or require manually writing the Xorg file. See [1] for more info on configuring the X server.

    You can then see this in effect using glxinfo from mesa-utils:

    $ glxinfo | grep vendor
    server glx vendor string: SGI
    client glx vendor string: Mesa Project and SGI
    OpenGL vendor string: Intel Open Source Technology Center
    $ __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia glxinfo | grep vendor
    server glx vendor string: NVIDIA Corporation
    client glx vendor string: NVIDIA Corporation
    OpenGL vendor string: NVIDIA Corporation
    

    udev rules can be created [2] to allow Turing+ GPUs to be moved into a low power state after a short time of inactivity. They are not created here because they disable functionality the user may want.

    $ cat /sys/bus/pci/devices/<dev>/power/runtime_status
    suspended
    
    opened by crawfxrd 14
  • WIP smooth fans

    WIP smooth fans

    • rough port of EC fan smoothing
    • rough port of galp5 EC fan curve
    • remnants of failed attempts to have FanDaemon react to PowerProfileSwitch

    Relates to:

    • (requires) https://github.com/system76/firmware-open/pull/365
    • chat thread
    opened by curiousercreative 0
  • Without Option

    Without Option "AllowExternalGpus" "True" X server doesn't start when eGPU attached.

    WIthout the Option "AllowExternalGpus" "True" being placed in /usr/share/X11/xorg.conf.d/11-nvidia-discrete.conf during the generation process, X will fail to initialize the xserver stating the below: 15:14:39 pop-os /usr/libexec/gdm-x-session[1176]: (WW) NVIDIA(GPU-0): This device is an external GPU, but external GPUs have not Nov 04 15:14:39 pop-os /usr/libexec/gdm-x-session[1176]: (WW) NVIDIA(GPU-0): been enabled with AllowExternalGpus. Disabling this device Nov 04 15:14:39 pop-os /usr/libexec/gdm-x-session[1176]: (WW) NVIDIA(GPU-0): to prevent crashes from accidental removal. Nov 04 15:14:39 pop-os /usr/libexec/gdm-x-session[1176]: (EE) NVIDIA(0): Failing initialization of X screen

    Any advice for an elegant solution for this sort of recompiling this from source to include it in the src/graphics.rc file would be appricated.

    opened by SirBomble 0
  • increase tcc for galp5 in performance mode to 98

    increase tcc for galp5 in performance mode to 98

    I had this set to 93 initially because my earlier testing showed that hitting higher temperatures were resulting in some sort of long-term slowdown. Testing this anew, 98 works fine, no long-term slowdowns encountered.

    opened by curiousercreative 0
  • CPU usage increases over time and eventually causes audio to stutter

    CPU usage increases over time and eventually causes audio to stutter

    Distribution (run cat /etc/os-release): Pop!_OS 22.04

    Related Application and/or Package Version (run apt policy $PACKAGE NAME): Presumably system76-power, version unknown

    Issue/Bug Description: 2022-09-14_15-38 https://twitter.com/emptythevoid/status/1570150727300923393

    Steps to reproduce (if you know): Not entirely clear, but presumably the machine just has to be left running with music playing/looping in the background for a while? The time frame to reproduce the bug isn't clear to me. It looks like it happens pretty quickly in that video, but prior uptime is unknown.

    Expected behavior: system76-power should not hog CPU, and audio playback should not stutter

    Other Notes: I assume this is on a kudu6, judging by the core count in powertop in the video.

    needs testing / confirmation 
    opened by leviport 27
  • [HP ENVY 15] Cannot switch to Nvidia/Hybrid Graphics

    [HP ENVY 15] Cannot switch to Nvidia/Hybrid Graphics

    Distribution (run cat /etc/os-release):

    NAME="Pop!_OS"
    VERSION="22.04 LTS"
    ID=pop
    ID_LIKE="ubuntu debian"
    PRETTY_NAME="Pop!_OS 22.04 LTS"
    VERSION_ID="22.04"
    HOME_URL="https://pop.system76.com"
    SUPPORT_URL="https://support.system76.com"
    BUG_REPORT_URL="https://github.com/pop-os/pop/issues"
    PRIVACY_POLICY_URL="https://system76.com/privacy"
    VERSION_CODENAME=jammy
    UBUNTU_CODENAME=jammy
    LOGO=distributor-logo-pop-os
    

    Kernel:

    Linux 5.19.0-76051900-generic #202207312230~1660780566~22.04~9d60db1 SMP PREEMPT_DYNAMIC Thu A x86_64 x86_64 x86_64 GNU/Linux
    

    Graphics card:

    0000:01:00.0 VGA compatible controller: NVIDIA Corporation GA106M [GeForce RTX 3060 Mobile / Max-Q] (rev a1)
    

    Related Application and/or Package Version:

    system76-power:
      Installed: 1.1.22~1659403314~22.04~357f4b0
      Candidate: 1.1.22~1659403314~22.04~357f4b0
      Version table:
     *** 1.1.22~1659403314~22.04~357f4b0 1001
           1001 http://apt.pop-os.org/release jammy/main amd64 Packages
            100 /var/lib/dpkg/status
    
    nvidia-driver-515:
      Installed: 515.48.07-1pop0~1657640780~22.04~e863eed
      Candidate: 515.48.07-1pop0~1657640780~22.04~e863eed
      Version table:
         515.65.01-0ubuntu0.22.04.1 500
            500 http://apt.pop-os.org/ubuntu jammy-security/restricted amd64 Packages
            500 http://apt.pop-os.org/ubuntu jammy-updates/restricted amd64 Packages
     *** 515.48.07-1pop0~1657640780~22.04~e863eed 1001
           1001 http://apt.pop-os.org/release jammy/main amd64 Packages
            100 /var/lib/dpkg/status
    

    Issue/Bug Description:

    After a recent update, it is no longer possible to switch to NVIDIA or Hybrid graphics mode using system76-power both via CLI and the GNOME Shell widget. There is no error message, and it goes through normally, asking you to restart to apply the change, but the change is never applied even after restart.

    This is not merely a UI bug, because I am also no longer able to plug in an external monitor via HDMI or USB-C and get video, as both rely on the discrete graphics card.

    Booting from the older kernel doesn't help. Installing v510 or v470 of the driver doesn't help either.

    Tried steps from #296 and #350 , but didn't help either.

    Steps to reproduce:

    $ sudo system76-power graphics hybrid
    

    setting graphics to hybrid reboot for changes to take effect

    Then reboot the computer, change is not applied.

    $ sudo system76-power graphics
    

    integrated

    $ sudo journalctl -b all -u system76-power
    

    -- No entries --

    $ sudo grep -r 'blacklist nvidia' /{etc,lib}/modprobe.d/
    

    /etc/modprobe.d/blacklist-framebuffer.conf:#blacklist nvidiafb

    Removing this entry from the file and rebooting does not help.

    Purge NVIDIA packages and reinstall:

    $ sudo apt purge ~nnvidia
    

    apt_purge.log

    $ sudo apt clean
    

    ย 

    $ sudo apt update
    

    Hit:1 https://updates.signal.org/desktop/apt xenial InRelease Hit:2 https://dl.winehq.org/wine-builds/ubuntu jammy InRelease
    Hit:3 http://apt.pop-os.org/proprietary jammy InRelease
    Hit:4 https://repo.protonvpn.com/debian stable InRelease Hit:5 http://apt.pop-os.org/release jammy InRelease Hit:6 http://apt.pop-os.org/ubuntu jammy InRelease Hit:7 http://apt.pop-os.org/ubuntu jammy-security InRelease Hit:8 http://apt.pop-os.org/ubuntu jammy-updates InRelease Get:9 http://apt.pop-os.org/ubuntu jammy-backports InRelease [99.8 kB] Fetched 99.8 kB in 1s (131 kB/s)
    Reading package lists... Done Building dependency tree... Done Reading state information... Done All packages are up to date.

    $ sudo dpkg --configure -a
    

    ย 

    $ sudo apt install -f
    

    Reading package lists... Done Building dependency tree... Done Reading state information... Done The following packages were automatically installed and are no longer required: libgl1:i386 libgl1-mesa-dri:i386 libglx-mesa0:i386 libglx0:i386 libvulkan1:i386 libxcb-glx0:i386 libxcb-randr0:i386 libxnvctrl0 mesa-vulkan-drivers:i386 screen-resolution-extra Use 'sudo apt autoremove' to remove them. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

    $ sudo apt full-upgrade
    

    Reading package lists... Done Building dependency tree... Done Reading state information... Done Calculating upgrade... Done The following packages were automatically installed and are no longer required: libgl1:i386 libgl1-mesa-dri:i386 libglx-mesa0:i386 libglx0:i386 libvulkan1:i386 libxcb-glx0:i386 libxcb-randr0:i386 libxnvctrl0 mesa-vulkan-drivers:i386 screen-resolution-extra Use 'sudo apt autoremove' to remove them. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

    $ sudo apt autoremove --purge
    

    Reading package lists... Done Building dependency tree... Done Reading state information... Done The following packages will be REMOVED: libgl1:i386* libgl1-mesa-dri:i386* libglx-mesa0:i386* libglx0:i386* libvulkan1:i386* libxcb-glx0:i386* libxcb-randr0:i386* libxnvctrl0* mesa-vulkan-drivers:i386* screen-resolution-extra* 0 upgraded, 0 newly installed, 10 to remove and 0 not upgraded. After this operation, 53.5 MB disk space will be freed. Do you want to continue? [Y/n] y (Reading database ... 283545 files and directories currently installed.) Removing libgl1:i386 (1.4.0-1) ... Removing libglx0:i386 (1.4.0-1) ... Removing libglx-mesa0:i386 (22.0.5-0ubuntu0.1) ... Removing libgl1-mesa-dri:i386 (22.0.5-0ubuntu0.1) ... Removing mesa-vulkan-drivers:i386 (22.0.5-0ubuntu0.1) ... Removing libvulkan1:i386 (1.3.204.1-2) ... Removing libxcb-glx0:i386 (1.14-3ubuntu3) ... Removing libxcb-randr0:i386 (1.14-3ubuntu3) ... Removing libxnvctrl0:amd64 (510.47.03-0ubuntu1) ... Removing screen-resolution-extra (0.18.2) ... Processing triggers for libc-bin (2.35-0ubuntu3.1) ... /sbin/ldconfig.real: /lib/x86_64-linux-gnu/libQtCore.so.4 is not a symbolic link

    /sbin/ldconfig.real: /lib/x86_64-linux-gnu/libQtGui.so.4 is not a symbolic link

    /sbin/ldconfig.real: /lib/x86_64-linux-gnu/libaudio.so.2 is not a symbolic link

    (Reading database ... 283501 files and directories currently installed.) Purging configuration files for libgl1-mesa-dri:i386 (22.0.5-0ubuntu0.1) ...

    sudo ubuntu-drivers install
    

    ubuntu_drivers_install.log

    Using system76-driver-nvidia does not help either.


    Thanks a lot for looking into this!

    opened by sammdu 4
Owner
Pop!_OS
An Operating System by System76
Pop!_OS
VR Lighthouse power state management in Rust

Lighthouse VR Lighthouse power state management in Rust Windows and Linux binaries available here Usage SteamVR v1: lighthouse [on|off] [BSID] lightho

Shayne Hartford 24 Dec 21, 2022
This is a `Rust` based package to help with the management of complex medicine (pill) management cycles.

reepicheep This is a Rust based package to help with the management of complex medicine (pill) management cycles. reepicheep notifies a person(s) via

Daniel B 24 Dec 13, 2023
Rust File Management CLI is a command-line tool written in Rust that provides essential file management functionalities. Whether you're working with files or directories, this tool simplifies common file operations with ease.

Rust FileOps Rust File Management CLI is a command-line tool written in Rust that provides essential file management functionalities. Whether you're w

Harikesh Ranjan Sinha 5 May 2, 2024
The video game for Fonts of Power. A tabletop roleplaying game made in Rust with Bevy!

The code and rules for Fonts of Power, a tactical TTRPG / video game about exploring magical places. You can follow its development in our Discord ser

null 25 Dec 23, 2022
A series of test cases to evaluate async Rust on the nrf52840 in terms of power usage and ergonomics.

A series of test cases to evaluate async Rust on the nrf52840 in terms of power usage and ergonomics. This is an experiment that uses unstable features only available on nightly rust.

Tweede golf 1 Oct 15, 2021
Turn off monitors to save power (for Wayland)

Same as xset dpms force off, but for Wayland. It requires zwlr_output_power_manager_v1 and org_kde_kwin_idle support from the Wayland compositer. wlro

ไพไบ‘ 15 Dec 8, 2022
Sample and plot power consumption, average frequency and cpu die temperatures over time.

sense Sense is a small tool to gather data on cpu temperature, power usage and clock frequency and plot graphs during some load. Dependencies Sense is

Luuk van der Duim 6 Oct 31, 2022
A simple power 4 game wrote in Rust.

?? ?? Power 4 This is a simple power 4 game wrote in native Rust. There's only one dependencie for colored terminal. โ“ How to try it? To try this game

null 1 Apr 25, 2022
Crypto in, power out

Cipo Crypto in, power out Cipo makes it easy to let users pay for electricity for their camper-van, electric cars, boat, caravan and other high load c

Jonny Heggheim 9 Dec 9, 2022
The free password manager for power users

The free password manager for power users

null 312 Oct 22, 2022
Scaphandre is a metrology agent dedicated to electrical power consumption metrics.

Scaphandre [skafษ‘ฬƒdส] is a metrology agent dedicated to electrical power consumption metrics. The goal of the project is to permit to any company or individual to measure the power consumption of its tech services and get this data in a convenient form, sending it through any monitoring or data analysis toolchain.

Hubblo 883 Dec 29, 2022
A command line tool to control the power state of Valve Base Stations 2.0.

lighthousectl A command line tool to control the power state of Valve Base Stations 2.0. Usage Scan All Base Stations It scans endlessly. You can stop

KOBA789 11 Aug 9, 2022
Move multiple files, with the power of your editor

NOTE FOR USERS THAT WANT TO TRY THIS OUT! The current code on the master branch doesnโ€™t work as documented, as a newer more powerful interface is bein

Thomas Voss 3 Dec 22, 2022
This gives Emacs awesome power!

WASI gives Emacs awesome power !! This provides the ability to run WASI: WebAssembly System Interface program on Emacs. This is still in the experimen

pyspa 15 Jan 3, 2023
Renders typst code blocks in Obsidian into images using Typst through the power of WASM!

Obsidian Typst Renders typst code blocks into images using Typst through the power of WASM! This is still very much in development, so suggestions/bug

Jack 18 Apr 1, 2023
Maccha is an extremely extensible and themable power menu for Windows, macOS, and Linux.

Maccha I hate coffee. Maccha is an extremely extensible and themable power menu for Windows, macOS, and Linux. Plugins Plugins are written in Rust (ot

Kyza 9 May 13, 2023
Bring the power of pre-signed URLs to your apps. Signway is a gateway for redirecting authentic signed URLs to the requested API

A gateway that proxies signed requests to other APIs. Check the docs for more info. If you are looking for the managed version checkout this link http

Gabriel 37 Jun 24, 2023
Harness the power of signify(1) to sign arbitrary git objects

git-signify A tool to sign arbitrary objects in a git repository. Generating keys Signing keys can be generated with signify, from the OpenBSD project

Tiago Carvalho 3 Jul 27, 2023
๐Ÿค–CyberAI is designed to bridge the world of Cyberpunk 2077 and the power of OpenAI's AI technology.

CyberAI ?? Welcome to the CyberAI project! This plugin for Cyberpunk 2077 enables integration between the videogame and OpenAI API, opening a world of

Kirill Kuzin 19 Jul 28, 2023