Kernel Upgrade: Probleme mit Modulen

Ich habe einen neuen Laptop mit Skylake Architektur:
Model: Acer Aspire VN7-792G
Prozessor: i7-6700HQ
OS: Leap 42.1
Kernel: 4.1.20-11-default
discrete graphic: NVIDIA GTX-960M

Leider bin ich von dem i915 Bug betroffen, der dazu führt dass das nach kurzer Zeit der Desktop einfriert und selbst die Magic sysrq nicht funktionieren.
Es gibt zwar ein Workaround damit das System stabil bleibt - jedoch hat das den Nachteil dass primus unter Bumblebee nicht mehr funktioniert und ich bei 3D Anwendungen einen Speicherzugriffsfehler (segmentation fault) erhalte.
Das liegt am Workaround da ich DRI deaktivieren musste.

Ich habe gelesen dass Skylake ab Kernel 4.4 unterstützt wird. Deshalb habe auch schon versucht mittels “zypper dup” einen Kernel Upgrade durchzuführen. Das hat zwar wunderbar funktioniert und viele Fehlermeldungen im Kernelbuffer sind verschwunden, aber leider war es nicht mehr möglich die Kernelmodule für NVIDIA über dkms zu bauen. Ich habe das mal manuell versucht und jede Menge make Fehler gesehen die zum Abbruch geführt haben. Leider kenne ich mich in diesem Bereich nicht so gut aus sodass ich nicht abschätzen kann ob das erwartungsgemäß ist oder ich beim Kernel-Upgrade etwas vergessen habe.
Die folgenden Pakete wurden mittels “zypper dup” über das Repo http://download.opensuse.org/repositories/Kernel:/HEAD/standard/ upgegradet:

  • kernel-default
  • kernel-default-devel
  • kernel-docs
  • kernel-syms
  • kernel-devel
  • kernel-source
  • kernel-firmware
# lspci -nnk
00:00.0 Host bridge [0600]: Intel Corporation Sky Lake Host Bridge/DRAM Registers [8086:1910] (rev 07)
        Subsystem: Acer Incorporated [ALI] Device [1025:103b]
00:01.0 PCI bridge [0604]: Intel Corporation Sky Lake PCIe Controller (x16) [8086:1901] (rev 07)
        Kernel driver in use: pcieport
        Kernel modules: shpchp
00:02.0 VGA compatible controller [0300]: Intel Corporation Device [8086:191b] (rev 06)
        Subsystem: Acer Incorporated [ALI] Device [1025:103b]
        Kernel driver in use: i915
        Kernel modules: i915
00:14.0 USB controller [0c03]: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller [8086:a12f] (rev 31)
        Subsystem: Acer Incorporated [ALI] Device [1025:103b]
        Kernel driver in use: xhci_hcd
        Kernel modules: xhci_pci
00:15.0 Signal processing controller [1180]: Intel Corporation Sunrise Point-H LPSS I2C Controller #0 [8086:a160] (rev 31)
        Subsystem: Acer Incorporated [ALI] Device [1025:103b]
00:15.1 Signal processing controller [1180]: Intel Corporation Sunrise Point-H LPSS I2C Controller #1 [8086:a161] (rev 31)
        Subsystem: Acer Incorporated [ALI] Device [1025:103b]
00:16.0 Communication controller [0780]: Intel Corporation Sunrise Point-H CSME HECI #1 [8086:a13a] (rev 31)
        Subsystem: Acer Incorporated [ALI] Device [1025:103b]
# lspci -nnk
00:00.0 Host bridge [0600]: Intel Corporation Sky Lake Host Bridge/DRAM Registers [8086:1910] (rev 07)
        Subsystem: Acer Incorporated [ALI] Device [1025:103b]
00:01.0 PCI bridge [0604]: Intel Corporation Sky Lake PCIe Controller (x16) [8086:1901] (rev 07)
        Kernel driver in use: pcieport
        Kernel modules: shpchp
00:02.0 VGA compatible controller [0300]: Intel Corporation Device [8086:191b] (rev 06)
        Subsystem: Acer Incorporated [ALI] Device [1025:103b]
        Kernel driver in use: i915
        Kernel modules: i915
