Guide: Install and configure optimus-manager for hybrid GPU setups (Intel/NVIDIA)

For hybrid GPU laptops with Intel and Nvidia the best solution usually is to have switchable graphics: Intel for normal, everyday usage (uses less power and saves battery) and NVIDIA for games or more graphic intense programs (uses more battery). Optimus manager is a port of Ubuntu’s nvidia-prime solution to Arch Linux where a user can easily choose which GPU can be used at this session, so a user can still can save energy and be mobile on a daily basis but have all power and benefits of NVIDIA discrete card when needed (including Vulkan).

Note: For hybrid combos like AMD-Nvidia, just use the video-hybrid-intel-nvidia-440xx-prime mhwd setup and start apps needing dicrete GPU with prime-run. There is no switching, all works like a multi-purpose hybrid mode. So if you have AMD-Nvidia, stop reading futher as the guide below is only for Intel-Nvidia and you don't need any of this.

CATION: Optimus manager is relatively new and under heavy development so beware, MAKE A SYSTEM BACKUP before proceeding further. It’s not enough to just install the package and some manual configuration is needed. Please, make ALL CHANGES BEFORE REBOOT. If you reboot system before everything is in order, your graphical session may not boot successfully.

Only X session is supported (no Wayland).

Supported display managers are : SDDM (Manjaro KDE), LightDM (Manjaro XFCE), GDM (Manjaro Gnome). Other display managers may work but you have to configure them manually, see this FAQ section:

This tutorial is meant to be used on MANJARO. For other Arch-based systems, skip mhwd part.

Manjaro by default installs bumblebee with hybrid GPUs and I assume you already switched to non-free drivers. If not, please do that:

https://wiki.manjaro.org/index.php/Configure_Graphics_Cards

If you already use video-hybrid-intel-nvidia-440xx-prime configuration, this guide is also for you. The only difference is that you don't have bumblebee so you don't have to disable it. The rest of the guide stays the same. More info on hybrid off loading mode that this setup uses, see point 9.

This guide also assumes you are already able to see and edit root owned files (via terminal or GUI options). If not, please learn bash basics like cd, ls, cp, mv, etc. or use Dolphin with admin extension, or Krusader in administrative mode, or any GUI program that will allow you to perform described operations.

1. Installation of packages: optimus-manager from repo and optimus-manager-qt from AUR (it’s possible to install git versions from AUR):

sudo pacman -S optimus-manager

Use choosen AUR helper or GUI program like Pamac or Octopi to find and install optimus-manager-qt:

trizen optimus-manager-qt
yay optimus-manager-qt

2. Disable Bumblebee daemon:

sudo systemctl disable bumblebeed.service

The sole act of installing optimus-manager packages makes Bumblebee not work correctly, so this is normal if you try run Bumblebee and see errors at this point. Bumblebee process cannot be active for proper optimus-manager work so let’s just disable it as shown above. Bumblebee package may stay on the system if you want reconsider and uninstall optimus-manager in the future but without active daemon, it’s not doing anything, just as it should.

3. Disable Xorg graphic configurations in /etc/X11/xorg.conf.d/

Go to /etc/X11/xorg.conf.d/ and disable any graphic related configs. Instead deleting them, just rename them by adding .bak for the case if you want to restore them manually.

So for example, I had in this location:

00-keyboard.conf 20-intel.conf 30-touchpad.conf 90-mhwd.conf

Your files may be different so don’t worry if you don’t have those or have a bit different ones.

Keyboard and touchpad configs are self explanatory and have nothing to do with GPUs. Intel is clearly graphic related config while mhwd is a Manjaro specific configuration file of mhwd script (won’t be present on non-Manjaro systems) that configures graphic.

I renamed intel and mhwd confs by adding .bak so in the end my files in this locations are:

00-keyboard.conf 20-intel.conf.bak 30-touchpad.conf

10-optimus-manager.conf 20-intel.conf.bak-old 90-mhwd.conf.bak

