linux-4.9.6-gentoo-r1 и nvidia-drivers-340.101

Добрый вечер.
Не запускаются иксы xfce4 под такой сборкой linux-4.9.6-gentoo-r1 и nvidia-drivers-340.101.
[ebuild R ] x11-drivers/nvidia-drivers-340.101:0/340::gentoo USE="X multilib static-libs tools -acpi -pax_kernel -uvm" 0 KiB
[ 39.172] (II) LoadModule: "nvidia"
[ 39.172] (II) Loading /usr/lib64/xorg/modules/drivers/nvidia_drv.so
[ 39.173] (II) Module nvidia: vendor="NVIDIA Corporation"
[ 39.173] compiled for 4.0.2, module version = 1.0.0
[ 39.173] Module class: X.Org Video Driver
[ 39.173] (II) LoadModule: "kbd"
[ 39.173] (II) Loading /usr/lib64/xorg/modules/input/kbd_drv.so
[ 39.173] (II) Module kbd: vendor="X.Org Foundation"
[ 39.173] compiled for 1.17.4, module version = 1.8.1
[ 39.173] Module class: X.Org XInput Driver
[ 39.173] ABI class: X.Org XInput driver, version 21.0
[ 39.173] (II) LoadModule: "mouse"
[ 39.173] (II) Loading /usr/lib64/xorg/modules/input/mouse_drv.so
[ 39.173] (II) Module mouse: vendor="X.Org Foundation"
[ 39.173] compiled for 1.17.4, module version = 1.9.1
[ 39.173] Module class: X.Org XInput Driver
[ 39.173] ABI class: X.Org XInput driver, version 21.0
[ 39.173] (II) NVIDIA dlloader X Driver 340.101 Thu Dec 1 14:50:13 PST 2016
[ 39.173] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[ 39.173] (--) using VT number 7

[ 39.176] (II) Loading sub module "fb"
[ 39.176] (II) LoadModule: "fb"
[ 39.177] (II) Loading /usr/lib64/xorg/modules/libfb.so
[ 39.177] (II) Module fb: vendor="X.Org Foundation"
[ 39.177] compiled for 1.17.4, module version = 1.0.0
[ 39.177] ABI class: X.Org ANSI C Emulation, version 0.4
[ 39.177] (WW) Unresolved symbol: fbGetGCPrivateKey
[ 39.177] (II) Loading sub module "wfb"
[ 39.177] (II) LoadModule: "wfb"
[ 39.177] (II) Loading /usr/lib64/xorg/modules/libwfb.so
[ 39.178] (II) Module wfb: vendor="X.Org Foundation"
[ 39.178] compiled for 1.17.4, module version = 1.0.0
[ 39.178] ABI class: X.Org ANSI C Emulation, version 0.4
[ 39.178] (II) Loading sub module "ramdac"
[ 39.178] (II) LoadModule: "ramdac"
[ 39.178] (II) Module "ramdac" already built-in
[ 39.212] (EE) NVIDIA: Failed to initialize the NVIDIA kernel module. Please see the
[ 39.212] (EE) NVIDIA: system's kernel log for additional error messages and
[ 39.212] (EE) NVIDIA: consult the NVIDIA README for details.
[ 39.212] (EE) No devices detected.
[ 39.212] (EE)
Fatal server error:
[ 39.212] (EE) no screens found(EE)
[ 39.212] (EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
[ 39.212] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[ 39.212] (EE)

полный лог иксов.
http://pastebin.com/U28DswAb

Попробовал пере собрать nvidia-drivers, пере сборка завершилась без ошибок.
Сейчас откатился обратно на Linux 4.4.39-gentoo x86_64
Как быть. как я понимаю в ядре не создает модуль nvidia.

Патч

bagas написал(а):
Попробовал пере собрать nvidia-drivers, пере сборка завершилась без ошибок.
Сейчас откатился обратно на Linux 4.4.39-gentoo x86_64
Как быть. как я понимаю в ядре не создает модуль nvidia.

Надо патчить драйвер Нвидиа. Положи по адресу /etc/portage/patches/x11-drivers/nvidia-drivers-340.101/nvidia-340.101-kernel-4.9.patch следующий код:


diff -Naur a/kernel/nv-drm.c b/kernel/nv-drm.c
--- a/kernel/nv-drm.c	2016-12-15 12:41:26.000000000 +0100
+++ b/kernel/nv-drm.c	2016-12-15 12:58:48.000000000 +0100
@@ -115,7 +115,11 @@
 };
 
 static struct drm_driver nv_drm_driver = {
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
+    .driver_features = DRIVER_GEM | DRIVER_PRIME | DRIVER_LEGACY,
+#else
     .driver_features = DRIVER_GEM | DRIVER_PRIME,
+#endif
     .load = nv_drm_load,
     .unload = nv_drm_unload,
     .fops = &nv_drm_fops,

ТО-есть ядра это больше не

ТО-есть ядра это больше не поддерживает эту версию дров nvidia что ле?
тогда почему при пере сборке дров нвидиа, ошибок не было ни каких.

Что бы ты не делал , жизнь слишком коротка!
Блог о BSD системах.

Почему в одних случаях пач

Почему в одних случаях пач нужен, в других - не нужен? Что он делает?

Так же очевидно из

Так же очевидно из заплатки:

+ .driver_features = DRIVER_GEM | DRIVER_PRIME | DRIVER_LEGACY,

А если уж хочется совсем подробно - код открой! :)

