bayasdev / envycontrol

Easy GPU switching for Nvidia Optimus laptops under Linux
MIT License
1.22k stars 62 forks source link

Unable to switch to nvidia on Void Linux #57

Closed slowpuke closed 1 year ago

slowpuke commented 2 years ago

I've tried a couple times to switch to nvidia mode on Void Linux, but I keep getting stuck on the black screen with blinking white cursor. I'm able to get SDDM started again by deleting /etc/X11/xorg.conf, however when checking which GPU I'm using with glxinfo|egrep "OpenGL vendor|OpenGL renderer" I get this back.

OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) HD Graphics 630 (KBL GT2)

Has anyone been able to switch successfully to nvidia mode on Void Linux?

cronyakatsuki commented 2 years ago

First and foremost do you have the proprietary drivers installed?

Second with SDDM make sure that this scipt in path /usr/share/sddm/scripts/Xsetup is created when changed to the nvidia mode.

slowpuke commented 2 years ago

The nvidia package I have installed now is nvidia-515.65.01_1 However when I tried to look up the nvidia driver version using nvidia-smi I got the following error, I'm not sure it helps but still here it is: NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running I can also confirm that Xsetup is created, by now I tried twice and both times it was there

bayasdev commented 2 years ago

@slowpuke please check /etc/modprobe.d/ for any file that's blacklisting the Nvidia kernel modules, thanks.

slowpuke commented 2 years ago

@geminis3 there's only one file in /etc/modprobe.d/, that being nvidia.conf

# Automatically generated by EnvyControl

options nvidia-drm modeset=1
bayasdev commented 2 years ago

@geminis3 there's only one file in /etc/modprobe.d/, that being nvidia.conf

# Automatically generated by EnvyControl

options nvidia-drm modeset=1

Can we check /lib/udev/rules.d/ folder, as well as lspci output and generated /etc/X11/xorg.conf?

slowpuke commented 2 years ago

The /lib/udev/rules.d/ folder:

01-md-raid-creating.rules  60-persistent-storage-tape.rules  65-libwacom.rules                     70-uaccess.rules                 90-libinput-fuzz-override.rules
10-dm.rules                60-persistent-storage.rules       66-kpartx.rules                       71-seat.rules                    90-nm-thunderbolt.rules
11-dm-lvm.rules            60-persistent-v4l.rules           66-kvm.rules                          73-seat-late.rules               90-pulseaudio.rules
11-dm-parts.rules          60-sensor.rules                   68-del-part-nodes.rules               75-net-description.rules         95-dm-notify.rules
13-dm-disk.rules           60-serial.rules                   69-dm-lvm-metad.rules                 75-probe_mtd.rules               95-upower-hid.rules
50-udev-default.rules      60-steam-input.rules              69-libmtp.rules                       78-sound-card.rules              95-upower-wup.rules
60-block.rules             60-steam-vr.rules                 69-md-clustered-confirm-device.rules  80-drivers.rules                 99-fuse3.rules
60-cdrom_id.rules          61-kde-bluetooth-rfkill.rules     69-xorg-vmmouse.rules                 80-libinput-device-groups.rules  99-steam-controller-perms.rules
60-drm.rules               63-md-raid-arrays.rules           70-infrared.rules                     80-net-name-slot.rules           wacom.rules
60-evdev.rules             64-btrfs-dm.rules                 70-joystick.rules                     80-udisks2.rules
60-input-id.rules          64-btrfs-zoned.rules              70-mouse.rules                        84-nm-drivers.rules
60-persistent-alsa.rules   64-btrfs.rules                    70-power-switch.rules                 85-nm-unmanaged.rules
60-persistent-input.rules  64-md-raid-assembly.rules         70-touchpad.rules                     90-bolt.rules

The lspci:

