Need help setting up a strange Nvidia gpu

Hi, not sure if this is the right category for the issue, but I need help as I’ve spent many hours over a few months trying to set this up, with no luck. Many times I broke the system and had to do a fresh install a few times.

I have a Lenovo G50-30 laptop, which has integrated Intel graphics, combined with Nvidia geforce 820M.

Output of lspci -k | grep -A 2 -E "(VGA|3D)"

00:02.0 VGA compatible controller: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Graphics & Display (rev 0e)
	Subsystem: Lenovo Atom Processor Z36xxx/Z37xxx Series Graphics & Display
	Kernel modules: i915
--
01:00.0 3D controller: NVIDIA Corporation GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (rev a1)
	Subsystem: Lenovo GeForce 820M
	Kernel modules: nouveau

According to the Arch wiki, I should check for the GPU’s code name on Nouveau, then find the code name on Nvidia’s website.

The issue is, the GPU is not listed anywhere on the Nouveau list. On Nvidia’s legacy list, it states I should use the 470.xx drivers. Installed them once from AUR, and broke my system.
BUT, according to the Arch wiki, I should use the 390-xx-dkms package, as it’s a Fermi card.

I did have luck installing the 390xx drivers, got better performance in Unreal Tournament and GTA 3, but other stuff simply does not work. I installed Warsow from GOG, native Linux install of the game, and it could not run as it would constantly give me an error saying VID_Init() failed with code 3.

I uninstalled all nvidia packages from the system, ran sudo dracut --regenerate-all --force, and sudo modprobe nouveau after a reboot. Now the game runs, but I only get music and the first login screen in the game, but nothing is clickable and anytime the cursor moves - it’s leaving a cursor trail behind it. Pictured here
After reinstalling xf86-video-nouveau and mesa, and a fresh reboot the login screen in game looks even worse. Now I also found out the game is dead, but will attempt to install Warfork.

The system is currently functional so I give up on installing any nvidia packages unless someone is able to assist. Thanks!

To determine the card id, can you show the output of

lspci -vnn | grep -P 'VGA|3D|Display'

Here is the output:

00:02.0 VGA compatible controller [0300]: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Graphics & Display [8086:0f31] (rev 0e) (prog-if 00 [VGA controller])
	Subsystem: Lenovo Atom Processor Z36xxx/Z37xxx Series Graphics & Display [17aa:3818]
01:00.0 3D controller [0302]: NVIDIA Corporation GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] [10de:1140] (rev a1)

On a sidenote, I found out a few things here: the Nvidia 820M that I have actually uses the 390xx drivers, so the Nvidia legacy list is a lie.
Also it utilizes the Nvidia Optimus technology to switch from the integrated to discrete graphics, which never worked on my different linux installs. I tried setting up the nvidia-xrun-git paired with the 390xx drivers, but no luck. After that, it stopped mentioning the 3D controller when running lspci -knn. Uninstalled everything again and reverted the changes.

Somewhere on the Arch wiki, under Nvidia Optimus it said to run xrandr --listproviders and there should be two providers mentioned, but this is the output:

Providers: number : 1
Provider 0: id: 0x40 cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 0 name:modesetting

This might also be helpful. Following this I am trying to see if I can set it up. Giving me a headache by now.

The output of xrandr --listproviders is mentioned in the post before this one, but going forward:
The output of glxinfo | grep "OpenGL renderer" is this:

OpenGL renderer string: llvmpipe (LLVM 16.0.6, 128 bits)

I should set it up using nouveau drivers, as the offloading using proprietary Nvidia drivers is supported by later drivers, which my 820M doesn’t support.

Following to troubleshooting on the PRIME arch wiki, I followed this bit:

XRandR specifies only 1 output provider

Delete/move /etc/X11/xorg.conf file and any other files relating to GPUs in /etc/X11/xorg.conf.d/. Restart the X server after this change.

If the video driver is blacklisted in /etc/modprobe.d/ or /usr/lib/modprobe.d/, load the module and restart X. This may be the case if you use the bbswitch module for NVIDIA GPUs.

I tried this, but it still lists only one provider. Going forward, it states

Another possible problem is that Xorg might try to automatically assign monitors to your second GPU. Check the logs:

$ grep "No modes" ~/.local/share/xorg/Xorg.0.log
AMDGPU(0): No modes.

Running grep "No modes" ~/.local/share/xorg/Xorg.0.log I get the following output:
grep: /home/e/.local/share/xorg/Xorg.0.log: No such file or directory

The folder under ~/.local/share/xorg doesn’t exist, so no logs are found there.
I have no idea what I’m missing.

Your card seems to work with Nvidia 390 series driver and no later. You can verify that too with program nvidia-driver-supported-brances (if you have package nvidia-inst installed).

You may want to try nvidia-inst as well, e.g. like this:

nvidia-inst -t --series 390 --prime

It will not install anything, but should recommend the packages to install.

Though I’m not sure (since I cannot test it) if those recommended packages are enough to get it working, but should be a starting point anyway.

2 Likes

Thanks, this seems to have done it. I did attempt with Prime with no luck, but changed it to nvidia-inst -t --series 390 --bumblebee --32 and now I finally have more bearable performance.

What is left to see is if I’ll continue experiencing random system freezes while watching Youtube. The system would freeze, with the last second of audio that played stuck on loop, and even REISUB would not work. The only solution was to hold the power button to kill the machine. I believe it’s due to the graphics drivers as any other solution I found online didn’t help.

Manuel, thank you again! This is a really useful command I never saw mentioned before, oddly enough.

1 Like

Great that you got it working! :+1:

And if you mean the nvidia-inst command, it has been mentioned in many Nvidia GPU related threads here on this forum. Maybe worth a look if you still want to try other methods for Nvidia.

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.