Did you noticed a new one: 10-optimus-manager.conf? This one WILL BE GENERATED AUTOMATICALLY LATER by optimus-manager and you won’t have it at this poin't so don’t worry. Optimus manager simply edits this config to switch between graphical modes (Intel and NVIDIA) so its content change dependently which GPU you choose at the moment.

4. Disable Xorg graphic configurations in /etc/X11/

The same situation as above. I had in this location a file:

nvidia-xorg.conf

You can rename it to nvidia-xorg.conf.bak, however, I noticed that some updates may restore the file and optimus-manager still works as intended… so it’s not crucial, however advised to disable this conf anyway.

You may see in this location again different files, like:

xorg.conf or nvidia-xonfig

The same deal, disable it by renaming it.

5. For Manjaro Gnome users (others ignore this point):

  • install gdm-prime from AUR

On Manjaro Gnome you may have manjaro-gdm-tweak installed which requires gdm, so when you install gdm-prime, you get error because of the dependency with gdm.

You need to remove it first:

sudo pacman -Rns manjaro-gdm-tweak

Then dependently which AUR helper you use, install a package gdm-prime and remove gdm from Manjaro repo:

yay gdm-prime

or

trizen gdm-prime

or

pamac build gdm-prime

or just use Pamac or Octopi GUI programs.

After that enable gdm:

sudo systemctl enable gdm

and reboot.

The reason for that is that optimus-manager cannot switch GPUs with default gdm config, while gdm-prime has Canonical’s patches that add two script entry points for GPU Prime switching. The package is otherwise identical to the official one.

  • You need to edit the file /etc/gdm/custom.conf and remove the # before the line

#WaylandEnable=false

So it would look:

WaylandEnable=false

Gnome launches Wayland sessions by default, which are incompatible with optimus-manager, so the above change forces X session.

  • Another quirk of GDM is that the X server may not automatically restart after a GPU switch. If you see an empty black screen or a black screen with a blinking cursor, try switching back to an empty TTY (with Ctrl+Alt+F5 for instance), then back to TTY1 with Ctrl+Alt+F1

6. For Manjaro KDE users (others ignore at this point):

Edit the file /etc/sddm.conf and simply put a # before the line starting with DisplayCommand and the one starting with DisplayStopCommand.

To edit the sddm.conf in terminal:

sudo nano /etc/sddm.conf

The reason for that is that Manjaro ships with a default configuration for SDDM (the default login manager for KDE) which overrides some keys needed by optimus-manager.

Weirdly enough, it’s possible that you may not have lines:

DisplayCommand
DisplayStopCommand

In such a case you are fine and you have nothing to do. It’s possible some recent Manjaro updates deleted those additional lines (they are not present in non-Manjaro systems anyway).

7. Create autostart for optimus-manager-qt

optimus-manager-qt is a small utility that puts a tray icon on your panel and allows you to see which GPU is used at the moment. You can then switch easily by right-click and choose the GPU, or configure optimus-manager. So basically it allows for usage without commandline.

For some systems or DEs it's possible that this step can be skipped as the autostart will be created automatically. In that case you will see the icon in the tray after reboot. If not, set it manually.

Since auto-start is done differently in different DEs, you have to know how it is done in your chosen DE.

In Plasma, you go to Settings→Startup and Shut Down→Automatic Startup (note: this is translated from my native language so it’s possible it will be named slightly different in English)

Then you hit the button “Add a program”, search for optimus-manager-qt, choose it and ensure it’s marked for autostart.

In Gnome it’s possible you will need some additional extension to show tray icons.

8. Reboot

At this point all should be done and to make it work, you need to reboot your computer.

Check if optimus-manager daemon is running correctly:

systemctl status optimus-manager.service

If it's OK, you can start using it from the tray icon or through a terminal.

You should see the intel icon in your tray (optimus-manager boots to Intel session by default, it can be changed). You can right-click it to access switch and options.

