supergfxctl - ArchWiki

Jump to content
From ArchWiki

This article or section needs expansion.

Reason: This article needs expanding with instructions for non NVIDIA based hybrid laptops. (Discuss in Talk:Supergfxctl)

Related articles

- ASUS Linux
- asusctl

supergfxctlAUR is a useful utility provided by ASUS Linux. It helps with managing GPU switching functionality on hybrid laptops.

While supergfxctl was originally designed with ASUS Optimus laptops in mind, it has since evolved into a standalone tool that functions with any laptops with hybrid graphics.

## Pre-Installation

For Optimus laptops make sure that the NVIDIA drivers are installed. Do not install xf86-video-intel. Remove optimus-managerAUR and bumblebee if they are installed and make sure no residual configs for NVIDIA, Intel and the PRIME managers are located in the following locations.

    /etc/X11/xorg.conf.d/
    /etc/modprobe.d/
    /etc/udev/rules.d/

### Initramfs and kernel parameters

Do not include `i915` or any of the NVIDIA modules in your early start up filesystem. Doing so can affect the discrete GPUs ability to properly power down.

Edit `/etc/mkinitcpio.conf` and remove i915 and all NVIDIA modules from the modules section then regenerate the initramfs.

## Installation

Installation can be done through ASUS Linux's own repository. You can also install the supergfxctlAUR package. Then, enable `supergfxd.service`.

Note: You only need to install this tool if you have a hybrid GPU laptop.

## Usage

Supergfxctl supports the following modes, `Integrated`, `Hybrid` and `VFIO`. It also has the ability to detect if a mux switch is in use for `Dedicated` mode.

### Show supported modes

The following command is used to display all the modes your laptop supports:

    $ supergfxctl -s

### Get current mode

The following command is used to query the current GPU mode:

    $ supergfxctl -g

### Switch modes

The following command is used to switch the current GPU mode to `Hybrid`:

    $ supergfxctl -m hybrid

## Using supergfxctl for GPU passthrough (VFIO)

VFIO GPU passthrough can be enabled by editing `/etc/supergfxd.conf`. In this configuration file, it is also recommended to change the `hotplug_type` value to `Asus`, instead of `None` as is documented upstream.

    /etc/supergfxd.conf

    {
    "vfio_enable": true,
    ..
    "hotplug_type": "Asus"
    }

## Using supergfxctl and the MUX switch

If your laptop comes with a multiplexer switch then utilizing the MUX switch will give lower latency and more performance in video games when it is used as compared to using PRIME.

If the system is in Hybrid mode, prime-run from nvidia-prime can be used to run programs on the discrete GPU. This does not break applications while the MUX switch is enabled, so it can be used wherever more graphics performance is needed.

Using the MUX switch requires that you are running asusctl, for details please see asusctl#Using the MUX switch.

## Graphical utilities

Users of GNOME & KDE can make use of desktop environment add-ons to control supergfxctl from their desktop. The following is a list of these including links:

Name | Desktop | Link
--- | --- | ---
supergfxctl-gex | Gnome | https://extensions.gnome.org/extension/5344/supergfxctl-gex/
plasma5-applets-supergfxctl | KDE Plasma | plasma5-applets-supergfxctlAUR
rog-control-center | Any | rog-control-centerAUR

Category:

- ASUS

Hidden category:

- Pages or sections flagged with Template:Expansion