I've recently changed to CentOS 7 and having problems installing and using the appropriate Nvidia drivers. First of all, I am using a Lenovo Thinkpad T470p with an integrated on-board Intel graphics card and a Nvidia GeForce 940MX (Nvidia Optimus).
Current kernel:
Code: Select all
uname -r
3.10.0-957.10.1.el7.x86_64
Code: Select all
lscpi -v entries of both cards:
00:02.0 VGA compatible controller: Intel Corporation Device 591b (rev 04) (prog-if 00 [VGA controller])
Subsystem: Lenovo Device 505e
Flags: bus master, fast devsel, latency 0, IRQ 138
Memory at f0000000 (64-bit, non-prefetchable) [size=16M]
Memory at e0000000 (64-bit, prefetchable) [size=256M]
I/O ports at e000 [size=64]
Expansion ROM at <unassigned> [disabled]
Capabilities: [40] Vendor Specific Information: Len=0c <?>
Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable- 64bit-
Capabilities: [d0] Power Management version 2
Capabilities: [100] Process Address Space ID (PASID)
Capabilities: [200] Address Translation Service (ATS)
Capabilities: [300] Page Request Interface (PRI)
Kernel driver in use: i915
Kernel modules: i915
02:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 940MX] (rev a2)
Subsystem: Lenovo Device 505e
Flags: bus master, fast devsel, latency 0, IRQ 142
Memory at f1000000 (32-bit, non-prefetchable) [size=16M]
Memory at c0000000 (64-bit, prefetchable) [size=256M]
Memory at d0000000 (64-bit, prefetchable) [size=32M]
I/O ports at d000 [size=128]
Capabilities: [60] Power Management version 3
Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [78] Express Endpoint, MSI 00
Capabilities: [100] Virtual Channel
Capabilities: [250] Latency Tolerance Reporting
Capabilities: [258] L1 PM Substates
Capabilities: [128] Power Budgeting <?>
Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
Capabilities: [900] #19
Kernel driver in use: nvidia
Kernel modules: nouveau, nvidia_drm, nvidia
Code: Select all
nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 418.56 Driver Version: 418.56 CUDA Version: 10.1 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce 940MX Off | 00000000:02:00.0 Off | N/A |
| N/A 37C P8 N/A / N/A | 0MiB / 2004MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
After a while I found advices regarding the installation of Nvidia driver via the elrepo-repositories. I did this, before I had to erase ocl-icd package because of conflicts (I read that it is possible to reinstall dependant packages like VLC via nux). After that the installation completed successfully. Unfortunately, when I rebooted, the system stucks at starting X, can not start it respectively. When I switch to shell I can see that there are processes running via nvidia-smi (X and gnome-shell), therefore I think I might be on the right way, but I can not manage to get X started. When I remove the file /etc/X11/xorg.conf then the startup process is normal, but still the graphics card is not being used. Content of the file is the following:
Code: Select all
Section "Device"
Identifier "Videocard0"
Driver "nvidia"
EndSection
Code: Select all
BusID "PCI:2:0:0"
Screen 0
I also read that if there are more than one cards you have to use Bumblebee, Prime or nvidia-xrun to manage the use of the cards, but if I understood correct nvidia-xrun and Prime are not for CentOS and Bumblebee is out of date and should not be used? I also checked if I can disable the on-board card via BIOS, but that is not possible.
I would be happy for any advices and help.
Kind regards, miney.