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
          bus info: pci@0000:00:00.0
          version: 0c
          width: 32 bits
          clock: 33MHz
        *-display
             description: VGA compatible controller
             product: UHD Graphics
             vendor: Intel Corporation
             physical id: 2
             bus info: pci@0000:00:02.0
             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
             bus info: pci@0000:00: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
                bus info: pci@0000:02:00.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