# gentoo-sources-5.7.6 - Erfahrungsbericht

## ManfredB

Hallo zusammen,

bisher habe ich diesen Kernel noch nicht installiert bzw. als ich ihn installiert hatte,

konnte ich die nvidia-drivers nicht nutzen.

Heute habe ich mit der Hilfe meiner binpkgs einmal gentoo-unstable in wenigen Stunden komplett installiert.

Vom Desktop dieser Installation schreibe ich diese Zeilen.

Wie bin ich vorgegangen?

Natürlich komplett nach dem WIKI.

In /etc/portage/make conf habe ich bei 

VIDEO_CARDS=nouveau

eingetragen und bei der Kernel-Konfiguration mit genkernel darauf geachtet,

daß NOUVEAU angekreuzt bleibt (bei "nvidia" muss das alles entfernt werden).

Warum ich diesen Test gemacht habe?

Weil ich wissen wollte, wie sich dieser ganz neue Kernel nutzen lässt.

Fazit: mit dem nouveau-Treiber überhaupt kein Problem,

mit den nvidia-drivers in der bestehenden Version Fehlanzeige.

Das ist nun meine erste Komplett-Installation mit diesem neuesten Kernel

Inzwischen ist ja zwischen 5.6.15 und 5.7.0 noch 5.6.16 nachgeschoben worden.

Gentoo-sources - wohlgemerkt.

Die Gentoo-Kernel enden mit 5.6.16 - 5.7.0 gibt es noch nicht.

Wer eine NVIDIA-Grafikkarte hat, sollte entweder auf 5.7.0 verzichten

oder auf den nouveau-Treiber setzen.

Wie es sich mit anderen Grafik-Karten ergibt, kann ich nur für INTEL sagen,

diese Grafikkarte habe ich in meinem Acer-Notebook.

Nur werde ich dort auf eine gentoo-sources-Konfiguration verzichten.

Ich nutze da nur gentoo-kernel-bin.

Vielleicht haben ja einige unter den Leserinnen/Lesern noch andere Grafikkarten

und können ihre Erfahrungen mit gentoo-sources-5.7.0 hier beitragen.

Jedenfalls wünsche ich allen gute Erfahrungen,

Gruß

ManfredLast edited by ManfredB on Thu Jun 25, 2020 5:21 pm; edited 2 times in total

----------

## Tyrus

Hallo Manfred.

Ich finde deine Erfahrungsberichte wirklich sehr intressant und lese immer mit. Mal ein Danke dafür, das du das alles hier niederschreibst.  :Smile: 

Wegen noveau vs nvidia.

Ich hatte als ich den Rechner damals zuerst in Betrieb genommen hatte zuerst auch versucht noveau als Treiber zu nutzen. Aber die Karte wurde damals bei mir noch nicht unterstützt.

Also hab eine NVIDIA GeForce GTX 1050 Ti hier. 

Seit dem hab ich es nie wieder versucht ... aber ehrlich gesagt hatte ich auch nie einen Grund dafür. Ob ich nun erst noch ein paar Patches länger warten muss bei der neuen Kernel 5.7er Version oder nicht, so schlimm find ich das nicht. Die neue Treiberversion für nvidia wird sicher bald kommen. Die letzen Male wo die Kernelversion angehoben wurde hat es so aus dem Bauchgefühl raus immer vielleicht 5 oder 6 Patches gedauert und ich konnte auch wechseln. Die Zeit bis dahin seh ich als Stabilisierungsprozess für die neue Kernelversion an.

Was mich intressieren würde wäre wie weit sich der Wechsel zu noveau als Treiber auswirkt auf die Performance bei dir - ich muss sagen ich spiele gelegentlich auch mal gerne was ... *grins*

Dazu als Anregung kannste hier mal lesen: https://www.phoronix.com/scan.php?page=article&item=nvidia-nouveau-2019&num=1Last edited by Tyrus on Sat Jun 06, 2020 7:47 pm; edited 2 times in total

----------

