Nvidia Optimus Desktop

0 views
Skip to first unread message

Elisabetta Buendia

unread,
Aug 3, 2024, 4:22:00 PM8/3/24
to boydoorwhoodo

The following lines brought attention:
Sep 23 21:44:53 nvdebug gnome-session[1111]: gnome-session-binary[1111]: WARNING: Could not parse desktop file optimus.desktop or it references a not found TryExec binary

The file optimus.valid.desktop is the valid and working one. As you can see, the files seem to contain the same but not quite, as the ascii values represented by the file are different due to symbols not being shown (like any whitespaces or newline characters). The issue lies in the following code of my bash script:

I can execute applications like totem successfully through vblank_mode=0 primusrun totem in terminal. My doubt is how do I edit the .desktop files located at /usr/share/applications to choose nvidia as default?

Google Chrome keeps crashing. Before, it used to crash several times (around 10 times in a row) with a fresh open but then remains working perfectly. Now, I am reaching around 100 attempts and still crashing with every open after a few seconds.

The tutorial mentioned above: archived.forum.manjaro org/t/guide-install-and-configure-optimus-manager-for-hybrid-gpu-setups-intel-nvidia/92196 is what I actually followed in the first place to install optimus-manager

I tried running plasmashell from the terminal. It gave an error about inotify max number of files to watch or something like this - I increased the number. The error did not show up again but running plasmashell did not help neither.

Despite that Google Chrome has never crashed since then, it also behaves very strangely: when I scroll through a page, some random parts of the page freezes. When I switch between tabs, also some random parts from the previous tab freeze, and so on.

None of those happen with Intel mode. And I get theses on the console. None of those outputs comes with Intel neither. So when Intel, nothing shows on the console. Perfectly fine. With NVIDIA, I get this weird behaveour and those errors:

I have a laptop with both Intel iGPU and a separate dedicated NVidia card, having noticed that since upadating to Gnome 46.0, my entire desktop freezes often times so much, not responding to the point that I have to hard reboot.

But before October of last year, I actually used a laptop with an NVIDIA mobile card so I remember the issues that happened with that. Laptops that use their iGPU and dGPU simultaneously use NVIDIA optimus, which is tricky on linux. See:

I can perfectly use either integrated mode, hybrid or dedicated GPU without any issues on hyperland, and also regularly on gnome. It just randomly freezes sometimes in gnome without any specific app/action combination that I could identify.

Hello everyone , after lots of searching and testing also i just figure it out the final modification method will makes optimus works 100% functionality on windows 10, just follow those steps and enjoy optimusing

Its showing now nvdmi.inf (dell) now but thats why >> cuz the modding effect. Before modding if u just install the stock driver w/o mod nv_dispi.inf will just show.. and thats why >> cuz nvdmi.inf wasnt have the right line for gpu to detect so its just picked the line was in nv_dispi.inf (w/o the lines added in there section), so both depend on each other.

i said in main post (after lots of searching and testing ) so if u just modify nv_dispi.inf >> when you go to setup drive u will get error dnt know why, so thats why should also modify notebook vendor inf .

Hey @AGmR, thanks for the detailed info. I tried to do this but my nvaoi.inf file (because I have an macbook pro) doesn't list my video card, it just has like 10 in the list, which makes sense I guess. So I just copy pasted the SectionXYZ from the dell file.

I put a custom name for my card in the [Strings] section, to verify that it worked, but I still see the default name in device manager after installation. I have the optimus icon in the taskbar but my card says it's (Inactive) next to it. Nothing ever runs on it.

So I installed the drivers by following your guide (copied all the sections, with NVSupportOptimus = 1, disabled driver signing, etc) and that didn't fix the problem. Then I checked the "Events" section of my gpu, and it turns out it didn't even use nvaoi.inf. It actually used nvpcdi.inf

But it still doesn't work. The optimus icon shows up, but it's always "off", and my card always says "Inactive" when I mouse over the icon. So even if I tell nvidia to use the "High Performance NVIDIA Processor" by default, it never actually does it.

If I install my drivers without modification, a file called nvpcdi.inf was being installed. I found this out by looking at the "Events" panel in the properties for my eGPU in the Device Manager.

I have a desktop with a gtx 1060 the only file that shows up in logs is nv_dispi.inf and also in it i found my card in 2 sections (Section 135 and Section 136). I edited them both, installed the driver and still optimus is not enabled. What i did wrong?
Also dirver version is 388.59

