Nvidia drivers are failing

I’ve been installing nvidia drivers “the hard way” with nouveau blacklisted. I was using 384.111 and after updating it fails to load. I checked to see if new drivers would work, I downloaded 384.130 and 390.48 and both are failing as well.

hwinfo --gfxcard

35: PCI 100.0: 0300 VGA compatible controller (VGA)              
  [Created at pci.378]
  Unique ID: VCu0.VB+SQn46RcA
  Parent ID: _Znp.FMDgKnDywJ4
  SysFS ID: /devices/pci0000:00/0000:00:02.0/0000:01:00.0
  SysFS BusID: 0000:01:00.0
  Hardware Class: graphics card
  Model: "nVidia GM204 [GeForce GTX 970]"
  Vendor: pci 0x10de "nVidia Corporation"
  Device: pci 0x13c2 "GM204 [GeForce GTX 970]"
  SubVendor: pci 0x1458 "Gigabyte Technology Co., Ltd"
  SubDevice: pci 0x366a  
  Revision: 0xa1
  Memory Range: 0xfd000000-0xfdffffff (rw,non-prefetchable)
  Memory Range: 0xc0000000-0xcfffffff (ro,non-prefetchable)
  Memory Range: 0xd0000000-0xd1ffffff (ro,non-prefetchable)
  I/O Ports: 0xe000-0xefff (rw)
  Memory Range: 0x000c0000-0x000dffff (rw,non-prefetchable,disabled)
  IRQ: 10 (no events)
  I/O Ports: 0x3c0-0x3df (rw)
  Module Alias: "pci:v000010DEd000013C2sv00001458sd0000366Abc03sc00i00"
  Driver Info #0:
    Driver Status: nouveau is not active
    Driver Activation Cmd: "modprobe nouveau"
  Driver Info #1:
    Driver Status: nvidia_drm is not active
    Driver Activation Cmd: "modprobe nvidia_drm"
  Driver Info #2:
    Driver Status: nvidia is not active
    Driver Activation Cmd: "modprobe nvidia"
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #21 (PCI bridge)

Primary display adapter: #35

dmesg | grep nvidia

    3.390449] **nvidia**: loading out-of-tree module taints kernel.
    3.390458] **nvidia**: module license 'NVIDIA' taints kernel.
    3.405296] **nvidia**: module verification failed: signature and/or required key missing
 - tainting kernel
    3.405603] **nvidia**: Unknown symbol swiotlb_map_sg_attrs (err 0)
    3.427091] **nvidia**_modeset: Unknown symbol nv_kthread_q_flush (err 0)
    3.427100] **nvidia**_modeset: Unknown symbol **nvidia**_register_module (err 0)
    3.427111] **nvidia**_modeset: Unknown symbol nv_kthread_q_schedule_q_item (err 0)
    3.427129] **nvidia**_modeset: Unknown symbol **nvidia**_get_rm_ops (err 0)
    3.427145] **nvidia**_modeset: Unknown symbol nv_kthread_q_item_init (err 0)
    3.427153] **nvidia**_modeset: Unknown symbol nv_kthread_q_stop (err 0)
    3.427158] **nvidia**_modeset: Unknown symbol **nvidia**_unregister_module (err 0)
    3.427173] **nvidia**_modeset: Unknown symbol nv_kthread_q_init (err 0)
    3.463414] **nvidia**: Unknown symbol swiotlb_map_sg_attrs (err 0)
   13.001497] **nvidia**: Unknown symbol swiotlb_map_sg_attrs (err 0)
   13.056175] **nvidia**_modeset: Unknown symbol nv_kthread_q_flush (err 0)
   13.056191] **nvidia**_modeset: Unknown symbol **nvidia**_register_module (err 0)
   13.056209] **nvidia**_modeset: Unknown symbol nv_kthread_q_schedule_q_item (err 0)
   13.056234] **nvidia**_modeset: Unknown symbol **nvidia**_get_rm_ops (err 0)
   13.056257] **nvidia**_modeset: Unknown symbol nv_kthread_q_item_init (err 0)
   13.056271] **nvidia**_modeset: Unknown symbol nv_kthread_q_stop (err 0)
   13.056284] **nvidia**_modeset: Unknown symbol **nvidia**_unregister_module (err 0)
   13.056305] **nvidia**_modeset: Unknown symbol nv_kthread_q_init (err 0)
   13.096097] **nvidia**: Unknown symbol swiotlb_map_sg_attrs (err 0)
   23.708166] **nvidia**: Unknown symbol swiotlb_map_sg_attrs (err 0)
   23.760048] **nvidia**: Unknown symbol swiotlb_map_sg_attrs (err 0)
   45.926186] **nvidia**: Unknown symbol swiotlb_map_sg_attrs (err 0)
  320.368353] **nvidia**: Unknown symbol swiotlb_map_sg_attrs (err 0)
  551.787458] **nvidia**: Unknown symbol swiotlb_map_sg_attrs (err 0)

See here https://forums.opensuse.org/showthread.php/530603-new-Kernel4-16-and-Nvidia-Driver?p=2862024#post2862024 a link to the needed patch is also provided.