J'ai mis à niveau mon système Kubuntu (station de travail de bureau avec GPU Nvidia) plusieurs fois et j'utilise le pilote binaire nvidia. Récemment, après la mise à niveau vers 18.04 (bionique), je faisais face à un écran noir avec un curseur de souris après le démarrage. Apparemment, j'utilisais sddm et, en déboguant, j'ai trouvé /var/log/sddm.log
contenu
GREETER: Could not initialize GLX
J'ai également trouvé le message suivant plus détaillé utilisant journalctl -e -t sddm-greeter
:
Failed to create OpenGL context for format QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize 24, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize -1, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::SwapBehavior(DoubleBuffer), swapInterval 1, profile QSurfaceFormat::OpenGLContextProfile(NoProfile))
J'ai essayé de désinstaller et de réinstaller de nombreuses choses (par exemple, nvidia-driver-390
et tout ce qui concerne nvidia), puis je suis passé de sddm à lightdm. Maintenant, je pourrais me connecter, mais KDE ne démarrerait pas non plus correctement; le message est
Plasma is unable to start as it could not correctly use OpenGL 2. Please check that your graphics drivers are set up correctly.
Lorsque je lance manuellement Plasmashell et Krrner, je commence à obtenir un bureau utilisable, mais une session KDE très instable avec un clignotement fréquent et une fenêtre contextuelle.
Desktop effects were restarted due to a graphics reset
Question: Quelle peut être la cause de ces messages et comment dois-je continuer à en déboguer?
Voici quelques faits pertinents, à commencer par les plus suspects:
/etc/nvidia-container-runtime/config.toml
pour l'adapter à mon groupe propriétaire /dev/nvidia0
- .Sudo service lightdm restart
pour obtenir un écran de connexion.Les choses suivantes que j’ai vérifiées me paraissaient parfaitement bien:
glxgears
et certains autres programmes utilisant GL semblent fonctionner correctement.glxinfo
semble confirmer que j'utilise correctement le pilote nvidia (maintenant la version 410 du pilote graphique PPA) et que ma carte graphique est reconnue.nvidia-settings
semble également normal./var/log/Xorg.0.log
me semble normal./usr/share/sddm/scripts/Xsetup
exécute /sbin/prime-offload
, qui semble écrire "Désolé, mais votre configuration matérielle n'est pas prise en charge" dans /var/log/prime-offload.log
, et /var/log/prime-supported.log
contient "Pas de déchargement requis. Abandonner"Je pense que les questions suivantes concernent peut-être le même problème que moi, mais elles sont toutes non résolues et les descriptions ne correspondent pas parfaitement (cahier à ordinateur de bureau, par exemple). J'ai préféré commencer à partir de zéro et décider après (espérons-le) résoudre le problème s'il s'agit de doublons:
J'ai finalement trouvé le coupable: Les problèmes ont bien été causés par permissions erronées sur les fichiers /dev/nvidia*
! Ces fichiers appartenaient au groupe vglusers
dont je faisais partie. Cependant, apparemment, certains démons (comme colord, liés à sddm, probablement plus) ne faisaient pas partie de ce groupe et cela a posé problème. De plus, il n’ya aucune raison pour que ces fichiers ne disposent pas des autorisations par défaut.
Cependant, il était assez difficile de trouver une solution à ce problème, car chmod
/chgrp
fonctionnerait apparemment (selon ls -l
), mais les autorisations de ces périphériques seraient modifiées comme par magie lorsque Je les ai utilisés (par exemple lors du redémarrage de sddm).
A un moment dans le passé, j'avais virtualgl installé. La désinstallation qui (jadis) laissait deux fichiers de configuration, à savoir /etc/udev/rules.d/99-virtualgl-dri.rules
qui contenait
KERNEL=="card[0-9]", MODE="0660", OWNER="root", GROUP="vglusers"
et /etc/modprobe.d/virtualgl.conf
contenu
options nvidia NVreg_DeviceFileUID=0 NVreg_DeviceFileGID=1005 NVreg_DeviceFileMode=0660
J'ai enlevé les deux fichiers, lancé update-initramfs -u
afin de permettre aux options modifiées de prendre effet et ai fait delgroup vglusers
(qui était 1005, bien sûr).
J'espère que cela aidera d'autres personnes à l'avenir; Je passe (trop) de nombreuses heures à déboguer ça!