Sample Header Ad - 728x90

Relationship between framebuffer and a tty

1 vote
1 answer
2926 views
A framebuffer is a device file which allows for a simplified interface to the screen. For example running the below code on a RaspberryPi with a HDMI display connected:
cat /dev/urandom > /dev/fb1
There are commands (fbi, fim) which allow for injecting full images into the framebuffer. There are multiple resources on the internet ([ref1](https://www.linuxquestions.org/questions/linux-software-2/run-fbi-as-a-systemd-service-4175643447/) , [ref2](https://yingtongli.me/blog/2016/12/21/splash.html) , [ref3](https://stackoverflow.com/questions/46143476/why-does-fbi-not-show-splash-image-during-system-startup)) trying to more or less succesfully explain how to add make a systemd service which will result in an image on the screen. A common thread in those resources is the mentioning tty together with the framebuffer. (i.e. both fbi and fim have options to pass them a tty). --- My assumption was that a tty is a separated concept from a framebuffer. The tty uses the framebuffer to output content to a user, but the framebuffer isn't in any way tied to a tty. Is there a hidden relationship behind a tty and a framebuffer which could explain why commands to print images to a framebuffer seem to depend on a tty?
Asked by TheMeaningfulEngineer (6220 rep)
May 31, 2022, 01:07 PM
Last activity: May 31, 2022, 04:49 PM