Итак, я пытаюсь установить этот драйвер, чтобы включить displaylink. 12.04. Он предупредил, что мое ядро устарело, поэтому я установил ядро 3.14. Затем он передал проверку ядра, но не смог создать ядро evdi. Затем я обновил всю ОС до 14.04, а также ядро. Ошибка все еще отображается. Мой терминал выглядит так:
blaineatkins@ubuntu:~$ cd ~/Downloads
blaineatkins@ubuntu:~/Downloads$ sudo ./displaylink-driver-1.3.54.run
[sudo] password for blaineatkins:
Verifying archive integrity... All good.
Uncompressing DisplayLink Linux Driver 1.3.54 100%
DisplayLink Linux Software 1.3.54 install script called: install
Distribution discovered: Ubuntu 14.04.5 LTS
Installing
Configuring EVDI DKMS module
Registering EVDI kernel module with DKMS
Building EVDI kernel module with DKMS
ERROR (code 3): Failed to build evdi/1.3.54. Consult /var/lib/dkms/evdi/1.3.54/build/make.log for details..
blaineatkins@ubuntu:~/Downloads$
И вот содержание журнала, которое он упоминает:
DKMS make.log for evdi-1.3.54 for kernel 3.14.0-031400-generic (x86_64)
Sat Jul 22 10:13:12 PHT 2017
make KBUILD_VERBOSE=1 SUBDIRS=/var/lib/dkms/evdi/1.3.54/build SRCROOT=/var/lib/dkms/evdi/1.3.54/build CONFIG_MODULE_SIG= -C /lib/modules/3.14.0-031400-generic/build modules
make[1]: Entering directory `/usr/src/linux-headers-3.14.0-031400-generic'
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 /var/lib/dkms/evdi/1.3.54/build/.tmp_versions ; rm -f /var/lib/dkms/evdi/1.3.54/build/.tmp_versions/*
make -f scripts/Makefile.build obj=/var/lib/dkms/evdi/1.3.54/build
gcc -Wp,-MD,/var/lib/dkms/evdi/1.3.54/build/.evdi_drv.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/4.8/include -I/usr/src/linux-headers-3.14.0-031400-generic/arch/x86/include -Iarch/x86/include/generated -Iinclude -I/usr/src/linux-headers-3.14.0-031400-generic/arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I/usr/src/linux-headers-3.14.0-031400-generic/include/uapi -Iinclude/generated/uapi -include /usr/src/linux-headers-3.14.0-031400-generic/include/linux/kconfig.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -m64 -mno-mmx -mno-sse -mpreferred-stack-boundary=3 -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -DCONFIG_X86_X32_ABI -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -Wframe-larger-than=1024 -fstack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -pg -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -DCC_HAVE_ASM_GOTO -Iinclude/drm -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(evdi_drv)" -D"KBUILD_MODNAME=KBUILD_STR(evdi)" -c -o /var/lib/dkms/evdi/1.3.54/build/.tmp_evdi_drv.o /var/lib/dkms/evdi/1.3.54/build/evdi_drv.c
if [ "-pg" = "-pg" ]; then if [ /var/lib/dkms/evdi/1.3.54/build/evdi_drv.o != "scripts/mod/empty.o" ]; then /usr/src/linux-headers-3.14.0-031400-generic/scripts/recordmcount "/var/lib/dkms/evdi/1.3.54/build/evdi_drv.o"; fi; fi;
gcc -Wp,-MD,/var/lib/dkms/evdi/1.3.54/build/.evdi_modeset.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/4.8/include -I/usr/src/linux-headers-3.14.0-031400-generic/arch/x86/include -Iarch/x86/include/generated -Iinclude -I/usr/src/linux-headers-3.14.0-031400-generic/arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I/usr/src/linux-headers-3.14.0-031400-generic/include/uapi -Iinclude/generated/uapi -include /usr/src/linux-headers-3.14.0-031400-generic/include/linux/kconfig.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -m64 -mno-mmx -mno-sse -mpreferred-stack-boundary=3 -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -DCONFIG_X86_X32_ABI -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -Wframe-larger-than=1024 -fstack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -pg -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -DCC_HAVE_ASM_GOTO -Iinclude/drm -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(evdi_modeset)" -D"KBUILD_MODNAME=KBUILD_STR(evdi)" -c -o /var/lib/dkms/evdi/1.3.54/build/.tmp_evdi_modeset.o /var/lib/dkms/evdi/1.3.54/build/evdi_modeset.c
/var/lib/dkms/evdi/1.3.54/build/evdi_modeset.c: In function ‘evdi_crtc_mode_set’:
/var/lib/dkms/evdi/1.3.54/build/evdi_modeset.c:67:10: error: ‘struct drm_crtc’ has no member named ‘primary’
if (crtc->primary == NULL) {
^
In file included from include/drm/drmP.h:45:0,
from /var/lib/dkms/evdi/1.3.54/build/evdi_modeset.c:14:
/var/lib/dkms/evdi/1.3.54/build/evdi_modeset.c:74:23: error: ‘struct drm_crtc’ has no member named ‘primary’
efb = to_evdi_fb(crtc->primary->fb);
^
include/linux/kernel.h:833:49: note: in definition of macro ‘container_of’
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
^
/var/lib/dkms/evdi/1.3.54/build/evdi_modeset.c:74:8: note: in expansion of macro ‘to_evdi_fb’
efb = to_evdi_fb(crtc->primary->fb);
^
/var/lib/dkms/evdi/1.3.54/build/evdi_modeset.c: In function ‘evdi_sched_page_flip’:
/var/lib/dkms/evdi/1.3.54/build/evdi_modeset.c:136:11: error: ‘struct drm_crtc’ has no member named ‘primary’
fb = crtc->primary->fb;
^
/var/lib/dkms/evdi/1.3.54/build/evdi_modeset.c: In function ‘evdi_crtc_page_flip’:
/var/lib/dkms/evdi/1.3.54/build/evdi_modeset.c:192:40: error: ‘struct drm_crtc’ has no member named ‘primary’
struct drm_framebuffer *old_fb = crtc->primary->fb;
^
/var/lib/dkms/evdi/1.3.54/build/evdi_modeset.c:200:7: error: ‘struct drm_crtc’ has no member named ‘primary’
crtc->primary->fb = fb;
^
make[2]: *** [/var/lib/dkms/evdi/1.3.54/build/evdi_modeset.o] Error 1
make[1]: *** [_module_/var/lib/dkms/evdi/1.3.54/build] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.14.0-031400-generic'
make: *** [all] Error 2
Вы можете исправить это, либо
обновления с Ubuntu 14.04 LTS на базе Ubuntu 16.04 LTS или установки ядра с 16.04 ЛЦ, которая была официально портирована на 14.04 ЛТС.я проверил это с технология displaylink USB и графическое программное обеспечение для Ubuntu (1.3.54) в виртуальных машин в VirtualBox под управлением 64-разрядной версии 14.04 ЛТС и ЛТС 16.04.
Вы в настоящее время работает на ядре 3.14 установлен в 12.04 перед обновлением до 14.04, потому что 14.04 ЛТС поставляется с ядром 3.13, и grub будет автоматически список с наибольшим номером версии и загрузить первая-запись. Вы можете проверить это, запустив uname -r. Обратите внимание на верхнюю строку в программе displaylink построить отчет:
DKMS make.log for evdi-1.3.54 for kernel 3.14.0-031400-generic (x86_64)
ошибки сборки, вы получаете появляются характерные для ядра установки. Я не могу воспроизвести их с официального ядра Ubuntu.
если вы установили только для того, чтобы сделать этот драйвер на работу, то я рекомендую удалить его, прежде чем продолжить, хотя я не могу сказать вам, как это сделать, потому что я не знаю, как вы установили его. Хотя displaylink или mct требует версией ядра 3.14 или выше, вам не нужна эта версия специально (и это не одна из версий официально предоставил для Ubuntu 14.04).
я проверил следующие варианты в виртуальных машинах, и мне удалось построить и успешно установить драйвер displaylink.[!d12 вариант]
вы просто обновить с 12.04 LTS на 14.04 ЛТС. Если у вас нет особых причин необходимо придерживаться 14.04, то вы должны рассмотреть возможность обновления до 16.04. Не только следует, что решить эту проблему, но она также будет больше не поддерживается и обновления программного обеспечения официально заготовок для нее.
для обновления, запустите:
do-release-upgrade
пропуск sudo делает его немного легче, чтобы убедиться, что Вы не случайно обновить неправильную версию. (Еще один способ проверить /etc/update-manager/release-upgrades имеет [от f13 линия] с # персонаж). Он должен сказать:
Checking for a new Ubuntu release
Get:1 Upgrade tool signature [836 B]
Get:2 Upgrade tool [1,265 kB]
Fetched 1,266 kB in 0s (0 B/s)
authenticate 'xenial.tar.gz' against 'xenial.tar.gz.gpg'
extracting 'xenial.tar.gz'
[sudo] password for blaineatkins:
[dиода d17]то есть, следует сказать, [с f15] как релиз будет обновлен до. Затем можно ввести свой пароль и выполнить обновление.[!параметр диода d17] убунту, ЛТС релизы ядра вам официально унаследованы от более поздних версий Ubuntu, для поддержки нового оборудования и драйверов--я не могу воспроизвести их с официального ядра Ubuntu.. На 4.4 ядра от Ubuntu 16.04 LTS является официально портированы в 14.04 ЛТС. Один способ установки просто запустить:
sudo apt install linux-generic-lts-xenial
затем перезагрузить.
это все, что мне пришлось сделать, чтобы получить драйвера displaylink, чтобы построить и установить без ошибок. Однако, моя система 14.04-это виртуальная машина без GUI установленная.
если это настольная система (то есть вы работаете в графической среде), то LTSEnablementStack рекомендует установить некоторые другие пакеты. Это может помочь вам избежать ситуации, когда вы должны установить пакеты позже.
Вы бы вместо того, чтобы выполнить эту команду (и еще после перезагрузки):
sudo apt install --install-recommends linux-generic-lts-xenial xserver-xorg-core-lts-xenial xserver-xorg-lts-xenial xserver-xorg-video-all-lts-xenial xserver-xorg-input-all-lts-xenial libwayland-egl1-mesa-lts-xenial
я изменил apt-get, чтобы [f17 в], которая производит более удобочитаемого вывода. (14.04 имеет apt; некоторые более ранние выпуски не.) В [зг19] флаг является, вероятно, ненужным, так как это по умолчанию и вы вряд ли изменились, но это не принесет никакого вреда.
с официального ядра Ubuntu (с достаточно высоким номером версии), установка должна пройти успешно. Этот раздел предназначен в основном для других читателей, которые, возможно, не получили, как вы делали в установке драйвера. тогда LTSEnablementStack рекомендует установить другие пакеты
зависимостей установить:
sudo apt update
sudo apt install build-essential linux-headers-generic dkms
после cdинг в директорию, куда вы распаковали файл [клавиши f21], запустите установщик:
sudo ./displaylink-driver-1.3.54.run
он должен построить (хотя бы часть) водитель за кулисами, и на некоторых компьютерах это может быть медленным, поэтому не волнуйтесь, если не сразу же закончить.
Вы должны увидеть нечто подобное как выход:
Verifying archive integrity... All good.
Uncompressing DisplayLink Linux Driver 1.3.54 100%
DisplayLink Linux Software 1.3.54 install script called: install
Distribution discovered: Ubuntu 16.04.2 LTS
Installing
Configuring EVDI DKMS module
Registering EVDI kernel module with DKMS
Building EVDI kernel module with DKMS
Installing EVDI kernel module to kernel tree
EVDI kernel module built successfully
Installing x64-ubuntu-1604/DisplayLinkManager
Installing libraries
Installing firmware packages
Installing license file
Adding udev rule for DisplayLink DL-3xxx/5xxx devices
[и D40]если вы видите что-то вроде этого, и нет ошибок, то установка работала. Я предлагаю перезагрузка перед использованием вашего устройства displaylink или mct, хотя работает sudo modprobe evdi вроде успешно загрузить драйвер даже без промежуточной перезагрузки.[!и D40] [dрайвер d41]поиск и устранение неисправностей[!dрайвер d41] когда драйвер загружен в ядре, выход lsmod | grep evdi должен быть похож на:
[F9] и [d43 см.]если у вас нет displaylink или mct устройства, затем крепится модуль не может быть загружен автоматически в ядро. Если он подключен, то он должен быть загружен. Вы можете попробовать sudo modprobe evdi. Для размещения новой вопрос о проблемах, возникающих с этот драйвер после его установки, я рекомендую включая полный вывод [f25 привод датчика] (т. е. без | grep evdi), а также uname -a.[!d43 см.]Вы можете исправить это, либо
обновления с Ubuntu 14.04 LTS на базе Ubuntu 16.04 LTS или установки ядра с 16.04 ЛЦ, которая была официально портирована на 14.04 ЛТС.я проверил это с технология displaylink USB и графическое программное обеспечение для Ubuntu (1.3.54) в виртуальных машин в VirtualBox под управлением 64-разрядной версии 14.04 ЛТС и ЛТС 16.04.
Вы в настоящее время работает на ядре 3.14 установлен в 12.04 перед обновлением до 14.04, потому что 14.04 ЛТС поставляется с ядром 3.13, и grub будет автоматически список с наибольшим номером версии и загрузить первая-запись. Вы можете проверить это, запустив uname -r. Обратите внимание на верхнюю строку в программе displaylink построить отчет:
DKMS make.log for evdi-1.3.54 for kernel 3.14.0-031400-generic (x86_64)
ошибки сборки, вы получаете появляются характерные для ядра установки. Я не могу воспроизвести их с официального ядра Ubuntu.
если вы установили только для того, чтобы сделать этот драйвер на работу, то я рекомендую удалить его, прежде чем продолжить, хотя я не могу сказать вам, как это сделать, потому что я не знаю, как вы установили его. Хотя displaylink или mct требует версией ядра 3.14 или выше, вам не нужна эта версия специально (и это не одна из версий официально предоставил для Ubuntu 14.04).
я проверил следующие варианты в виртуальных машинах, и мне удалось построить и успешно установить драйвер displaylink.[!d12 вариант]
вы просто обновить с 12.04 LTS на 14.04 ЛТС. Если у вас нет особых причин необходимо придерживаться 14.04, то вы должны рассмотреть возможность обновления до 16.04. Не только следует, что решить эту проблему, но она также будет больше не поддерживается и обновления программного обеспечения официально заготовок для нее.
для обновления, запустите:
do-release-upgrade
пропуск sudo делает его немного легче, чтобы убедиться, что Вы не случайно обновить неправильную версию. (Еще один способ проверить /etc/update-manager/release-upgrades имеет [от f13 линия] с # персонаж). Он должен сказать:
Checking for a new Ubuntu release
Get:1 Upgrade tool signature [836 B]
Get:2 Upgrade tool [1,265 kB]
Fetched 1,266 kB in 0s (0 B/s)
authenticate 'xenial.tar.gz' against 'xenial.tar.gz.gpg'
extracting 'xenial.tar.gz'
[sudo] password for blaineatkins:
[dиода d17]то есть, следует сказать, [с f15] как релиз будет обновлен до. Затем можно ввести свой пароль и выполнить обновление.[!параметр диода d17] убунту, ЛТС релизы ядра вам официально унаследованы от более поздних версий Ubuntu, для поддержки нового оборудования и драйверов--я не могу воспроизвести их с официального ядра Ubuntu.. На 4.4 ядра от Ubuntu 16.04 LTS является официально портированы в 14.04 ЛТС. Один способ установки просто запустить:
sudo apt install linux-generic-lts-xenial
затем перезагрузить.
это все, что мне пришлось сделать, чтобы получить драйвера displaylink, чтобы построить и установить без ошибок. Однако, моя система 14.04-это виртуальная машина без GUI установленная.
если это настольная система (то есть вы работаете в графической среде), то LTSEnablementStack рекомендует установить некоторые другие пакеты. Это может помочь вам избежать ситуации, когда вы должны установить пакеты позже.
Вы бы вместо того, чтобы выполнить эту команду (и еще после перезагрузки):
sudo apt install --install-recommends linux-generic-lts-xenial xserver-xorg-core-lts-xenial xserver-xorg-lts-xenial xserver-xorg-video-all-lts-xenial xserver-xorg-input-all-lts-xenial libwayland-egl1-mesa-lts-xenial
я изменил apt-get, чтобы [f17 в], которая производит более удобочитаемого вывода. (14.04 имеет apt; некоторые более ранние выпуски не.) В [зг19] флаг является, вероятно, ненужным, так как это по умолчанию и вы вряд ли изменились, но это не принесет никакого вреда.
с официального ядра Ubuntu (с достаточно высоким номером версии), установка должна пройти успешно. Этот раздел предназначен в основном для других читателей, которые, возможно, не получили, как вы делали в установке драйвера. тогда LTSEnablementStack рекомендует установить другие пакеты
зависимостей установить:
sudo apt update
sudo apt install build-essential linux-headers-generic dkms
после cdинг в директорию, куда вы распаковали файл [клавиши f21], запустите установщик:
sudo ./displaylink-driver-1.3.54.run
он должен построить (хотя бы часть) водитель за кулисами, и на некоторых компьютерах это может быть медленным, поэтому не волнуйтесь, если не сразу же закончить.
Вы должны увидеть нечто подобное как выход:
Verifying archive integrity... All good.
Uncompressing DisplayLink Linux Driver 1.3.54 100%
DisplayLink Linux Software 1.3.54 install script called: install
Distribution discovered: Ubuntu 16.04.2 LTS
Installing
Configuring EVDI DKMS module
Registering EVDI kernel module with DKMS
Building EVDI kernel module with DKMS
Installing EVDI kernel module to kernel tree
EVDI kernel module built successfully
Installing x64-ubuntu-1604/DisplayLinkManager
Installing libraries
Installing firmware packages
Installing license file
Adding udev rule for DisplayLink DL-3xxx/5xxx devices
[и D40]если вы видите что-то вроде этого, и нет ошибок, то установка работала. Я предлагаю перезагрузка перед использованием вашего устройства displaylink или mct, хотя работает sudo modprobe evdi вроде успешно загрузить драйвер даже без промежуточной перезагрузки.[!и D40] [dрайвер d41]поиск и устранение неисправностей[!dрайвер d41] когда драйвер загружен в ядре, выход lsmod | grep evdi должен быть похож на:
[F9] и [d43 см.]если у вас нет displaylink или mct устройства, затем крепится модуль не может быть загружен автоматически в ядро. Если он подключен, то он должен быть загружен. Вы можете попробовать sudo modprobe evdi. Для размещения новой вопрос о проблемах, возникающих с этот драйвер после его установки, я рекомендую включая полный вывод [f25 привод датчика] (т. е. без | grep evdi), а также uname -a.[!d43 см.]