[HowTo] Compile old/legacy NVIDIA Proprietary Drivers [2020-12-30 Update Issue]

With the Stable-Update on the 2020-12-30 we decided to Remove outdated Nvidia Drivers. This resulted in a massive negative feedback and broken systems.

Nvidia informed about their support timeframes a while ago. 390xx will be supported through the end of 2022. However they are slow in providing needed patches. The Linux community patched them so far. 340xx got dropped already. Officially they only support till Kernel 5.4 and Xorg-Server 1.20 series. In AUR you may find patches till 5.10.

Manjaro is known for its large range of Kernel support and is also known for multiple Nvidia drivers support. However it is harder to support those old drivers, due to GPL issues and other things. So we had to drop some modules of 390xx drivers until Nvidia will fix that.

So what can I do as user to still get those drivers still on Manjaro?

Get involved

You can compile the drivers on your own. Best would be to use DKMS, so when there is a kernel update, those drivers get updated also.

Prepare your system for building drivers

  • you may want to install development tools: sudo pacman -S git base-devel
  • then you may want to install your proper kernel headers: sudo pacman -S $(mhwd-kernel -li | grep '*' | cut -d ' ' -f5 | awk '{print $0,"-headers"}' | sed s'/ //'g)

340xx (dkms 5.4 - 5.10)

You need to get the sources first:

 git clone https://gitlab.manjaro.org/packages/extra/nvidia-340xx-utils.git
 git clone https://gitlab.manjaro.org/packages/multilib/lib32-nvidia-340xx-utils.git
 git clone https://github.com/philmmanjaro/nvidia-340xx-dkms.git

Then compile all packages with makepkg:

 cd nvidia-340xx-utils && makepkg -si
 cd ../lib32-nvidia-340xx-utils && makepkg -si
 cd ../nvidia-340xx-dkms && makepkg -si

With this you will have 340xx driver, even Manjaro officially dropped it.

340xx (dkms 4.4 - 4.19)

Since the dkms only works from 5.4 upwards, you may need to compile your kernel drivers manually. utils are still needed! Replace YY either with 44, 49, 414 or 419:

git clone https://gitlab.manjaro.org/packages/extra/linuxYY-extramodules/nvidia-340xx
cd nvidia-340xx && makepkg -sif

You may need to recompile this package as soon as we add a new kernel and also don’t forget to bump the PKGREL.

Other 4YYxx drivers (example for linux54)

Note: You need to replace 4YY with one of the followings: 418, 430, 435, 440, 450. linux54 can be replaced as needed. If you don’t find the driver for your kernel, you can ping us.

You need to get the sources first

git clone https://gitlab.manjaro.org/packages/extra/nvidia-4YYxx-utils.git
git clone https://gitlab.manjaro.org/packages/multilib/lib32-nvidia-4YYxx-utils.git
git clone https://gitlab.manjaro.org/packages/extra/linux54-extramodules/nvidia-4YYxx.git

Then compile all packages with makepkg :

cd nvidia-4YYxx-utils && makepkg -si
cd ../lib32-nvidia-4YYxx-utils && makepkg -si
cd ../nvidia-4YYxx && makepkg -sif

You may need to recompile nvidia-4YYxx whenever we release a new linux54 kernel.


So give us some feedback, if that helps a little.

32 Likes

I updated three, Gnome, KDE, and Cinnamon. I have had issues such as this before and kept my notes so it was not huge problem. Now that I get emails from this forum I knew what to expect. The only DE to have any kind of negative issue was KDE with a black screen. The driver didn’t update properly. Just had to install it via virtual terminal and it was fine. The latest 455 driver works just fine with GTX 1050TI. I kind of knew this was coming because I’m also running Garuda KDE and now both platforms look very similar.

the pkgbuild for nvidia-440xx-utils says 450

340xx worked fine thank you

Can not build the dkms one as I get this error
=> Missing dependencies:
-> nvidia-340xx-utils=340.108
this is strange as I compiled this first. Note the utills are 340.108-1

