Switching graphics modes (integrated/hybrid/dedicated) doesn't seem to work

There's a few steps to troubleshoot.

  1. If you are dual-booting Windows 10 / 11 (or think Windows may have been in iGPU Mode in Armoury Crate) then try this,

journalctl -b -u supergfxd

If there are lines which end with ERROR: Could not find dGPU, then reboot into Windows and make sure that Armoury Crate has the dGPU set to Auto Mode. If you have set it to iGPU only mode, then the dGPU will be forcibly removed from the system and Linux will no longer be able to see it.

If you no longer have Windows installed, and you suspect that it was set to iGPU only mode when you installed Linux, then you can try to forcibly enable the dGPU with the following.

echo 0 | sudo tee /sys/devices/platform/asus-nb-wmi/dgpu_disable
echo 1 > sudo /sys/bus/pci/rescan
echo 0 | sudo tee /sys/devices/platform/asus-nb-wmi/dgpu_disable

It may take a few tries to enable it, and a reboot is recommended afterwards.

  1. Are your Nvidia drivers installed correctly?

In hybrid or nvidia mode they should be loaded, check with lsmod |grep nvidia for similar to:

[luke@datatron]$ lsmod |grep nvidia
nvidia_drm             65536  11
nvidia_modeset       1232896  18 nvidia_drm
nvidia_uvm           1150976  0
nvidia              34185216  906 nvidia_uvm,nvidia_modeset
drm_kms_helper        274432  2 nvidia_drm,i915
drm                   618496  14 drm_kms_helper,nvidia_drm,i915

if that doesn't show similar, then you need to reinstal your Nvidia drivers.

  1. Is Nouveau blocklisted correctly? It's common to require the following in /etc/default/grub:
GRUB_CMDLINE_LINUX="rd.driver.blacklist=nouveau modprobe.blacklist=nouveau"

that line may not be exact, and do not delete existing entry to match it, just add those two items to the end of the line before the last "

  1. What does journalctl -b -u asusd say after a failed switch?

If it contains lines like the following then we need to look at active sessions

asusd[1373]: INFO: GFX: Switching gfx mode to integrated
asusd[1373]: INFO: GFX: display-manager thread started
asusd[1373]: WARN: GFX: thread time exceeded 3 minutes, exiting

Do: loginctl list-sessions, if it shows more than one session lets have a look with:

loginctl show-session --property Type --property Class --property Active <num>

where <num> is the number or char+num from the SESSION column of the output above. If there is more than one active session of type Wayland | X11 | Mir then somehow you've ended up with an extra session.

Save your work, Ctrl+Alt+F4 (or any F<num>) key to a TTY terminal session and run

asusctl graphics -m <desired mode>
sudo loginctl kill-user <username>

your display-manager should then restart.

  1. If none of the above helps, and/or you use KDE, and/or have a G14 with GTX graphics, you may need to this,
sudo sed -i 's/#KillUserProcesses=no/KillUserProcesses=yes/' /etc/systemd/logind.conf

then sudo systemctl restart display-manager.

Legal Matters

ASUS and ROG Trademark is either a US registered trademark or trademark of ASUSTeK Computer Inc. in the United States and/or other countries.

Reference to any ASUS products, services, processes, or other information and/or use of ASUS Trademarks does not constitute or imply endorsement, sponsorship, or recommendation thereof by ASUS.

The use of ROG and ASUS trademarks within this website and associated tools and libraries is only to provide a recognisable identifier to users to enable them to associate that these tools will work with ASUS ROG laptops.

Privacy Policy

We use Matomo

Matomo is an open source web analytics platform. A web analytics platform is used by a website owner in order to measure, collect, analyse and report visitor data for purposes of understanding and optimizing their website.

Purpose of the processing

Matomo is used to get an idea how our website is used by our users so we can optimize things further so that the user may find the most relevant information more quickly.

Data Matomo is processing

  • User IP address
  • Optional User ID
  • Date and time of the request
  • Title of the page being viewed
  • URL of the page being viewed
  • Referrer URL
  • Screen resolution being used
  • Time in local user’s timezone
  • Files that were clicked and downloaded
  • Links to an outside domain that were clicked
  • Page generation time
  • User location: country, region, city, approximate latitude and longitude
  • Main Language of the browser being used
  • User Agent of the browser being used

Pick up the one you are using:

  • Cookies
  • IP address
  • User ID
  • Custom Dimensions
  • Custom Variables
  • Location of the user

And also:

  • Date and time
  • Title of the page being viewed
  • URL of the page being viewed
  • URL of the page that was viewed prior to the current page
  • Screen resolution
  • Time in local timezone
  • Files that were clicked and downloaded
  • Link clicks to an outside domain
  • Pages generation time
  • Country, region, city
  • Main Language of the browser
  • User Agent of the browser

This list can be completed with additional features such as:

  • Form interactions
  • Media interactions
  • A/B Tests

The processing of personal data with Matomo is based on legitimate interests

If you wish us to not process any personal data with Matomo, you can opt-out from it at any time. There will be no consequences at all regarding the use of our website.

You can withdraw at any time your consent by clicking here

The right to lodge a complaint with a supervisory authority

If you think that the way we process your personal data with Matomo analytics is infringing the law, you have the right to lodge a complaint with a supervisory authority.

We are not doing any profiling.