top | item 11340367

Libsixel: The new standard of SIXEL development – graphics in the terminal

104 points| vmorgulis | 10 years ago |github.com | reply

20 comments

order
[+] striking|10 years ago|reply
This is really neat, but isn't it super inefficient? The color quality is pretty poor and I'm fairly certain it can't take advantage of hardware acceleration.

It's neat to put graphics on your old DEC terminals, it's cool to have as a hack. But re-implementing it into new tech?

I dunno. I'd really like to see an mmap'd YUV or RGB buffer in the terminal being read from a pipe/file/memory area, because I feel like that might be a little more efficient. Or, hell, what if we got a straight up GL context? That could seriously be interesting.

[+] vidarh|10 years ago|reply
What I want is outputting an image from a remote server onto my terminal, or ending a pipe with feeding the output from "uniq -c" or something to a script creating an inline graph etc.

The page focuses on showing the limits of it, but there are lots of small little cases where being able to output graphics to the terminal in otherwise predominantly textual applications is great, but not great enough to justify a more complicated solution.

> being read from a pipe/file/memory area

And now you've lost network transparency to gain efficiency that wasn't needed in the first place.

[+] mhd|10 years ago|reply
With pixel graphics, we're kinda back in blit/Oberon territory and with vector graphics, you'd basically be doing Tektronix 2.0.

The latter had some merits because your whole system was a terminal, but I don't quite get what this gets us in a system where you can have as many graphics contexts as you want anyway. Especially if the rest of the window where this graphics is embedded is ancient constrained technology.

I'm not a big fan of the Bell school of tech, but I definitely understand Rob Pike's source of pride in testifying that he never wrote a cursor-controlled terminal app...

[+] otabdeveloper1|10 years ago|reply
> it can't take advantage of hardware acceleration.

I'm sure that blitting sprites pixel-by-pixel to the screen is much faster without hardware acceleration.

Hardware acceleration only makes sense if you're doing vector/3D graphics or running complex video decoding algorithms.

[+] voltagex_|10 years ago|reply
A GL context sounds cool, although at what point are you just reimplementing a DWM inside xterm?
[+] nona|10 years ago|reply
Wouldn't wayland be the right thing™ for this kind of stuff? Basically have the terminal become a wayland (sub)compositor, with some commands to set up buffers to write to.
[+] rcarmo|10 years ago|reply
Regretfully, iTerm doesn't support this, and it's bitmap support hasn't made it out of beta yet.

(also, I can't run the new betas, probably because they're not properly signed)

[+] wund|10 years ago|reply
It's very exciting to see inline plots in terminal but I doubt it will ever get mainstream popularity since it's not supported by most terminals.
[+] bryanrasmussen|10 years ago|reply
so, could I use this with my linode?
[+] dsr_|10 years ago|reply
Yes, but there are relatively few use cases where it wouldn't be better to run X over NX or VNC or Spice, all of which you should be able to do easily.