web-dev-qa-db-fra.com

Quelle est la différence entre les pilotes graphiques dans le noyau et les pilotes graphiques pour Xorg?

J'ai installé Kernel 4.15.0 mainline à partir de Kernel PPA , démarré un PC et installé une interface graphique minimale. Ensuite, j'ai vérifié ce qui était en cours d'exécution et j'ai remarqué que le pilote nouveau était en cours de chargement. Cependant, lors de l'installation de l'interface graphique, je n'ai pas explicitement choisi d'installer le package Ubuntu xserver-xorg-video-nouveau.

J'ai utilisé modinfo pour vérifier quel module était chargé et voici le résultat: /lib/modules/4.15.0-041500-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko

J'ai cherché le contenu du paquet fourni par Ubuntu dans le répertoire répertoire des paquets Ubunt et il répertorie ces fichiers:

/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

Et même si j'utilise clairement le pilote, je n'ai pas ce fichier dans mon système: /usr/lib/xorg/modules/drivers/nouveau_drv.so.

Alors, quelles sont les différences éventuelles entre ces deux fichiers?.

3
Uri Herrera

Différence entre deux fichiers

Les différences peuvent être trouvées à plusieurs niveaux. Pour cette réponse limitée, les différences de taille et d'application sont décrites.

Différences de taille

$ 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

Le module de noyau Nouveau est 16 fois plus grand que le pilote Xorg. Cela implique que le module du noyau en fait beaucoup plus.

Il y a pilotes Xorg supplémentaires certains systèmes (en particulier les ordinateurs portables) auront:

Dans Debian, les pilotes graphiques 2D du serveur X.Org sont emballés individuellement et sont appelés xserver-xorg-video - *. [7] Après l’installation, le fichier de pilote graphique 2D se trouve dans/usr/lib/xorg/modules/drivers /. Le paquetage xserver-xorg-video-nouveau installe nouveau_drv.so avec une taille de 215 Ko, le pilote propriétaire Nvidia GeForce installe un fichier de 8 Mo, appelé nvidia_drv.so ...

Le nvidia_drv.so est 37 fois plus grand que nouveau_drv.so.

Différences d'application

Le module kernel Nouveau est un fichier .ko et le pilote Xorg est un type de fichier .drv.so. Cette question demande quelle est la différence entre les deux types de fichiers. La meilleure réponse (IMO) dit:

En termes simples:

Les modules du noyau (ko) s'exécutent dans l'espace noyau, les modules utilisateur (donc) s'exécutent dans l'espace utilisateur.

Les espaces noyau facilitent (ou non) l'accès à une variété de fonctions que l'espace utilisateur ne permet pas.

Les modules du noyau sont toujours exécutés dans l'espace du noyau et peuvent geler le système en cas d'erreur ou d'erreur.

L'espace utilisateur est "protégé" et un module ou une application présentant des erreurs est moins susceptible de provoquer un crash du système.

4
WinEunuuchs2Unix