## firefly

Generell macht nur der nvidia eigene treiber probleme für den rest (intel/AMD) sind die treiber im kernel enthalten und daher gibt es damit keine Probleme

----------

## ManfredB

Hallo Tyrus,

auf meinem Rechner ist die gleiche NVIDIA-Grafikkarte wie bei dir.

Mit dem nouveau-Treiber habe ich null Probleme, kann alles machen,

was ich für nötig erachte.

Kein Flimmern, Zittern oder Ausfall, wenn ich zB einen Film über Zattoo anschaue,

oder per chroot eine andere Gentoo-Installation aktualisiere.

Ehrlich gesagt: wenn nouveau bei mir Probleme verursachen würde, kämen

sofort nvidia-drivers dran.

Nur daß die eher Probleme machen, denn es gibt - wenn ich das System

aktualisieren will, x Konflikte mit Programmen, die an nvidia scheitern.

Nur so viel zu meinen Erfahrungen.

Gruß

Manfred

----------

## ManfredB

Hallo zusammen,

erstaunlich ist, daß vor ein paar Tagen in einem Update von ArchLinux

kernel 5.7.2 installiert wurde und nvidia-Treiber 4.82-2 dazu.

Aus dieser Erfahrung heraus habe ich gehofft, daß bei gentoo der neueste Treiber auch kommt.

Doch hier dauert es immer etwas länger.

Das ist keine Kritik, sondern nur eine Feststellung.

Ich kann auch warten, habe wegen nouveau ja keine Probleme.

Gruß

Manfred

----------

## firefly

schau mal auf bugs.gentoo.org nach. Falls es einen patch gibt mit denen 440.82 mit kernel 5.7 funktioniert wird man ihn eventuell dort finden.

PS: Hier ist der entsprechende bug report. https://bugs.gentoo.org/726688

Bitte lies die aber die kommentare von Jeroen Roovers durch denn dort wird beschrieben wieso so ein patch in gentoo nicht eingepflegt wird.

----------

## ManfredB

Ich habe es tatsächlich geschafft mit diesem path und ./nvidia-installer.

Zuvor musste ich allerdings den installierten nvidia-Treiber deinstallieren.

Und nun kommt das Hauptproblem:

Das System muss aktualisiert werden, doch nun wird nvidia-drivers erneut installiert,

was meine Installation ja wieder kaputt macht.

Wenn ich nun --exclude nvidia-drivers eingebe, bekomme ich kein Update,

weil xorg-drivers und xorg-server darauf angewiesen sind.

Was kann ich nun machen?

Damit ist wohl nun alles ausgebremst?

Gruß

Manfrred

----------

## firefly

nope nicht den nvidia eigenen installer verwenden...

sondern nur via ebuild!! Sonst machst du nur dein system kaputt.

Lies dir mal ein in das feature user patches ein. Damit bekommst du den patch angewendet

----------

## ManfredB

Jetzt verstehe ich es nicht richtig:

/etc/portage/make.conf  VIDEO_CARDS="nvidia"

Normal wird nvidia-drivers-4.82-r3 installiert, doch mit 5.7.2 scheitert es.

Verstehe ich dich richtig, daß ich den patch für diesen Treiber nutzen soll

und nicht ./nvidia-installer?

Ehrlich gesagt verwirrt mich die Bug-Seite mit den vielen englischen Aussagen vollkommen.

Kannst du mir einmal Schritt für Schritt darlegen, wie ich vorgehen soll, damit das gelingt?

Vielen Dank im vorhinein.

Gruß

Manfred

----------

## Josef.95

Manfred,

ja den manuell via ./nvidia-installer am Paketmanager (portage) vorbei installierten Treiber solltest du am besten wieder restlos entfernen (vermutlich gibt es da auch ein uninstaller Script zu)

Dann danach, emerge -1 xorg-server bitte (wenn ich mich recht erinnere überschreibt der manuelle ./nvidia-installer einige files vom xorg-server Paket -- daher bau den am besten neu).

