it-swarm.com.de

Was ist der Unterschied zwischen Grafiktreibern im Kernel und Grafiktreibern für Xorg?

Ich habe Kernel 4.15.0 mainline von Kernel PPA installiert, einen PC hochgefahren und eine minimale GUI installiert. Danach überprüfte ich, was lief und stellte fest, dass der nouveau -Treiber geladen wurde. Als ich die GUI installierte, wählte ich jedoch nicht explizit die Option zum Installieren des Ubuntu-Pakets xserver-xorg-video-nouveau.

Ich habe modinfo verwendet, um zu überprüfen, welches Modul geladen wurde, und dies ist die Ausgabe: /lib/modules/4.15.0-041500-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko

Ich habe den Inhalt des von Ubuntu bereitgestellten Pakets im Verzeichnis buntu packages directory durchsucht und die folgenden Dateien aufgelistet:

/usr/lib/xorg/modules/drivers/nouveau_drv.so /usr/share/bug/xserver-xorg-video-nouveau/script /usr/share/doc/xserver-xorg-video-nouveau/NEWS.Debian.gz /usr/share/doc/xserver-xorg-video-nouveau/README.Debian /usr/share/doc/xserver-xorg-video-nouveau/changelog.Debian.gz /usr/share/doc/xserver-xorg-video-nouveau/copyright /usr/share/man/man4/nouveau.4.gz

Und obwohl ich eindeutig den Treiber verwende, habe ich diese Datei nicht in meinem System: /usr/lib/xorg/modules/drivers/nouveau_drv.so.

Was sind die Unterschiede zwischen diesen beiden Dateien?.

3
Uri Herrera

Unterschied zwischen zwei Dateien

Unterschiede gibt es auf vielen Ebenen. Für diese begrenzte Antwort werden die Größen- und Anwendungsunterschiede beschrieben.

Größenunterschiede

$ ll /usr/lib/xorg/modules/drivers/nouveau_drv.so
-rw-r--r-- 1 root root 221200 Jul  6  2017 /usr/lib/xorg/modules/drivers/nouveau_drv.so
$ ll /lib/modules/4.14.20-041420-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko
-rw-r--r-- 1 root root 3646510 Feb 16 15:53 /lib/modules/4.14.20-041420-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko

Das Kernel-Nouveau-Modul ist 16-mal größer als der Xorg-Treiber. Dies impliziert, dass das Kernelmodul viel mehr kann.

Es gibt zusätzliche Xorg-Treiber einige Systeme (insbesondere Laptops) haben:

In Debian sind die 2D-Grafiktreiber für den X.Org-Server einzeln gepackt und heißen xserver-xorg-video - *. [7] Nach der Installation befindet sich die 2D-Grafiktreiberdatei unter/usr/lib/xorg/modules/drivers /. Das Paket xserver-xorg-video-nouveau installiert nouveau_drv.so mit einer Größe von 215 KB, der proprietäre Nvidia GeForce-Treiber installiert eine 8 MB große Datei namens nvidia_drv.so ...

Der nvidia_drv.so ist 37-mal größer als nouveau_drv.so.

Anwendungsunterschiede

Das Kernel-Nouveau-Modul ist eine .ko-Datei und der Xorg-Treiber ist ein .drv.so-Dateityp. Diese Frage fragt nach dem Unterschied zwischen den beiden Dateitypen. Die beste Antwort (IMO) lautet:

Laien ausgedrückt:

Kernel-Module (ko) werden im Kernel-Space ausgeführt, Benutzermodule (so) im User-Space.

Kernel-Spaces ermöglichen (oder nicht) den Zugriff auf eine Vielzahl von Funktionen, die der User-Space nicht bietet.

Kernel-Module werden immer im Kernel-Space ausgeführt und können das System einfrieren, wenn sie fehlerhaft oder fehlerhaft sind.

Der Benutzerraum ist "geschützt" und ein fehlerhaftes Modul oder eine fehlerhafte App kann das System weniger zum Absturz bringen.

4