Have Now done it.

340xx worked fine thank you. More-over it install DKMS for both of my kernels (5.4 and 5.10)
But something is weird now : Pamac-manager propose me to update with AUR package 340.108-13. Should I update? Really?

Hi, can I ask If I’ll have an issue after updating, I’m kinda a Noob, still just learning.
The post said “Some Modules of 390xx were dropped”, and I see that my Intel-nvidia hybrid is 390xx.
And there is no method to makepkg for 390xx. And I still don’t know if I’m making sense. Am I good to update?
Please see my Attachments and Details Below.

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "",
        LC_ALL = (unset),
        LC_MONETARY = "en_US.UTF-8",
        LC_MEASUREMENT = "en_SG.UTF-8",
        LC_TIME = "en_US.UTF-8",
        LC_NUMERIC = "en_GB.UTF-8",
        LANG = "en_GB.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_GB.UTF-8").
System:    Host: Lair Kernel: 5.4.80-2-MANJARO x86_64 bits: 64 Desktop: KDE Plasma 5.20.4 Distro: Manjaro Linux 
Machine:   Type: Laptop System: Dell product: Inspiron 5558 v: N/A serial: <superuser/root required> 
           Mobo: Dell model: 0TYKPW v: A00 serial: <superuser/root required> UEFI: Dell v: A17 date: 05/14/2019 
CPU:       Info: Dual Core Intel Core i5-5200U [MT MCP] speed: 1685 MHz min/max: 500/2700 MHz 
Graphics:  Device-1: Intel HD Graphics 5500 driver: i915 v: kernel 
           Device-2: NVIDIA GK208BM [GeForce 920M] driver: N/A 
           Device-3: Suyin Integrated_Webcam_HD type: USB driver: uvcvideo 
           Display: x11 server: X.Org 1.20.10 driver: intel resolution: 1920x1080~60Hz 
           OpenGL: renderer: Mesa Intel HD Graphics 5500 (BDW GT2) v: 4.6 Mesa 20.2.3 
Network:   Device-1: Intel Wireless 3160 driver: iwlwifi 
           Device-2: Realtek RTL810xE PCI Express Fast Ethernet driver: r8169 
Drives:    Local Storage: total: 1.20 TiB used: 688.13 GiB (56.0%) 
Info:      Processes: 191 Uptime: 1h 16m Memory: 7.69 GiB used: 3.09 GiB (40.1%) Shell: Bash inxi: 3.1.08

@Zaiakursed the 390xx driver is kept in the repositories, so no manual installation is necessary, so you should be good to upgrade.

1 Like

@pobrn Thank you, I’ve have been stalling upgrade until I am sure. Thanks

The Pamac update offered still requires a kernel >= 5.5. So it is not even possible to install it to LTS 5.4.

I wasn’t able to compile the drivers from source. I substituted 435xx and linux510 into the commands as advised:

16318  [2021-01-04 23:29:22] git clone https://gitlab.manjaro.org/packages/extra/nvidia-435xx-utils.git
16319  [2021-01-04 23:29:24] git clone https://gitlab.manjaro.org/packages/multilib/lib32-nvidia-435xx-utils.git
16320  [2021-01-04 23:29:26] git clone https://gitlab.manjaro.org/packages/extra/linux510-extramodules/nvidia-435xx.git
16321  [2021-01-04 23:29:37] cd nvidia-435xx-utils && makepkg -si
16322  [2021-01-04 23:33:55] cd ../lib32-nvidia-435xx-utils && makepkg -si
16323  [2021-01-04 23:36:19] cd ../nvidia-435xx && makepkg -sif

Here’s the relevant part of the final makepkg's output (after “Starting build()…”):

