I am running Fedora 31 on an HP Envy 17t laptop with a NVIDIA MX250 gpu. I have installed the NVIDIA driver downloaded from NVIDA, and it seems to have installed just fine. I have installed CUDA, as far as I can tell.
I am trying to use the GPU rendering capabilities of Blender, a 3D modeling package. However, the package does not believe there is a CUDA compatible GPU installed.
I *think* it's because I'm actually running the Intel VGA controller.
So, if I'm right, my question is, how do I disable the Intel VGA controller (or not make it the default) so it uses the NVIDIA controller.
Some more information:
First, of course, graphics seems to work in general. Blender runs fine, but (for those of you who might use blender), when using the Cycles renderer, I can only render using the CPU.
I'm using KDE as my desktop.
There's nothing in my BIOS setup screen (when I hit ESC on bootup and then F10 for BIOS settings) about graphics controller or intel
I have secure boot turned off.
$ uname -a
Linux localhost.localdomain 5.6.8-200.fc31.x86_64 #1 SMP Wed Apr 29 19:10:01 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
$ grep '/usr/s\?bin' /etc/systemd/system/display-manager.service
ExecStart=/usr/bin/sddm
$hwinfo | grep VGA
7: PCI 02.0: 0300 VGA compatible controller (VGA)
Model: "Intel VGA compatible controller"
Attached to: #37 (VGA compatible controller)
Attached to: #37 (VGA compatible controller)
$hwinfo | grep "3D controller"
E: ID_PCI_SUBCLASS_FROM_DATABASE=3D controller
22: PCI 200.0: 0302 3D controller
Model: "nVidia 3D controller"
$lshw
...
*-pci
description: Host bridge
product: Intel Corporation
vendor: Intel Corporation
physical id: 100
version: 0c
width: 32 bits
clock: 33MHz
*-display
description: VGA compatible controller
product: UHD Graphics
vendor: Intel Corporation
physical id: 2
version: 02
width: 64 bits
clock: 33MHz
capabilities: pciexpress msi pm vga_controller bus_master cap_list rom
configuration: driver=i915 latency=0
resources: irq:141 memory:b2000000-b2ffffff memory:c0000000-cfffffff ioport:5000(size=64) memory:c0000-dffff
...
*-pci:1
description: PCI bridge
product: Intel Corporation
vendor: Intel Corporation
physical id: 1c.4
version: f0
width: 32 bits
clock: 33MHz
capabilities: pci pciexpress msi pm normal_decode bus_master cap_list
configuration: driver=pcieport
resources: irq:123 ioport:4000(size=4096) memory:b3000000-b3ffffff ioport:a0000000(size=301989888)
*-display
description: 3D controller
product: GP108M [GeForce MX250]
vendor: NVIDIA Corporation
physical id: 0
version: a1
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list
configuration: driver=nvidia latency=0
resources: irq:16 memory:b3000000-b3ffffff memory:a0000000-afffffff memory:b0000000-b1ffffff ioport:4000(size=128)
$lsmod | grep nvidia
nvidia_drm 53248 0
nvidia_modeset 1118208 1 nvidia_drm
nvidia 20504576 4 nvidia_modeset
ipmi_msghandler 118784 1 nvidia
drm_kms_helper 237568 2 nvidia_drm,i915
drm 598016 13 drm_kms_helper,nvidia_drm,i915
The following is a little odd. This used to load, but while floundering about, I removed and reinstalled the Nvidia driver from NVIDIA. Now it won't load:
$ nvidia-settings
ERROR: Unable to load info from any available system
$ nvidia-smi
nvidia-smi
Sat May 2 13:52:58 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.82 Driver Version: 440.82 CUDA Version: 10.2 |
|-------------------------------+----------------------+----------------------+
| 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 MX250 Off | 00000000:02:00.0 Off | N/A |
| N/A 48C P0 N/A / N/A | 0MiB / 4042MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
I assume the tainting stuff below is because I'm using the driver downloaded from NVIDIA.
$dmesg
[ 3.106647] i915 0000:00:02.0: fb0: i915drmfb frame buffer device
[ 3.824513] nvidia: loading out-of-tree module taints kernel.
[ 3.824525] nvidia: module license 'NVIDIA' taints kernel.
[ 3.824526] Disabling lock debugging due to kernel taint
[ 3.829796] nvidia: module verification failed: signature and/or required key missing - tainting kernel
[ 3.839347] nvidia-nvlink: Nvlink Core is being initialized, major device number 239
[ 3.839692] nvidia 0000:02:00.0: enabling device (0006 -> 0007)
[ 4.039633] NVRM: loading NVIDIA UNIX x86_64 Kernel Module 440.82 Wed Apr 1 20:04:33 UTC 2020
[ 4.090987] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms 440.82 Wed Apr 1 19:41:29 UTC 2020
[ 4.094488] [drm] [nvidia-drm] [GPU ID 0x00000200] Loading driver
[ 4.094490] [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:02:00.0 on minor 1