Screenshot_20190623_095607
Screenshot_20190623_124124

However, it’s possible that something went wrong and it won’t boot into the graphical session so it’s vital you have a backup. At this point, you can log into tty and either restore from backup, undo changes you just made or try to fix whatever problem occurred.

Note: when switching GPUs in Plasma, you will have to put a password on a SDDM screen. This is unavoidable and cannot be changed because the way optimus-manager currently works make impossible to trigger auto-login settings (the switch isn’t a full session reboot).

9. Nvidia-435 driver series or newer ones

So far the optimus-manager is compatible with them but since those drivers are not perfect, you still may need to have intel mode for the best energy efficiency so even when Nvidia driver offers discrete GPU off-loading, the technology is not perfect and the ability to run sessions with intel or Nvidia mode is still very beneficial.

Optimus-manager-qt also offers Hybrid mode:

  • optimus-manager --switch hybrid to switch to the Intel GPU but leave the Nvidia GPU available for CUDA and PRIME Render offload. This will use Intel drivers by default but allows to run a programm with Nvidia on demand (usually with additional command - evrionment parametr)

Screenshot_20191016_200702

So this will work for those who have Nvidia 435 or higher driver series. For the rest, it will work as a usual Intel session.

If you want to upgrade to a newer nvidia driver series do a system backup (timeshift), then go to Manjaro Settings->Hardware Configuration, find your current version (in my case it was video-hybrid-intel-nvidia-430xx-bumblebee), right-click it and choose Remove. Wait for the sucess message.

Don't reboot under any circumstances. If you do, you will land in tty (no graphical session) and you will have to proceed in cli.

If you are still in the same graphical session, use the same tool (MHWD) to install the newer driver series, in my case this was video-hybrid-intel-nvidia-440xx-prime (bumblebee is no longer used so prime mhwd setup will suit us well, besides bumblebee setup is currently lacking the newest drivers anyway), so right-click it and choose Instal:

Wait for the sucess message.

Then as with the usual optimus-manager initial setup check those two location for graphical configs that are not from optimus-manager:

/etc/X11/xorg.conf.d/
/etc/X11/

and disable them. In my case, nothing has changed aside new 90-mhwd.conf which was created by mhwd that I just used. So I reneamed it again to 90-mhwd.conf.bak.

Now it's time to reboot and check if everything is working. In my case all was working as previously but had newer drivers.

In hybrid mode desktop and all apps are run in Intel by default. If you want an app to run Nvidia, use command:

__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia appname

so if you want to start Steam with Nvidia, you should use heavy runtime (as recommended on Arch systems, although currently seems to be not needed, but may be in the future) plus the above command so the launch command will look like:

STEAM_RUNTIME_HEAVY=1 __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia steam

Of course, you can simply edit steam.desktop file in ~/.local/share/application/

So I copied the original steam.desktop file and created another 2 versions so in the end I have 3 launchers:

steam.desktop - for Intel with Intel/Modesetting driver and for Nvidia with Nvidia driver.
steam-hybird.dekstop - for Hybrid with Nvidia driver.
steam-nouveau.desktop - for Intel with Nouveau driver, when you use Nouveau as a switcher and use Intel Modesetting drivers, it also can start Nvidia on demand, just like in a hybrid mode, but in this case it will start Nvidia with nouveau driver, which may be good for some old games that will run OK on Intel drivers as well but will perform better on Nouevau. In some cases Nvidia propietary drivers have bugs which won't allow for normal game play, but Nouveau drivers work well (like for HOMM V), so this kind of setup has it use cases as well.

I modified Exec= and Name[pl_PL] lines (of course you change name accordingly to your language locale), so those would look like for me:

steam.desktop:

Exec=STEAM_RUNTIME_HEAVY=1 steam
Name[pl_PL]=Steam

steam-hybird.dekstop:

Exec=STEAM_RUNTIME_HEAVY=1  __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia steam
Name[pl_PL]=Steam-Hybrid