make[1]: Entering directory '/usr/lib/modules/5.10.2-2-MANJARO/build'
scripts/Makefile.lib:8: 'always' is deprecated. Please use 'always-y' instead
  SYMLINK /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-kernel.o
  SYMLINK /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia-modeset/nv-modeset-kernel.o
 CONFTEST: hash__remap_4k_pfn
 CONFTEST: set_pages_uc
 CONFTEST: list_is_first
 CONFTEST: set_memory_uc
 CONFTEST: set_memory_array_uc
 CONFTEST: acquire_console_sem
 CONFTEST: console_lock
 CONFTEST: ioremap_cache
 CONFTEST: ioremap_nocache
 CONFTEST: ioremap_wc
 CONFTEST: acpi_walk_namespace
 CONFTEST: sg_alloc_table
 CONFTEST: pci_get_domain_bus_and_slot
 CONFTEST: get_num_physpages
 CONFTEST: ktime_get_raw_ts64
 CONFTEST: ktime_get_real_ts64
 CONFTEST: efi_enabled
 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: node_end_pfn
 CONFTEST: pci_bus_address
 CONFTEST: pci_stop_and_remove_bus_device
 CONFTEST: pci_remove_bus_device
 CONFTEST: register_cpu_notifier
 CONFTEST: cpuhp_setup_state
 CONFTEST: dma_map_resource
 CONFTEST: backlight_device_register
 CONFTEST: timer_setup
 CONFTEST: pci_enable_msix_range
 CONFTEST: do_gettimeofday
 CONFTEST: kernel_read
 CONFTEST: kernel_write
 CONFTEST: kthread_create_on_node
 CONFTEST: of_find_matching_node
 CONFTEST: dev_is_pci
 CONFTEST: dma_direct_map_resource
 CONFTEST: tegra_get_platform
 CONFTEST: vmalloc_argument_count
 CONFTEST: address_space_init_once
 CONFTEST: kbasename
 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: pnv_npu2_init_context
 CONFTEST: vmf_insert_pfn
 CONFTEST: cpumask_of_node
 CONFTEST: drm_dev_unref
 CONFTEST: drm_reinit_primary_mode_group
 CONFTEST: get_user_pages_remote
 CONFTEST: get_user_pages
 CONFTEST: drm_gem_object_lookup
 CONFTEST: drm_atomic_state_ref_counting
 CONFTEST: drm_driver_has_gem_prime_res_obj
 CONFTEST: drm_atomic_helper_connector_dpms
 CONFTEST: drm_connector_funcs_have_mode_in_name
 CONFTEST: drm_framebuffer_get
 CONFTEST: drm_gem_object_get
 CONFTEST: drm_dev_put
 CONFTEST: drm_connector_for_each_possible_encoder
 CONFTEST: is_export_symbol_gpl_of_node_to_nid
 CONFTEST: is_export_symbol_present_swiotlb_map_sg_attrs
 CONFTEST: is_export_symbol_present_swiotlb_dma_ops
 CONFTEST: is_export_symbol_present_kthread_create_on_node
 CONFTEST: acpi_op_remove
 CONFTEST: outer_flush_all
 CONFTEST: file_operations
 CONFTEST: file_inode
 CONFTEST: kuid_t
 CONFTEST: dma_ops
 CONFTEST: swiotlb_dma_ops
 CONFTEST: noncoherent_swiotlb_dma_ops
 CONFTEST: vm_fault_has_address
 CONFTEST: backlight_properties_type
 CONFTEST: vm_insert_pfn_prot
 CONFTEST: vmf_insert_pfn_prot
 CONFTEST: vm_ops_fault_removed_vma_arg
 CONFTEST: vmbus_channel_has_ringbuffer_page
 CONFTEST: device_driver_of_match_table
 CONFTEST: device_of_node
 CONFTEST: node_states_n_memory
 CONFTEST: mm_struct_has_mmap_lock
 CONFTEST: address_space
 CONFTEST: backing_dev_info
 CONFTEST: mm_context_t
 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_helper_mode_fill_fb_struct
 CONFTEST: drm_master_drop_has_from_release_arg
 CONFTEST: drm_driver_unload_has_int_return_type
 CONFTEST: drm_atomic_helper_crtc_destroy_state_has_crtc_arg
 CONFTEST: drm_crtc_helper_funcs_has_atomic_enable
 CONFTEST: drm_mode_object_find_has_file_priv_arg
 CONFTEST: dma_buf_owner
 CONFTEST: drm_connector_list_iter
 CONFTEST: drm_atomic_helper_swap_state_has_stall_arg
 CONFTEST: drm_gem_object_has_resv
 CONFTEST: proc_ops
 CONFTEST: timeval
 CONFTEST: dom0_kernel_present
 CONFTEST: nvidia_vgpu_hyperv_available
 CONFTEST: nvidia_vgpu_kvm_build
 CONFTEST: nvidia_grid_build
 CONFTEST: pm_runtime_available
 CONFTEST: drm_atomic_available
 CONFTEST: drm_available
 CONFTEST: is_export_symbol_gpl_refcount_inc
 CONFTEST: is_export_symbol_gpl_refcount_dec_and_test
  CC [M]  /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-frontend.o
  CC [M]  /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv.o
  CC [M]  /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-pci.o
  CC [M]  /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-acpi.o
  CC [M]  /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-cray.o
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:21,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-acpi.c:15:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-mm.h: In function ‘NV_GET_USER_PAGES_REMOTE’:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-mm.h:153:45: error: passing argument 1 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  153 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                             ^~~
      |                                             |
      |                                             struct task_struct *
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-pgprot.h:17,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:20,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-acpi.c:15:
./include/linux/mm.h:1722:46: note: expected ‘struct mm_struct *’ but argument is of type ‘struct task_struct *’
 1722 | long get_user_pages_remote(struct mm_struct *mm,
      |                            ~~~~~~~~~~~~~~~~~~^~
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:21,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-acpi.c:15:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-mm.h:153:50: warning: passing argument 2 of ‘get_user_pages_remote’ makes integer from pointer without a cast [-Wint-conversion]
  153 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                                  ^~
      |                                                  |
      |                                                  struct mm_struct *
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-pgprot.h:17,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:20,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-acpi.c:15:
./include/linux/mm.h:1723:22: note: expected ‘long unsigned int’ but argument is of type ‘struct mm_struct *’
 1723 |        unsigned long start, unsigned long nr_pages,
      |        ~~~~~~~~~~~~~~^~~~~
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:21,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-acpi.c:15:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-mm.h:153:71: warning: passing argument 5 of ‘get_user_pages_remote’ makes pointer from integer without a cast [-Wint-conversion]
  153 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                                                       ^~~~~
      |                                                                       |
      |                                                                       unsigned int
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-pgprot.h:17,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:20,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-acpi.c:15:
./include/linux/mm.h:1724:46: note: expected ‘struct page **’ but argument is of type ‘unsigned int’
 1724 |        unsigned int gup_flags, struct page **pages,
      |                                ~~~~~~~~~~~~~~^~~~~
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:21,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-acpi.c:15:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-mm.h:154:45: error: passing argument 6 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  154 |                                             pages, vmas);
      |                                             ^~~~~
      |                                             |
      |                                             struct page **
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-pgprot.h:17,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:20,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-acpi.c:15:
./include/linux/mm.h:1725:32: note: expected ‘struct vm_area_struct **’ but argument is of type ‘struct page **’
 1725 |        struct vm_area_struct **vmas, int *locked);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~^~~~
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:21,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-acpi.c:15:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-mm.h:154:52: error: passing argument 7 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  154 |                                             pages, vmas);
      |                                                    ^~~~
      |                                                    |
      |                                                    struct vm_area_struct **
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-pgprot.h:17,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:20,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-acpi.c:15:
./include/linux/mm.h:1725:43: note: expected ‘int *’ but argument is of type ‘struct vm_area_struct **’
 1725 |        struct vm_area_struct **vmas, int *locked);
      |                                      ~~~~~^~~~~~
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:21,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-pci.h:15,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-pci.c:12:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-mm.h: In function ‘NV_GET_USER_PAGES_REMOTE’:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-mm.h:153:45: error: passing argument 1 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  153 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                             ^~~
      |                                             |
      |                                             struct task_struct *
