Live data from Hacker News

Show HN: Sixel-tmux displays graphics even if your terminal has no Sixel support

github.com

11–20 of 89 posts

Re: Show HN: Sixel-tmux displays graphics even if your terminal has no Sixel support

#11
OP, your rants are pretty subjective and imo come from a place of windows fanboy-ism (before someone reports this comment for flame baiting, go read both of OP's rants in the repo, they're far worse).

I came to Linux last year, and I've been on it 100% no windows during this entire period.

I'm using Sway (Wayland), a DE (well, really just a window manager) you cannot replicate in the windows graphical environment, and I'd never go back. Everything is so smooth, and of course you may say that it's "because vsync is used in Sway and vsync = bad blah blah", but I've never agreed with that and a good implementation of vsync with minimal latency increases is worth it, especially paired with freesync/adaptive sync (which works on the desktop just as it does in Windows).

Fyi, before my Linux days, I was a very competitive gamer, and absolute windows power user. I went out of my way to get every last bit of performance and latency reduction possible (just so you know where I'm coming from).

My terminal emulator is Foot, a wayland native terminal with a focus on TUI performance, especially in TUI editors like (neo)vim (my editor of choice). It has amazing Sixel support with a developer who goes out of his way to fix even the smallest imperfections with the implementation. Foot has features I really love, like link following by keyboard shortcuts, great font fallback customisation, and no bloat (a feature in my book)

My multi-resolution setup is not impacted by Linux because Sway, and Wayland ecosystem in general, handles multi resolution tremendously, and supports integer and fractional scaling per display. Multi display freesync/adaptive-sync (and gsync whenever Nvidia starts playing ball) works great too, just as it does on windows.

The majority of stuff you complain about is due to crusty old X11 (whether you're stuck on X because of nvidia or not, it's not a fair argument). Or because you think the way Windows does something is better than the way Linux does that thing (even though in most cases I think the opposite, clearly a subjective thing).

Oh, and yea I think Windows sucks and Linux does better. But I'm saying that as a zoomer, not a "geek millennial" (as you said in your rant) :)

Re: Show HN: Sixel-tmux displays graphics even if your terminal has no Sixel support

#12
post #5

This is really interesting (to me anyway). I normally just default to using Gnome Terminal on Linux, which sadly doesn't support Sixels, so I'll definitely give this a go. Looking around I've just found Foot, which looks like it does support Sixel on Wayland[1]. So that might be a more permanent way forward. 1. https://codeberg.org/dnkl/foot

Any insight into how this one compares to Alacritty and Kitty?

> Any insight into how this one compares to Alacritty and Kitty?

In terms of customization and configuration, I'd say foot falls between Alacritty and Kitty with Kitty being the most customizable and configurable while Alacritty being the least.

One of the things I really like about Alacritty and foot is that they don't enforce italic and bold monospace variants while Kitty does. I despise italic variants of monospace fonts. Most monospace fonts don't even have proper italic variants. They're just slanted.

I tried using foot a few days ago but went back to Alacritty because of this issue.

https://codeberg.org/dnkl/foot/issues/628

I think I might move back to foot though because it felt a bit faster (lesser latency) and for some reason, text on Alacritty is sometimes blurry for me.

Re: Show HN: Sixel-tmux displays graphics even if your terminal has no Sixel support

#13
post #8

This is lovely. The author recommended XTerm as one of the best, so I would like to suggest trying Kitty for size for graphics.

The issue with Kitty is that its graphics protocol is not widespread yet, so some of the CLI/terminal programs OP uses that can do graphics output may only support sixel. But yea, personally looking forward to Foot terminal implementing one of the fancier graphics protocols, even if it feels more like a toy at the moment (until they are used more). But seriously running the notcurses[0] graphics test with a terminal supporting the kitty graphics protocol is sex, just like the program itself says.

[0] https://github.com/dankamongmen/notcurses

Re: Show HN: Sixel-tmux displays graphics even if your terminal has no Sixel support

#14
post #11

OP, your rants are pretty subjective and imo come from a place of windows fanboy-ism (before someone reports this comment for flame baiting, go read both of OP's rants in the repo, they're far worse). I came to Linux last year, and I've been on it 100% no windows during this entire period. I'm using Sway (Wayland), a DE (well, really just a window manager) you cannot replicate in the windows graphical environment, an…

I'll probably regret writing this but if you read the entire rant, the author had been trying get sixel support into VTE based terminals (GNOME terminal and family) but he was blocked, which isn't really surprising considering the "my way or the highway" approach of GNOME devs towards anything that they make. The recent theming fiasco is a good example for this.

He also tried getting sixel support in tmux but was rejected again. All he did was make a hard fork to get the feature that he wanted. That's it. The end. There are some things that Windows does better and some things that Linux does better. Generalizing your anecdotal experience and implying that one is entirely "better" than the other is what fundamentalism and fanaticism looks like.

Re: Show HN: Sixel-tmux displays graphics even if your terminal has no Sixel support

#15
post #11

OP, your rants are pretty subjective and imo come from a place of windows fanboy-ism (before someone reports this comment for flame baiting, go read both of OP's rants in the repo, they're far worse). I came to Linux last year, and I've been on it 100% no windows during this entire period. I'm using Sway (Wayland), a DE (well, really just a window manager) you cannot replicate in the windows graphical environment, an…

I read the rant and did not see the windows-fanboyism you suggest, on the contrary, they wish that a big chunk of the terminals used in Linux get support for a feature, and they do not just complain, but they actually do something for making things better. So I'm not sure your rant is warranted nor makes it much sense in this context, or is this some copy-pasta I failed to recognize?

Re: Show HN: Sixel-tmux displays graphics even if your terminal has no Sixel support

#16
post #5

This is really interesting (to me anyway). I normally just default to using Gnome Terminal on Linux, which sadly doesn't support Sixels, so I'll definitely give this a go. Looking around I've just found Foot, which looks like it does support Sixel on Wayland[1]. So that might be a more permanent way forward. 1. https://codeberg.org/dnkl/foot

You might wanna consider avoiding all VTE based terminals (includes GNOME termina) on Linux because VTE development is spearheaded by GNOME developers. They're almost always guided by their "every preference has a cost" philosophy so don't expect any decent changes happening to VTE.

Here's another explanation why VTE based terminals are best avoided.

https://github.com/thestinger/termite

Here's a complete list.

https://wiki.archlinux.org/title/List_of_applications#VTE-ba...

Re: Show HN: Sixel-tmux displays graphics even if your terminal has no Sixel support

#17
post #14
post #11

OP, your rants are pretty subjective and imo come from a place of windows fanboy-ism (before someone reports this comment for flame baiting, go read both of OP's rants in the repo, they're far worse). I came to Linux last year, and I've been on it 100% no windows during this entire period. I'm using Sway (Wayland), a DE (well, really just a window manager) you cannot replicate in the windows graphical environment, an…

I'll probably regret writing this but if you read the entire rant, the author had been trying get sixel support into VTE based terminals (GNOME terminal and family) but he was blocked, which isn't really surprising considering the "my way or the highway" approach of GNOME devs towards anything that they make. The recent theming fiasco is a good example for this. He also tried getting sixel support in tmux but was rej…

Yeah, I think OP wrote must of what they did in genuine frustation. Saladuh's response probably comes mostly from having read this paragraph from OP's rant: "This is why I released sixel-tmux. That's also why I use Windows besides the wonderful mintty being the number 1 choice for terminal afficionados, it gives more options in general: I like that because I don't like depending on people who seem stuck in a desire to be lord-of-the-flies. Unfortunately, there seem to be quite a few in the free software world..."

Also they go on from there about how they want to encourage Linux users to jump over to Windows. Again, I think this is just frustration with their perception that there are too many control freaks in the opensource world acting as gatekeepers for important feature availabilities (the core of their rant is just that they really wish they could have done graphical plots in their default terminal when they were in school years ago).

To my reading, it sounds like someone who wanted to support free software who jumped over to Windows in disgust, not really a "Windows fanboy."

Re: Show HN: Sixel-tmux displays graphics even if your terminal has no Sixel support

#18

Ooo I didn't even know that Sixel was a thing. This looks fun

I tinkered a bit with sixel support for my "C64 emulator in the terminal" ( https://github.com/floooh/docker-c64 ), but unfortunately it's way too slow to get anywhere near 'realtime' output (30fps or better). Here's the (abandondend) sixel-version source code, only with two colors, more color planes would drastically reduce the performance. https://github.com/floooh/chips-test/blob/master/examples/as... I really wis…

> unfortunately it's way too slow to get anywhere near 'realtime' output (30fps or better).

That's not due to sixels. Check out the sixel nyan cat: https://github.com/hackerb9/sixvid

Look at the FPS indicator in the bottom. It was pointed to me in https://github.com/microsoft/Terminal/issues/448#issuecommen...

The issue may be in your code.

I think I have similar performance issues, as the glyph selection process could be more optimized.

Derasterized is mostly Jart work (who is best known here for her work on Cosmopolitan), we were mostly interested in quality.

Reducing the set of glyph to something that could benefit from optimizations could help.

> I really wish there was a decent pixel-framebuffer standard for terminals (with at least the same performance as ncurses)

Sixel performance is quite decent: personally, I can play videos in my terminal.

Try MPV on mintty: https://github.com/mpv-player/mpv/issues/2183

I have also played with a X server rendering over sixel, no performance issue: https://github.com/saitoha/xserver-SIXEL

When sixel support is added to Windows Terminal, I may update it, because it would be fun to have one tab to run stuff!

Re: Show HN: Sixel-tmux displays graphics even if your terminal has no Sixel support

#19
post #5

This is really interesting (to me anyway). I normally just default to using Gnome Terminal on Linux, which sadly doesn't support Sixels, so I'll definitely give this a go. Looking around I've just found Foot, which looks like it does support Sixel on Wayland[1]. So that might be a more permanent way forward. 1. https://codeberg.org/dnkl/foot

Sixes support exists upstream, but it seems nothing builds using it by default.

https://gitlab.gnome.org/GNOME/vte/-/issues/253

Re: Show HN: Sixel-tmux displays graphics even if your terminal has no Sixel support

#20
post #14

Earlier quoted context omitted.

I'll probably regret writing this but if you read the entire rant, the author had been trying get sixel support into VTE based terminals (GNOME terminal and family) but he was blocked, which isn't really surprising considering the "my way or the highway" approach of GNOME devs towards anything that they make. The recent theming fiasco is a good example for this. He also tried getting sixel support in tmux but was rej…

Yeah, I think OP wrote must of what they did in genuine frustation. Saladuh's response probably comes mostly from having read this paragraph from OP's rant: "This is why I released sixel-tmux. That's also why I use Windows besides the wonderful mintty being the number 1 choice for terminal afficionados, it gives more options in general: I like that because I don't like depending on people who seem stuck in a desire t…

The strangest thing to me though is that the OP finished this work last year and sat on it until very recently. They explain it as "I wrote this for a client and didn't feel like sharing it." That attitude seems a bit in contrast to the purported motivation to, "Make it so people don't suffer like I did in school."

So I guess in a way OP is (sort of) seeing the light on free software here too. Don't like it? Fork it!

Post reply on HN