NVIDIA-Linux-x86_64-396.18 beta driver installation FAILS - Unable to load module 'nvidia.ko'

Hello,

I’m having the hardest time trying to install the latest beta driver (NVIDIA-Linux-x86_64-396.18.run, downloaded from the website) on my dual-GPU laptop with Ubuntu 18.04.

At first I get the message “The distribution-provided pre-install script failed! Are you sure you want to continue?”

If I decide to ignore this and continue anyway, installation is attempted but fails with the message:
“ERROR: Unable to load the kernel module ‘nvidia.ko’. This happens most frequently when this kernel module was built against the wrong or improperly configured kernel sources, with a version of gcc that differs from the one used to build the target kernel, or if another driver, such as nouveau, is present and prevents the NVIDIA kernel module from obtaining ownership of the NVIDIA GPU(s), or no NVIDIA GPU installed in this system is supported by this NVIDIA Linux graphics driver release”

You can find below the installation log:

nvidia-installer log file '/var/log/nvidia-installer.log'
creation time: Sat Apr 21 16:18:53 2018
installer version: 396.18

PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

nvidia-installer command line:
    ./nvidia-installer

Unable to load: nvidia-installer ncurses v6 user interface

Using: nvidia-installer ncurses user interface
-> Detected 8 CPUs online; setting concurrency level to 8.
-> Installing NVIDIA driver version 396.18.
-> Running distribution scripts
   executing: '/usr/lib/nvidia/pre-install'...
-> done.
-> The distribution-provided pre-install script failed!  Are you sure you want to continue? (Answer: Continue installation)
-> Performing CC sanity check with CC="/usr/bin/cc".
-> Kernel source path: '/lib/modules/4.15.0-12-generic/build'
-> Kernel output path: '/lib/modules/4.15.0-12-generic/build'
-> Performing Compiler check.
-> Performing Dom0 check.
-> Performing Xen check.
-> Performing PREEMPT_RT check.
-> Performing vgpu_kvm check.
-> Cleaning kernel module build directory.
   executing: 'cd ./kernel; /usr/bin/make -k -j8 clean NV_EXCLUDE_KERNEL_MODULES="" SYSSRC="/lib/modules/4.15.0-12-generic/build" SYSOUT="/lib/modules/4.15.0-12-generic/build"'...
   rm -f -r conftest
   make[1]: ingresso nella directory "/usr/src/linux-headers-4.15.0-12-generic"
   make[1]: uscita dalla directory "/usr/src/linux-headers-4.15.0-12-generic"