In file included from ./include/linux/scatterlist.h:8,
                 from ./include/linux/dmapool.h:14,
                 from ./include/linux/pci.h:1442,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-pci-table.h:14,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-pci.c:11:
./include/linux/mm.h:1722:46: note: expected ‘struct mm_struct *’ but argument is of type ‘struct task_struct *’
 1722 | long get_user_pages_remote(struct mm_struct *mm,
      |                            ~~~~~~~~~~~~~~~~~~^~
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:21,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-pci.h:15,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-pci.c:12:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-mm.h:153:50: warning: passing argument 2 of ‘get_user_pages_remote’ makes integer from pointer without a cast [-Wint-conversion]
  153 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                                  ^~
      |                                                  |
      |                                                  struct mm_struct *
In file included from ./include/linux/scatterlist.h:8,
                 from ./include/linux/dmapool.h:14,
                 from ./include/linux/pci.h:1442,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-pci-table.h:14,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-pci.c:11:
./include/linux/mm.h:1723:22: note: expected ‘long unsigned int’ but argument is of type ‘struct mm_struct *’
 1723 |        unsigned long start, unsigned long nr_pages,
      |        ~~~~~~~~~~~~~~^~~~~
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:21,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-pci.h:15,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-pci.c:12:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-mm.h:153:71: warning: passing argument 5 of ‘get_user_pages_remote’ makes pointer from integer without a cast [-Wint-conversion]
  153 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                                                       ^~~~~
      |                                                                       |
      |                                                                       unsigned int
In file included from ./include/linux/scatterlist.h:8,
                 from ./include/linux/dmapool.h:14,
                 from ./include/linux/pci.h:1442,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-pci-table.h:14,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-pci.c:11:
./include/linux/mm.h:1724:46: note: expected ‘struct page **’ but argument is of type ‘unsigned int’
 1724 |        unsigned int gup_flags, struct page **pages,
      |                                ~~~~~~~~~~~~~~^~~~~
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:21,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-pci.h:15,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-pci.c:12:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-mm.h:154:45: error: passing argument 6 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  154 |                                             pages, vmas);
      |                                             ^~~~~
      |                                             |
      |                                             struct page **