Dann, zum nvidia-drivers Paket installieren -- folgendes sollte vermutlich funktionieren: 

```
# mkdir -p /etc/portage/patches/x11-drivers/nvidia-drivers-440.82

# cd /etc/portage/patches/x11-drivers/nvidia-drivers-440.82

# wget -O kernel-5.7.patch https://gitlab.com/snippets/1965550/raw

# emerge -av1 ~nvidia-drivers-440.82
```

 (ungetestet -- ich warte eher lieber aufs neue kompatible nvidia-drivers release :))

----------

## ManfredB

Hallo Josef.95!

Ganz herzlichen Dank, daß du mir das noch einmal genau erklärt hast.

Ich bin gerade dabei, eine Neuinstallation durchzuführen.

In der chroot-Umgebung findet gerade das große Update statt.

Kernel-Installation kommt erst danach.

Dann werde ich es noch einmal versuchen, und zwar so, wie ich es jetzt

gut verstanden habe.

Der Versuch in der bestehenden Installation hat einige Merkwürdigkeiten mit sich gebracht.

Vor allem, wie ich schon beschrieben habe, verhindert es ein normales Update.

In der Neuinstallation wird mir das nicht mehr passieren.

Frage ist nur noch: gcc-9.3.0 oder gcc-10.0 mit gentoo-sources-7.20?

Ansonsten werde ich - wie immer - genau nach dem WIKI vorgehen.

Liebe Grüße

Manfred

P.S. ich teste sowieso nur - meine Gentoo-Installationen mit 5.6.18 sind alle perfekt, die rühre ich in diese Richtung nicht an.

----------

## ManfredB

Erfolg!!!

Es hat geklappt - ohne irgendeine Fehlermeldung.

Nun kann die Neuinstallation weitergeführt werden.

Ich sage noch einmal herzlichen Dank und große Anerkennung

für die Hilfe, die ich hier erfahren habe.

Gruß

Manfred

----------

## ManfredB

Nächster Erfolg:

Ich habe auch die schon bestehende Installation wieder hinbekommen.

Updates funktionieren einwandfrei.

Gruß

Manfred

----------

## platinumviper

 *Josef.95 wrote:*   

> (ungetestet -- ich warte eher lieber aufs neue kompatible nvidia-drivers release )

 

Das mache ich normalerweise auch, aber hin und wieder nervt Nvidia schon extrem. Ihnen wurde ein sehr simpler Patch zur Verfügung gestellt, sie haben ihn auch akzeptiert, bringen aber keinen neuen Treiber heraus. Inzwischen hat der alte Stable-Kernel 4.6 das EOL erreicht, für den aktuellen Stable-Kernel gibt es aber immer noch keinen Treiber, der ungepatcht funktioniert.

Grummel.

PS: Wegen CUDA muss es Nvidia sein.

----------

## ManfredB

Hallo zusammen,

am 25. Juni 2020 erscheint gentoo-kernel-bin-5.7.6.

Außerdem neue nvidia-drivers-450.51.

Nun bin ich sehr gespannt, ob dieser neue Treiber für 5.7.6 geeignet ist.

Allerdings nutze ich - wenn ich nvidia als Grafikkarte in /etc/portage/make.conf angegeben habe -

gentoo-sources-5.7.6.

Im Moment läuft gerade nach

make olddefconfig

make

Dieser Prozess braucht sehr lange, aber das spielt für mich keine Rolle.

Nächste Schritte:

make install

make modules_install

emerge --ask verbose @module-rebuild (wobei ich hier eher vermute, daß die schon vorhandenen nvidia-drivers genutzt werden)

Andernfalls könnte ich ja

emerge --ask nvidia-drivers

eingeben.

Zum Schluß:

genkernel --install initramfs.

Ich melde mich wieder, wenn der Prozess durchgelaufen ist.

Gruß

ManfredLast edited by ManfredB on Thu Jun 25, 2020 5:21 pm; edited 1 time in total

----------

## ManfredB