00:14.0 USB controller [0c03]: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller [8086:a12f] (rev 31)
        Subsystem: Acer Incorporated [ALI] Device [1025:103b]
        Kernel driver in use: xhci_hcd
        Kernel modules: xhci_pci
00:15.0 Signal processing controller [1180]: Intel Corporation Sunrise Point-H LPSS I2C Controller #0 [8086:a160] (rev 31)
        Subsystem: Acer Incorporated [ALI] Device [1025:103b]
00:15.1 Signal processing controller [1180]: Intel Corporation Sunrise Point-H LPSS I2C Controller #1 [8086:a161] (rev 31)
        Subsystem: Acer Incorporated [ALI] Device [1025:103b]
00:16.0 Communication controller [0780]: Intel Corporation Sunrise Point-H CSME HECI #1 [8086:a13a] (rev 31)
        Subsystem: Acer Incorporated [ALI] Device [1025:103b]
00:17.0 SATA controller [0106]: Intel Corporation Sunrise Point-H SATA Controller [AHCI mode] [8086:a103] (rev 31)
        Subsystem: Acer Incorporated [ALI] Device [1025:103b]
        Kernel driver in use: ahci
00:1c.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #3 [8086:a112] (rev f1)
        Kernel driver in use: pcieport
        Kernel modules: shpchp
00:1c.3 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #4 [8086:a113] (rev f1)
        Kernel driver in use: pcieport
        Kernel modules: shpchp
00:1c.4 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #5 [8086:a114] (rev f1)
        Kernel driver in use: pcieport
        Kernel modules: shpchp
00:1f.0 ISA bridge [0601]: Intel Corporation Sunrise Point-H LPC Controller [8086:a14e] (rev 31)
        Subsystem: Acer Incorporated [ALI] Device [1025:103b]
00:1f.2 Memory controller [0580]: Intel Corporation Sunrise Point-H PMC [8086:a121] (rev 31)
        Subsystem: Acer Incorporated [ALI] Device [1025:103b]
00:1f.3 Multimedia audio controller [0401]: Intel Corporation Sunrise Point-H HD Audio [8086:a170] (rev 31)
        Subsystem: Acer Incorporated [ALI] Device [1025:103b]
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel
00:17.0 SATA controller [0106]: Intel Corporation Sunrise Point-H SATA Controller [AHCI mode] [8086:a103] (rev 31)
        Subsystem: Acer Incorporated [ALI] Device [1025:103b]
        Kernel driver in use: ahci
00:1c.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #3 [8086:a112] (rev f1)
        Kernel driver in use: pcieport
        Kernel modules: shpchp
00:1c.3 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #4 [8086:a113] (rev f1)
        Kernel driver in use: pcieport
        Kernel modules: shpchp
00:1c.4 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #5 [8086:a114] (rev f1)
        Kernel driver in use: pcieport
        Kernel modules: shpchp
00:1f.0 ISA bridge [0601]: Intel Corporation Sunrise Point-H LPC Controller [8086:a14e] (rev 31)
        Subsystem: Acer Incorporated [ALI] Device [1025:103b]
00:1f.2 Memory controller [0580]: Intel Corporation Sunrise Point-H PMC [8086:a121] (rev 31)
        Subsystem: Acer Incorporated [ALI] Device [1025:103b]
00:1f.3 Multimedia audio controller [0401]: Intel Corporation Sunrise Point-H HD Audio [8086:a170] (rev 31)
        Subsystem: Acer Incorporated [ALI] Device [1025:103b]
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel
00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-H SMBus [8086:a123] (rev 31)
        Subsystem: Acer Incorporated [ALI] Device [1025:103b]
        Kernel modules: i2c_i801
01:00.0 3D controller [0302]: NVIDIA Corporation GM107M [GeForce GTX 960M] [10de:139b] (rev a2)
        Subsystem: Acer Incorporated [ALI] Device [1025:103b]
        Kernel driver in use: nvidia
        Kernel modules: nouveau, nvidia
07:00.0 Network controller [0280]: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter [168c:003e] (rev 32)
        Subsystem: Lite-On Communications Inc Device [11ad:0807]
        Kernel driver in use: ath10k_pci
        Kernel modules: ath10k_pci
08:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
        Subsystem: Acer Incorporated [ALI] Device [1025:103b]
        Kernel driver in use: r8169
        Kernel modules: r8169




 

