Je ne sais pas si c'est le seul moyen possible, mais j'ai lu que pour mettre un seul pixel sur l'écran à un endroit de votre choix, il fallait écrire quelque chose dans un endroit appelé framebuffer. Je suis donc devenu curieux, s'il est possible d'entrer dans cet endroit et d'y écrire quelque chose afin d'afficher un seul pixel quelque part sur l'écran.
linux
console
graphics
framebuffer
Abdul Al Hazred
la source
la source
Réponses:
oui, en dehors de X-server, en tty, essayez la commande:
si des pixels colorés remplissent l'écran, votre configuration est correcte et vous pouvez essayer de jouer avec ce petit script:
où la fonction 'pixel' devrait être une réponse ... écrire un pixel à l'écran en changeant les valeurs d'octets (bleu-vert-rouge-alpha) sur le décalage xy du périphérique / dev / fbX qui est le tampon de trame pour la carte vidéo.
ou essayez un dessin de pixel de ligne (jaune sur x: y = 200: 100, si la largeur est 1024):
MISE À JOUR: ce code fonctionne même à l'intérieur de X-server, si nous configurons simplement X pour utiliser le tampon de trame . en spécifiant fb0 dans /usr/share/X11/xorg.conf.d/99-fbdev.conf
la source
dd
ce qui a souvent été appelé "Disk Destroy" pour des raisons spécifiques ... ne vous approchez pas de ces commandes sauf si vous savez ce que vous faites .../dev/fbX
et/dev/fd
c'était juste une faute de frappe. Et oui,dd
c'est dangereux mais ça l'est aussirm
. Cela ne signifie pas qu'il ne devrait pas être utilisé. Cela signifie simplement qu'il doit être utilisé avec soin./dev/fb0
plus de sens! Tout le monde sait ce que celarm
signifie, maisdd
est un peu plus obscur, pense toujours qu'il devrait porter un avertissement de santé.Je viens de poster ce matin, toujours en train de chercher pourquoi cela ne fonctionne que sur Raspberry Pis. https://www.raspberrypi.org/forums/viewtopic.php?f=72&t=213964&p=1428891#p1428891
Ouvrez / dev / fb0, mmapez-le pour obtenir un pointeur, et c'est beaucoup plus rapide. N'utilise pas du tout X mais il ignorera volontiers X, c'est juste quelque chose à l'écran.
Oh, à partir d'une ligne de commande, en quelque sorte, vous pouvez écrire dans / dev / fb0. Mais tout ce que vous écrivez à l'offset 0 sera dans le coin supérieur gauche afin qu'il défile immédiatement hors de l'écran. Vous pouvez faire une boucle for dans Bash et écrire quelques milliers de fois. Ou utilisez / dev / urandom. Détruire ce qui se trouve dans le tampon d'écran, surtout pendant que vous êtes en X, n'est pas grave. Dès que vous faites glisser une fenêtre sur la zone, X provoque un événement d'exposition et le repeint. Vous n'avez pas besoin de tuer le pouvoir pour récupérer.
la source