Talk:NVIDIA Optimus

From ArchWiki
Jump to: navigation, search

Remove the libglamoregl.so is necessary

The NVIDIA's official page gives a caveat.[1]

Some versions of the “modesetting” driver try to load a sub-module called “glamor”, which conflicts with the NVIDIA GLX implementation. Please ensure that the libglamoregl.so X module is not installed.

Only if I rename or remove the /lib/xorg/modules/libglamoregl.so can I get the Optimus work. Disabling it in xorg.conf takes no effect. Constroy (talk) 05:33, 29 March 2016 (UTC)

Well, if none of the methods described in the first note of NVIDIA_Optimus#Using_nvidia work, it might be necessary to re-open the mentioned FS#43830 or even open a new one upstream.[2] See the comments by lordheavy in the bug; deleting the libraries is the worst case option. --Indigo (talk) 13:19, 29 March 2016 (UTC)

Clarify Xorg section

The https://wiki.archlinux.org/index.php/NVIDIA_Optimus#Using_nvidia discusses Xorg configutation, which I think is confusing at the moment. I think I can explain it like so:

  • Is Xorg above 1.17.2?
    • Yes: use the short configuration shown, which only presents a section for nvidia
    • No: use the longer configuration which contains a section for both Device and Screen for both nvidia and intel
  • Did you run into issues after Xorg 1.17.1?
    • No: obviously irrelevant
    • Yes: modify the Device section for intel with the shown code.

My issue is that if one is on > 1.17.2 or above, there is no intel section. I have no personal experience with this, but upon reading it I found it confusing. Either one needs an intel section or they don't, at least as it currently reads. Perhaps the instructions mean "if you have problems, please add this section to your xorg.conf"? Or perhaps they mean, "if you have problems, please use the longer xorg.conf containing both nvidia and intel sections, replacing the following for the intel section. In either case (or some new case I don't know), the current instructions don't seem to reconcile the versions of the xorg.conf shown. Jwhendy (talk) 19:39, 4 May 2016 (UTC)

Detecting Optimus

Then how do you detect Optimus, Lahwaacz?

Ewtoombs (talk) 20:39, 13 October 2016 (UTC)

You have to find information specific to your laptop, like this. There is no point in providing wrong information on the wiki. -- Lahwaacz (talk) 06:36, 14 October 2016 (UTC)
The second version I provided wasn't wrong. It was actually quite useful and completely accurate. It really is impossible that you have Optimus if you don't have two GPUs, one of which is an NVIDIA. You're just being obstinate. Ewtoombs (talk) 13:40, 14 October 2016 (UTC)
The necessary conditions for having Optimus are listed at the very top of the page, in the first sentence. The only thing you've provided on top of that is lots of mights and maybes, along with a completely unrelated info regarding problems with hardware rendering. That's hardly a case of factual accuracy. -- Lahwaacz (talk) 14:21, 14 October 2016 (UTC)

Enough information may be at the top of the page, but a sample lspci of a system with Optimus is still helpful for comparison. Find me a single false positive with the same lspci. You can't. Nobody can. You're still being obstinate. Ewtoombs (talk) 20:23, 13 November 2017 (UTC)

Xorg config file

The Xorg config file may have to be /etc/X11/xorg.conf.d/20-nvidia.conf as /etc/X11/xorg.conf is deprecated? Am I right?

Noraj (talk) 18:50, 2 November 2016 (UTC)

Nah, all the places that used to be searched by X are still searched by X. ConnorBehan (talk) 21:38, 19 December 2016 (UTC)

Clarify intro

I'm returning to this article after running into some snags with my setup and *still* find it confusing. The intro seems unclear. For example, the summary here:

NVIDIA Optimus is a technology that allows an Intel integrated GPU and discrete NVIDIA GPU to be built into and accessed by a laptop.

From wikipedia:

Nvidia Optimus is a computer GPU switching technology created by Nvidia which, depending on the resource load generated by client software applications, will seamlessly switch between two graphics adapters within a computer system in order to provide either maximum performance or minimum power draw from the system's graphics rendering hardware.

I make this point because Optimus is defined on the basis of providing *switching*, not just having two cards in a laptop and "accessing" them. It doesn't make any sense to me at all, then, to go on about the "several methods available" for "getting Optimus to work" and include 1) disabling one of the cards via BIOS or 2) using NVIDIA Optimus which, on linux at least, doesn't actually allow for switching. What benefit does this have above simply telling a user how to use the nvidia driver for a discrete graphics card or intel for an integrated one as part of typical system setup? I think an article about Optimus should be about what Optimus is and simply point to other methods to stick to only one or the other if the user wishes. As it is, I find this article to suggest something "special" is going to happen and then some of the methods aren't special at all and don't seem to have anything to do with Optimus.

Jwhendy (talk) 21:13, 28 December 2016 (UTC)

That's quite an aged intro. Wikipedia describes mostly the state on the Windows platform, the Linux section is even older than "our" intro. In any case, if the Linux support is still not 100%, there you go with "something special is going to happen". The point is that Nvidia calls the technology Optimus even though it does not (or at least did not) support switching on Linux. -- Lahwaacz (talk) 21:34, 28 December 2016 (UTC)
Hmmm. I may have to look more into that and didn't take into account that Windows vs. Linux would differ even in terms of what Optimus really means/implies. I find this subject confusing, but perhaps that's inherent, not necessarily meaning something is wrong with the explanations? Thanks for clarifying. Jwhendy (talk) 02:26, 29 December 2016 (UTC)
You're not alone. It is confusing. One further quote that might help you Bumblebee#Installing Bumblebee with Intel.2FNVIDIA: "In Windows, the way that Optimus works is NVIDIA has a whitelist of applications that require Optimus for, and you can add applications to this whitelist as needed. When you launch the application, it automatically decides which card to use. To mimic this behavior in Linux, ..."
Another major reason for the confusion is that "Linux support for Optimus" not only depends on how the nvidia blob or nouveau, kernel etc implement it, but also differs considerably depending on the Laptop hardware you use (how the manufacturer implemented it; for example to which GPU the display and display ports are wired up). There simply is no common way to get the technology to work for Linux consistently across different hardware vendors/Laptop models. That's why the intro bullet points listing the generic options are not that bad IMO (maybe they could be re-ordered though). Hardware articles in Category:Laptops are there to bridge the gap to crosslink the working solutions for a specific box. --Indigo (talk) 10:23, 29 December 2016 (UTC)
Thankfully, progress on this is in sight now, see https://lists.archlinux.org/pipermail/arch-dev-public/2017-February/028698.html
--Indigo (talk) 16:25, 14 February 2017 (UTC)

Instructions on using nvidia not working

Following the instructions on using the discrete GPU no (longer?) work, in particular xrandr --setprovideroutputsource modesetting NVIDIA-0 leads to:

X Error of failed request:  BadValue (integer parameter out of range for operation)
 Major opcode of failed request:  140 (RANDR)
 Minor opcode of failed request:  35 (RRSetProviderOutputSource)
 Value in failed request:  0x1f9
 Serial number of failed request:  16
 Current serial number in output stream:  17

A similar error is reported here: [3]

xrandr --listproviders shows that NVIDIA-0 is available:

Provider 0: id: 0x1f9 cap: 0x0 crtcs: 4 outputs: 3 associated providers: 0 name:NVIDIA-0
Provider 1: id: 0x47 cap: 0x2, Sink Output crtcs: 3 outputs: 5 associated providers: 0 name:modesetting

SuperFluffy (talk) 12:14, 6 July 2017 (UTC)