[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)