h4e написал(а): bagas

h4e написал(а):
bagas написал(а):
Попробовал пере собрать nvidia-drivers, пере сборка завершилась без ошибок.
Сейчас откатился обратно на Linux 4.4.39-gentoo x86_64
Как быть. как я понимаю в ядре не создает модуль nvidia.

Надо патчить драйвер Нвидиа. Положи по адресу /etc/portage/patches/x11-drivers/nvidia-drivers-340.101/nvidia-340.101-kernel-4.9.patch следующий код:


diff -Naur a/kernel/nv-drm.c b/kernel/nv-drm.c
--- a/kernel/nv-drm.c	2016-12-15 12:41:26.000000000 +0100
+++ b/kernel/nv-drm.c	2016-12-15 12:58:48.000000000 +0100
@@ -115,7 +115,11 @@
 };
 
 static struct drm_driver nv_drm_driver = {
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
+    .driver_features = DRIVER_GEM | DRIVER_PRIME | DRIVER_LEGACY,
+#else
     .driver_features = DRIVER_GEM | DRIVER_PRIME,
+#endif
     .load = nv_drm_load,
     .unload = nv_drm_unload,
     .fops = &nv_drm_fops,

Спасибо, пора менять железо. )

Что бы ты не делал , жизнь слишком коротка!
Блог о BSD системах.

Добрый день. Обновил ядро до

Добрый день.
Обновил ядро до 4.9.72-gentoo
Дрова нвидаи nvidia-drivers-340.104
Прописал патч
# cat /etc/portage/patches/x11-drivers/nvidia-drivers-340.104/nvidia-340.104-kernel-4.9.patch
diff -Naur a/kernel/nv-drm.c b/kernel/nv-drm.c
--- a/kernel/nv-drm.c 2016-12-15 12:41:26.000000000 +0100
+++ b/kernel/nv-drm.c 2016-12-15 12:58:48.000000000 +0100
@@ -115,7 +115,11 @@
};