steam-nouveau.desktop:

Exec=STEAM_RUNTIME_HEAVY=1 DRI_PRIME=1 steam
Name[pl_PL]=Steam-Nouveau

Some will advice you to run generic Steam with intel and add a command to run a game in Nvidia:

__NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only %command%

However, I prefer simplicity and if Nvidia can render the whole desktop without any losses on performance, running Steam won't burden it and that way you won't have to remeber to add the above command to every installed game. Plus, different desktop files could be made for each driver modes, but when you decide to modify game's starting command, you would have to modify it back and forth depending in which mode you are, which is cumbersome, unless you decide to run Steam only in Hybrid mode, then the problem is gone. The choice is yours... :wink:

Remeber, that the command to launch Steam via Nvidia on hybrid mode won't work in Intel so Steam simply won't start. To avoid it just create a copy of Steam launcher and name it Steam-Hybrid as shown above.

If you use Lutris, there is a switcher for enable/disable prime offloading. Go to a games: settings->system options and choose Enable NVIDIA Prime render offload:

Note: Usually, a game that is using DXVK by default (so most games run via Proton with default settings) will use Nvidia even if you didn't run Steam on Nvidia or didn't specify to run game with Nvidia. This is beacause for Vulkan Nvidia is the default so it automatically switches to it. However, native Linux games use Opengl so they will be still using Intel by default and then proper launcher command to start Nvidia are needed. If you don't want to think about it which games needs it or not, just run Steam on Nvidia and it always be Nvidia used for gaming no matter which game.

More about it and Nvdia power managemrnt on optimus-manager-wiki: Nvidia GPU offloading for "hybrid" mode.

When to run Intel, Nvidia or Hybrid mode?

Intel uses the least energy so when you game sporadically and want to have mobility (so you want to use a battery sometimes), also for using Nvidia with Nouveau driver for older games, this is the best starting point.

Hybrid uses Intel Modesetting by default, however, Nvidia isn't powered off completely but uses less power (currently, ca. 30-20% less, depends on hardware, so it can be more or less then that), so it's a compromize. Hybrid mode it's good to use if you know you will want to game sometimes and you don't want to be bothered with re-logging your session often, and you are mostly on your AC power or close to it, but you can still use battery when not playing games. It's still using a lot of battery power but a bit less then in Nvidia mode while discrete GPU is still being 100% accesible when needed. The con of using Hybrid mode is that currently there is no way to run multiple monitors on it. Such feature is submitted but we don't know when it will be implemented. It could be months or years... So those with more monitors will have to avoid it for now.

Nvidia is good if you game often or use graphic intensive programms and power savings are not an issue because you are always connected to AC. So if you game rarely, use Intel and then switch to Nvidia for a gaming session.

NOTE FOR PLASMA USERS:
If you edit Steam's lauch command on the Favourties on your launcher it will work for the launcher saved in latte, but if you run Steam directly from Favourites, it will launch in the usual Intel mode untill you reboot the session. Test it and check if you are running Nvidia in System Information in Steam.

10. Possible issues during the switch

Optimus manager uses by default nouveau to switch GPUs but for some, it doesn't work. In result, their DM hangs and fans are working like crazy (overheating).
In this case, changing to bbswitch often solves the issue. This is available in Settings of the icon of the try utility. Reboot after the changes.

If for some reason the new setting is working badly and your system cannot start a graphical session after reboot, enter tty session (ctrl+alt+f2), log in and edit manually back to the previous setting:

/etc/optimus-manager/optimus-manager.conf

For more information on how to use optimus-manager in terminal or how to troubleshoot it, go to:

and it's Wiki:

