Bit by bit I’m configuring my main machine after switching to EOS and in the process some additional questions are popping up. Mainly ones related to nvidia and optimus.
Machine I’m talking about is a 10y.o Lenovo laptop with dedicated GeForce GTX 660M card (Kepler). According to Arch wiki it’s handled by legacy 470 driver and should support Prime offload out of the box.
I’ve installed 470 (+ its components) from AUR and seems like it was successfully applied:
What bothers me though is that my NVIDIA X Server Settings clearly doesn’t look like the ones I’ve encountered while reading various materials regarding Nvidia Optimus and Linux. No X server information, no prime profiles allowing me to switch graphics…
So either I missed something or didn’t understand correctly instructions provided by Wiki.
The interesting part is that I’ve installed Skyrim through Steam and its launcher actually detects dedicated GTX 660M graphics although performance is somewhat worse than what I had while using Win 8.1
Currently my goal is to correctly configure optimus without any third party utilities (if possible at all) so any input is greatly appreciated.
Actually since you mentioned prime-run, I realized that I didn’t install nvidia-prime package. It has ‘current’ nvidia-utils as dependency so I had a suspicion it might mess with already installed nvidia-470xx-utils
Edit: looks like 390 driver supports the card too. Somehow the card lists on the Nvidia page are not fully compatible with each other. That may mean sometimes you have to try another driver if the first one does not work as expected.
I have been using the latest card list of Nvidia to see which one is the latest version that supports a card.
So now since we established that my card is indeed supported by 470 driver what should be my next steps?
I mean in order to confirm that optimus configured correctly. Should I also install nvidia-prime or it’s obsolete and driver will automatically switch to dedicated gpu when game is launched? As I mentioned here, I expected that it’ll be possible to switch graphics through Nvidia X server settings GUI (whenever I need it) but looks like it’s not the case.
AFAIK your drivers support PRIME and your system is configured to use Intel for rendering desktop which is one part of a PRIME setup. prime-run is just a script, you can download (not install) nvidia-prime and put the script in it to /usr/bin.
OpenGL games will need prime-run, Vulkan games and DXVK games running via VKD3D or DXVK should pick up the Nvidia GPU automatically. The graphics switching in Nvidia control panel is for switching the entire session, this isn’t obligatory for running games via PRIME.
Basically if you’re running X off your integrated card prime-run will render frames using your nvidia gpu then copy the frames to a framebuffer to display on your integrated card. So modesetting is required or you’ll get tearing. Depending on your hardware there may be a smaller or larger performance hit.
I’ve found you sometimes need to specify your vulkan icd loader as well and if that’s the case you may want to modify it to include it as well VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json
Optimus-manager basically lets you choose which gpu your DM and X server run on. You may also need the optimus-manager-qt package. I think it provides a tray icon but I’m not sure it’s been a while since I’ve used optimus. It shouldn’t need much configuration and it will automatically swap your xconfig files around so that the correct gpu is used. That is also why people have problems with it. They try to modify the wrong files or when removing it they don’t do it correctly.
Here are some links to read up on it and to help you check your install and config if you haven’t checked them already:
@mrvictory, thank you! Really appreciate your clarification.
Yeah, I know that prime-run is a script but since it’s in the repository and I can get it thorough pacman, I call such process an installation
That’s good to know but If I’ll have no idea which technology particular game might use, is it safe/ok to add
as launch option in Steam for every game?
@KDen, thank you! I’ve read about Oprimus manager and few other solutions but if I’m not mistaken every such third-party tool requires either to restart machine during each switch or at least log out an log in again. That’s why I was looking at PRIME in the first place since in my understanding it offers the most seamless switching on hybrid systems.