-> Building kernel modules
   executing: 'cd ./kernel; /usr/bin/make -k -j8  NV_EXCLUDE_KERNEL_MODULES="" SYSSRC="/lib/modules/4.15.0-12-generic/build" SYSOUT="/lib/modules/4.15.0-12-generic/build"'...
   make[1]: ingresso nella directory "/usr/src/linux-headers-4.15.0-12-generic"
   Makefile:962: "Cannot use CONFIG_STACK_VALIDATION=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel"
     SYMLINK /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-kernel.o
     SYMLINK /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-modeset/nv-modeset-kernel.o
    CONFTEST: INIT_WORK
    CONFTEST: remap_pfn_range
    CONFTEST: hash__remap_4k_pfn
    CONFTEST: follow_pfn
    CONFTEST: vmap
    CONFTEST: set_pages_uc
    CONFTEST: set_memory_array_uc
    CONFTEST: set_memory_uc
    CONFTEST: change_page_attr
    CONFTEST: pci_get_class
    CONFTEST: pci_choose_state
    CONFTEST: vm_insert_page
    CONFTEST: acpi_device_id
    CONFTEST: acquire_console_sem
    CONFTEST: console_lock
    CONFTEST: kmem_cache_create
    CONFTEST: on_each_cpu
    CONFTEST: smp_call_function
    CONFTEST: acpi_evaluate_integer
    CONFTEST: ioremap_cache
    CONFTEST: ioremap_wc
    CONFTEST: acpi_walk_namespace
    CONFTEST: pci_domain_nr
    CONFTEST: pci_dma_mapping_error
    CONFTEST: sg_alloc_table
    CONFTEST: sg_init_table
    CONFTEST: pci_get_domain_bus_and_slot
    CONFTEST: get_num_physpages
    CONFTEST: efi_enabled
    CONFTEST: proc_create_data
    CONFTEST: pde_data
    CONFTEST: proc_remove
    CONFTEST: pm_vt_switch_required
    CONFTEST: xen_ioemu_inject_msi
    CONFTEST: phys_to_dma
    CONFTEST: get_dma_ops
    CONFTEST: write_cr4
    CONFTEST: of_get_property
    CONFTEST: of_find_node_by_phandle
    CONFTEST: of_node_to_nid
    CONFTEST: pnv_pci_get_npu_dev
    CONFTEST: of_get_ibm_chip_id
    CONFTEST: for_each_online_node
    CONFTEST: node_end_pfn
    CONFTEST: pci_bus_address
    CONFTEST: pci_stop_and_remove_bus_device
    CONFTEST: pci_remove_bus_device
    CONFTEST: request_threaded_irq
    CONFTEST: register_cpu_notifier
    CONFTEST: cpuhp_setup_state
    CONFTEST: dma_map_resource
    CONFTEST: backlight_device_register
    CONFTEST: register_acpi_notifier
    CONFTEST: timer_setup
    CONFTEST: remap_page_range
    CONFTEST: address_space_init_once
    CONFTEST: kbasename
    CONFTEST: list_cut_position
    CONFTEST: fatal_signal_pending
    CONFTEST: vzalloc
    CONFTEST: wait_on_bit_lock_argument_count
    CONFTEST: bitmap_clear
    CONFTEST: usleep_range
    CONFTEST: radix_tree_empty
    CONFTEST: radix_tree_replace_slot
    CONFTEST: drm_dev_unref
    CONFTEST: drm_reinit_primary_mode_group
    CONFTEST: drm_atomic_set_mode_for_crtc
    CONFTEST: drm_atomic_clean_old_fb
    CONFTEST: get_user_pages_remote
    CONFTEST: get_user_pages
    CONFTEST: drm_gem_object_lookup
    CONFTEST: drm_atomic_state_free
    CONFTEST: drm_driver_has_gem_prime_res_obj
    CONFTEST: drm_atomic_helper_disable_all
    CONFTEST: drm_atomic_helper_set_config
    CONFTEST: drm_atomic_helper_connector_dpms
    CONFTEST: is_export_symbol_gpl_of_node_to_nid
    CONFTEST: is_export_symbol_present_swiotlb_map_sg_attrs
    CONFTEST: i2c_adapter
    CONFTEST: pm_message_t
    CONFTEST: irq_handler_t
    CONFTEST: acpi_device_ops
    CONFTEST: acpi_op_remove
    CONFTEST: outer_flush_all
    CONFTEST: proc_dir_entry
    CONFTEST: scatterlist
    CONFTEST: sg_table
    CONFTEST: file_operations
    CONFTEST: vm_operations_struct
    CONFTEST: atomic_long_type
    CONFTEST: pci_save_state
    CONFTEST: file_inode
    CONFTEST: task_struct
    CONFTEST: kuid_t
    CONFTEST: dma_ops
    CONFTEST: dma_map_ops
    CONFTEST: noncoherent_swiotlb_dma_ops
    CONFTEST: vm_fault_present
    CONFTEST: vm_fault_has_address
    CONFTEST: backlight_properties_type
    CONFTEST: fault_flags
    CONFTEST: atomic64_type
    CONFTEST: address_space
    CONFTEST: backing_dev_info
    CONFTEST: mm_context_t
    CONFTEST: vm_ops_fault_removed_vma_arg
    CONFTEST: pnv_npu2_init_context
    CONFTEST: drm_bus_present
    CONFTEST: drm_bus_has_bus_type
    CONFTEST: drm_bus_has_get_irq
    CONFTEST: drm_bus_has_get_name
    CONFTEST: drm_driver_has_legacy_dev_list
    CONFTEST: drm_driver_has_set_busid
    CONFTEST: drm_crtc_state_has_connectors_changed
    CONFTEST: drm_init_function_args
    CONFTEST: drm_mode_connector_list_update_has_merge_type_bits_arg
    CONFTEST: drm_helper_mode_fill_fb_struct
    CONFTEST: drm_master_drop_has_from_release_arg
    CONFTEST: drm_driver_unload_has_int_return_type
    CONFTEST: kref_has_refcount_of_type_refcount_t
    CONFTEST: drm_atomic_helper_crtc_destroy_state_has_crtc_arg
    CONFTEST: drm_crtc_helper_funcs_has_atomic_enable
    CONFTEST: drm_old_atomic_state_iterators_present
    CONFTEST: drm_mode_object_find_has_file_priv_arg
    CONFTEST: dom0_kernel_present
    CONFTEST: nvidia_vgpu_kvm_build
    CONFTEST: nvidia_grid_build
    CONFTEST: drm_available
    CONFTEST: drm_atomic_available
    CONFTEST: drm_atomic_modeset_nonblocking_commit_available
    CONFTEST: is_export_symbol_gpl_refcount_inc
    CONFTEST: is_export_symbol_gpl_refcount_dec_and_test
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-frontend.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-instance.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-acpi.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-chrdev.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-cray.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-dma.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-gvi.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-mempool.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-i2c.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-mmap.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-p2p.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-pat.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-procfs.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-usermap.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-vm.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-vtophys.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/os-interface.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/os-mlock.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/os-pci.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/os-registry.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/os-usermap.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-modeset-interface.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-pci-table.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-kthread-q.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-kthread-q-selftest.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-memdbg.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-ibmnpu.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-report-err.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-rsync.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv_uvm_interface.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nvlink_linux.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm_utils.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm_common.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm_linux.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/nvstatus.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/nvCpuUuid.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_tools.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_global.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_gpu.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_gpu_isr.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_procfs.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_va_space.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_gpu_semaphore.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_mem.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_rm_mem.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_channel.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_lock.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_hal.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_range_tree.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_range_allocator.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_va_range.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_range_group.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_va_block.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_gpu_replayable_faults.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_gpu_non_replayable_faults.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_gpu_access_counters.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_perf_events.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_perf_module.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_mmu.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_pte_batch.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_tlb_batch.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_push.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_pushbuffer.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_thread_context.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_tracker.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_kepler.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_kepler_ce.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_kepler_host.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_kepler_mmu.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_maxwell.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_maxwell_host.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_pascal.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_pascal_ce.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_pascal_host.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_pascal_mmu.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_pascal_fault_buffer.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_volta_host.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_volta_mmu.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_volta.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_volta_fault_buffer.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_volta_access_counter_buffer.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_policy.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_perf_utils.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_kvmalloc.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_pmm_sysmem.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_pmm_gpu.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_migrate.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_map_external.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_user_channel.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_hmm.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_perf_heuristics.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_perf_thrashing.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_perf_prefetch.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_ats_ibm.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_ats_faults.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_test.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_test_rng.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_range_tree_test.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_range_allocator_test.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_gpu_semaphore_test.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_mem_test.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_rm_mem_test.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_page_tree_test.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_tracker_test.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_push_test.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_channel_test.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_ce_test.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_lock_test.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_perf_utils_test.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_kvmalloc_test.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_pmm_test.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_pmm_sysmem_test.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_perf_events_test.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_perf_module_test.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_get_rm_ptes_test.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_fault_buffer_flush_test.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_mmu_test.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_peer_identity_mappings_test.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_va_block_test.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm/uvm8_range_group_tree_test.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-modeset/nvidia-modeset-linux.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-drm/nvidia-drm.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-drm/nvidia-drm-drv.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-drm/nvidia-drm-utils.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-drm/nvidia-drm-crtc.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-drm/nvidia-drm-encoder.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-drm/nvidia-drm-connector.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-drm/nvidia-drm-gem.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-drm/nvidia-drm-fb.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-drm/nvidia-drm-modeset.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-drm/nvidia-drm-prime-fence.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-drm/nvidia-drm-linux.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-drm/nvidia-drm-helper.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-drm/nv-pci-table.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-drm/nvidia-drm-gem-nvkms-memory.o
     CC [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-drm/nvidia-drm-gem-user-memory.o
   ld -r -o /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-interface.o /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-frontend.o /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-instance.o /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv.o /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-acpi.o /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-chrdev.o /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-cray.o /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-dma.o /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-gvi.o /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-i2c.o /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-mempool.o /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-mmap.o /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-p2p.o /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidi
   a/nv-pat.o /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-procfs.o /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-usermap.o /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-vm.o /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-vtophys.o /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/os-interface.o /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/os-mlock.o /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/os-pci.o /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/os-registry.o /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/os-usermap.o /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-modeset-interface.o /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-pci-table.o /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-kthread-q.o /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-kthread-q-selftest.o /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-memdbg.o /tmp/selfgz538/NVIDIA-Linux-x86_
   64-396.18/kernel/nvidia/nv-ibmnpu.o /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-report-err.o /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv-rsync.o /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nv_uvm_interface.o /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia/nvlink_linux.o
   ld -r -o /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-modeset/nv-modeset-interface.o /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-modeset/nvidia-modeset-linux.o
     LD [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia.o
     LD [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm.o
     LD [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-modeset.o
     LD [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-drm.o
     Building modules, stage 2.
     MODPOST 4 modules
     CC      /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-drm.mod.o
     CC      /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-modeset.mod.o
     CC      /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm.mod.o
     CC      /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia.mod.o
     LD [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-modeset.ko
     LD [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-drm.ko
     LD [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia.ko
     LD [M]  /tmp/selfgz538/NVIDIA-Linux-x86_64-396.18/kernel/nvidia-uvm.ko
   make[1]: uscita dalla directory "/usr/src/linux-headers-4.15.0-12-generic"
-> done.
-> Kernel module compilation complete.
ERROR: Unable to load the kernel module 'nvidia.ko'.  This happens most frequently when this kernel module was built against the wrong or improperly configured kernel sources, with a version of gcc that differs from the one used to build the target kernel, or if another driver, such as nouveau, is present and prevents the NVIDIA kernel module from obtaining ownership of the NVIDIA GPU(s), or no NVIDIA GPU installed in this system is supported by this NVIDIA Linux graphics driver release.

Please see the log entries 'Kernel module load error' and 'Kernel messages' at the end of the file '/var/log/nvidia-installer.log' for more information.
-> Kernel module load error: No such device
-> Kernel messages:
[   76.577685] nvidia: module verification failed: signature and/or required key missing - tainting kernel
[   76.583702] nvidia-nvlink: Nvlink Core is being initialized, major device number 239
[   76.583849] nvidia 0000:01:00.0: can't find IRQ for PCI INT A; please try using pci=biosirq
[   76.583851] NVRM: Can't find an IRQ for your NVIDIA card!
[   76.583851] NVRM: Please check your BIOS settings.
[   76.583852] NVRM: [Plug & Play OS] should be set to NO
[   76.583852] NVRM: [Assign IRQ to VGA] should be set to YES 
[   76.583855] nvidia: probe of 0000:01:00.0 failed with error -1
[   76.583862] NVRM: The NVIDIA probe routine failed for 1 device(s).
[   76.583863] NVRM: None of the NVIDIA graphics adapters were initialized!
[   76.583923] nvidia-nvlink: Unregistered the Nvlink Core, major device number 239
[   92.946181] audit: type=1400 audit(1524320391.348:2): apparmor="STATUS" operation="profile_load" profile="unconfined" name="libreoffice-xpdfimport" pid=4800 comm="apparmor_parser"
[   92.946334] audit: type=1400 audit(1524320391.348:3): apparmor="STATUS" operation="profile_load" profile="unconfined" name="libreoffice-oopslash" pid=4797 comm="apparmor_parser"
[   92.946613] audit: type=1400 audit(1524320391.348:4): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/bin/man" pid=4796 comm="apparmor_parser"
[   92.946615] audit: type=1400 audit(1524320391.348:5): apparmor="STATUS" operation="profile_load" profile="unconfined" name="man_filter" pid=4796 comm="apparmor_parser"
[   92.946617] audit: type=1400 audit(1524320391.348:6): apparmor="STATUS" operation="profile_load" profile="unconfined" name="man_groff" pid=4796 comm="apparmor_parser"
[   92.946886] audit: type=1400 audit(1524320391.348:7): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/snap/core/4407/usr/lib/snapd/snap-confine" pid=4793 comm="apparmor_parser"
[   92.946889] audit: type=1400 audit(1524320391.348:8): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/snap/core/4407/usr/lib/snapd/snap-confine//mount-namespace-capture-helper" pid=4793 comm="apparmor_parser"
[   92.947722] audit: type=1400 audit(1524320391.348:9): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/sbin/dhclient" pid=4792 comm="apparmor_parser"
[   92.947725] audit: type=1400 audit(1524320391.348:10): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/lib/NetworkManager/nm-dhcp-client.action" pid=4792 comm="apparmor_parser"
[   92.947727] audit: type=1400 audit(1524320391.348:11): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/lib/NetworkManager/nm-dhcp-helper" pid=4792 comm="apparmor_parser"
[   97.322634] DMAR: DRHD: handling fault status reg 2
[   97.322640] DMAR: [INTR-REMAP] Request device [f0:1f.0] fault index 400 [fault reason 34] Present field in the IRTE entry is clear
[   97.439389] DMAR: DRHD: handling fault status reg 2
[   97.439394] DMAR: [INTR-REMAP] Request device [f0:1f.0] fault index 400 [fault reason 34] Present field in the IRTE entry is clear
ERROR: Installation has failed.  Please see the file '/var/log/nvidia-installer.log' for details.  You may find suggestions on fixing installation problems in the README available on the Linux driver download page at www.nvidia.com.

In case it can be of help, here’s also the output of lshw for the NVIDIA card

display UNCLAIMED
                    description: 3D controller
                    product: GM107M [GeForce GTX 960M]
                    vendor: NVIDIA Corporation
                    physical id: 0
                    bus info: pci@0000:01:00.0
                    version: a2
                    width: 64 bits
                    clock: 33MHz
                    capabilities: pm msi pciexpress bus_master cap_list
                    configuration: latency=0
                    resources: iomemory:40-3f iomemory:40-3f memory:f0000000-f0ffffff memory:4e0000000-4efffffff memory:4f0000000-4f1ffffff memory:f1000000-f107ffff

Thank you for you help,
Alessandro

It’s an Optimus system with hybrid graphics. Don’t use the .run installer, uninstall it. Use only the drivers from ubuntus graphics ppa. Have the package nvidia-prime installed, remove the ‘nomodeset’ parameter, if any.

Furthermore, the errors point to some problem with the bios. See if a bios upgrade is available for your system.

Hi Generix,

thank you for the tips.

I upgraded the BIOS and installed the driver from the PPA after removing the .run installer driver (well, that installation had failed but I ran the --uninstall script just in case).

Unfortunately, it’s still not working: while booting in verbose mode I can read the message

FAILED TO START THE NVIDIA PERSINTENCE DAEMON

so, I checked using

systemctl status nvidia-persistenced.service

and got:

nvidia-persistenced.service - NVIDIA Persistence Daemon
   Loaded: loaded (/lib/systemd/system/nvidia-persistenced.service; static; vendor preset: enabled)
   Active: activating (start) since Sat 2018-04-28 17:08:41 CEST; 221ms ago
  Process: 3581 ExecStopPost=/bin/rm -rf /var/run/nvidia-persistenced (code=exited, status=0/SUCCESS)
Cntrl PID: 3593 (nvidia-persiste)
    Tasks: 2 (limit: 4915)
   CGroup: /system.slice/nvidia-persistenced.service
           ├─3593 /usr/bin/nvidia-persistenced --user nvidia-persistenced --no-persistence-mode --verbose
           └─3595 /usr/bin/nvidia-persistenced --user nvidia-persistenced --no-persistence-mode --verbose

apr 28 17:08:41 erasmus systemd[1]: Starting NVIDIA Persistence Daemon...
apr 28 17:08:41 erasmus nvidia-persistenced[3595]: Verbose syslog connection opened
apr 28 17:08:41 erasmus nvidia-persistenced[3595]: Now running with user ID 121 and group ID 127
apr 28 17:08:41 erasmus nvidia-persistenced[3595]: Started (3595)
apr 28 17:08:41 erasmus nvidia-persistenced[3595]: Failed to query NVIDIA devices. Please ensure that the NVIDIA device files (/dev/nvidia*) exist, and that user 121 has read and write permissions for those file
apr 28 17:08:41 erasmus nvidia-persistenced[3595]: PID file unlocked.
apr 28 17:08:41 erasmus nvidia-persistenced[3593]: nvidia-persistenced failed to initialize. Check syslog for more details.
apr 28 17:08:41 erasmus nvidia-persistenced[3595]: PID file closed.
apr 28 17:08:41 erasmus systemd[1]: nvidia-persistenced.service: Control process exited, code=exited status=1
apr 28 17:08:41 erasmus nvidia-persistenced[3595]: The daemon no longer has permission to remove its runtime data directory /var/run/nvidia-persistenced
apr 28 17:08:41 erasmus nvidia-persistenced[3595]: Shutdown (3595)
apr 28 17:08:41 erasmus systemd[1]: nvidia-persistenced.service: Failed with result 'exit-code'.
apr 28 17:08:41 erasmus systemd[1]: Failed to start NVIDIA Persistence Daemon.

I then checked permission for file /dev/nvidiactl (the only nvidia* file that’s in there) and the result is

crw-rw-rw- 1 root 195, 255 apr 28 17:07 /dev/nvidiactl

which seems ok to me.

Any suggestion?

Thank you in advance