Frame buffer en bash

Bonjour, je sais que l’on peut utiliser le frame buffer pour afficher ce que l’on veut en bash, par exemple :
sudo cat /dev/urandom > /dev/fb0
remplit le frame buffer avec des pixels de couleurs aléatoires, comment pourrais-je afficher 1 pixel de la couleur de mon choix, au milieu sans mapper l’ensemble ?
Dis autrement, peut-on accéder à une adresse mémoire du frame buffer à partir du bash pour y mettre une valeur ?
Merci

hello,
peut être avec fim ? au moins pour repérer le pixel…

source :
https://www.nongnu.org/fbi-improved/#tutorial_vim

Réponse, FBI !? RaspberryPi, Display Image from Command line on HDMI Port - Raspberry Pi Forums

Merci pour vos réponses, mais non ce n’est pas ce que je cherche.

en appelant en bash un programme en C . quelques exemples là:
http://www.pinon-hebert.fr/Knowledge/index.php/Frame_Buffer

Merci pour votre réponse, mais cela ne correspond pas à ma demande : du bash

peut être en modifiant ce script:

a condition que tu l’adaptes aux paramètres du `framebuffer de ton Rpi (framebuffer_width, framebuffer_height, framebuffer_depth …)

source:

Merci pour votre réponse mais cela ne correspond pas à ma demande, je cherche un adressage directe à la mémoire du frame buffer en bash, donc pas de mappage.

je ne pense pas m’avancer en disant que hormis une lecture, une modification et une réécriture du framebuffer, bash ( comme les autres shell) n’offre pas de commande d’écriture directe sur une adresse mémoire.

source:
http://manpagesfr.free.fr/man/man1/bash.1.html

merci bof, ça répond en partie à ma question, ce n’est pas possible en bash seul apparement. Dans ce cas, existe t’il un soft qui permettrait de le faire ? Avec hexdump et devmem il est possible de lire une adresse en ram, mais pour écrire je n’ai pas trouvé.

le problème ce n’est pas que d’écrire en ram mais surtout trouver l’adresse de début et la taille du framebuffer.
ça pourrait se faire en modifiant le programme de la page http://www.pinon-hebert.fr/Knowledge/index.php/Frame_Buffer " Acces à la mémeoire" en remplaçant la partie « draw »

// draw...
       // just fill upper half of the screen with something
       memset(fbp, 0xff, screensize/2);
       // and lower half with something else
       memset(fbp + screensize/2, 0x18, screensize/2);

par

memset(fbp+?, 0x00, ?);

avec

memset(fbp + 8000, 0x00, 48);

sur mon Rpi :

random $ fbset -s

mode "1920x1080"
    geometry 1920 1080 1920 1080 16
    timings 0 0 0 0 0 0 0
    accel true
    rgba 5/11,6/5,5/0,0/0
endmode

ça trace 3 pixels sur 3*16 , un seul, je le voyais pas :sunglasses:

une explication de memset en source

source :