RT kernel + Xorg

Résolu
Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
J'ai la dernière debian (stretch), et j'ai téléchargé le noyau temps réel.
Problème lorsque je démarre ma machine dessus, le serveur X ne se lance pas. Il met comme erreur qu'il ne trouve pas d'ecran ou d'affichage.
J'ai une carte Nvidia, avec normalement le pilote NVIDIA.
Je ne comprend pas ce qu'il se passe merci.



--
Un peuple prêt à sacrifier un peu de liberté pour un peu de sécurité ne mérite ni l'une ni l'autre, et finit par perdre les deux.
Char Snipeur

7 réponses

  1. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    Salut.
    J'ai enfin un peu de temps et de courage à me recoller à ça.
    Alors, il n'y a pas autant de nvidia dans le noyau rt que dans le noyau normal dans le résultat de "find /lib/module |grep nvidia".
    Du coup j'ai essayé de recompiler avec
    dkms -k 4.9.0-6-rt-amd64 -m nvidia-current -v 375.85 build

    https://groups.google.com/forum/#!homeredirforum/#!topic/linux.debian.bugs.dist/3kHakZ1ste4
    Mais il me demande des linux-headers, que j'ai installé.
    Depuis il y a la même chose pour les deux noyaux dans /lib/module.
    le modprobe nvidia semble fonctionner.
    J'ai reussi à lancer startx en root. Reste à régler le problème de se connecter en user...
    1
  2. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Bonjour,

    Dans ton cas il faut choisir si tu veux utiliser le pilote propriétaire (nvidia) ou le pilote libre (nouveau). Si tu ne joues pas, nouveau devrait faire parfaitement l'affaire.

    nvidia

    Modifie
    /etc/apt/sources.list
    pour activer les dépôts
    non-free
    et
    contrib
    , par exemple à l'aide de nano :

    sudo nano /etc/apt/sources.list


    Exemple :

    deb http://ftp.fr.debian.org/debian/ stretch main contrib non-free
    deb https://www.debian.org/security/ stretch/updates main contrib non-free


    Ensuite lance :

    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get install nvidia-kernel-dkms xserver-xorg-video-nvidia


    (ou
    nvidia-legacy-304xx-kernel-dkms
    si ta carte est ancienne, voir
    aptitude show nvidia-kernel-dkms
    et
    aptitude show nvidia-legacy-304xx-kernel-dkms
    pour voir les cartes supportées).

    Puis redémarre pour tester.

    nouveau

    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get install xserver-xorg-video-nouveau


    Puis redémarre pour tester.

    Bonne chance
    0
  3. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    Bonjour,
    merci de ta réponse. Je tenterai ça.
    Néanmoins, j'aimerai comprendre, lorsque je lance Debian avec le noyau normal, il n'y a pas de souci, le pilote nvidia est parfaitement installé. C'est uniquement lorsque je lance le noyau Real Time que le souci se produit.
    Donc, le paquet nvidia non-free est déjà installé. Il faut que je l'installe à nouveau, mais en ayant chargé sur le noyau RT ? Il ne va pas vouloir faire ça. Si ?
    Merci de ton aide.
    0
    1. Itdaboyz Messages postés 358 Date d'inscription   Statut Membre Dernière intervention   97
       
      Le driver propriétaire nvidia installe un module de kernel : dkms-nvidia
      Ton nouveau kernel ne l'a probablement pas. Tu peux vérifié ça en chargeant le driver graphique "nouveau" ou via une connexion ssh et en utilisant la commande lsmod | grep nvidia
      0
  4. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Bonjour,

    Normalement le fait d'installer
    nvidia-kernel-dkms
    construit le module pour tous les noyaux installés. Tu peux vérifier en cherchant
    nvidia.ko
    dans
    /lib/modules
    :

    find /lib/modules | grep nvidia.ko


    Mais comme je le disais, à moins que tu joues avec des "gros" jeux 3D (e.g. starcraft 2), je te conseille plutôt de désinstaller le pilote nvidia au profit du pilote nouveau.

    Tu peux également essayer de voir lequel est chargé avec
    lsmod
    .

    lsmod | grep nvidia
    lsmod | grep nouveau


    Si aucun n'est chargé, essaye d'en charger un avec modprobe et regarde les éventuels messages d'erreur. En root ou précédé de
    sudo
    :

    modprobe nvidia
    dmesg | tail


    ... puis relance le mode graphique :

    sudo service lightdm restart


    ... en admettant que tu utilises lightm. Si tu utilises un autre gestionnaire de connxion remplace
    lightdm
    par le tien, e.g.
    sddm
    ,
    xdm
    , etc. Si tu ne sais pas duquel il s'agit, tu peux retrouver cette information avec
    ls /etc/init.d/*dm
    .

    Bonne chance
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    Merci à vous deux, je comprend un peu mieux le problème maintenant.
    Je fais des jeux, donc, Nvidia.
    Reste à voir si je peux l'installer sur le noyau RT. Sinon, ça sera nouveau, mais j'aimerai garder le pilote NVIDIA sur le noyau classique. Mais est-ce facilement faisable d'utiliser un xorg.conf ou l'autre en fonction du noyau ?
    0
  7. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Bonjour,

    Le plus simple serait de virer nvidia.ko du dossier /lib/modules qui correspond au kernel pour lequel il plante. Ensuite il y a jeu et jeu. Essaye déjà de voir si le résultat n'est pas acceptable avec nouveau.

    Dernière chose, demande-toi si tu as vraiment besoin d'un noyau temps réel. Normalement un tel noyau n'est utile que pour des besoins très spécifiques.

    Bonne chance
    0
    1. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
       
      Oui j'ai besoin du noyau RT pour avoir une faible latence. Je branche ma basse à l'ordinateur, sans noyau RT j'ai quelques XRUN pour une latence de 20ms (c'est déjà bien). Avec le noyau RT, aucun XRUN...

      Dans l'idéal, j'aimerai pouvoir booter sur mon noyau classique avec le pilote NVIDIA
      Et booter sur le noyau RT avec un pilote qui me permet une résolution HD (en tout cas, supérieure au 640*480 du VESA), que ça soit NVIDIA, nouveau ou autre.
      0
    2. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
       
      Ok effectivement rt est requis dans ce genre de cas. Nouveau permet d'avoir une résolution digne de ce nom. Reste à déterminer si tu as vraiment besoin du pilote nvidia. À quel genre de jeux joues-tu ?
      0
  8. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Bonjour,

    Sous debian il n'y a même aucun
    nvidia.ko
    de base dans
    /lib/modules
    : c'est un module propriétaire, que tu installes traditionnellement avec :
    sudo apt-get install xserver-xorg-video-nvidia
    .

    Tout le nécessaire à la compilation de
    nvidia.ko
    est installé automatiquement. Cela inclue notamment le paquet
    nvidia-kernel-dkms
    ). Comme tout modules, celui-ci requiert le compilateur et les headers qui correspondent au noyau que tu es en train d'utiliser (paquet
    linux-headers-$(uname -r)
    , etc...) qui sont également automatiquement installés par dépendance de paquets.

    De nos jours, il n'y a de plus rien à configurer au niveau de xorg pour que celui-ci sache quel pilote utiliser. Par défaut, il tentera d'utiliser
    nvidia
    , le cas échéant il se rabattra sur
    nouveau
    , et sinon sur un pilote encore plus basique (e.g;
    vesa
    ). La seule exception à cette règle est si tu as deux cartes graphiques (e.g. une carte nvidia pour la performance et une carte intel pour la performance), dans ce cas un utilitaire comme
    bumblebee
    peut être intéressant, mais laissons ça de côté pour le moment.

    Une fois que tout ceci est fait, le serveur graphique devrait démarrer normalement. Il ne faut pas lancer de session grpahique en root comme tu l'as fait. C'est très mauvais d'un point de vue sécurité, et ça me surprend même qu'il t'ait laissé faire. Si ton pilote nvidia est installé, ton gestionnaire de connexion graphique (e.g. sddm, lightdm, etc...) devrait se lancer correctement (En root :
    service sddm restart
    ). Si celui-ci s'affiche, c'est que tout est ok concernant le pilote. Le cas échéant il faudrait regarder les éventuelles erreurs dans
    /var/log/Xorg.0.log
    , par exemple avec la commande
    grep EE /var/log/Xorg.0.log
    .

    Ensuite il ne reste plus qu'à t'identifier avec ton utlisateur normal depuis ton gestionnaire de connexion graphique...

    Bonne chance
    0