Manjaro-Optimus Indicator - An Optimus-Switch GUI for multiple Desktop-Environments

Allow me to introduce Manjaro-Optimus Indicator. It is a stand alone program in Python that provides a GUI for @dglt's Optimus-Switch program. I have tested it on and it will work with the following Desktop-Environments:

  • XFCE
  • KDE
  • Gnome
  • Budgie
  • Cinnamon
  • Mate
  • LXDE

It has been confirmed to work with the following tiling window manager: (thanks to @dglt for testing it!)

  • Awesome

Unfortunately, while the program would run LXQT, no indicator or dialogs would appear. Because I have never used a tiling window manager, I have not tested it on Bspwn or i3.

Thank you to @dglt for his Optimus-Switch solution. Thank you @bogdancovaciu , @papajoke , @xircon for their help in expanding my knowledge of Python.

Here is a screenshot.


looks great! :+1:

i use awesome so i'll test this in a few minutes when the coffee kicks in :sleeping:


Great. I just do not know enough about awesome to try it out there. It took all afternoon to test the other DE's. Multiple installs of Manjaro in a VM. It was also a great way to test out the setup scripts. :wink:

1 Like

it works great, easy/fast setup. only with awesome, the autostart is handled differently. instead of a .desktop file you would add this line to ~/.config/awesome/ and it will auto-start

run manjaroptimus-appindicator

from intel mode:

nvidia mode:


Thanks for the information. I will update the readme and the initial post.


this is much better than a desktop specific tool like a shell extension or plasmoid. nicely done :+1:


i've seen now that they've have the hybrid option too how do i do to switch to switch to nvidia card with the hybrid option

are you referring to the render offload "feature" that came with the 435.xx drivers?

if so then no, there is no 3rd optimus-switch option for that. i was going to add it but then after using the render-offload setup i decided against it because it's useless unless you have a Turing class gpu (gtx 1660 and newer) because the nvidia gpu is on all the time and cant be turned off since the xorg session is running on the nvidia gpu but everything is rendered on the intel gpu unless you launch with the given parameters which IMO is nonsense. external monitors are also a non-starter, the performance is less than ideal. and the 435.xx beta drivers themselves have issues.

even if i had an RTX with it's better power management, i still wouldn't use it in it's current state due to the limitations it has. even fumblebee works with external monitors (if you can get fumblebee to work)

i think the 3rd icon thats included is displayed if for whatever reason it cant detect if it's in intel or nvidia mode but @linesma would know better than myself


Thank you for answering @emmanuel's question. It was not something I was worried about since I do not have a card that supports it.

Yes, the third icon is the "default" icon. It is only used if the program can't determine what GPU is in use.

1 Like

Man, that's great work! :star_struck:

Immediate recommendation to all of my unfortunate optimus friends :laughing:


works on all desktop environments, and should work on most window managers as well. im using it on awesome-wm and works great


Thank you. I never worked with Python before. It was a learning experience for me. I spent some time "banging my head on my desk" while trying to figure out why something did not work, or how to do something in python that I knew how to do in bash.

Then installing 8 versions of Manjaro into separate VM's to test whether it would work or not.

Overall, I had fun doing this and gained a new respect for people who write code for a living.

Hopefully someone can test it on the other tiling wm's. If it works, I will update the post and readme accordingly.


Is also related to the xorg-server version


Forum kindly sponsored by Bytemark