Fazit:

emerge --ask --verbose @module-rebuild

bringt den Treiber 440.51 und installiert ihn fehlerfrei.

Damit ist also das Problem mit nvidia und neuestem Kernel gelöst.

Gruß

Manfred

----------

## platinumviper

 *ManfredB wrote:*   

> 
> 
> Im Moment läuft gerade nach
> 
> make olddefconfig
> ...

 

Statt olddefconfig solltest du (ausgehend von der letzten sinnvollen .config) oldconfig benutzen, sonst handelst du dir eine ganze Menge Kram ein, den du nicht benötigst und eventuell gar nicht haben möchtest. Ebenso entgehen dir Funktionen und Module, die du eigentlich willst, die aber per default deaktiviert sind.

Statt "make" solltest du "make -j<Anzahl Thread * 2>" nehmen, das geht erheblich schneller und ist ein recht guter Kompromiss zwischen maximaler Geschwindigkeit und Speicherverbrauch. Mein sehr betagter Entwicklungsrechner mit einer i7-4930K CPU (6 Kerne, 12 Threads) und 64GiB RAM kompiliert den aktuellen Kernel 5.7.6 n knapp 4 Minuten (-j24), bei höheren Werten geht es eine Weile schneller, wird dann aber wieder langsamer, mit "-j1024" dauert der Vorgang 4 Minuten 22 Sekunden und es werden ca. 45 GiB RAM belegt. Beim anschließenden "sudo make O=$KBUILD_OUTPUT modules_install install" spielt der "-j"-Parameter keine Rolle, da werden ja nur Dateien kopiert.

"emerge -av @module-rebuild" baut die aktuell installierten Module in ihrer aktuellen Version neu, nicht in der Version, die gerade installiert ist. Dabei berücksichtigt es die Sourcen, die unter "/lib/modules/source/" zu finden sind, nicht an den Sourcen des laufenden Kernels, die unter "/lib/modules/$(uname -r)/source" zu finden sind.

----------

## Tyrus

@Manfred:

'make olddefconf' nutze ich auch. Wenn du die Änderungen jede einzelne im Detail durchackern willst dann ist 'make oldconfig' sicher gut.

Wenn du aber sowieso ohne tiefere Kenntnisse die Defaulteinstellungen wählst, weil es eben die  empfohlenen Einstellungen sind, dann kannst du sehr leicht 

```

diff .confg.old .config

```

ausführen, nachdem make olddefconfig fertig ist.

Oder wenn du es besser lesbar willst

```

scripts/diffconfig .config.old .config

```

Dann wird dir genau gezeigt was und wieviel sich ändert.

Nachlesen kann man dann immernoch.

----------

## ManfredB

Vielen herzlichen Dank für diese Erklärungen!

Ich lerne gerne immer noch dazu, vor allem, was die Kernel-Updates und ihre Konfiguration angeht.

Die von mir benannten Schritte habe ich in diesem Forum gelernt, aber eure Darstellungen lese ich sozusagen als Update mit Verbesserungen und Tempofortschritten.

Das kommt im Moment genau richtig, denn ich bin erst gestern zum erstenmal mit 5.7.6 zusammengekommen und habe sehr viel Zeit verbraucht.

Heute werde ich also eure Vorschläge umsetzen: ich freue mich sehr, wenn es deutlich schneller geht.

Liebe Grüße

Manfred

----------

## ManfredB

Hallo platinumviper!

Ich werde hier später von meinem PC die Daten einstellen mit der Bitte,

daß du mir noch einmal deine Tempo-Einstellungen mit Blick auf meinen PC empfielst.

Ich will nämlich keinen Fehler machen und dann den PC schrotten  :Smile: .

Danke schon einmal im voraus.

Gruß

Manfred

----------

## ManfredB

Hier das Ergebnis von inxi -F:

