Call for testing: optimus-switch

make sure you have headers installed for each kernel you have currently installed. also make sure you have acpi_call-dkms installed

Thanks for the heads up! I reinstalled acpi_call-dkms and linux54-headers, now that error in journalctl -b0 -p3 is gone.

I had the same power/fan issues after rebooting into Nvidia, but re-entered the lsmod | grep -i nouveau command and will see if that fixes it.

Edit: Yup, the random power-off and fan issues are back :pensive:

Testing on an XPS 15 7950 using the gdm script.

Everything seems to work. Thanks a lot for creating these scripts, as I have had trouble getting things to work on my machine.

May I suggest you clean your README file up a little bit on the gdm GitHub site? I would be glad to do it, and create a pull request if you would want that. :slight_smile:

1 Like

yeah i know i made a mess out of it the bulleted style looks messy, if you want to clean it up please feel free, thanks

Hey again dglt,
Haven't gotten around to editing the README yet. Using your script, I was quickly missing some sort of visual indicator as to what 'mode' I was currently in. I couldn't find anything, so I created a very simple gnome shell extension doing just that. EDIT: just discovered the one made by @linesma.

It's on GitHub: . I hope it will be useful to you or someone else :slight_smile:

1 Like

nice, i'll check it out. @linesma also put one together

1 Like

Oh yeah, I've just noticed. It looks a bit more pro. :smiley:

Mine is quite a bit simpler, but anyways. It's there if anyone wants it!


Btw, I have now made the pull request, changing the README.


@anbc. Looks good. I stopped working on my Gnome only solution and went with a more universal solution. It is great to see something that is designed just for Gnome.

1 Like

reviewed and accepted, thanks for that. :+1:


What is the state of video-hybrid-intel-nvidia-440xx-prime power saving vs fully shutting it down using this method?

same as it was since prime render offload became a feature, each still have their own ups/downs. prime render offload still has no support for external displays if they are wired to the nvidia gpu, power management only applies to Turing gpu's, and you still cant make use of coolbits features like overclocking while using it. if none of that matters to you then render offload prime is probably the ideal choice, if not then you'll need something using the original prime method.

@dglt I need help ASAP!

Running your script has caused my computer not boot in intel mode as it fails to start the Load Kernel Modules service.

I am able to boot with no problems after running your script in tty2 and rebooting. (I am running both your scripts as sudo).

From the error message, it seems like it still tries to load something nvidia-related.

What I have done since it stopped working: Upgraded to kernel 5.6 (have downgraded again to 5.4, but problem still persists), Downgraded nvidia drivers from video-nvidia-440xx to video-nvidia-430xx. I'll have a go at upgrading again.

What might cause the problem and how do I fix it?
Error message:
Screenshot from 2020-06-02 16-10-09

Update: updated Nvidia drivers. Now I can't boot using intel or nvidia... computer just stalls at Dell logo indefinitely.

Please help.

Another update: removed 440xx with mhwd and installed 430xx again. I'm able to boot in nvidia mode. I'm quite scared to try anything else, as my computer is crucial for my work and education. @dglt would love to hear your suggestions. Thanks.

Solution: @dglt 's comment right under here.

if you change drivers via MHWD you then have to remove these configuration files it creates, they conflict with optimus-switch configs and function. black screen. :wink:

sudo rm /etc/X11/xorg.conf.d/90-mhwd.conf
sudo rm /etc/modprobe.d/mhwd-gpu.conf
sudo rm /etc/modules-load.d/mhwd-gpu.conf

set intel mode after and see if it works

1 Like

It worked like a charm. Thank you so much @dglt. I'm impressed you knew what was wrong so fast.

Btw - been running your scripts since we chatted last time (about 2 weeks) and it has been working perfectly (except my little hurdle we just discussed).

1 Like

no problem, driver updates dont create new configuration files usually but if you manually uninstall/install the drivers again via MHWD then you'll need to remove those files it creates so just keep that in mind

1 Like

Just a tip for you. This is a very rude way to demand assistance.

I personally would have totally disregarded anyone pinging myself in that manner.

A "please" and "thank you" go a long way on the forum.

The rude tend to not get so much help.

Luckily for you @dglt is too helpful to refuse to come to your aid.

I'm glad dglt got you fixed up, but do try to be more polite if requesting help.

Just my opinion.


ASAP triggered ya didnt it? other than that @anbc has been polite and thankful, we cuts some slack.

next time though, we hangs em by his toes? :smiling_imp:

1 Like


Thanks for your work, I tested sddm scripts and all works Ok.

But I prefer to switch to hybrid-nvidia and install it via mhwd. After installing and rebooting the message appear on the start:
"failed to start load kernel modules manjaro"
Seems optimus-switch not completely removed:

>sudo journalctl -eu systemd-modules-load
> июн 04 12:35:59 dero-pc systemd[1]: Starting Load Kernel Modules...
июн 04 12:35:59 dero-pc systemd-modules-load[957]: Error running install command '/bin/false' for module nvidia: retcode 1
июн 04 12:35:59 dero-pc systemd-modules-load[957]: Failed to insert module 'nvidia': Invalid argument
июн 04 12:35:59 dero-pc systemd-modules-load[957]: Error running install command '/bin/false' for module nvidia: retcode 1
июн 04 12:35:59 dero-pc systemd-modules-load[957]: Failed to insert module 'nvidia_drm': Invalid argument
июн 04 12:35:59 dero-pc systemd[1]: systemd-modules-load.service: Main process exited, code=exited, status=1/FAILURE
июн 04 12:35:59 dero-pc systemd[1]: systemd-modules-load.service: Failed with result 'exit-code'.
июн 04 12:35:59 dero-pc systemd[1]: Failed to start Load Kernel Modules.

How can I completely remove optimus-switch?

Just move conf file:

sudo mv 99-intel.conf ./99-intel.conf.bak

After reboot all works as expected.

depending on how long ago you setup optimus-switch you should have /etc/switch/ you can use to remove all optimus switch configs/scripts. if not then you can grab it here

save it, chmod +x , then run it sudo ./

Forum kindly sponsored by