22 Likes
Switch from bumblebee to optimus-manager
Options for Nvidia Optimus graphics
Switching between intel and nvidia with "prime" setup
Can't get nvidia drivers to work
Optimus-manager switching to Nvidia freezes during logout
Nvidia optimus question
issue with installing nvidia driver
issue with installing nvidia driver
issue with installing nvidia driver
issue with installing nvidia driver
try to install mhwd prime-offloading on nvidia 820M
try to install mhwd prime-offloading on nvidia 820M
GeForce GTX 1650: Bumblebee - probe routine failed
My experience with Manjaro KDE coming from KDE Neon
Nvidia GPU not recognised? (tensorflow & wine)
Can get dual-boot works properly
Nvidia PRIME and Bumblebee Conflict
440xx-prime steam
安装 Manjaro 18.1.5 后的简单配置 和 双显卡 Optimus Nvidia 配置.
Horrible battery life on Optimus laptop with prime
Runing programs with dedicated GPU
nvidia-settings error: NVIDIA driver is not loaded gtx 1050m do not change drivers like that ....
New to the forum, introduce yourself
Optimus-Manager Switching Works. Inadequate Nvidia Performance. dGPU Still on in Intel Mode.
NVIDIA 435 driver looks exciting
My experience with video drivers and how work optimus manager
Rebuild an aur package against python 3.8
GPU/IGP, nvidia/intel
Nvidia drivers - black screen - new user in manjaro
Multi Monitor setup dual gpu
Optimus manager on HP Pavillion gaming 15
Manjaro wont boot with nonfree drivers
联想小新Pro13运行Manjaro卡顿问题【已解决】
optimus-manager power management assistance needed
Yeter Artık! Yardım Edin Arkadaşlar
Optimus-manager driver choice
Remove bumblebee and install Intel only
Optimus Manager Overheating Laptop?
How to install NVIDIA Driver and how to switch between intel/nvidia gpu
Driver nvidia for GTX 1650 - XPS 15 7590
[SOLVED] HDMI not working on HP Pavilion cb015nl
Alienware m15 freeze at 'Started Accounts Service.'
Optimus-manager, nvidia module does not seem to be available for the current kernel.
Nvidia graphics card doesn't turn on when needed on a laptop with two GPUs
I'm stuck trying to fix the Bumblebee mess, and dont know what to do next -but I have lots of Terminal data to help get me unstuck!
Why does my FPS drop while gaming after the first ~10 seconds?
Options for Nvidia Optimus graphics
hot laptop
The problem with many NVIDIA drivers
Installation on Monster Abra A5 stuck at black screen (Optimus graphics)
How to improve battery life?
What is the appropriate way to update Nvidia driver while using Optimus Manager?
Prime-run doesn't exist
Bumblebee conflict problem
mhwd auto sets display driver to hybrid-video-intel-nvidia-440x-prime, however powertop shows card as always being on (MX250)
Error when opening nvidia-settings
Why is Manjaro not using NVIDIA as main GPU on my AIO PC?
optimus manager not switching properly
Nvidia optimus Laptop screen tearing problem
Problem with maximizing, minimizing
not booting after updated the nvidia driver from [video-hybrid-intel-nvidia-418xx-bumblebee] to [video-hybrid-intel-nvidia-430xx-bumblebee]
[newbie] issues with hotspot and gpu selection
[newbie] issues with hotspot and gpu selection
Dual Graphics ***AMD***& Nvidia best setup?
Secondary monitor not detected
Drivers not working for Nvidia GTX 1650
NVIDIA HDMI Audio to external monitor not working when NVIDIA proprietary driver is used
GDM Prime/Optimus install errors: removing gdm breaks dependency 'gdm' required by manjaro-gdm-tweak
nvidia drivers not working and optimus not switching
Installing Nvidia bumblebee on manjaro 18 kernel 5.4.6-2
Unable to detect my second monitor
Setting Up NVIDIA Drivers, Driver not loaded

As to point #6 I see the reference in the wiki ... but while my sddm.conf has those lines - the scripts being called have nothing in them.. so I kinda doubt its required to comment out an empty command.