```

System:    Host: gams_a15 Kernel: 5.7.5-gentoo-x86_64 x86_64 bits: 64 Desktop: KDE Plasma 5.19.2 

           Distro: Gentoo Base System release 2.7 

Machine:   Type: Desktop System: CSL- & KG product: A0000001 v: N/A serial: PCCSL2018038241 

           Mobo: ASUSTeK model: TUF B450-PLUS GAMING v: Rev X.0x serial: 180937167304657 UEFI: American Megatrends v: 0409 

           date: 08/24/2018 

CPU:       Topology: 6-Core model: AMD Ryzen 5 2600 bits: 64 type: MT MCP L2 cache: 3072 KiB 

           Speed: 1376 MHz min/max: 1550/3400 MHz Core speeds (MHz): 1: 1378 2: 1447 3: 1391 4: 1455 5: 1456 6: 1379 7: 1377 

           8: 1382 9: 1377 10: 1380 11: 1379 12: 1471 

Graphics:  Device-1: NVIDIA GP106 [GeForce GTX 1060 6GB] driver: nvidia v: 440.82 

           Display: x11 server: X.org 1.20.8 driver: nvidia unloaded: modesetting resolution: <xdpyinfo missing> 

           OpenGL: renderer: GeForce GTX 1060 6GB/PCIe/SSE2 v: 4.6.0 NVIDIA 440.82 

Audio:     Device-1: NVIDIA GP106 High Definition Audio driver: snd_hda_intel 

           Device-2: Advanced Micro Devices [AMD] Family 17h HD Audio driver: snd_hda_intel 

           Sound Server: ALSA v: k5.7.5-gentoo-x86_64 

Network:   Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet driver: r8169 

           IF: enp3s0 state: up speed: 1000 Mbps duplex: full mac: 40:b0:76:0b:96:a6 

Drives:    Local Storage: total: 8.64 TiB used: 996.07 GiB (11.3%) 

           ID-1: /dev/sda vendor: Samsung model: SSD 860 EVO 500GB size: 465.76 GiB

Partition: ID-1: / size: 19.56 GiB used: 11.98 GiB (61.2%) fs: ext4 dev: /dev/sda15 

           ID-2: swap-1 size: 14.77 GiB used: 0 KiB (0.0%) fs: swap dev: /dev/sdd1 

Sensors:   Missing: Required tool sensors not installed. Check --recommends 

Info:      Processes: 289 Uptime: 4m Memory: 15.62 GiB used: 565.4 MiB (3.5%) Shell: bash inxi: 3.0.38

```

Gruß

Manfred

----------

## ManfredB

Ich muss noch etwas ergänzen:

Meine gentoo-sources (beim ersten wohlgemerkt) habe ich per genkernel konfiguriert.

Erst die Updates sind nach der Methode mit make usw. konfiguriert worden,

Ich vermute, daß daher die Länge von make kommt.

Denn ich habe vermutlich viel zu wenig bei der Konfiguration mit genkernel deaktiviert,

darum ist das alles so umfangreich und dauert so lange.

Ich bitte um Entschuldigung, daß ich das bisher nicht erwähnt habe.

Der Grund für Nutzung von genkernel: ich habe davor - das ist schon viele Jahre her -

einige Tests gemacht mit der WIKI-Anleitung bei der Kernel-Konfiguration.

Doch wenn ich danach den Rechner neu gestartet habe, kamen Fehlermeldungen

und ich landete nie auf dem Desktop, manchmal noch nicht einmal auf tty.

Das alles hängt mit meinen zu geringen Kenntnissen über Hardware-Details zusammen,

die ich im Kernel berücksichtigen muss.

Gruß

Manfred

----------

## ManfredB

Ich habe nun einen Test durchgeführt:

cd /usr/src/linux

make oldconfig

make -j 6  - Dauer: 20 Minuten - deutlich schneller als bisher.

make install

make modules_install

emerge --ask --verbose @module-rebuild

genkernel --install initramfs.

Fazit:

Alles hat funktioniert: neuester Kernel - neueste nvidia-drivers-440.51.

Gruß

Manfred

----------

## Josef.95