Versuch einmal den Kernel aus kernel:stable, der ist noch bei 4.5, während kernel:head immer den aktuellsten und nicht gerade ausgetesteten enthält.
Der Nvidia-Treiber baut evtl. nicht gescheit unter Kernel 4.6 aus head.

Wie verhält es sich eigentlich mit der cc/gcc Entwicklungsumgebung hinsichtlich dem Bauen der Kernelmodule ?
Ich weiß von dem NVIDIA-Installer dass der voraussetzt dass die Kernelmodule mit der gleichen cc/gcc Version gebaut werden muss wie der Kernel.
42.1 hat ja die cc/gcc Version 4.8 installiert und ich kann mir gut vorstellen dass der 4.5 Kernel mit einer höheren Version, bestimmt 5.x, gebaut worden ist.

Hier mit openSUSE 13.2, kernel 4.5 läuft der Nvidia von heute, gestern, vorgestern usw.

Hallo,

der Kernel Upgrade hat funktioniert.
Kernel ist jetzt: 4.5.2-2.g0454a6e-default
Jedoch habe ich jetzt Probleme mit der Installation von Bumblebee, im speziellen mit bbswitch-kmp-default.
Ich verwende dazu das Repo http://download.opensuse.org/repositories/X11:/Bumblebee/Kernel_stable_default/
Wenn ich in diesem Repo das Paket “bbswitch-kmp-default” auswähle, bekomme ich einen Konflikt:

kernel-uname-r=4.5.1-5.g99697f1-default benötigt von bbswitch-kmp-default-0.8_k4.5.1_5g99697f1-24.140.x86_64 wird nirgends zur Verfügung gestellt.

Es scheint mir dass dieses Repo nicht mit dem Kernel-stable Repo gleich zieht und es so zu unterschiedlichen Versionen und nachfolgenden Konflikten kommt.
Interessant ist auch dass je nachdem in welcher Reihenfolge ich die Pakete im Bumblebee Repo auswähle, sogar der kernel-default-pv in der Version 4.1.2 installiert und aktiviert wird. Nicht zu fassen.

Habe es auf eine andere Weise hinbekommen.
Ich musste aufgrund der Abhängigkeit von bbswitch zu bbswitch-kmp, bbswitch-kmp installieren.
Wenn ich die Installation nicht aus dem Repo heraus anstarte, dann wird vom Paket “bbswitch-kmp” die Version zum Kernel 4.1.12 ausgewählt und installiert. Soweit so gut. Das installierte Kernel-Modul lies sich naturgemäß nicht laden.
Ich habe mir dann einfach das srcpackage dazu installiert und es mit dkms add->build->install gebaut und installiert.
Nach einem reboot war es dann auch geladen.

Was mich aber bei diesem ganzen manuellem Gefummel stört ist, dass ich den Pfad des Standards verlassen habe und das passt mir gar nicht.
Ich weiß nämlich nicht welche Probleme mich dann erwarten wenn irgendwelche Updates oder neue Kernelversionen reinkommen.

Wenigstens habe ich keine i915-bedingten Freezes mehr und muss deshalb auch das Intel-DRI nicht mehr deaktiveren.
Das war nämlich ein ganz schöner Showstopper.

Da kernel:stable von Tumbleweed abhängt, und dort anscheinend ein größerer Umbau ansteht, bauen zur Zeit keine Pakete gegen kernel:stable, daher ist da bumblebee-kmp noch auf der älteren Version…
Zitat:

[Sonntag, 24. April 2016] [18:58:16] <zaitor> Sauerland: Factory (Tumbleweed) is bootstrapping/doing a deep rebuild, Kernel:Stable depends on / builds against Factory -> hence your branch will also do that

Dies Problem hatte bzw. habe ich auch mit meinen Paketen, die gegen kernel:stable gebaut werden…

Si.

Gute Anlaufstelle ist da immer das nvidia-developer Forum.

https://devtalk.nvidia.com/default/board/98/

Passend zu 4.6-rcX wäre da zum Bleistift:

https://devtalk.nvidia.com/default/topic/926824/364-1-2-5-won-t-compile-against-latest-kernel-git-tree-patches-for-4-6-0-rc3-included-/

Vergleichbare Threads findet man dort immer kurz nach einem rc1-Release, meist mit den passenden Patches.