7 votes

Comment faire une capture d'écran de ce qui est actuellement dans le vram ?

Je suis un artiste qui se concentre spécifiquement sur les problèmes et les erreurs et j'essaie actuellement de trouver un moyen de créer des images comme les suivantes este qui ont été faites en prenant des captures d'écran de ce qui est actuellement dans le vram. Est-il possible de faire cela sous Linux/Ubuntu ? Si oui, comment ?

4voto

johanvdw Points 1001

Le vidage du contenu de la VRAM ne devrait pas fonctionner depuis l'espace utilisateur. Il faudrait un support du pilote dans le noyau. Si vous avez de la chance, votre pilote peut contenir des déclencheurs pour vider la mémoire, mais ils ne sont disponibles que si vous compilez certaines options de débogage.

1voto

joshuadfranklin Points 31

J'ai remarqué un problème intéressant sur ma machine qui produit des résultats de glitch art esthétiquement plaisants, bien que ce ne soit pas aussi direct ou utile qu'une capture brute de VRAM.

J'utilise gnome-mplayer - bien que tout logiciel dérivé de mplayer devrait faire l'affaire - avec le module de sortie vidéo accéléré au niveau matériel vdpau pour le matériel graphique nvidia (relativement récent). J'ai dû obtenir une version de mplayer compatible avec vdpau à partir d'un PPA avec la 10.04 mais je pense qu'elle est prête à l'emploi avec la 10.10.

Le problème se produit lorsque vous entrez ou quittez le mode plein écran avec une vidéo en pause. La fenêtre sera remplie de merveilleux déchets, de morceaux aléatoires de tout ce qui se trouvait récemment dans la mémoire vidéo : vidéo, morceaux d'interface utilisateur, graphiques 3D si vous jouiez à un jeu. Tout est déversé dans la fenêtre, quelle que soit sa taille.

Dès que vous lancez la lecture de la vidéo, il disparaît car le contenu de la fenêtre est continuellement actualisé. Mais j'ai fait plusieurs captures d'écran des moments où elle fait quelque chose de particulièrement intéressant.

Je ne suis pas un expert en programmation graphique, mais il me semble qu'il serait assez facile d'écrire un programme OpenGL qui utilise (mal) les pointeurs pour récupérer un tas d'informations dans la mémoire vidéo, puis les restituer à l'écran ou sur une image sur disque.

Si vous voulez, je peux trouver des exemples que j'ai capturés quand je serai chez moi.

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