00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers (rev 05)
00:01.0 PCI bridge: Intel Corporation 6th-10th Gen Core Processor PCIe Controller (x16) (rev 05)
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 630 (rev 04)
00:14.0 USB controller: Intel Corporation 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller (rev 31)
00:14.2 Signal processing controller: Intel Corporation 100 Series/C230 Series Chipset Family Thermal Subsystem (rev 31)
00:16.0 Communication controller: Intel Corporation 100 Series/C230 Series Chipset Family MEI Controller #1 (rev 31)
00:17.0 SATA controller: Intel Corporation HM170/QM170 Chipset SATA Controller [AHCI Mode] (rev 31)
00:1c.0 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #1 (rev f1)
00:1c.3 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #4 (rev f1)
00:1f.0 ISA bridge: Intel Corporation HM175 Chipset LPC/eSPI Controller (rev 31)
00:1f.2 Memory controller: Intel Corporation 100 Series/C230 Series Chipset Family Power Management Controller (rev 31)
00:1f.3 Audio device: Intel Corporation CM238 HD Audio Controller (rev 31)
00:1f.4 SMBus: Intel Corporation 100 Series/C230 Series Chipset Family SMBus (rev 31)
01:00.0 3D controller: NVIDIA Corporation GP107M [GeForce GTX 1050 Mobile] (rev a1)
02:00.0 Network controller: Intel Corporation Dual Band Wireless-AC 3168NGW [Stone Peak] (rev 10)
03:00.0 Ethernet controller: Qualcomm Atheros Killer E2500 Gigabit Ethernet Controller (rev 10)

Right now there's no /etc/X11/xorg.confsince I deleted the last one to boot into KDE, do you want me to generate another one?

bayasdev commented 2 years ago

Do nvidia-smi works on hybrid mode? if not you have a problem with your Nvidia driver installation

slowpuke commented 2 years ago

It does not work. The Void Linux Handbook says that the nouveau drivers are installed by default with xorg. I've tried to remove delete the xf86-video-nouveau package, however I get this error:

xf86-video-nouveau-1.0.17_2 in transaction breaks installed pkg `xorg-video-drivers-7.6_22'
slowpuke commented 2 years ago

@geminis3 I managed to get a nvidia-smi output, here it is:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 515.65.01    Driver Version: 515.65.01    CUDA Version: 11.7     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0 Off |                  N/A |
| N/A   26C    P8    N/A /  N/A |      4MiB /  2048MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A       744      G   /usr/libexec/Xorg                   4MiB |
+-----------------------------------------------------------------------------+

I did it by placing the nvidia.conf file in the /etc/modules-load.d/ folder, while also blacklisting the xf86-video-nouveau driver. I tried to switch to nvidia mode after this successful attempt, but the screen went full black and after a while I was able to switch between tty's. There's another error at boot I'm getting now. I don't know if it will be helpful but just in case: modprobe: WARNING: Module nvidia-drm.modeset=1 not found in directory /lib/modules/5.16.20_1 I didn't have this before I started to mess around.

I hope you can make sense of this, if you need any additional information I'm always available

bayasdev commented 2 years ago

@geminis3 I managed to get a nvidia-smi output, here it is:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 515.65.01    Driver Version: 515.65.01    CUDA Version: 11.7     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0 Off |                  N/A |
| N/A   26C    P8    N/A /  N/A |      4MiB /  2048MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A       744      G   /usr/libexec/Xorg                   4MiB |
+-----------------------------------------------------------------------------+

I did it by placing the nvidia.conf file in the /etc/modules-load.d/ folder, while also blacklisting the xf86-video-nouveau driver. I tried to switch to nvidia mode after this successful attempt, but the screen went full black and after a while I was able to switch between tty's. There's another error at boot I'm getting now. I don't know if it will be helpful but just in case: modprobe: WARNING: Module nvidia-drm.modeset=1 not found in directory /lib/modules/5.15.20_1 I didn't have this before I started to mess around.

I hope you can make sense of this, if you need any additional information I'm always available

Looks like a problem with your Nvidia driver installation, the nvidia-drm module is missing on your system.