ManfredB,

beachte bitte das die nvidia-drivers-450.51 Version der brandneue Beta-Treiber ist. Dieser wird vermutlich noch einige Bugs haben.

Wenn du eher die stable upstream (Current long-lived branch release) Version möchtest, dann würde ich eher zur neuen nvidia-drivers-440.100 Version greifen (ja, diese Version ist nun auch mit Linux 5.7 kompatibel).

Vorschlag für ein package.accept_keywords Eintrag :) --> 

```
echo "x11-drivers/nvidia-drivers:0/450 -~amd64" >> /etc/portage/package.accept_keywords/misc
```

Schaue dazu zb auch im https://forums.developer.nvidia.com/t/current-graphics-driver-releases/28500

----------

## ManfredB

Hallo Josef.95,

ich kann nur wieder vielen Dank sagen, daß du mich auf diesen Punkt aufmerksam gemacht hast.

Zwar habe ich bisher noch keinerlei Fehler bemerkt mit 440.51, aber sicher gehen möchte schon,

was kein Problem darstellt, wenn ich genau das mache, was du geschrieben hast.

Ich bin dir sehr dankbar, daß du genau dann erscheinst, wenn ich an einer schwierigen Stelle stehe

und möglicherweise abstürzen könnte  :Smile: .

Es ist eine Freude, in diesem Forum so gut unterstützt zu werden.

dafür spreche ich an dieser Stelle einmal ein großes Lob aus.

Liebe Grüße

Manfred

----------

## Tyrus

Das Unified Memory kernel module (nvidia-uvm) macht noch Ärger bei mir. Also ich  bin bei Version x11-drivers/nvidia-drivers-440.100 geblieben. Damit klappt es sauber.

Version nvidia-drivers-450.51 mit USE=uvm macht bei mir:

```

[...]

/var/tmp/portage/x11-drivers/nvidia-drivers-450.51/work/kernel/nvidia-uvm/uvm8_va_space_mm.c: In function ‘uvm_mmu_notifier_register’:

/var/tmp/portage/x11-drivers/nvidia-drivers-450.51/work/kernel/nvidia-uvm/uvm8_va_space_mm.c:256:16: error: implicit declaration of function ‘__mmu_notifier_register’; did you mean ‘uvm_mmu_notifier_register’? [-Werror=implicit-function-declaration]

  256 |         return __mmu_notifier_register(&va_space_mm->mmu_notifier, va_space_mm->mm);

      |                ^~~~~~~~~~~~~~~~~~~~~~~

      |                uvm_mmu_notifier_register

/var/tmp/portage/x11-drivers/nvidia-drivers-450.51/work/kernel/nvidia-uvm/uvm8_va_space_mm.c: In function ‘uvm_mmu_notifier_unregister’:

/var/tmp/portage/x11-drivers/nvidia-drivers-450.51/work/kernel/nvidia-uvm/uvm8_va_space_mm.c:261:9: error: implicit declaration of function ‘mmu_notifier_unregister’; did you mean ‘clk_notifier_unregister’? [-Werror=implicit-function-declaration]

  261 |         mmu_notifier_unregister(&va_space_mm->mmu_notifier, va_space_mm->mm);

      |         ^~~~~~~~~~~~~~~~~~~~~~~

      |         clk_notifier_unregister

[...]

```

Also da warte ich noch erstmal ...

PS:

Kernel ist jetzt auch die aktuelle 5.7.6er Version.

PPS:

Der Fehler von nvidia-drivers-450.51 mit USE=uvm tritt auch mit Kernel 5.6.19 auf.

----------

## ManfredB

Danke auch für diese Hinweise.

Ich werde jetzt in meinen Gentoo-Installationen dafür sorgen, daß 440.100 drankommt.

Die andere Version werde ich in package.mask unterbringen.

Gruß

Manfred

----------

## Ionen

Forgive my english but opened bug #729928 about this with the cause explained.

----------

## Josef.95

@Ionen

Good found -- thank you :)

----------