If possible, configure your system such that your graphics carddoes not share its IRQ with other devices (try moving the graphicscard to another slot if applicable, unload/disable the driver(s)for the device(s) sharing the card's IRQ, or remove/disable thedevice(s)).

If X starts but you have trouble with OpenGL, you most likelyhave a problem with other libraries in the way, or there are stalesymlinks. See Chapter 5,Listing of Installed Components for details. Sometimes,all it takes is to rerun ldconfig.

When Xinerama is enabled, my stereo glasses are shutteringonly when the stereo application is displayed on one specific Xscreen. When the application is displayed on the other X screens,the stereo glasses stop shuttering.

This problem occurs with DDC and "blue line" stereo glasses,that get the stereo signal from one video port of the graphicscard. When a X screen does not display any stereo drawable thestereo signal is disabled on the associated video port.

Forcing stereo flipping allows the stereo glasses to shuttercontinuously. This can be done by enabling the OpenGL control"Force Stereo Flipping" in nvidia-settings, or by setting the Xconfiguration option "ForceStereoFlipping" to "1".

There are two cases where this may occur. If the displays areattached to the same GPU, and one of them is out of sync with thestereo glasses, you will need to reconfigure your monitors to driveidentical mode timings; see Chapter 18,Programming Modes for details.

If the displays are attached to different GPUs, the only way tosynchronize stereo across the displays is with a Quadro Syncdevice, which is only supported by certain NVIDIA RTX/Quadro cards.See Chapter 32,Configuring Frame Lock and Genlock for details.

The kernel interface layer of the NVIDIA kernel module must becompiled specifically for the configuration and version of yourkernel. If you upgrade your kernel, then the simplest solution isto reinstall the driver.

ADVANCED: You can install the NVIDIA kernel module for a nonrunning kernel (for example: in the situation where you just builtand installed a new kernel, but have not rebooted yet) with acommand line such as this:

nvidia-installerattempts to load the NVIDIA kernel module before installing thedriver, and will abort if this test load fails. Similarly, if thekernel module fails to load when starting the an X server with theNVIDIA X driver, the X server will fail to start.

If the NVIDIA kernel module fails to load, you should check theoutput of dmesg forkernel error messages and/or attempt to load the kernel moduleexplicitly with modprobenvidia. There are a number of common failurecases:

Some symbols that the kernel module depends on failed to beresolved. If this happens, then the kernel module was most likelybuilt against a Linux kernel source tree (or kernel headers) for akernel revision or configuration that doesn't match the runningkernel.

In some cases, the NVIDIA kernel module may fail to resolvesymbols due to those symbols being provided by modules that werebuilt as part of the configuration of the currently running kernel,but which are not installed. For example, some distributions, suchas Ubuntu 14.04, provide the DRM kernel module in an optionallyinstalled package (in the case of Ubuntu 14.04, linux-image-extra),but the kernel headers will reflect the availability of DRMregardless of whether the module that provides it is actuallyinstalled. The NVIDIA kernel module build will detect theavailability of DRM when building, but will fail at load time withmessages such as:

If any of the NVIDIA kernel modules fail to load due tounresolved symbols, and you are certain that the modules were builtagainst the correct kernel source tree (or headers), check to seeif there are any optionally installable modules that might providethese symbols which are not currently installed. If you believethat you might not be using the correct kernel sources/headers, youcan specify their location when you install the NVIDIA driver usingthe --kernel-source-path command lineoption (see shNVIDIA-Linux-x86_64-545.23.06.run--advanced-options for details).

No supported GPU is detected, either because no NVIDIA GPUs aredetected in the system, or because none of the NVIDIA GPUs whichare present are supported by this version of the NVIDIA kernelmodule. See Appendix A,Supported NVIDIA GPU Products for information on whichGPUs are supported by which driver versions.

The dynamic loader on your system has a bug which will causeapplications linked with pthreads, and that dlopen() libGL multiple times, to crash. This bugis present in older versions of the dynamic loader. Distributionsthat shipped with this loader include but are not limited to RedHat Linux 6.2 and Mandrake Linux 7.1. Version 2.2 and later of thedynamic loader are known to work properly. If the crashingapplication is single threaded then setting the environmentvariable __GL_SINGLE_THREADED to1 will prevent the crash. In the bashshell you would enter:

c80f0f1006
Reply all
Reply to author
Forward
0 new messages