In file included from ./include/linux/scatterlist.h:8,
                 from ./include/linux/dmapool.h:14,
                 from ./include/linux/pci.h:1442,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-pci-table.h:14,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-pci.c:11:
./include/linux/mm.h:1725:32: note: expected ‘struct vm_area_struct **’ but argument is of type ‘struct page **’
 1725 |        struct vm_area_struct **vmas, int *locked);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~^~~~
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:21,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-pci.h:15,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-pci.c:12:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-mm.h:154:52: error: passing argument 7 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  154 |                                             pages, vmas);
      |                                                    ^~~~
      |                                                    |
      |                                                    struct vm_area_struct **
In file included from ./include/linux/scatterlist.h:8,
                 from ./include/linux/dmapool.h:14,
                 from ./include/linux/pci.h:1442,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-pci-table.h:14,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-pci.c:11:
./include/linux/mm.h:1725:43: note: expected ‘int *’ but argument is of type ‘struct vm_area_struct **’
 1725 |        struct vm_area_struct **vmas, int *locked);
      |                                      ~~~~~^~~~~~
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:21,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv.c:14:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-mm.h: In function ‘NV_GET_USER_PAGES_REMOTE’:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-mm.h:153:45: error: passing argument 1 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  153 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                             ^~~
      |                                             |
      |                                             struct task_struct *
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-pgprot.h:17,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:20,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv.c:14:
./include/linux/mm.h:1722:46: note: expected ‘struct mm_struct *’ but argument is of type ‘struct task_struct *’
 1722 | long get_user_pages_remote(struct mm_struct *mm,
      |                            ~~~~~~~~~~~~~~~~~~^~
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:21,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv.c:14:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-mm.h:153:50: warning: passing argument 2 of ‘get_user_pages_remote’ makes integer from pointer without a cast [-Wint-conversion]
  153 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                                  ^~
      |                                                  |
      |                                                  struct mm_struct *
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-pgprot.h:17,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:20,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv.c:14:
./include/linux/mm.h:1723:22: note: expected ‘long unsigned int’ but argument is of type ‘struct mm_struct *’
 1723 |        unsigned long start, unsigned long nr_pages,
      |        ~~~~~~~~~~~~~~^~~~~
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:21,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv.c:14:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-mm.h:153:71: warning: passing argument 5 of ‘get_user_pages_remote’ makes pointer from integer without a cast [-Wint-conversion]
  153 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                                                       ^~~~~
      |                                                                       |
      |                                                                       unsigned int
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-pgprot.h:17,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:20,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv.c:14:
./include/linux/mm.h:1724:46: note: expected ‘struct page **’ but argument is of type ‘unsigned int’
 1724 |        unsigned int gup_flags, struct page **pages,
      |                                ~~~~~~~~~~~~~~^~~~~
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:21,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv.c:14:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-mm.h:154:45: error: passing argument 6 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  154 |                                             pages, vmas);
      |                                             ^~~~~
      |                                             |
      |                                             struct page **
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-pgprot.h:17,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:20,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv.c:14:
./include/linux/mm.h:1725:32: note: expected ‘struct vm_area_struct **’ but argument is of type ‘struct page **’
 1725 |        struct vm_area_struct **vmas, int *locked);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~^~~~
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:21,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv.c:14:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-mm.h:154:52: error: passing argument 7 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  154 |                                             pages, vmas);
      |                                                    ^~~~
      |                                                    |
      |                                                    struct vm_area_struct **
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-pgprot.h:17,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:20,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv.c:14:
./include/linux/mm.h:1725:43: note: expected ‘int *’ but argument is of type ‘struct vm_area_struct **’
 1725 |        struct vm_area_struct **vmas, int *locked);
      |                                      ~~~~~^~~~~~
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:21,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-cray.c:15:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-mm.h: In function ‘NV_GET_USER_PAGES_REMOTE’:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-mm.h:153:45: error: passing argument 1 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  153 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                             ^~~
      |                                             |
      |                                             struct task_struct *
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-pgprot.h:17,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:20,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-cray.c:15:
./include/linux/mm.h:1722:46: note: expected ‘struct mm_struct *’ but argument is of type ‘struct task_struct *’
 1722 | long get_user_pages_remote(struct mm_struct *mm,
      |                            ~~~~~~~~~~~~~~~~~~^~
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:21,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-cray.c:15:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-mm.h:153:50: warning: passing argument 2 of ‘get_user_pages_remote’ makes integer from pointer without a cast [-Wint-conversion]
  153 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                                  ^~
      |                                                  |
      |                                                  struct mm_struct *
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-pgprot.h:17,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:20,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-cray.c:15:
./include/linux/mm.h:1723:22: note: expected ‘long unsigned int’ but argument is of type ‘struct mm_struct *’
 1723 |        unsigned long start, unsigned long nr_pages,
      |        ~~~~~~~~~~~~~~^~~~~
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:21,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-cray.c:15:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-mm.h:153:71: warning: passing argument 5 of ‘get_user_pages_remote’ makes pointer from integer without a cast [-Wint-conversion]
  153 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                                                       ^~~~~
      |                                                                       |
      |                                                                       unsigned int
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-pgprot.h:17,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:20,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-cray.c:15:
./include/linux/mm.h:1724:46: note: expected ‘struct page **’ but argument is of type ‘unsigned int’
 1724 |        unsigned int gup_flags, struct page **pages,
      |                                ~~~~~~~~~~~~~~^~~~~
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:21,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-cray.c:15:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-mm.h:154:45: error: passing argument 6 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  154 |                                             pages, vmas);
      |                                             ^~~~~
      |                                             |
      |                                             struct page **
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-pgprot.h:17,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:20,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-cray.c:15:
./include/linux/mm.h:1725:32: note: expected ‘struct vm_area_struct **’ but argument is of type ‘struct page **’
 1725 |        struct vm_area_struct **vmas, int *locked);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~^~~~
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:21,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-cray.c:15:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-mm.h:154:52: error: passing argument 7 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  154 |                                             pages, vmas);
      |                                                    ^~~~
      |                                                    |
      |                                                    struct vm_area_struct **
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-pgprot.h:17,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:20,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-cray.c:15:
./include/linux/mm.h:1725:43: note: expected ‘int *’ but argument is of type ‘struct vm_area_struct **’
 1725 |        struct vm_area_struct **vmas, int *locked);
      |                                      ~~~~~^~~~~~
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:21,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-frontend.c:13:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-mm.h: In function ‘NV_GET_USER_PAGES_REMOTE’:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-mm.h:153:45: error: passing argument 1 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  153 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                             ^~~
      |                                             |
      |                                             struct task_struct *
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-pgprot.h:17,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:20,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-frontend.c:13:
./include/linux/mm.h:1722:46: note: expected ‘struct mm_struct *’ but argument is of type ‘struct task_struct *’
 1722 | long get_user_pages_remote(struct mm_struct *mm,
      |                            ~~~~~~~~~~~~~~~~~~^~
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:21,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-frontend.c:13:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-mm.h:153:50: warning: passing argument 2 of ‘get_user_pages_remote’ makes integer from pointer without a cast [-Wint-conversion]
  153 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                                  ^~
      |                                                  |
      |                                                  struct mm_struct *
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-pgprot.h:17,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:20,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-frontend.c:13:
./include/linux/mm.h:1723:22: note: expected ‘long unsigned int’ but argument is of type ‘struct mm_struct *’
 1723 |        unsigned long start, unsigned long nr_pages,
      |        ~~~~~~~~~~~~~~^~~~~
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:21,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-frontend.c:13:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-mm.h:153:71: warning: passing argument 5 of ‘get_user_pages_remote’ makes pointer from integer without a cast [-Wint-conversion]
  153 |                return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
      |                                                                       ^~~~~
      |                                                                       |
      |                                                                       unsigned int
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-pgprot.h:17,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:20,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-frontend.c:13:
./include/linux/mm.h:1724:46: note: expected ‘struct page **’ but argument is of type ‘unsigned int’
 1724 |        unsigned int gup_flags, struct page **pages,
      |                                ~~~~~~~~~~~~~~^~~~~
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:21,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-frontend.c:13:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-mm.h:154:45: error: passing argument 6 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  154 |                                             pages, vmas);
      |                                             ^~~~~
      |                                             |
      |                                             struct page **
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-pgprot.h:17,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:20,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-frontend.c:13:
./include/linux/mm.h:1725:32: note: expected ‘struct vm_area_struct **’ but argument is of type ‘struct page **’
 1725 |        struct vm_area_struct **vmas, int *locked);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~^~~~
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:21,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-frontend.c:13:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-mm.h:154:52: error: passing argument 7 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  154 |                                             pages, vmas);
      |                                                    ^~~~
      |                                                    |
      |                                                    struct vm_area_struct **
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-pgprot.h:17,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:20,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-frontend.c:13:
./include/linux/mm.h:1725:43: note: expected ‘int *’ but argument is of type ‘struct vm_area_struct **’
 1725 |        struct vm_area_struct **vmas, int *locked);
      |                                      ~~~~~^~~~~~
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv.c:14:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h: At top level:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:160:10: fatal error: linux/ioctl32.h: No such file or directory
  160 | #include <linux/ioctl32.h>          /* register_ioctl32_conversion()    */
      |          ^~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
