[HN Gopher] FIM - Linux framebuffer image viewer
       ___________________________________________________________________
        
       FIM - Linux framebuffer image viewer
        
       Author : Mr_Minderbinder
       Score  : 133 points
       Date   : 2026-04-17 07:20 UTC (15 hours ago)
        
 (HTM) web link (www.nongnu.org)
 (TXT) w3m dump (www.nongnu.org)
        
       | sylware wrote:
       | Should it be DRM nowdays?
        
         | whizzter wrote:
         | I think the framebuffer devices is a least common denominator
         | that is available on even miniscule or emulated hardware whilst
         | anything above thats starts requiring a whole lot more
         | infrastructure.
         | 
         | And honestly, you don't need much more for an image viewer.
        
           | antisol wrote:
           | This is exactly right - you can get a framebuffer on just
           | about anything, including pretty much any video card made
           | since about 1990, and also more fun things like the little
           | i2c display that your toaster has. No need to restrict
           | relatively simple software like fbi/fim to running on less
           | hardware by using drm.
        
             | anthk wrote:
             | I used to play videos with the framebuffer just fine and
             | read PDF's with fbpdf2, among watching TV with fbtv and the
             | like. I didn't miss nearly anything, as most games under
             | SDL1/2 can render into FB with                     export
             | SDL_VIDEODRIVER=fbcon
             | 
             | or                     export SDL_VIDEODRIVER=kmsdrm
             | 
             | And tons of games too, such as Supertux2, Crispy Doom,
             | SDLQuake, FreeCiv-SDL...
        
               | antisol wrote:
               | another fun one if you're in an exotic situation and
               | don't have a framebuffer (or if you just want to have
               | some fun by making your games to look worse):
               | 
               | export SDL_VIDEODRIVER=aalib
               | 
               | unfortunately it's only SDL1, though
        
               | capitainenemo wrote:
               | export SDL_VIDEODRIVER=caca is more usable for games
        
               | antisol wrote:
               | Oh nice! How did I not know it works with caca?!
        
               | capitainenemo wrote:
               | Works pretty well even. I wish there was a libchafa
               | variant, and ideally for SDL2.
               | 
               | I've even played SC2, The Ur-Quan masters fairly
               | successfully in an ssh session that way. And Frozen
               | Bubble.
        
               | sylware wrote:
               | This is what I meant: kmsdrm.
        
         | written-beyond wrote:
         | I shudder when I read DRM after building a embedded display
         | raspberry pi build. There was a problem with Raspberry pi
         | kernel incorrectly detected an HDMI display was connected even
         | though I was trying to display to DSI. The only work around I
         | had was to write a kernel module that would disable HDMI as a
         | possible interface.
        
       | mnkylikeskbd wrote:
       | Related to this are the (rather poorly named _) kitty terminals
       | graphics protocol:https://sw.kovidgoyal.net/kitty/graphics-
       | protocol/
       | 
       | _ Yeah it is playful and all, but telling your colleagues to use
       | "kitty" doesn't sound very professional. You might disagree with
       | this, but that doesn't change the overall perception and general
       | take in corporate world.
        
         | roer wrote:
         | The graphics protocol might be relevant, but I fail to see how
         | the rest of your comment is.
        
         | opan wrote:
         | The name "kitty" is nothing compared to the attitude and crimes
         | of the dev (destroying bitmap support and telling people to buy
         | new monitors). I will never use, support, or recommend kitty.
        
           | moritonal wrote:
           | Interesting you say the Dev isn't a great person, because I
           | had a hunch when I saw the use of the Lena photo on the front
           | page (https://pursuit.unimelb.edu.au/articles/it-s-time-to-
           | retire-...). It's interesting how small gestures present how
           | someone sees the world.
        
             | miki_oomiri wrote:
             | Man... you guys are ruthless. The dude provides a free tool
             | to use, and used a cute named, have opinions about code,
             | and used the most common used photo on his webpage, and
             | suddenly he gets insulted on a public forum by strangers.
             | He's not perfect. Nobody is. He has opinions, and might not
             | even know about Lenna.
             | 
             | You people are gross.
        
               | patates wrote:
               | As a reply to this comment:
               | 
               | > Interesting you say the Dev isn't a great person,
               | because I had a hunch when I saw the use of the Lena
               | photo on the front page
               | 
               | You say:
               | 
               | > you guys are ruthless (...) You people are gross.
               | 
               | I'm not saying you don't have a point. I didn't know
               | enough to be sensitive on the Lena topic once either, and
               | could have been the target of the above comment. So I
               | think, perhaps, those could have been formulated more
               | constructively.
               | 
               | However, I must say the same for your comment too. Can't
               | we all be friends here? :)
        
               | fc417fc802 wrote:
               | > I didn't know enough to be sensitive on the Lena topic
               | once either
               | 
               | It's reactionary nonsense, there's nothing to be
               | sensitive about. The subject of the photograph merely
               | went along with it.
               | 
               | There are legitimate arguments against using it as a
               | technical benchmark in this day and age but that isn't
               | what people get outraged over.
               | 
               | My personal view is that the correct response to
               | strangers trying to score social points by policing
               | other's conduct is to defiantly do the opposite.
        
               | redeeman wrote:
               | nothing wrong with using that photo, some people just
               | have to chill out. its like people crying snot over
               | master branches
        
             | hagbard_c wrote:
             | Sure, you can 'see' how 'someone sees the world' just by
             | him or her not abiding to the current narrative. You _do_
             | realise that the  'Lena' image has been the standard image
             | for these purposes for decades and that some people might
             | not consider the (politically charged) crusade to suddenly
             | ban it from all such use as being the most pressing issue?
             | 
             | I think what you wrote here says more about how _you_ see
             | the world than how Goyal sees it.
        
               | moritonal wrote:
               | You're right my comment was off the cuff but I stand by
               | it's logic. I didn't say Kovid was a terrible person,
               | just not great. Having not done research into him
               | specifically I just noted with the parent that certain
               | qualities such as supposed abrasiveness often overlap
               | with qualities I dislike, like using the Lenna image.
               | 
               | My point is that using the Lenna image is a signal, just
               | as you rightly point out so is my comment. I know exactly
               | what the image is and is used for. But I also think it's
               | sad that it's politically charged to say using a Playboy
               | image in a literally objectifying fashion as a test-
               | subject by a women who's requested we don't use it is
               | bad.
               | 
               | It's not a sudden ban, it's been an issue since ~2015.
               | Fun fact I learnt in this, Goyal is totally open to
               | changing it
               | (https://github.com/kovidgoyal/kitty/issues/661), it's
               | simply no-one changed it. I'll see if I can, thanks for
               | the correct call-out.
        
               | hagbard_c wrote:
               | Using the 'Lena' image is only a signal for those who
               | want to signal something. For most people it is just the
               | standard graphic to use when presenting image processing
               | software. There has been a movement to ban the image but
               | that movement is most likely not nearly so widespread as
               | some people seem to think it is. It wholly depends on
               | which 'bubble' you are in whether using that image is a
               | deadly sin or just daily routine. I suspect Goyal used it
               | in the latter way, not to send some signal to the Image
               | Inquisition.
        
               | moritonal wrote:
               | I want to point out some of the language you've used.
               | You've brought up "current narrative", "crusade", "sin"
               | and "inquisition", when really you seem to be saying "the
               | image doesn't signal anything and the push to remove it
               | is overblown". I disagree with you (for example IEEE has
               | banned it) but I do respect you believe the actual
               | movement that disagrees with is small but influential.
               | 
               | Instead however I would ask you look at the words you
               | used, where they came from, who said them to you, and why
               | you brought them up here. They are strangely charged
               | words for a debate over a picture.
        
               | joquarky wrote:
               | https://en.wikipedia.org/wiki/Sealioning
        
               | redeeman wrote:
               | > for example IEEE has banned it
               | 
               | yeah, so that tells us a lot about the yes-men at IEEE. I
               | wonder what other current-thing they will follow when it
               | suddenly becomes politically convenient.
        
               | blipvert wrote:
               | Well, it's good to know that it's not just women that you
               | think are unable to make their own decisions.
        
               | prmoustache wrote:
               | > using a Playboy image
               | 
               | In all honesty, until I read about that I couldn't have
               | imagined the original was a playboy image. What is really
               | used and we see online is a cropped portrait of a playboy
               | image. I am not even sure that playboy image may have
               | been pornographic. Nudity != porn. What is sure is that
               | cropped portrait is not in any way pornographic.
               | 
               | So I kind of have difficulties on drawing opinions about
               | that. Surely the model doesn't have any copyright on that
               | photo, rather the photographer/publisher have and
               | apparently nobody has cared. I would not use it today out
               | of empathy given the model would rather not see her image
               | still being used today and how easy it is to replace it.
               | I feel that consent is above copyright laws.
               | 
               | I have mixed feeling about the argument that the presence
               | of that totally non pornographic portrait would make
               | women feel less welcomed in science. On one hand I would
               | say that if they say so, that could be true. On another
               | hand I would ask if these women really are representative
               | of all women? Does it really matters? Should we avoid
               | posting picture of portraits and stick to animals or
               | still life scenes? And if not why should we avoid only
               | women ones?
        
               | moritonal wrote:
               | Personally I consider the crop part of the problem. By
               | cropping (rather than just picking another image) it
               | "cleans" the image, but retains the context. I could crop
               | many images to be valid as test-images, but people who
               | know the context would still see them for what they are.
               | Lenna represents a time when the highest quality magazine
               | at hand in a laboratory was softcore pornography.
        
           | gbin wrote:
           | A crime?! Please people I don't even know what happened here
           | but removing some bitmap support is a crime now for a
           | maintainer of an open source piece of code? You are not happy
           | with the project then where is your fork so we can assign
           | some crimes to you and get out of our way to not recommend
           | it? (Note: I am not affiliated at all with the project and I
           | don't even know what happened but you really need to take a
           | breather, no one forced you to use kitty)
        
             | opan wrote:
             | >where is your fork
             | 
             | Luckily there are better terminal emulators out there, such
             | as foot, so a fork is not necessary.
        
             | dirasieb wrote:
             | hyperbole exists
        
         | bschwindHN wrote:
         | Did you just... make a new account just to say the word "kitty"
         | is "unprofessional"?
        
         | Chaosvex wrote:
         | Wait until you find out about Git.
        
           | mnw21cam wrote:
           | Yeah, but that one's ok because it's just named after the guy
           | who wrote it.
        
             | rlopezcc wrote:
             | Ah yes, renowned Git Torvalds.
        
             | ZephyrP wrote:
             | The SCO lawsuit erased the original contributions of 'Git
             | "Linus" Torvalds', few know this.
        
           | sophacles wrote:
           | What do you mean? There's some problem with the old english
           | word for "you two"?
           | 
           | When did dual forms become problematic?
        
         | dspillett wrote:
         | As much as there are issues people have with kitty's
         | creator/maintainer, which are easy to search for so I'll not
         | reiterate them, choosing a slightly cutesy name is hardly a
         | massively unprofessional act. It isn't like it is called
         | Completely Uncomfortably Named TTY or similar... If you are so
         | uptight that you can't cope with the word "kitty" being used to
         | refer to a protocol, then maybe call it "kay-eye-tee-tee-why"
         | instead?
         | 
         |  _> but that doesn 't change the overall perception and general
         | take in corporate world._
         | 
         | It may come as a shock to you, but many don't really care about
         | the feelings of the corporate world, away from our day jobs.
         | Heck, some of us struggle to care _in_ our day jobs! Luckily my
         | corporate overlords and immediate management are not quite so
         | sensitive.
        
         | debazel wrote:
         | Good. More open source tools should be unappealing the the
         | "corporate world". They can fund and pay for their own tooling.
        
         | krautsauer wrote:
         | If we're going the see-also way: sixels. Especially timg for
         | image viewing. I've also played with
         | https://github.com/cptpiepmatz/nu-jupyter-kernel/tree/main/c...
         | which can be neat but the invocation is terribly clunky.
        
         | mghackerlady wrote:
         | I like it, it's a pun and a cool animal. GNU has a rather silly
         | name (a gnu is an animal and GNU is an acronym for GNUs Not
         | Unix) but it's done just fine
        
         | chiffaa wrote:
         | A lot of software projects have names ranging from silly
         | associations to very cheesy puns, and IMO this should never
         | discourage anyone - everyone should have some whimsy when
         | naming things, because it makes names more memorable. After
         | all, people use Python, and name doesn't even refer to snakes!
         | 
         | I personally wouldn't be able to remember "kitty" if it was
         | named "featureful-python-terminal-emulator", and I certainly
         | wouldn't want to recommend it to others under this name
        
       | lrvick wrote:
       | You can also use mplayer with "-fp" to play video on the
       | frambuffer as well.
       | 
       | I have gone weeks at a time without using a graphical desktop at
       | all thanks to these tools.
        
         | hkt wrote:
         | This is a great tip, do you have others? I've tried to ditch
         | graphical desktop envs and failed pretty miserably on media
         | consumption and browsing before.
        
           | redsocksfan45 wrote:
           | Don't use mplayer for this. Use mpv --vo=gpu --gpu-
           | context=drm
           | 
           | This gives you hardware acceleration without a desktop
           | environment.
        
           | yonatan8070 wrote:
           | I'm curious, what's the motivation for not having a graphical
           | environment at all?
        
             | argomo wrote:
             | It's not for me, but I can see the appeal - minimalism,
             | distraction elimination, geek cred, and the sort of flow
             | state one gets from working in a low latency, high muscle
             | memory environment.
        
             | lrvick wrote:
             | Initially about 15 years ago because the laptop I bought
             | did not have kernel support for the mobile gpu so I could
             | not run a graphical desktop for a while, so I added kernel
             | support for framebuffer on my GPU myself which was only a 7
             | line change (upstreamed to kernel) and then realized the
             | framebuffer plus tmux and I was kind of set apart from
             | youtube, so I wrote a one liner to pull raw video content
             | from youtube and stream to the framebuffer with mplayer.
             | 
             | Overall I found there was almost nothing to do my job that
             | actually required a GUI so did not bother fixing it.
             | 
             | The only software I tend to use today is a terminal and a
             | browser, and graphical browsers are a hellscape of cookie
             | approval prompts and ads and tracking. Thankfully today a
             | local LLM can go to the web and fetch whatever content for
             | me, so I am once again phasing out my use of web browsers.
        
               | negura wrote:
               | > The only software I tend to use today is a terminal and
               | a browser
               | 
               | i'm exactly in the same situation. for this reason i run
               | on dwm and no DE. but i'd like to phase out some of my
               | web browsing, for the same reasons you mentioned. could
               | you please elaborate on your local LLM setup and how you
               | use it to substitute web browsing?
        
               | lrvick wrote:
               | "Can you setup a daily job to monitor and download
               | youtube videos from any channels listed in
               | subscriptions.txt"
               | 
               | "Can you setup a daily job to search for any articles on
               | supply chain attacks, format them as normalized markdown
               | files and store them under Research/supply-chain ?"
               | 
               | "Can you go find me a good price on some used DDR5 ram
               | from a reputable seller?"
               | 
               | Etc etc.
               | 
               | Use agents to bring the internet to you.
               | 
               | Can do basically anything with a Strix Halo board at
               | home.
        
             | aaplok wrote:
             | For me it's about having a distraction-free environment. I
             | dislike having useless information cluttering my screen
             | real-estate.
             | 
             | Even now that I moved away from text-only, I typically work
             | only with fullscreen windows. All I want to see is what I
             | am focusing on at the moment.
        
           | zamadatix wrote:
           | I messed with this a bit and found fbdev forces even gpu
           | accelerated video decode or rendered apps (e.g. even terminal
           | text these days) to go through the CPU/RAM copy path whereas
           | a lightweight graphical setup (like a minimal sway with a
           | full screen terminal window open) is zero copy. Minor thing,
           | but I'll gladly trade a little RAM for some battery life +
           | simplicity if I ever do need to open something actually
           | graphical on the machine.
        
             | akdev1l wrote:
             | If you wanted a minimal terminal with graphical support
             | then you should probably just run a minimal Wayland session
             | with cage + terminal emulator
             | 
             | fbdev is not it, going through the DRM subsystem is much
             | better
        
           | fc417fc802 wrote:
           | It's not an answer to your question per se but I find various
           | keyboard driven tiling WMs to be sufficiently minimal while
           | still allowing GPU accelerated stuff to "just work".
        
         | antisol wrote:
         | yep! and ffplay will detect your situation and run on the
         | framebuffer if that seems appropriate. I'm sure there's
         | arguments to explicitly tell it to do that, but I've never used
         | them :)
        
         | xattt wrote:
         | Do you browse with framebuffer links too? :)
        
           | monsieurbanana wrote:
           | -links +lynx
        
             | yesbabyyes wrote:
             | `links` is a text mode browser which is more capable than
             | `lynx` and which has graphics support through the
             | framebuffer.
        
               | mghackerlady wrote:
               | and elinks is better than both of them :))
        
               | lrvick wrote:
               | and w3m if you want support for images
        
               | d3Xt3r wrote:
               | And chawan is better than all of them, even has basic
               | support for CSS and Javascript.
        
           | lrvick wrote:
           | These days I prefer to ask an LLM to just go fetch content
           | for me as much as possible.
        
         | wazoox wrote:
         | Ah yes, back in 2004/2005 I got an old laptop (Pentium 200 or
         | something like that) for free that wasn't fast enough to
         | reliably read videos with X11, but it worked fine as a movie
         | watching device for my children using mplayer in FB mode :)
        
         | 1vuio0pswjnm7 wrote:
         | I have gone 18 years for me without using a graphical desktop
        
           | lrvick wrote:
           | Are you blind or committed?
        
       | anthk wrote:
       | I think this came with fbgs too; and fbpdf2 it's a better fbpdf
       | (no more slow GhostScript convertings), it just calls
       | poppler/MuPDF libraries.
        
       | pjmlp wrote:
       | More like UNIX and MS-DOS concepts.
        
       | globalnode wrote:
       | this wont work with wayland will it? has to be a raw tty?
        
         | a96 wrote:
         | It does say it runs on Gtk or SDL, so I expect it should.
         | 
         | Though there are also terminal graphics protocols these days.
         | That seems like it would be another neat box to tick.
        
       | haunter wrote:
       | It can actually be also used for file recovery/discovery, see the
       | last slide
       | 
       | https://archive.fosdem.org/2023/schedule/event/om_fim/attach...
       | 
       | >seek a 'magic' signature in the file after opening it, and try
       | decoding it starting within the range of that signature
        
       | aiiotnoodle wrote:
       | A little while ago when I had a free weekend. I decided I would
       | pre-compute some musings of an LLM trapped in a computer, I had a
       | raspberry pi 1 (or maybe b) lieing around that I had a
       | framebuffer screen for. I think it was a non-standard TFT_ILI9325
       | from Aliexpress.
       | 
       | The idea is it would display some helplessness comment on the
       | screen like "Help I'm trapped in a computer" etc etc.
       | 
       | Eventually I got the thing booted with it's original OS image and
       | it was running a custom kernel and had the hardware still
       | attached and worked, but it was very outdated so I decided backup
       | and update it, more of a technical challenge than something
       | practical.
       | 
       | I gave it a few tries but eventually the screen would stop
       | working, not helped by the thing being quite slow. Updating in
       | place was probably harder than a brand new OS. Eventually I
       | determined that I'd need to build a custom kernel image using a
       | newer version, something I've never done before and for me it was
       | quite difficult and a little before AI had agents and such to
       | help you along.
       | 
       | I managed to build a custom kernel but the driver for it had been
       | patched out and moved to an optional thing that I had to enable,
       | I was able to build the custom kernel but for some reason the
       | screen wouldn't display anything like it did on the original OS.
       | 
       | I spent a further few weekends on it working really hard to get
       | this thing to work. Eventually I calmly picked up the screen and
       | intentionally pushed down hard with my thumb breaking the screen
       | irreparably.
       | 
       | It was destructive yes but the joy I feel even now being free of
       | this frustration is immense.
       | 
       | I said I would order a newer screen but have yet to do so.
        
       | kristopolous wrote:
       | there's a really interesting terminal image viewer based on
       | cellular automata I made almost 20 years ago ... makes every
       | image a bit animated in weird ways:
       | https://github.com/kristopolous/ascsee
        
       ___________________________________________________________________
       (page generated 2026-04-17 23:01 UTC)