Understanding how Zorin(Linux) handles dedicated Graphics cards

On Windows laptops with dedicated graphics cards there usually is a feature called (Intel/Nvidia)Optimus which helps to extend the battery life of the laptop by running normal desktop applications using the Integrated Intel GPU and by running GPU intensive apps like video games with the Dedicated Nvidia GPU. It's a very good system which only lets the system use the dedicated GPU only when necessary.
I assumed that the same thing exists in Zorin because I saw the 'Launch with dedicated graphics' option in the main menu. I tried that option a few times but I felt like it is not working. Yesterday, I downloaded the proprietary Nvidia drivers and after installing it, I noticed that the Launch with dedicated GPU is now missing. So now I'm suspecting that everything is being rendered by the dedicated GPU... which is not desirable for me because it drains the battery quickly.

So how does Zorin/other Linux distros handle the dedicated GPU? Is there something similar to Optimus for linux? Is there a manual switch? And how can I know if an application is using the dedicated GPU or not?

Yes, it would be Nvidia-Settings.
https://manpages.ubuntu.com/manpages/precise/man1/alt-nvidia-current-settings.1.html

1 Like

After installing the proprietary driver, you should have NVidia control panel.

2 Likes

Yes thank you. I did not even know that this application got installed on my computer.
I found about this window which seems to be what exactly I was looking for.

1 Like

Interesting to see the difference in the control panels.
Mine is a desktop computer which only has NVidia and no integrated graphics. In my case, PRIME Profile is missing for an obvious reason.

Yes, I'm wondering how will this Prime work on laptops with GSync. GSync (or the similar solutions) make it so that the integrated GPU is disabled so that they can squeeze more power out of the GPU. It's good for playing video games... but its not good for portability as pretty much the laptop will die within less than couple of hours.

I don't know how those solutions are implemented. I don't know if they are implemented on a hardware level or they can be circumvented by running another OS than windows for instance.

I hope someone with more knowledge could follow up on this because I'm very curious about it.

This page might help about GSync settings.

1 Like

So actually, I found about the glxinfo | grep vendor command which shows which GPU is being used at the moment. So in the prime profiles if I'm on NVIDIA it outputs Nvidia in the console and if I choose Intel, it outputs Intel which is all well and good. However, it came to my attention that the On-Demand option doesn't do anything. It still uses the NVIDIA card and I've read that it should also add an option to launch apps with the dedicated GPU, but it doesn't. I tried looking it up a bit but didn't find anything good. How can I set my computer up so that the dedicated GPU only powers on when an app needs it? Or at the very least, the apps that I specify. Because it is very annoying to manually switch between the prime profiles, since it requires me to restart the computer.

It also came to my attention that prime is the least worst option. The situation is much worse on other Linux flavors. Apparently, prime is exclusive to Ubuntu.

Did you check this page?

On Ubuntu 20.04 with nvidia-driver-440, choosing "NVIDIA On-Demand" gives me a right-click option in the GNOME launcher to "Launch using Dedicated Graphics Card". Checking the nvidia-settings tool after launching applications through this option confirms that they will use the dedicated graphics.

It seems you need to upgrade to Zorin 16 (based on Ubuntu 20.04) to make this function works. You can read it in the second message in the above page. There is X Server requirements for this function (PRIME Render Offload) which might not be included in Zorin 15.3.

1 Like

The funny thing is that I had the option ... before even I installed the Nvidia driver ... which didn't even work :smiley:

1 Like

That is very misleading. :frowning_face:
You might want to submit a bug :bug: report for that.

To be honest, I think upgrading to Zorin 16 will fix a lot of problems including this one. I can't wait to upgrade to Zorin 16 so, I might bite the bullet and install the beta.
On the other hand, I'm nervous that the beta will cause even more problems but based on the posts in the forum it doesn't seem like it. I'm still not quite sure.

You will be amazed how stable Zorin 16 beta is.

I have been using it as my production machine for about 1 month without any major issue :slightly_smiling_face: This is probably the most stable beta I've ever encountered in my 35 years of computer experience.

2 Likes

Also for me, it's quite stable. I havn't run into major problems.

2 Likes

I honestly did not even bother with the nervous testing. I installed the Z16 Beta immediately and went through all the normal rigmarole of setting it up in my usual long-term usage preferences.
But I have been on Zorin OS since the tail end of Zorin 12.4, so I am used to the stability of Zorin OS.

3 Likes