Fedora: „Nein, es ist keine Verschwörung die User zum HW Wechsel zu bekommen.“

Justin Forbes, einer der Hauptmaintainer für den Kernel, hat gerade die Sache mit dem Nvidia Treibern und den Kerneln 6.1.5/6 + 6.2.0rc1 aufgeklärt. Fedora wird also Nvidia nicht in die Schranken weisen 😉

Fedora: „Nein, es ist keine Verschwörung die User zum HW Wechsel zu bekommen.“

„Kleiner Fehler, große Wirkung“ das triffts wohl am besten 😀

Zwischenzeitlich hatte Leight Scott u.A. für Cinnamon, RPMFusion’s Nvidiatreiber und diverse andere wichtige Pakete verantwortlich, damit gedroht Fedora zu droppen. Das wäre ein schwerer Schlag für das Fedora Projekt geworden, aber wir haben da im Bugreport wohl etwas viel rein interpretiert. Der Bug ist offiziell geschlossen worden:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |CLOSED
         Resolution|---                         |NEXTRELEASE
        Last Closed|                            |2023-01-16 15:58:28

Der Kommentar dazu entlarvt uns dann als leicht hysterische Menschen, die da schon eine Fedora Verschwörung gewittert haben sollen. Wir lieben eben unser Fedora so wie es ist \o/

— Comment #42 from Justin M. Forbes —
This is not some conspiracy to get users to switch hardware. The simple explanation is nvidia’s driver is BROKEN. We know this, and as a result, we
carry a nasty hack to make things work. That hack is not, and never will be upstream, and we do not carry it in rawhide. Every rebase is an opportunity to
check and see if nvidia has fixed their driver. As you can see, they have not.

I had brought in the patch for the hack with 6.1.5, but forgot the config changes to make the hack work. Everything will be working with 6.1.7 when it
comes out this week. So no, it has nothing to do with my trying to force users to switch hardware. It is just more hope that nvidia will fix their driver.

@Justin: Alles Cool man, passiert halt 😀

Mit Kernel 6.1.7 ist dann alles wieder im Günen Bereich. Bis dahin habt Ihr ja noch 6.0.18 zur Verfügung.

Fedora: Kernel 6.1.5 & 6.2.0.alpha ohne Nvidia Grafikkartensupport

Wer eine Nvidia Grafikkarte im PC hat und von Fedora die aktuellen Kernel 6.1.5 bis 6.2.0.alpha booten will, erlebt nur einen schwarzen Bildschirm. Die Ursache ist menschlich, aber uncool.

Fedora: Kernel 6.1.5 & 6.2.0.alpha ohne Nvidia Grafikkartensupport

Egal ob Fedora 36 , 37 oder Rawhide, die derzeitigen Kernel booten einen PC mit Nvidiagrafikkarte zwar, aber man hat leider kein Bild mehr. Wie Leight Scott recht schnell rausgefunden hat, haben die Kernelmaintainer entweder vergessen den EFIFB Support nicht mit einkompiliert, was das VT Switching unmöglich macht, oder es absichtlich abgeschaltet.

Dominik ‚Rathann‘ Mierzejewski fand dann heute morgen die Ursache in der zugrundeliegenden Kernelconfig bestätigt:

2023-01-16 07:35:53 UTC :

On F37, I can see this:
$ grep FB_EFI /boot/config-6.0.15-300.fc37.x86_64
CONFIG_FB_EFI=y
$ grep FB_EFI /boot/config-6.1.5-200.fc37.x86_64
# CONFIG_FB_EFI is not set

So, Scott is right.

Leight Scott’s eigentliche Aussage ist aber weniger schön, denn das passierte offensichtlich nicht zum ersten mal:

leigh scott 2023-01-15 22:40:53 UTC

VT switching is broken.

It looks like the kernel devs have forgotten to compile efifb support for 6.1.x stable release again! 🙁

Wie sich (sprichwörtlich) gerade eben herausgestellt hat, ist auch der VESA Support im Kernel 6.1.5 von Fedora abgeschaltet worden:

6.1.5:

# CONFIG_FB_VGA16 is not set
# CONFIG_FB_UVESA is not set
# CONFIG_FB_VESA is not set
# CONFIG_FB_EFI is not set

6.0.18:

# CONFIG_FB_IMSTT is not set
# CONFIG_FB_VGA16 is not set
# CONFIG_FB_UVESA is not set
CONFIG_FB_VESA=y
CONFIG_FB_EFI=y
# CONFIG_FB_N411 is not set

Die einzig entscheidende Frage ist, ob es die Maintainer im Fedoraprojekt übersehen haben, oder ob das als ‚Vorgabe‘ von kernel.org kam.Bis das behoben ist, müßt ihr lediglich einen alten Kernel in Grub auswählen, wenn Ihr das noch könnt.

What is efifb?

This is a generic EFI platform driver for systems with UEFI firmware. The system must be booted via the EFI stub for this to be usable. efifb supports both firmware with Graphics Output Protocol (GOP) displays as well as older systems with only Universal Graphics Adapter (UGA) displays.

Quelle: https://www.kernel.org/doc/html/latest/fb/efifb.html

 

Leider schafft es grubby nicht mehr, den Defaultkernel so zu setzen, daß der durch BLS auch wirklich geladen wird. Im BLS versucht man zu erkennen, welcher Kernel erfolgreich geladen wird und sollte das scheitern, wird automatisch ein anderer genommen. Funktioniert hat das bei mir jedenfalls noch nie und jetzt auch nicht, weil der Kernel per se bootet, man kann sogar in Runlevel 3 kommen, nur sieht man nichts, aber das zählt halt nicht als Boot-Fail 😉