compilation terminated.
make[2]: *** [scripts/Makefile.build:279: /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-pci.h:15,
                 from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-pci.c:12:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h: At top level:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:160:10: fatal error: linux/ioctl32.h: No such file or directory
  160 | #include <linux/ioctl32.h>          /* register_ioctl32_conversion()    */
      |          ^~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
compilation terminated.
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-acpi.c:15:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h: At top level:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:160:10: fatal error: linux/ioctl32.h: No such file or directory
  160 | #include <linux/ioctl32.h>          /* register_ioctl32_conversion()    */
      |          ^~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
compilation terminated.
make[2]: *** [scripts/Makefile.build:279: /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-pci.o] Error 1
make[2]: *** [scripts/Makefile.build:279: /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-acpi.o] Error 1
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-frontend.c:13:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h: At top level:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:160:10: fatal error: linux/ioctl32.h: No such file or directory
  160 | #include <linux/ioctl32.h>          /* register_ioctl32_conversion()    */
      |          ^~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
compilation terminated.
In file included from /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-cray.c:15:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h: At top level:
/home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/common/inc/nv-linux.h:160:10: fatal error: linux/ioctl32.h: No such file or directory
  160 | #include <linux/ioctl32.h>          /* register_ioctl32_conversion()    */
      |          ^~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
compilation terminated.
make[2]: *** [scripts/Makefile.build:279: /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-frontend.o] Error 1
make[2]: *** [scripts/Makefile.build:279: /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel/nvidia/nv-cray.o] Error 1
make[1]: *** [Makefile:1805: /home/yoshi/Desktop/working/nvidia-435xx/src/NVIDIA-Linux-x86_64-435.21-no-compat32/kernel] Error 2
make[1]: Leaving directory '/usr/lib/modules/5.10.2-2-MANJARO/build'
make: *** [Makefile:81: modules] Error 2

It seems that it cannot be compiled for Linux 5.10. I’d suggest you switch to 5.4 and try there.

We can’t build the 440 nvidia drivers.

You just let 450 (good copy/pasta) but with the update or not of value doesn’t matter because :

==> ERROR: install file (nvidia-450xx-utils.install) does not exist or is not a regular file.
==> ERROR: install file (nvidia-450xx-utils.install) does not exist or is not a regular file.
==> ERROR: install file (nvidia-450xx-utils.install) does not exist or is not a regular file.

It’s the same error with the modification of 450 with 440 so we can’t compile anything. My hardware support the 455 nvidia driver but the stability of this driver is really unusable now :

(add the h, I can’t post link) ttps://forums.developer.nvidia.com/t/bug-report-455-23-04-kernel-panic-due-to-null-pointer-dereference/155506/117

and this bug just freeze my computer all days and also affect the 450.

Can you check that (please) or I’m going to stuck with this buggy driver forever (this bug is really old and Nvidia didn’t find the source of it) ?

ps : I’m going with the 435, 3 crash in one day with the 455 I can’t go with that

After making/installing the three packages for the nvidia drivers as described above my system was still booting into the Nouveau open-source drivers.

To fix:
edit /etc/default/grub and add modprobe.blacklist=nouveau to the GRUB_CMDLINE_LINUX_DEFAULT line.

Run sudo update-grub

Reboot.

1 Like

Thanks @DrIgnatioMobius ! That was my doubt.

I thought that Manjaro Settings would show the driver manually compiled as option on Hardware configurations.

Maybe this could be add in a future release, @philm?

There is only one problem: the last update is requiring to remove my compiled packages.

Every update will force to remove old drivers?

1 Like

If your card supports 455, why bother with older drivers?

because 455 has bugs and is not stable for many people

2 Likes

I see. Then to answer your original query, you can ignore upgrades for your NVIDIA packages in Add / Remove Software under Preferences > Advanced.