I had those lines, commented them out. Today I discovered I don't have the lines anymore... So maybe @philm changed it or maybe sddm in unstable comes in vanilla version and acquires those on stable branch? Hmm...

Or maybe it was changed recently and your config didn't change properly (didn't delete theme)? On other hand, I thought that configs aren't overwritten automatically, hence we get pacnew files. I don't remember having it for sddm lately.

It would be awesome to have optimus-manager integrated into mhwd and drop the default bumblebee setup, which is useless nowadays. But that's probably too early. That is why we need to encourage more users to use optimus-manager and post issues to improve it. Early versions were unreliable because of dm issues. Now those seems to be fixed and have solutions.

1 Like

The install is a bit older - but I dont see or remember any pacnews.
Nonetheless the lines are there - but the scripts themselves are empty so it shouldnt matter.

Edit - oh wait. looks like it probably would matter because of this collision >>

So really, you could replace the lines in sddm, or even place a line in the scripts being called by sddm by default [/usr/share/sddm/scripts/X{setup|stop}] to call prime-offload and prime-switch. Well - if the package was built that way without the extra conf file...

Just musings :stuck_out_tongue_winking_eye:

1 Like

Anyway, users should know that those lines may be there and comment them out "just in case" or ignore the point of the lines are not there, regardless of the script.

Also, someone may add some section about the switch settings, like noveau, bbswitch, etc, since this could be an issue point for some, especially if they already messed with their graphics and ignore the tip to have "working default mhwd configuration". Nothing is perfect so this probably will have to be addressed at some point, but let's see if this helps with optimus-manager adoption.

Just clarifying, sddm.conf is a base file. User changes to override this are supposed to be in /etc/sddm.d/my-custom.conf IIRC the folder name. File extension should be .conf.
The difference between having a setting commented out and not (having an override or empty) is that a "no-setting" triggers the default sddm setting from package, while an existing setting (empty or other) does not allow the default to engage. Meaning, if a changed default arrives with an update, you still have your custom setting working.
AFAIK...

1 Like

