同时显示到主板和 GPU:仅鼠标位于 GPU 的显示屏上

同时显示到主板和 GPU:仅鼠标位于 GPU 的显示屏上

我的主板是GA-MA785GM-US2H,我连接了 VGA 和 HDMI 显示器,它可以工作。但我有第三个显示器,想使用它。我有旧的酷睿i7-6600GT。我将此卡插入插槽,发现此显示屏上我只能看到鼠标可以根据不可见的底层内容(例如“调整大小”光标或“手形”光标)改变其形状,而主板上的前两个显示器继续正常工作。在显示管理器和 arandr 中,我看到了所有 3 个显示器。我尝试安装 Nvidia 驱动程序,但在 18.04.3 上,它不在存储库中,我尝试过,sudo add-apt-repository ppa:graphics-drivers/ppasudo apt install nvidia-304面临已知问题

The following packages have unmet dependencies:
 nvidia-304 : Depends: xorg-video-abi-11 but it is not installable or
                       xorg-video-abi-12 but it is not installable or
                       xorg-video-abi-13 but it is not installable or
                       xorg-video-abi-14 but it is not installable or
                       xorg-video-abi-15 but it is not installable or
                       xorg-video-abi-18 but it is not installable or
                       xorg-video-abi-19 but it is not installable or
                       xorg-video-abi-20 but it is not installable or
                       xorg-video-abi-23
              Depends: xserver-xorg-core

我下载了官网304驱动并尝试在安全模式下安装它(因为我需要关闭 X 服务器)但没有成功:

nvidia-installer log file '/var/log/nvidia-installer.log'
creation time: Mon Nov 25 12:05:09 2019
installer version: 304.137

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
WARNING: Skipping the runlevel check (the utility `runlevel` failed to run).
-> License accepted.
-> Installing NVIDIA driver version 304.137.
-> Running distribution scripts
   executing: '/usr/lib/nvidia/pre-install'...
-> done.
-> The distribution-provided pre-install script failed!  Continue installation anyway? (Answer: Yes)
-> Performing CC sanity check with CC="cc".
-> Performing CC version check with CC="cc".
-> Kernel source path: '/lib/modules/4.15.0-70-generic/build'
-> Kernel output path: '/lib/modules/4.15.0-70-generic/build'
-> Performing rivafb check.
-> Performing nvidiafb check.
-> Performing Xen check.
-> Cleaning kernel module build directory.
   executing: 'cd ./kernel; make clean'...