Update 14:44 Uhr

Im entsprechenden Bugreport ist eine hitzige Diskussion im Gange über das warum, und es war doch Absicht. Eigentlich sollte das schon zum Start von Fedora 36 passieren, weil glatt jemand dachte, er könnte Nvidia dazu zwingen seine Prop Treiber apimäßig zu aktualisieren. Das das voll nach Hinten losgehen würde, so wie es das jetzt tut, war ja eigentlich klar.

Was wird passieren, wenn Fedora Kernel den Support für Nvidia Karten einstellt? Na was wohl?  „Format c:\“ natürlich,  um mit einer Windowsmetapher zu arbeiten 😉 Da sucht man sich eine Distro, die das unterstützt und Fedora verliert 1/3 seiner User, wenn nicht mehr. Es gibt ja schliesslich nur 3 Hersteller.

Fedora und das Packagekit Offline Update

Vor einigen Releases hat Fedora ein neues Updateverhalten via Packagekit eingeführt, das verdächtig nach „Windows macht das auch so“ stank. Wie grottig das wirklich laufen kann, kommt unten in Bild & Schrift.

Fedora und das Packagekit Offline Update

Um es gleich mal vorweg zu schicken: Ich bin pro Fedora und achte das, was die da auf die Beine stellen.

Aber nur weil man es mag, muß man nicht mit allem einverstanden sein und die Änderung des Updateverhaltens durch Packagekit’s „Offline Update“ ist eine der Sachen die ich nicht unterstützen kann. Damit Ihr Euch ein Bild von der Sache machen könnt, habe ich da mal was abgelichtet.

Ich bitte die schlechte Bildqualität zu entschuldigen, aber Screenshots sind an der Stelle im Bootvorgang nicht vorgesehen 😉

Gestern

Gestern war ich mit meinem Surface bei einem Kunden. Während ich da gearbeitet habe, hat sich Packagekit mit Updates versorgt, diese aber nicht eingespielt. ich hab es nur gemerkt, weil ich das Bandbreitenwidget im Gnome habe, das plötzlich hektisch aktiv wurde.

Heute morgen

schalte ich mein Tablet ein, weil ich für den nächsten Artikel was testen wollte. Es kommt die Kernel Auswahl, es kommt die Passwortabfrage für LUKS und dann passiert es:

Bitte fahren Sie den Computer nicht runter!

Größtenteils weiß man nicht mal, was da aktualisiert wird.

Es lief ein Offline-Update von Packagekit 🙁 Nicht 10 Sekunden, nicht 30 Sekunden, nicht eine Minute, nicht fünf Minuten, nein, für knappe acht Minuten war das Geräte vollständig blockiert. Weil ein neuer Kernel installiert worden war, mußten auch alle AKMOD Module für alle Kernels neu gebaut werden. Und dann … gingen die Lichter aus und blieben aus.

Achtet mal auf die Zeiten vom packagekit-offline-update.service

Anstatt das Update einzuspielen und durchzubooten, wurde das Tablet danach einfach abgeschaltet. Kommentarlos übrigens 🙁

Wie Ihr oben in den Bildern und hier sehen könnt:

wird einem nicht mal erzählt, was da aktualisiert wurde. Ab und zu blitzt mal ein Name durchs Display, aber das wars dann auch schon.

Per DNF aktualisiert, gibt es ein Logfile, in dem ganz genau drin steht, wann was von welcher Version auf welche neue Version aktualisiert wurde. Da DNF das Update nicht gemacht hat, ratet mal …

Natürlich gibt es von PackageKit auch einen Logeintrag. Den kann man sich aber so nicht ansehen, weil man dazu den GPK Logger aufrufen muß: gpk-log

Das ist ultimativ toll, wenn man von dem Tool noch nie etwas gehört hat, oder? Ein grep über /var/log bringt einem nämlich nur die Einträge von DNF, die zum Packagekit Paket gehören, wenn DNF das updated 😀

Die Krönung des Ganzen

war dann der Umstand, daß ich sowieso noch ein Update vorhatte, um den neuen Surfacekernel einzuspielen. Dazu mußten einige alte LUA Paket entfernt werden, damit das Update überhaupt stattfinden konnte. Als dann das Update endlich ging, war schon wieder ein neuer normaler Kernel verfügbar, der dann natürlich auch alle Kernel-Module neu bauen mußte.

Fazit

Das offline-update ist in diesem Fall lästig und überflüssig gewesen, weil beim nächsten Start schon neue Pakete zur Verfügung standen. Der Sinn und Zweck davon, es beim BOOTEN durchzuziehen, erschließt sich ohnehin nicht, weil für ein Kernelupdate die Kernelmods neugebaut werden müssen und damit die dann auch benutzt werden, muß man ohnehin rebooten, was „Packagekit Offline-Update“ dann ja auch, mit wenig Erfolg, gemacht hat.

Da kann man es doch auch gleich beim Runterfahren installieren, oder??? Dann kann man am nächsten Tag wenigstens sofort arbeiten.

Lösung

Wie bekommen wir das weg?

systemctl disable packagekit packagekit-offline-update
systemctl mask packagekit

„Wir sehen uns wieder, wenn Du wieder vernünftiger geworden bist.“ Denn natürlich gibt es einen Grund, wieso man nicht einfach so GB!weise Daten zieht, nur weil man eine Internetanbindung hat.