True, however, sddm isn't creating user config automatically so people tend to edit the base file because of that. I don't have /etc/sddm.d/(only /etc/sddm.conf.d/)and somehow creating it feels wrong (after some time I wouldn't remember this is there).

In this case those lines pointing to Manjaro script are Manjaro specific thing and don't exist in default sddm.conf so it's safe to say that even lack of those lines is achieving the same result, unless, as you pointed out, this will be changed upstream. I guess I should add those commented out lines.

Also, shouldn't it be more like in ~/.config? That way any personal changes wouldn't be affecting other users and the base file. It also would carry on to other installations/reinstallations. However, I'm not sure if that trick works for every conf? Would system settings affect the user conf?

I checked my files and I did find sddm.conf.pacsave (but it's a year old so long before I made any changes manually for optimus-manager) and sddm.conf.pacnew (even older, from 2 years ago) which looks more like a pre-base version with all the explanations of what every line is for.

1 Like

@michaldybczak thank you so much you're a life saver now i can fully use my pc in hybrid mode

1 Like

I tried on Manjaro-Cinnamon. After installation and reboot, It stuck at startup. Then I start with terminal mode(adding to grub 3). It fixed when I remove or rename xorg config.
sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.bak

I edited the guide and added the info about switching to newer driver series. The process is quite simple when using mhwd. Basically uninstall the old setup, install the newer one, check again graphical configs again and disable them again if something re-appeared. Reboot. Details above in the section:

9. Nvidia-435 driver series or newer ones

I also added to it some info how to use Nvidia in hybrid mode.

the steam process shouldnt need to be run on the nvidia gpu, some render offload users have been saying that games launch on the nvidia from steam without any intervention at all but i'm not sure how unless steam added support for it? :man_shrugging:

1 Like

@dglt
why not integrate optimus-switch with mhwd
as far as i can tell
its seems pretty easy
just
edit
MHWDCONFIG
in mhwd-db

1 Like

i could create a custom iso setup for it if i wanted but having mhwd detect hardware and set it up would require more coding knowledge than im capable of for a few reasons.

  • the lightdm, sddm, and gdm versions are slightly different since they each handle display setup scripts differently.
  • detection of bus id's and them having to be applied to optimus-switch configs.
  • detecting the correct acpi_call to use for each gpu and also applying it to optimus-switch configurations.

also, as much as im not a fan of the new render-offload method for a number of reasons, nvidia seems to be pushing it and ignoring the issue where 5.4+ kernels break prime synchronization. :man_shrugging:

2 Likes

I've shared this info just to show you how to run a game with Vulkan, it wasn't supposed to be used for running Steam itself.

1 Like

WOW! You are right. I tested it: I run steam on hybrid mode without any additional commands, just steam. I checked which GPU Steam is seeing and it showed me Intel. I launched a game (Shadow Awakening) and... had the same FPS performance!

IT LOOKS LIKE NVIDIA IS USED FOR A STEAM GAME AUTOMATICALLY!!!

I will test it with other games just to be sure but this is awesome!

Optimus-manager requires more tinkering and it changes systemd somehow and few other things so it's still better to keep it apart from MHWD. However, it looks like optimus-manager works quite nicely with current hybrid PRIME script. So far my experience point out that the best way to start is to use MHWD setup for hybrid GPUs and then install and configure optimus-manager.

Yeah, I know, that is why I specifically pointed in my guide that this is a command to use inside Steam for launching a game. However, on the beginning (on the other topic where we were discussing it) I had to test it with Steam generally, just to be sure.

i have a theory of why steam might launch games on the nvidia on it's own, see if launching opengl games automatically start on the nvidia the same as it does on vulkan games.

just a guess though and i dont have render-offload setup to test myself, i was thinking it might have to do with nvidia being the only available vulkan-icd-loader so it defaults to the nvidia. this theory fails of course if you also happen to have vulkan-intel installed or if steam launches opengl games on the nvidia by default as well without any added paramEters.

edit: damn the word "parameters", i always spell it "paramters" by mistake. never fails :man_facepalming:

2 Likes

I can confirm your theory! I just launched Antichamber (Linux native game) with Intel on hybrid, it gave me on average 33 FPS, while starting it with Steam on Nvidia gave me 60+ FPS. A clear difference, so opengl games won't start nvidia on their own, only Vulkan (and by extension Proton) ones.

Now we know a bit more :slight_smile: .

1 Like

I'm on KDE and I use video-hybrid-intel-nvidia-440xx-prime.

I find that I don't have to disable Xorg graphic configurations at all. Optimus Manager automatically deleted graphic related configs (in my case was 90-mhwd.conf) in /etc/X11/xorg.conf.d/and automatically generates 10-optimus-manager.confafter reboot. There wasn't any graphic config in /etc/X11/. It seems Optimus Manager plays well with Nvidia Prime.

Awesome guide! Much appreciated!

1 Like

My system can't recognise HiDPI scaling after switching to Nvidia and I have to set up HiDPI scaling again. Changing Nvidia DPI in optimus-manager-qt settings won't help either.

im not exactly sure how optimus-manager handles DPI but setting it in it's configuration should apply it to your xorg configuration. though this only works if your allowed to set DPI only on nvidia mode and not to intel/hybrid mode.

set the dpi in optimus-manager config and make a switch to apply the changes, then check

and see if it added a DPI option line like below (snip from optimus-switch config)

Section "Device"
    Identifier     "nvidia"
    Driver         "nvidia"
    BoardName      "GeForce 960M"
    Option         "Coolbits" "28"
    Option         "AllowEmptyInitialConfiguration"   
    Option         "RegistryDwords" "PerfLevelSrc=0x2222"
    Option		   "DPI"	   "75 x 75"  <------------this line

what you dont want to do is go into KDE settings and start changing one of the many DPI settings, this wont end well.

Forum kindly sponsored by