J'ai un conteneur docker à partir duquel j'essaie d'exécuter une application pyqt. Tout fonctionne bien, sauf un morceau de l'interface graphique n'est pas en mesure de rendre. Les journaux docker jettent ceci:Erreur libGL: impossible de charger le pilote swrast dans le conteneur docker
libGL error: failed to load driver: swrast
X Error: GLXBadContext 169
Extension: 154 (Uknown extension)
Minor opcode: 6 (Unknown request)
Resource id: 0x6400003
X Error: BadValue (integer parameter out of range for operation) 2
Extension: 154 (Uknown extension)
Minor opcode: 3 (Unknown request)
Resource id: 0x0
...
QGLContext::makeCurrent(): Failed.
Dans mon Dockerfile, j'ai essayé d'installer à peu près tous les paquets que je pouvais trouver qui pourraient être liés, y compris mesa-utils
.
En ce qui concerne le fichier docker-Compose, voici à quoi il ressemble:
version: '2'
services:
gui:
build: .
volumes:
- .:/usr/src
- /tmp/.X11-unix:/tmp/.X11-unix
command: /bin/bash -c "python start.py"
environment:
- DISPLAY=unix$DISPLAY
- QT_X11_NO_MITSHM=1
devices:
- "/dev/snd:/dev/snd"
- "/dev/dri:/dev/dri"
privileged: true
Toutes les idées que je pourrais être absent?
Fun one. Je suppose que le problème est que le noyau n'a peut-être pas les pilotes dont il a besoin. Personnellement, je n'ai jamais essayé de faire travailler le docker dans un environnement graphique, alors ce n'est qu'une spéculation de ma part. avez-vous confirmé que le noyau hôte a un pilote vidéo chargé? IIRC, swarst est pour le rendu logiciel, ce qui signifie qu'il n'utilise pas le GPU matériel. –