static struct drm_driver nv_drm_driver = {
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
+ .driver_features = DRIVER_GEM | DRIVER_PRIME | DRIVER_LEGACY,
+#else
.driver_features = DRIVER_GEM | DRIVER_PRIME,
+#endif
.load = nv_drm_load,
.unload = nv_drm_unload,
.fops = &nv_drm_fops,

Либо что то я делаю не так, либо этот патч больше не работает.
Запускаю пересборку дров нвидиа.

Полный лог выполнения пересборки
https://pastebin.com/9xdpqX5T

Preparing source in /mnt/old/home/tmp/portage/x11-drivers/nvidia-drivers-340.104/work ...
* Applying nvidia-340.104-kernel-4.9.patch ...
1 out of 1 hunk FAILED -- saving rejects to file kernel/nv-drm.c.rej [ !! ]
* ERROR: x11-drivers/nvidia-drivers-340.104::gentoo failed (prepare phase):
* patch -p1 failed with /etc/portage/patches/x11-drivers/nvidia-drivers-340.104/nvidia-340.104-kernel-4.9.patch
*
* Call stack:
* ebuild.sh, line 124: Called src_prepare
* environment, line 5006: Called eapply_user
* environment, line 1281: Called eapply '/etc/portage/patches/x11-drivers/nvidia-drivers-340.104/nvidia-340.104-kernel-4.9.patch'
* environment, line 1251: Called _eapply_patch '/etc/portage/patches/x11-drivers/nvidia-drivers-340.104/nvidia-340.104-kernel-4.9.patch'
* environment, line 1189: Called __helpers_die 'patch -p1 failed with /etc/portage/patches/x11-drivers/nvidia-drivers-340.104/nvidia-340.104-kernel-4.9.patch'
* isolated-functions.sh, line 117: Called die
* The specific snippet of code:
* die "$@"
*
* If you need support, post the output of `emerge --info '=x11-drivers/nvidia-drivers-340.104::gentoo'`,
* the complete build log and the output of `emerge -pqv '=x11-drivers/nvidia-drivers-340.104::gentoo'`.
* The complete build log is located at '/mnt/old/home/tmp/portage/x11-drivers/nvidia-drivers-340.104/temp/build.log'.
* The ebuild environment file is located at '/mnt/old/home/tmp/portage/x11-drivers/nvidia-drivers-340.104/temp/environment'.
* Working directory: '/mnt/old/home/tmp/portage/x11-drivers/nvidia-drivers-340.104/work'
* S: '/mnt/old/home/tmp/portage/x11-drivers/nvidia-drivers-340.104/work/'

>>> Failed to emerge x11-drivers/nvidia-drivers-340.104, Log file:

>>> '/mnt/old/home/tmp/portage/x11-drivers/nvidia-drivers-340.104/temp/build.log'

* Messages for package x11-drivers/nvidia-drivers-340.104:

* ERROR: x11-drivers/nvidia-drivers-340.104::gentoo failed (prepare phase):
* patch -p1 failed with /etc/portage/patches/x11-drivers/nvidia-drivers-340.104/nvidia-340.104-kernel-4.9.patch
*
* Call stack:
* ebuild.sh, line 124: Called src_prepare
* environment, line 5006: Called eapply_user
* environment, line 1281: Called eapply '/etc/portage/patches/x11-drivers/nvidia-drivers-340.104/nvidia-340.104-kernel-4.9.patch'
* environment, line 1251: Called _eapply_patch '/etc/portage/patches/x11-drivers/nvidia-drivers-340.104/nvidia-340.104-kernel-4.9.patch'
* environment, line 1189: Called __helpers_die 'patch -p1 failed with /etc/portage/patches/x11-drivers/nvidia-drivers-340.104/nvidia-340.104-kernel-4.9.patch'
* isolated-functions.sh, line 117: Called die
* The specific snippet of code:
* die "$@"
*
* If you need support, post the output of `emerge --info '=x11-drivers/nvidia-drivers-340.104::gentoo'`,
* the complete build log and the output of `emerge -pqv '=x11-drivers/nvidia-drivers-340.104::gentoo'`.
* The complete build log is located at '/mnt/old/home/tmp/portage/x11-drivers/nvidia-drivers-340.104/temp/build.log'.
* The ebuild environment file is located at '/mnt/old/home/tmp/portage/x11-drivers/nvidia-drivers-340.104/temp/environment'.
* Working directory: '/mnt/old/home/tmp/portage/x11-drivers/nvidia-drivers-340.104/work'
* S: '/mnt/old/home/tmp/portage/x11-drivers/nvidia-drivers-340.104/work/'

С наступающим новым годом!

Что бы ты не делал , жизнь слишком коротка!
Блог о BSD системах.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".