Skip to content
Tech News
← Back to articles

FIM – Linux framebuffer image viewer

read original get Linux Framebuffer Image Viewer → more articles
Why This Matters

FIM is a free, open-source Linux framebuffer image viewer that offers a lightweight way to display images directly on the Linux framebuffer. Despite its utility, it has known bugs and inconsistencies, highlighting ongoing challenges in developing reliable, cross-device graphical tools for Linux. Its reliance on specific device permissions underscores the importance of proper system configuration for optimal functionality.

Key Takeaways

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

fim has bugs. Please read the BUGS file shipped in the documentation directory to discover the known ones. There are also inconsistencies in the way the internal command line works across the different graphical devices.

This manual page is neither accurate nor complete. In particular, issues related to driver selection shall be described more accurately. Also the accurate sequence of autocommands execution, variables application is critical to understanding fim, and should be documented. The filename "<STDIN>" is reserved for images read from standard input (view this as a limitation), and thus handling files with such name may incur in limitations.

fim * | fim - # output the file names marked with ’m’ in fim to a second instance of fim, in which these could be marked again

fim -o fb also needs access to the linux console (i.e. /dev/ttyN) for sane console switch handling. That is obviously no problem for console logins, but any kind of pseudo tty (xterm, ssh, screen, ...) will not work.

fim -o fb needs read-write access to the framebuffer devices (/dev/fbN or /dev/fb/N), i.e you (our your admin) have to make sure fim can open the devices in rw mode. The IMHO most elegant way is to use pam_console (see /etc/security/console.perms) to chown the devices to the user logged in on the console. Another way is to create some group, chown the special files to that group and put the users which are allowed to use the framebuffer device into the group. You can also make the special files world writable, but be aware of the security implications this has. On a private box it might be fine to handle it this way through.

If using a gzipped font file, the zcat program is used to uncompress it (via execvp(3) ). If FBFONT is unset, the following files are probed and the first existing one is selected:

All of the key bindings are reconfigurable; see the default fimrc file for examples on this, or read the complete manual: the FIM.TXT file distributed with fim.

... continue reading