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