2 votes

Que signifie -1 pour modeset ? Quelles sont les autres options pour modeset ?

J'ai une idée approximative des paramètres de KMS :

Kernel mode-setting (KMS) shifts responsibility for selecting and setting up the
graphics mode from X.org to the kernel. When X.org is started, it then detects
and uses the mode without any further mode changes. This promises to make 
booting faster, more graphical, and less flickery.

et j'en déduis que nomodeset désactive cette fonction (je ne l'ai pas sélectionnée), ce qui renvoie vraisemblablement la responsabilité au module de la carte graphique ?

Quand je le fais cat /sys/module/i915/parameters/modeset J'obtiens -1 Qu'est-ce que cela signifie exactement ?

Examen

 modinfo i915 | grep modeset
parm:           modeset:Use kernel modesetting [KMS] (0=DRM_I915_KMS from 
.config, 1=on, -1=force vga console preference [default]) (int)

Il semble donc que cela signifie "force vga console preference", quoi que cela veuille dire...

3voto

Lekensteyn Points 162346

La documentation relative à la plupart des paramètres des modules est accessible à l'adresse suivante modinfo (lignes enveloppées pour plus de lisibilité) :

$ modinfo i915 | grep modeset
parm:           modeset:Use kernel modesetting [KMS] (0=DRM_I915_KMS from
                .config, 1=on, -1=force vga console preference [default]) (int)

En lisant le code source de Linux, il semble que la fonction -1 ("force vga console preference") dépend de l'option "force vga console preference". nomodeset option. En d'autres termes, si l'option nomodeset est présente, il agit comme i915.modeset=0 . Dans le cas contraire, si nomodeset est omis, il est traité comme si i915.modeset=1 est défini.


Chemin de code :

  • drivers/gpu/drm/i915/i915_drv.c (désactive modeset si le mode console texte est forcé) :

    if (vgacon_text_force() && i915_modeset == -1)
        driver.driver_features &= ~DRIVER_MODESET;
  • video/console/vgacon.c :

    static int vgacon_text_mode_force;
    
    bool vgacon_text_force(void)
    {
        return vgacon_text_mode_force ? true : false;
    }
  • (même dossier) :

    static int __init text_mode(char *str)
    {
        vgacon_text_mode_force = 1;
        return 1;
    }
  • (même fichier, défini par la ligne de commande du noyau) :

    /* force text mode - used by kernel modesetting */
    __setup("nomodeset", text_mode);

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X