-> Building kernel module:
   executing: 'cd ./kernel; make module SYSSRC=/lib/modules/4.15.0-70-generic/build SYSOUT=/lib/modules/4.15.0-70-generic/build'...
   NVIDIA: calling KBUILD...
   test -e include/generated/autoconf.h -a -e include/config/auto.conf || (     \
   echo >&2;                            \
   echo >&2 "  ERROR: Kernel configuration is invalid.";        \
   echo >&2 "         include/generated/autoconf.h or include/config/auto.conf are missing.";\
   echo >&2 "         Run 'make oldconfig && make prepare' on kernel src to fix it.";   \
   echo >&2 ;                           \
   /bin/false)
   mkdir -p /tmp/selfgz691/NVIDIA-Linux-x86-304.137/kernel/.tmp_versions ; rm -f /tmp/selfgz691/NVIDIA-Linux-x86-304.137/kernel/.tmp_versions/*
   make -f ./scripts/Makefile.build obj=/tmp/selfgz691/NVIDIA-Linux-x86-304.137/kernel
     cc -Wp,-MD,/tmp/selfgz691/NVIDIA-Linux-x86-304.137/kernel/.nv.o.d  -nostdinc -isystem /usr/lib/gcc/i686-linux-gnu/7/include  -I./arch/x86/include -I./arch/x86/include/generated  -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -Iubuntu/include  -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs 
   -fno-strict-aliasing -fno-common -fshort-wchar -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -m32 -msoft-float -mregparm=3 -freg-struct-return -fno-pic -mpreferred-stack-boundary=2 -march=i686 -mtune=generic -Wa,-mtune=generic32 -ffreestanding -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_SSSE3=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -DCONFIG_AS_AVX512=1 -DCONFIG_AS_SHA1_NI=1 -DCONFIG_AS_SHA256_NI=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -fno-jump-tables -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-int-in-bool-context -O2 --param=allow-store-data-races=0 -DCC_HAVE_ASM_GOTO -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-track
   ing-assignments -pg -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fno-merge-all-constants -fmerge-constants -fno-stack-check -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -I/tmp/selfgz691/NVIDIA-Linux-x86-304.137/kernel -Wall -MD -Wsign-compare -Wno-cast-qual -Wno-error -D__KERNEL__ -DMODULE -DNVRM -DNV_VERSION_STRING=\"304.137\" -Wno-unused-function -Wuninitialized -UDEBUG -U_DEBUG -DNDEBUG  -DMODULE  -DKBUILD_BASENAME='"nv"'  -DKBUILD_MODNAME='"nvidia"' -c -o /tmp/selfgz691/NVIDIA-Linux-x86-304.137/kernel/nv.o /tmp/selfgz691/NVIDIA-Linux-x86-304.137/kernel/nv.c
   In file included from ./include/linux/byteorder/little_endian.h:11:0,
                    from ./arch/x86/include/uapi/asm/byteorder.h:5,
                    from ./include/asm-generic/bitops/le.h:6,
                    from ./arch/x86/include/asm/bitops.h:512,
                    from ./include/linux/bitops.h:18,
                    from ./include/linux/kernel.h:11,
                    from ./arch/x86/include/asm/percpu.h:45,
                    from ./arch/x86/include/asm/current.h:6,
                    from ./include/linux/sched.h:12,
                    from ./include/linux/utsname.h:6,
                    from /tmp/selfgz691/NVIDIA-Linux-x86-304.137/kernel/nv-linux.h:40,
                    from /tmp/selfgz691/NVIDIA-Linux-x86-304.137/kernel/nv.c:13:
   ./include/linux/byteorder/generic.h: In function ‘cpu_to_be32_array’:
   ./include/linux/byteorder/generic.h:178:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (i = 0; i < len; i++)
                   ^
   ./include/linux/byteorder/generic.h: In function ‘be32_to_cpu_array’:
   ./include/linux/byteorder/generic.h:186:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (i = 0; i < len; i++)
                   ^
   In file included from ./arch/x86/include/asm/current.h:5:0,
                    from ./include/linux/sched.h:12,
                    from ./include/linux/utsname.h:6,
                    from /tmp/selfgz691/NVIDIA-Linux-x86-304.137/kernel/nv-linux.h:40,
                    from /tmp/selfgz691/NVIDIA-Linux-x86-304.137/kernel/nv.c:13:
   ./include/linux/thread_info.h: In function ‘check_copy_size’:
   ./include/linux/thread_info.h:130:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if (unlikely(sz >= 0 && sz < bytes)) {
                                ^
   ./include/linux/compiler.h:77:42: note: in definition of macro ‘unlikely’
    # define unlikely(x) __builtin_expect(!!(x), 0)
                                             ^
   ./include/asm-generic/qrwlock.h: In function ‘queued_write_trylock’:
   ./include/asm-generic/qrwlock.h:75:36: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
              cnts, cnts | _QW_LOCKED) == cnts);
                                       ^
   ./include/linux/compiler.h:76:40: note: in definition of macro ‘likely’
    # define likely(x) __builtin_expect(!!(x), 1)
                                           ^
   In file included from ./include/linux/ipc.h:7:0,
                    from ./include/uapi/linux/sem.h:5,
                    from ./include/linux/sem.h:9,
                    from ./include/linux/sched.h:15,
                    from ./include/linux/utsname.h:6,
                    from /tmp/selfgz691/NVIDIA-Linux-x86-304.137/kernel/nv-linux.h:40,
                    from /tmp/selfgz691/NVIDIA-Linux-x86-304.137/kernel/nv.c:13:
   ./include/linux/rhashtable.h: In function ‘rht_grow_above_75’:
   ./include/linux/rhashtable.h:295:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     return atomic_read(&ht->nelems) > (tbl->size / 4 * 3) &&
                                     ^
   ./include/linux/rhashtable.h: In function ‘rht_shrink_below_30’:
   ./include/linux/rhashtable.h:308:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     return atomic_read(&ht->nelems) < (tbl->size * 3 / 10) &&
                                     ^
   ./include/linux/rhashtable.h: In function ‘rht_grow_above_100’:
   ./include/linux/rhashtable.h:320:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     return atomic_read(&ht->nelems) > tbl->size &&
                                     ^
   ./include/linux/rhashtable.h: In function ‘rht_grow_above_max’:
   ./include/linux/rhashtable.h:332:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     return atomic_read(&ht->nelems) >= ht->max_elems;
                                     ^~
   In file included from ./arch/x86/include/asm/current.h:5:0,
                    from ./include/linux/sched.h:12,
                    from ./include/linux/utsname.h:6,
                    from /tmp/selfgz691/NVIDIA-Linux-x86-304.137/kernel/nv-linux.h:40,
                    from /tmp/selfgz691/NVIDIA-Linux-x86-304.137/kernel/nv.c:13:
   ./include/linux/mmzone.h: In function ‘next_zones_zonelist’:
   ./include/linux/mmzone.h:989:44: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if (likely(!nodes && zonelist_zone_idx(z) <= highest_zoneidx))
                                               ^
   ./include/linux/compiler.h:76:40: note: in definition of macro ‘likely’
    # define likely(x) __builtin_expect(!!(x), 1)
                                           ^
   In file included from ./arch/x86/include/asm/current.h:6:0,
                    from ./include/linux/sched.h:12,
                    from ./include/linux/utsname.h:6,
                    from /tmp/selfgz691/NVIDIA-Linux-x86-304.137/kernel/nv-linux.h:40,
                    from /tmp/selfgz691/NVIDIA-Linux-x86-304.137/kernel/nv.c:13:
   ./include/linux/percpu-refcount.h: In function ‘percpu_ref_get_many’:
   ./arch/x86/include/asm/percpu.h:131:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             ((val) == 1 || (val) == -1)) ?  \
                                  ^
   ./arch/x86/include/asm/percpu.h:420:34: note: in expansion of macro ‘percpu_add_op’
    #define this_cpu_add_1(pcp, val) percpu_add_op((pcp), val)
                                     ^~~~~~~~~~~~~
   ./include/linux/percpu-defs.h:379:11: note: in expansion of macro ‘this_cpu_add_1’
      case 1: stem##1(variable, __VA_ARGS__);break;  \
              ^~~~
   ./include/linux/percpu-defs.h:511:33: note: in expansion of macro ‘__pcpu_size_call’
    #define this_cpu_add(pcp, val)  __pcpu_size_call(this_cpu_add_, pcp, val)
                                    ^~~~~~~~~~~~~~~~
   ./include/linux/percpu-refcount.h:177:3: note: in expansion of macro ‘this_cpu_add’
      this_cpu_add(*percpu_count, nr);
      ^~~~~~~~~~~~
   ./arch/x86/include/asm/percpu.h:131:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             ((val) == 1 || (val) == -1)) ?  \
                                  ^
   ./arch/x86/include/asm/percpu.h:421:34: note: in expansion of macro ‘percpu_add_op’
    #define this_cpu_add_2(pcp, val) percpu_add_op((pcp), val)
                                     ^~~~~~~~~~~~~
   ./include/linux/percpu-defs.h:380:11: note: in expansion of macro ‘this_cpu_add_2’
      case 2: stem##2(variable, __VA_ARGS__);break;  \
              ^~~~
   ./include/linux/percpu-defs.h:511:33: note: in expansion of macro ‘__pcpu_size_call’
    #define this_cpu_add(pcp, val)  __pcpu_size_call(this_cpu_add_, pcp, val)
                                    ^~~~~~~~~~~~~~~~
   ./include/linux/percpu-refcount.h:177:3: note: in expansion of macro ‘this_cpu_add’
      this_cpu_add(*percpu_count, nr);
      ^~~~~~~~~~~~
   ./arch/x86/include/asm/percpu.h:131:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             ((val) == 1 || (val) == -1)) ?  \
                                  ^
   ./arch/x86/include/asm/percpu.h:422:34: note: in expansion of macro ‘percpu_add_op’
    #define this_cpu_add_4(pcp, val) percpu_add_op((pcp), val)
                                     ^~~~~~~~~~~~~
   ./include/linux/percpu-defs.h:381:11: note: in expansion of macro ‘this_cpu_add_4’
      case 4: stem##4(variable, __VA_ARGS__);break;  \
              ^~~~
   ./include/linux/percpu-defs.h:511:33: note: in expansion of macro ‘__pcpu_size_call’
    #define this_cpu_add(pcp, val)  __pcpu_size_call(this_cpu_add_, pcp, val)
                                    ^~~~~~~~~~~~~~~~
   ./include/linux/percpu-refcount.h:177:3: note: in expansion of macro ‘this_cpu_add’
      this_cpu_add(*percpu_count, nr);
      ^~~~~~~~~~~~
   ./include/linux/percpu-refcount.h: In function ‘percpu_ref_put_many’:
   ./arch/x86/include/asm/percpu.h:131:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             ((val) == 1 || (val) == -1)) ?  \
                                  ^
   ./arch/x86/include/asm/percpu.h:420:34: note: in expansion of macro ‘percpu_add_op’
    #define this_cpu_add_1(pcp, val) percpu_add_op((pcp), val)
                                     ^~~~~~~~~~~~~
   ./include/linux/percpu-defs.h:379:11: note: in expansion of macro ‘this_cpu_add_1’
      case 1: stem##1(variable, __VA_ARGS__);break;  \
              ^~~~
   ./include/linux/percpu-defs.h:511:33: note: in expansion of macro ‘__pcpu_size_call’
    #define this_cpu_add(pcp, val)  __pcpu_size_call(this_cpu_add_, pcp, val)
                                    ^~~~~~~~~~~~~~~~
   ./include/linux/percpu-defs.h:521:33: note: in expansion of macro ‘this_cpu_add’
    #define this_cpu_sub(pcp, val)  this_cpu_add(pcp, -(typeof(pcp))(val))
                                    ^~~~~~~~~~~~
   ./include/linux/percpu-refcount.h:276:3: note: in expansion of macro ‘this_cpu_sub’
      this_cpu_sub(*percpu_count, nr);
      ^~~~~~~~~~~~
   ./arch/x86/include/asm/percpu.h:131:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             ((val) == 1 || (val) == -1)) ?  \
                                  ^
   ./arch/x86/include/asm/percpu.h:421:34: note: in expansion of macro ‘percpu_add_op’
    #define this_cpu_add_2(pcp, val) percpu_add_op((pcp), val)
                                     ^~~~~~~~~~~~~
   ./include/linux/percpu-defs.h:380:11: note: in expansion of macro ‘this_cpu_add_2’
      case 2: stem##2(variable, __VA_ARGS__);break;  \
              ^~~~
   ./include/linux/percpu-defs.h:511:33: note: in expansion of macro ‘__pcpu_size_call’
    #define this_cpu_add(pcp, val)  __pcpu_size_call(this_cpu_add_, pcp, val)
                                    ^~~~~~~~~~~~~~~~
   ./include/linux/percpu-defs.h:521:33: note: in expansion of macro ‘this_cpu_add’
    #define this_cpu_sub(pcp, val)  this_cpu_add(pcp, -(typeof(pcp))(val))
                                    ^~~~~~~~~~~~
   ./include/linux/percpu-refcount.h:276:3: note: in expansion of macro ‘this_cpu_sub’
      this_cpu_sub(*percpu_count, nr);
      ^~~~~~~~~~~~
   ./arch/x86/include/asm/percpu.h:131:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             ((val) == 1 || (val) == -1)) ?  \
                                  ^
   ./arch/x86/include/asm/percpu.h:422:34: note: in expansion of macro ‘percpu_add_op’
    #define this_cpu_add_4(pcp, val) percpu_add_op((pcp), val)
                                     ^~~~~~~~~~~~~
   ./include/linux/percpu-defs.h:381:11: note: in expansion of macro ‘this_cpu_add_4’
      case 4: stem##4(variable, __VA_ARGS__);break;  \
              ^~~~
   ./include/linux/percpu-defs.h:511:33: note: in expansion of macro ‘__pcpu_size_call’
    #define this_cpu_add(pcp, val)  __pcpu_size_call(this_cpu_add_, pcp, val)
                                    ^~~~~~~~~~~~~~~~
   ./include/linux/percpu-defs.h:521:33: note: in expansion of macro ‘this_cpu_add’
    #define this_cpu_sub(pcp, val)  this_cpu_add(pcp, -(typeof(pcp))(val))
                                    ^~~~~~~~~~~~
   ./include/linux/percpu-refcount.h:276:3: note: in expansion of macro ‘this_cpu_sub’
      this_cpu_sub(*percpu_count, nr);
      ^~~~~~~~~~~~
   ./include/linux/percpu-rwsem.h: In function ‘percpu_up_read_preempt_enable’:
   ./arch/x86/include/asm/percpu.h:131:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             ((val) == 1 || (val) == -1)) ?  \
                                  ^
   ./arch/x86/include/asm/percpu.h:401:34: note: in expansion of macro ‘percpu_add_op’
    #define raw_cpu_add_1(pcp, val)  percpu_add_op((pcp), val)
                                     ^~~~~~~~~~~~~
   ./include/linux/percpu-defs.h:379:11: note: in expansion of macro ‘raw_cpu_add_1’
      case 1: stem##1(variable, __VA_ARGS__);break;  \
              ^~~~
   ./include/linux/percpu-defs.h:424:32: note: in expansion of macro ‘__pcpu_size_call’
    #define raw_cpu_add(pcp, val)  __pcpu_size_call(raw_cpu_add_, pcp, val)
                                   ^~~~~~~~~~~~~~~~
   ./include/linux/percpu-defs.h:460:2: note: in expansion of macro ‘raw_cpu_add’
     raw_cpu_add(pcp, val);      \
     ^~~~~~~~~~~
   ./include/linux/percpu-defs.h:498:34: note: in expansion of macro ‘__this_cpu_add’
    #define __this_cpu_sub(pcp, val) __this_cpu_add(pcp, -(typeof(pcp))(val))
                                     ^~~~~~~~~~~~~~
   ./include/linux/percpu-defs.h:500:30: note: in expansion of macro ‘__this_cpu_sub’
    #define __this_cpu_dec(pcp)  __this_cpu_sub(pcp, 1)
                                 ^~~~~~~~~~~~~~
   ./include/linux/percpu-rwsem.h:97:3: note: in expansion of macro ‘__this_cpu_dec’
      __this_cpu_dec(*sem->read_count);
      ^~~~~~~~~~~~~~
   ./arch/x86/include/asm/percpu.h:131:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             ((val) == 1 || (val) == -1)) ?  \
                                  ^
   ./arch/x86/include/asm/percpu.h:402:34: note: in expansion of macro ‘percpu_add_op’
    #define raw_cpu_add_2(pcp, val)  percpu_add_op((pcp), val)
                                     ^~~~~~~~~~~~~
   ./include/linux/percpu-defs.h:380:11: note: in expansion of macro ‘raw_cpu_add_2’
      case 2: stem##2(variable, __VA_ARGS__);break;  \
              ^~~~
   ./include/linux/percpu-defs.h:424:32: note: in expansion of macro ‘__pcpu_size_call’
    #define raw_cpu_add(pcp, val)  __pcpu_size_call(raw_cpu_add_, pcp, val)
                                   ^~~~~~~~~~~~~~~~
   ./include/linux/percpu-defs.h:460:2: note: in expansion of macro ‘raw_cpu_add’
     raw_cpu_add(pcp, val);      \
     ^~~~~~~~~~~
   ./include/linux/percpu-defs.h:498:34: note: in expansion of macro ‘__this_cpu_add’
    #define __this_cpu_sub(pcp, val) __this_cpu_add(pcp, -(typeof(pcp))(val))
                                     ^~~~~~~~~~~~~~
   ./include/linux/percpu-defs.h:500:30: note: in expansion of macro ‘__this_cpu_sub’
    #define __this_cpu_dec(pcp)  __this_cpu_sub(pcp, 1)
                                 ^~~~~~~~~~~~~~
   ./include/linux/percpu-rwsem.h:97:3: note: in expansion of macro ‘__this_cpu_dec’
      __this_cpu_dec(*sem->read_count);
      ^~~~~~~~~~~~~~
   ./arch/x86/include/asm/percpu.h:131:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             ((val) == 1 || (val) == -1)) ?  \
                                  ^
   ./arch/x86/include/asm/percpu.h:403:34: note: in expansion of macro ‘percpu_add_op’
    #define raw_cpu_add_4(pcp, val)  percpu_add_op((pcp), val)
                                     ^~~~~~~~~~~~~
   ./include/linux/percpu-defs.h:381:11: note: in expansion of macro ‘raw_cpu_add_4’
      case 4: stem##4(variable, __VA_ARGS__);break;  \
              ^~~~
   ./include/linux/percpu-defs.h:424:32: note: in expansion of macro ‘__pcpu_size_call’
    #define raw_cpu_add(pcp, val)  __pcpu_size_call(raw_cpu_add_, pcp, val)
                                   ^~~~~~~~~~~~~~~~
   ./include/linux/percpu-defs.h:460:2: note: in expansion of macro ‘raw_cpu_add’
     raw_cpu_add(pcp, val);      \
     ^~~~~~~~~~~
   ./include/linux/percpu-defs.h:498:34: note: in expansion of macro ‘__this_cpu_add’
    #define __this_cpu_sub(pcp, val) __this_cpu_add(pcp, -(typeof(pcp))(val))
                                     ^~~~~~~~~~~~~~
   ./include/linux/percpu-defs.h:500:30: note: in expansion of macro ‘__this_cpu_sub’
    #define __this_cpu_dec(pcp)  __this_cpu_sub(pcp, 1)
                                 ^~~~~~~~~~~~~~
   ./include/linux/percpu-rwsem.h:97:3: note: in expansion of macro ‘__this_cpu_dec’
      __this_cpu_dec(*sem->read_count);
      ^~~~~~~~~~~~~~
   In file included from ./arch/x86/include/asm/paravirt.h:17:0,
                    from ./arch/x86/include/asm/irqflags.h:72,
                    from ./include/linux/irqflags.h:16,
                    from ./include/linux/rcupdate.h:39,
                    from ./include/linux/rculist.h:11,
                    from ./include/linux/pid.h:5,
                    from ./include/linux/sched.h:14,
                    from ./include/linux/utsname.h:6,
                    from /tmp/selfgz691/NVIDIA-Linux-x86-304.137/kernel/nv-linux.h:40,
                    from /tmp/selfgz691/NVIDIA-Linux-x86-304.137/kernel/nv.c:13:
   ./include/linux/vmstat.h: In function ‘zone_page_state_snapshot’:
   ./include/linux/cpumask.h:231:9: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
      (cpu) < nr_cpu_ids;)
            ^
   ./include/linux/cpumask.h:766:36: note: in expansion of macro ‘for_each_cpu’
    #define for_each_online_cpu(cpu)   for_each_cpu((cpu), cpu_online_mask)
                                       ^~~~~~~~~~~~
   ./include/linux/vmstat.h:210:2: note: in expansion of macro ‘for_each_online_cpu’
     for_each_online_cpu(cpu)
     ^~~~~~~~~~~~~~~~~~~
   ./include/linux/vmstat.h: In function ‘node_page_state_snapshot’:
   ./include/linux/cpumask.h:231:9: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
      (cpu) < nr_cpu_ids;)
            ^
   ./include/linux/cpumask.h:766:36: note: in expansion of macro ‘for_each_cpu’
    #define for_each_online_cpu(cpu)   for_each_cpu((cpu), cpu_online_mask)
                                       ^~~~~~~~~~~~
   ./include/linux/vmstat.h:226:2: note: in expansion of macro ‘for_each_online_cpu’
     for_each_online_cpu(cpu)
     ^~~~~~~~~~~~~~~~~~~
   In file included from ./include/linux/efi.h:20:0,
                    from /tmp/selfgz691/NVIDIA-Linux-x86-304.137/kernel/nv-linux.h:193,
                    from /tmp/selfgz691/NVIDIA-Linux-x86-304.137/kernel/nv.c:13:
   ./include/linux/rtc.h: In function ‘rtc_tv_nsec_ok’:
   ./include/linux/rtc.h:253:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if (to_set->tv_nsec < TIME_SET_NSEC_FUZZ) {
                         ^
   ./include/linux/rtc.h:258:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if (to_set->tv_nsec > NSEC_PER_SEC - TIME_SET_NSEC_FUZZ) {
                         ^
   /tmp/selfgz691/NVIDIA-Linux-x86-304.137/kernel/nv.c: In function ‘nv_start_rc_timer’:
   /tmp/selfgz691/NVIDIA-Linux-x86-304.137/kernel/nv.c:3032:5: error: implicit declaration of function ‘init_timer’; did you mean ‘init_timers’? [-Werror=implicit-function-declaration]
        init_timer(&nvl->rc_timer);
        ^~~~~~~~~~
        init_timers
   /tmp/selfgz691/NVIDIA-Linux-x86-304.137/kernel/nv.c:3033:28: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
        nvl->rc_timer.function = nv_kern_rc_timer;
                               ^
   /tmp/selfgz691/NVIDIA-Linux-x86-304.137/kernel/nv.c:3034:18: error: ‘struct timer_list’ has no member named ‘data’
        nvl->rc_timer.data = (unsigned long) nv;
                     ^
   cc1: some warnings being treated as errors
   scripts/Makefile.build:330: recipe for target '/tmp/selfgz691/NVIDIA-Linux-x86-304.137/kernel/nv.o' failed
   make[3]: *** [/tmp/selfgz691/NVIDIA-Linux-x86-304.137/kernel/nv.o] Error 1
   Makefile:1577: recipe for target '_module_/tmp/selfgz691/NVIDIA-Linux-x86-304.137/kernel' failed
   make[2]: *** [_module_/tmp/selfgz691/NVIDIA-Linux-x86-304.137/kernel] Error 2
   NVIDIA: left KBUILD.
   nvidia.ko failed to build!
   Makefile:261: recipe for target 'module' failed
   make[1]: *** [module] Error 1
   makefile:59: recipe for target 'module' failed
   make: *** [module] Error 2
-> Error.
ERROR: Unable to build the NVIDIA kernel module.
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.

Xubuntu 18.04.3 i386。

我接下来可以尝试什么?如果前两个显示器未连接到主板,则需要安装 Nvidia 驱动程序才能使用 GPU 的第三个显示器?

相关内容