A way to switch between graphics cards

So i recently installed manjaro on my laptop. My laptop has intel i5 core 11th gen CPU, 4GB shared intel iris xe, and Nvidia GeForce mx350. I am running manjaro gnome.
I updated my system and installed Nvidia, intel hybrid drivers from manjaro-settings-manager. After the reboot, the Wayland option was removed from the login screen and defaulted to x11/xorg.

So, is there a way to switch between Nvidia and intel from within manjaro? I am new to manjaro. Any help is appreciated.

Run a command like this:

prime-run <program-name>

which will just switch intels GLX to nvidia GLX.

Or use the optimus-manager to switch the GPU entirely (needs a re-login)

1 Like

Besides what @megavolt mentioned, you can also install switcheroo-control from our community repo. Just right-click on a dock or menu shortcut and choose Launch using Discrete Graphics Card.


Thanks for the quick reply mate. Would you mind linking an article showing the installation and usage of optimus-manager? I am new to this :sweat_smile:

That works buddy. But i want control to completely switch my graphics card.

Please define. You previously said:

Both using prime-run and switcheroo-control accomplish the same task.

My apology for not describing this properly in my previous response. By switching I mean to switch entirely to Nvidia from intel or vice versa. programs like prime-run let you choose which program you want to launch, but what I want is to completely change the GPU that I am using in my current desktop session.

Does this help? GitHub - Askannz/optimus-manager: A Linux program to handle GPU switching on Optimus laptops.

That is also another tool: GitHub - bayasdev/envycontrol: Easy GPU switching for Nvidia Optimus laptops under Linux

:notebook: Don’t use them at the same time.

Thanks a lot, mate. This is helpful.

But just a question. which is better? prime-run or optimus-manager or envycontrol? Like what will be your choice and why?

optimus-manager or envycontrol switch the whole session including the desktop, but prime-run only a specific application, while the rest runs on the iGPU.

I would personally prefer prime-run, but it is up to you.

this is a great option, it works great

when the next time i install manjaro, should I install the nvidia-intel hybrid driver from manjaro-settings-manager or just use this directly

Yes, you should definitely install this profile.

prime-run is installed by default, when you install the NVIDIA driver.

optimus-manager or envycontrol are just managers, which make switching a bit easier, if you prefer to switch the whole desktop, although it is also doable without.

Thanks a lot, mate for your help and time.
Thanks to you also @Yochanan for mentioning another alternative.

But how do we set the integrated intel card to be running by default and then use prime-run to use nvidia, because, once the drivers are installed, Nvidia is made the default

Then I guess you installed the wrong profile. :man_shrugging:

Anyway, have a look at /etc/x11/xorg.conf.d/. There is a file called 90-mhwd.conf. Usually it should be empty by default, if you installed a hybrid profile, if not, then most likely it has instructions for nvidia only.

like wayland session is removed from the login screen, and the windowing manager defaults to X11. So if the integrated card was the default one, then wayland support should have been there right?

To be honest: No idea. There are other configs which disables wayland when the nvidia driver has been detected. That is due to the very experimental nature of nvidia’s driver on wayland.

Maybe that gives you an idea:

Thanks once again mate. This explains it all

Actually, that tutorial does not explain anything. It only offers a way to force using Wayland. That doesn’t mean it’s going to magically work properly. Here, there be dragons. :dragon:

Short story: Upstream purposely disables Wayland when a hybrid setup with NVIDIA is detected. However, Fedora thinks they know better. :man_shrugging:

Hmm got it.