6 ms·
FIM – Linux framebuffer image viewer
- sylware 6mo agoShould it be DRM nowdays?
- whizzter 6mo agoI 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 6mo agoThis 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 6mo agoI 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 6mo agoanother 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 6mo agoexport SDL_VIDEODRIVER=caca is more usable for games
- antisol 6mo agoOh nice! How did I not know it works with caca?!
- capitainenemo 6mo agoWorks 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 6mo agoThis is what I meant: kmsdrm.
- written-beyond 6mo agoI 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 6mo agoRelated to this are the (rather poorly named) kitty terminals graphics protocol: https://sw.kovidgoyal.net/kitty/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 6mo agoThe graphics protocol might be relevant, but I fail to see how the rest of your comment is.
- opan 6mo agoThe 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 6mo agoInteresting 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-lena-from-computer-science https://pursuit.unimelb.edu.au/articles/it-s-time-to-retire-...). It's interesting how small gestures present how someone sees the world.
- redsocksfan45 6mo ago[dead]
- miki_oomiri 6mo agoMan… 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.
- kevinten10 6mo ago[flagged]
- lrvick 6mo agoYou 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 6mo agoThis 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 6mo agoDon't use mplayer for this. Use mpv --vo=gpu --gpu-context=drm This gives you hardware acceleration without a desktop environment.
- yonatan8070 6mo agoI'm curious, what's the motivation for not having a graphical environment at all?
- argomo 6mo agoIt'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 6mo agoInitially 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.
- anthk 6mo agoI 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 6mo agoMore like UNIX and MS-DOS concepts.
- globalnode 6mo agothis wont work with wayland will it? has to be a raw tty?
- a96 6mo agoIt 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 6mo agoIt can actually be also used for file recovery/discovery, see the last slide https://archive.fosdem.org/2023/schedule/event/om_fim/attachments/slides/5526/export/events/attachments/om_fim/slides/5526/FIM_slides_fosdem23_om.pdf 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 6mo agoA 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 6mo agothere'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 https://github.com/kristopolous/ascsee