Skip to content

Askannz/optimus-manager

Repository files navigation

⚙️ Function

Enhances the performance and power management on Nvidia Optimus Laptops, by properly selecting when to use each GPU.

The Nvidia GPU runs the whole desktop, while the Intel/AMD GPU acts as relay between the Nvidia GPU and the screen.

More info at the wiki.

🔧 Contributing

  1. Thorougly test code. See the scripts at package.
  2. Open a pull request.
  3. Accepted in two days.

🔥 Reporting issues

  1. Isolate which specific config is causing your issue.
  2. Open an issue report.

When requesting further info your issue may be closed. Just reopen it when done so.

🖥️ Supported platforms

  • Graphic protocols: Xorg, Wayland without configurable options.
  • Display managers : SDDM, LightDM, GDM, custom, none.

💽 Installation

  1. If you are not using the standard linux kernel, install the linux-headers package variant that matches your kernel name.

  2. Install the appropiate nvidia package.

  3. Install the optimus-manager package. In the AUR: optimus-manager-git.

📝 Configuration

On X11 the Nvidia GPU is used for everything by default. This provides maximum performance and ease of use at the expense of power consumption. If you want to try to optimize this, see /etc/optimus-manager/.

On Wayland the Nvidia GPU is used for high performance apps which use GLX or Vulkan. While the integrated GPU for no so demanding apps which use EGL, like the desktop itself and the web browser. This behavior is not configurable.

🔀 Modes

  • nvidia switches to the Nvidia GPU.
  • integrated switches to the integrated GPU, and powers the Nvidia GPU off.
  • hybrid switches to the integrated GPU, but leaves the Nvidia GPU available for on-demand offloading. Similar to how Optimus works on Windows. More info at the Wiki.

⚠️ Warning:

  • In the configuration file, if auto_logout=yes, switching will log out and close all applications.
  • Switching to and from "integrated" mode can be unstable.

📎 System Tray

All desktops:

Gnome:

🎰 Boot entries

Useful if you want to have different entries for different GPU startup modes.

This only affects which GPU your desktop session starts with, nothing prior to that.

Edit your boot loader config to have the kernel parameter optimus-manager.startup=[nvidia\integrated\hybrid].

Or if you are using the GRUB bootloader, you can use optimus-manager-grub.

📜 Terminal

  • optimus-manager --switch [nvidia\integrated\hybrid]

🤔 FAQ / Troubleshooting

About

A Linux program to handle GPU switching on Optimus laptops.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published