Linux am Dienstag – Programm für den 7.3.2023

Linux am Dienstag dreht sich diesmal um UDP und DNS, und Gnome 44.

Linux am Dienstag – Programm für den 7.3.2023

am Dienstag, ab 19 Uhr haben wir u.a. im Programm:

  • Vortrag – Wat to Höllen is UDP? (Marius)
  • Vortrag – Fedora Testlauf Gnome 44
  • TMP – TPM 2.0 geknackt – Bios mit Schwachstellen
  • Krypto – 6 Milliarden Kapital von Binance abgezogen
  • Sicherheit – News Corp 2 Jahre von Hackern heimgesucht

und andere IT-Newsbeiträge aus aller Welt. Wie jede Woche per Videokonferenz auf https://meet.cloud-foo.de/Linux .Hinweis: Die bisherigen Vorträge findet man unter https://linux-am-dienstag.de/archiv/ .

NVIDIA: Durchbruch beim proprietären Nvidiatreiber \o/

Ihr erinnert Euch an diese Sache:

Fedora: Kernel 6.1.5 & 6.2.0.alpha ohne Nvidia Grafikkartensupport

NVIDIA: Durchbruch beim proprietären Nvidiatreiber \o/

Wie Ihr den Artikeln dazu entnehmen könnt, hatten einige Benutzer überhaupt keine Probleme mit dem proprietären Treiber von Nvidia, andere konnten nichts mehr sehen, weil der Bildschirm schwarz blieb.

In einer fast schon spektakulären Tag & Sonnenschein Aktion sind wir heute der Ursache endgültig auf die Spur gekommen und konnten den Kernel 6.1.5 , der ohne efifb / vesa Framebuffertreiber kompiliert wurde, erfolgreich booten, trotz Nvidia Treibern.

Das liegt darin, daß die Nvidia-Treiberversion 525.xx schon mit SimpleDRM Support ausgerüstet ist, und daher auch ohne efifb/vesa Support geladen werden kann. Ein Umstand, der sehr sehr lange in der Gemeinde für Frust und Wut über Nvidia gesorgt hat. „Emotionsgeladene Argumentationen“ wäre als Beschreibung völlig untertrieben, wenn Ihr mich fragt 😉

Wieso konnte man dann aber trotzdem nichts sehen?

Da Nvidiainstallationen nicht vom Baum fallen, sondern über die Zeit gewachsen sind und mit dem OpenSource Treiber nouveau nicht gleichzeitig genutzt werden können, muß man nouveau in der Kernel Command Line ausschalten und aktiv den Nvidiatreiber ansprechen.

Da sah bisher so aus:

nouveau.modeset=0 rd.driver.blacklist=nouveau modprobe.blacklist=nouveau nvidia-drm.modeset=1 initcall_blacklist=simpledrm_platform_driver_init

Wie Ihr sehen könnt, ist auch die simpledrm Factory abgeschaltet, so daß man efifb/vesa braucht. Lässt man initcall_blacklist=simpledrm_platform_driver_init weg, könnte man schon den 6.1.5 Kernel booten, würde aber erst beim Init von X was sehen, z.b. wenn GDM startet. Alles was im initramfs passiert, bleibt unsichtbar. Da in dieser Phase die Festplattenverschlüsselung nach dem Passwort fragt, muß man das blind eingeben oder ist aufgeschmissen. Das ist Erklärung #1 , wieso einige Benutzer von dem Problem nichts mitbekommen haben: Keine Festplattenverschlüsselung!

ein goldener Pinguin in einem technisch angehauchten Raum mit Glasboden und Monitoren reißt die Flügel hoch vor Freude.

erstellt mit: https://you.com – Stable Diffusion 2.1

Und so booten man normal mit dem 6.1.5 Kernel

Wie Ihr oben sehen könnt, steht in der Kernel Command Line noch mehr drin, nämlich: nvidia-drm.modeset=1

Und das ist der Grund, wie man im Initramfs nichts sehen kann, weil darüber auch efifb/vesa aktiviert wird, was nicht geht, weil es nicht mehr einkompiliert ist. Ergo, lassen wir auch diesen Eintrag weg und booten nur noch mit:

nouveau.modeset=0 rd.driver.blacklist=nouveau modprobe.blacklist=nouveau

und alles funktioniert \o/ Woher ich das weiß, weil ich es ausprobiert habe und Ihr seid die ersten, die das erfahren 🙂 Naja, fast, die Kernelgang von Redhat weiß es seit 15 Minuten 😉

$ uname -a
Linux charming.knuddelpc.de 6.1.5-100.fc36.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Jan 12 16:10:44 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
$ date -R
Tue, 28 Feb 2023 15:34:36 +0100

Aber wieso, waren einige gar nicht davon betroffen?

Weil neuere Installationen beim Eintragen in die Grub Default andere Kernelparameter eingetragen haben!

Das ist die Erklärung, wieso einige Benutzer von dem Problem nichts mitbekommen haben! Sie hatten einfach die richtigen Anweisungen in der Config stehen!

How To FIX!

Damit Ihr in Zukunft gewappnet seid, ändert Ihr als root die Datei /etc/default/grub und werft dort „nvidia-drm.modeset=1 initcall_blacklist=simpledrm_platform_driver_init“ komplett raus.

Dann könnt Ihr gelassen auf das nächste Kernelupdate warten, daß Euch eine neue Bootconfig baut. Deswegen extra eine zu erstellen ist nicht nötig, Ihr habt ja gerade ein Bild, oder? 😉

 

Fedora: Surface Pro4 – Alle Kameras aktivieren

Mit aktuellen Versionen kann man auf dem Surface leider nur die Frontkamera benutzen, weil es keine aktuelle Version der libcamera gibt. Dagegen können wir was tun 🙂

Fedora: Surface Pro4 – Alle Kameras aktivieren

So sieht die Lage mit Fedora 36/37 aus: eine Kamera wird gefunden:

$ cam -l
[0:05:27.848164503] [6689]  INFO Camera camera_manager.cpp:293 libcamera v0.0.0
[0:05:27.858714758] [6694] ERROR V4L2 v4l2_device.cpp:91 'dw9719 3-000c': Failed to open V4L2 device: No such file or directory
[0:05:27.858740688] [6694] ERROR CameraSensor camera_sensor.cpp:469 'ov8865 3-0010': CameraLens initialisation failed
[0:05:27.861316117] [6694] ERROR IPAProxy ipa_proxy.cpp:149 Configuration file 'ov5693.yaml' not found for IPA module 'ipu3'
[0:05:27.879853560] [6694]  INFO IPU3 ipu3.cpp:1204 Registered Camera[0] "\_SB_.PCI0.I2C2.CAMF" connected to CSI-2 receiver 1
Available cameras:
1: Internal front camera (\_SB_.PCI0.I2C2.CAMF)

Mithilfe einer Toolbox von Fedora 38 kann man das Problem elegant lösen:

$ toolbox run -c fedora-toolbox-38 cam -l
[0:09:59.333078254] [9755]  INFO Camera camera_manager.cpp:299 libcamera v0.0.4
[0:09:59.348749976] [9758] ERROR V4L2 v4l2_device.cpp:92 'dw9719 3-000c': Failed to open V4L2 device '': No such file or directory
[0:09:59.348766864] [9758] ERROR CameraSensor camera_sensor.cpp:518 'ov8865 3-0010': Lens initialisation failed, lens disabled
[0:09:59.353965879] [9758] ERROR IPAProxy ipa_proxy.cpp:149 Configuration file 'ov8865.yaml' not found for IPA module 'ipu3'
[0:09:59.374965036] [9758]  INFO IPU3 ipu3.cpp:1149 Registered Camera[0] "\_SB_.PCI0.I2C3.CAMR" connected to CSI-2 receiver 0
[0:09:59.376807578] [9758] ERROR IPAProxy ipa_proxy.cpp:149 Configuration file 'ov5693.yaml' not found for IPA module 'ipu3'
[0:09:59.396251750] [9758]  INFO IPU3 ipu3.cpp:1149 Registered Camera[1] "\_SB_.PCI0.I2C2.CAMF" connected to CSI-2 receiver 1
Available cameras:
1: Internal back camera (\_SB_.PCI0.I2C3.CAMR)
2: Internal front camera (\_SB_.PCI0.I2C2.CAMF)

QCAM – Beachtet die Selectbox

Und so macht man das

Zuerst erstellen wir eine Fedora38 Toolbox:

toolbox create -d fedora -r 38 && toolbox enter fedora-toolbox-38

danach installieren wir uns per DNF einfach Cheese und Libcamera:

dnf -y install cheese libcamera

und das wars 😀 So kann man jetzt direkt die Apps in der Toolbox starten:

toolbox run -c fedora-toolbox-38 cheese

Trägt man das in eine .desktop Datei ein und speichert das im Schreibtisch-Ordner, bekommt man das auch im Desktop angeklickt.