Readit News logoReadit News
Animats · 3 months ago
There's something to be said for not having a dumb VGA controller.

Some years ago, I had a headless system running QNX in a control application. About 30% of the CPU time was being consumed by something. It turned out that the system had a very minimal VGA controller, not connected to anything. The QNX boot image was capable of running with no console at all, which was the intent. But it found the VGA controller and launched a screen saver. The screen saver worked by shifting the entire screen one pixel at a time, which, with this minimal VGA controller, was a very slow read from VRAM, one byte at a time. This was so slow that it ate up a huge amount of CPU time.

This being QNX, it wasn't at high priority, so the real time stuff preempted it.

Yizahi · 3 months ago
I don't get the intention of the author. No, I mean, I get that he wants a 80x25 terminal "eventually" but I don't get how exactly. He says it himself that he has multiple different displays, so even if he did manage to get his text only terminal, it will be microscopic on one of the displays, giant on another etc. For me personally, the whole point of terminal rendered by graphic pipeline is that I can get terminal the same size, same font size, and same everything regardless if I use 1080p scaled to 150%, or native 4K or some ancient LCD display on some old laptop (remember 1024x600?). Ok, maybe it is not religiously pure way and maybe it is not as robust and stable way as pure text, but we do get usable terminal in return at least.
m463 · 3 months ago
He wants a readable text console at boot.

Also 80x25 has a lot of history, and some things work better at that size.

I don't know if you've ever tried using a non-graphical display on linux recently, but if you have say a 4k display, you get unreadably tiny text. It also breaks a lot of text-mode stuff.

If you've ever tried to FIX this on your system, you'll find a bunch of roadblocks.

You can't just use an easily available font for the console. Console fonts have to be created or converted into a non-standard .pfs or .pfsu format.

most linux distributions have at most a 16x32 font available if you take the time to do the override properly. Even that font is pretty small on 4k.

https://wiki.archlinux.org/title/Linux_console

juancn · 3 months ago
I read it as a nostalgia piece.

When terminals were common, they pretty much all were 80 or 40 columns and 25 rows, not a lot of choice, most were about the same size.

I actually like modern emulated terminals, with all the bells and whistles.

OCTAGRAM · 3 months ago
I yet to see any modern terminal with bells and whistles like in Acronis OS Selector 5

Deleted Comment

gorgoiler · 3 months ago
Related to this, the other day I learned that QEMU will render VGA mode text to your terminal using curses:

  $ qemu -curses …
What a lovely feature, if you can get it to boot something with a VGA mode.

professoretc · 3 months ago
This also lets you run QEMU over SSH, if you want. I use this in my assembly language course; towards the end I give an assignment to write Hello, World! as a 16-bit real mode MBR bootloader. Students can do the whole thing on our SSH server, including testing in QEMU (and even attaching GDB to it to debug) not needing to install anything locally.
arghwhat · 3 months ago
It is very cute. It doesn't take much to use a serial console though, or even enabling SPICE for a fully featured (and detachable).
autoexec · 3 months ago
While some people might not see the need for it, the author lists several reasons why it'd be nice to have. The article mentions that there are multiple old (and no longer working) workarounds and tricks that used to allow for 80x25 and presumably those existed and were shared online because others also wanted it.

I don't see why it shouldn't be possible? It seems like a reasonable thing to want to be able to change and even force resolutions to whatever your hardware will support, especially if there's a large amount of old software out there which expects a certain resolution. Old computers are very nice to have, but increasingly difficult to find and find working parts for. They also tend to come with some pretty big trade offs in terms of size, noise, and energy inefficiency. It'd mean a lot of less than ideal hardware just to get back something that people already had.

db48x · 3 months ago
He wants to use a display mode with rectangular pixels. No matter what he does in software, that’s going to require specialized hardware. It’ll take a real CRT. No LCD ever made can change the shape of its own pixels.
JdeBP · 3 months ago
More importantly, VGA text modes cannot be exactly simulated with standard VGA/VESA graphics modes. The people who wrote fake Blue Screen of Death joke programs for Windows NT discovered this years ago.

The article author is explicitly looking for 720 by 400, not 640 by 400, and is trying to obtain that using Linux mechanisms that select graphics modes and do not configure the hardware to be in an actual text mode. i.e. fbcon rather than vgacon.

burnt-resistor · 3 months ago
Untrue. Even cheap-ass imported HDMI monitors support aspect-corrected scaling from 720x400 (80x25 x 9x16) to their native resolutions, even if not all of them support fill to screen.
account42 · 3 months ago
A high enough resolution LCD can however emulate much larger CRT pixels.

And this even matches the way PC CRT monitors worked - each displayed "pixel" lights many different phosphors.

mnw21cam · 3 months ago
Most LCD displays will do hardware scaling when given a resolution lower than the native resolution.
OCTAGRAM · 3 months ago
ITX-Llama and its clone called Pixel x86 are new, not noisy. Based on modern Vortex86 CPU that has real functioning ISA DMA bus, something ceased to exist in 2000 in other conventional CPUs and motherboards
superice · 3 months ago
Yes, and I want FireWire. Oh, and I'd really prefer 16 bit real mode CPUs. While we're at it, why not go for support for serial connection mice?

This reads like such an arbitrary wish without a reasoning WHY you would want this. I'm sure OP has a reason for preferring it, but what makes the 80x25 superior in their opinion?

dijit · 3 months ago
I think the author is making the argument for consistency.

I actually always disliked the modeset that the author remembers fondly, but it is always sad to lose part of our history for arbitrary reasons and especially so if it breaks a ungoverned consistency.

To use your example: Real mode still exists and you can use it, and firewire is effectively the father of Thunderbolt (and granddaddy to Thunderbolt 3-4); so its removal really does feel unnecessary without additional context.

Serial mice is masochism, but people do dislike that PS/2 is gone, for good reasons.

bombcar · 3 months ago
One reason it could be nice is what I experienced a decade or so ago, the damn machine kept changing video modes during boot and the LCD couldn't keep up so an important screen was missed when diagnosing a boot issue.

Had to get a CRT to see what the hell was going on.

IcePic · 3 months ago
This even applies to remove-viewing software that wants to "follow" the resolution changes, flipping your remote window size around a lot. Super annoying.
jcalvinowens · 3 months ago
I don't really get the 80x25 thing, but using dumb terminals to write code is great. Zero distractions.

More than half the code I've been paid to write in the past 2-3 years has been written in vim running on a vtty with no X and no mouse. It's my favorite way to work, although occasionally it's impractical.

bpye · 3 months ago
You can still plug in a FireWire PCIe card and have it work - I still use one for an old 35mm film scanner.

I think serial mice should still work as well - https://wiki.alpinelinux.org/wiki/Serial_mouse

kotaKat · 3 months ago
Apple has finally depreciated Firewire with macOS 26, sadly.

Serial mice still also just work in Windows, too! If you attach a serial mouse to a USB-serial adapter, then attach the adapter, Windows should pick up and load sermouse.sys. On the flipside, if you’ve got a weird serial device attached screaming garbage out the wire, Windows might pick THAT up and load the mouse driver, too… “hey, why is my cursor freaking out?”

autoexec · 3 months ago
The author listed several reasons why they want it.

Also, it should still be possible to connect a serial mouse to a modern system thanks to adapters. I still have serial to PS/2 and PS/2 to USB adapters floating around in a tackle box.

cyberax · 3 months ago
> PS/2 to USB adapters floating around in a tackle box.

Heh. [Most] PS/2 to USB adapters aren't.

They don't actually adapt the PS/2 protocol to USB, they just adapt the pins. The USB _hardware_ on the host does the emulation. However, the new generations of USB chips stopped bothering with the PS/2 emulation so these adapters are now useless.

Galanwe · 3 months ago
> The author listed several reasons why they want it.

To be fair, they listed reasons to need a 80x25 terminal, but not reasons to need a 80x25 console. I'm a bit unclear as to why they could not use a regular 80x25 term in their graphical session.

burnt-resistor · 3 months ago
Chill out and stop judging people with such unnecessary histrionics.
dreamlayers · 3 months ago
If you want a custom resolution in Linux drm.edid_firmware= works well with the right EDID.

For me, the worst things about the Linux graphical console are lack of scrollback and horrible performance. Linux still has scrollback in VGA text mode, and of course it is super fast because each character is only 2 bytes. In graphics mode you can only fix this by running a program that provides its own graphical terminal, like kmscon or fbterm.

The best thing about the graphical console is ability to use bigger fonts, so your characters can be smooth and not pixelated. I like the Terminus fonts. As long as performance isn't a problem it's better to increase font size than to decrease the resolution.

M95D · 3 months ago
Alan Mackenzie from Gentoo mailing lists wrote a scrollback patch for the kernel that also supports gpm mouse select/copy from the scrollback buffer.

Unfortunately, the patch is not frequently updated to new kernel versions.

https://public-inbox.gentoo.org/gentoo-user/2316312.ElGaqSPk...

hamandcheese · 3 months ago
> Linux still has scrollback in VGA text mode

Dumb question: when I boot a modern systemd-based distro installer in terminal mode, am I using "VGA text mode" or "graphics mode"? Do I have to be literally using VGA to use VGA text mode?

EDIT: I read TFA and it seems like the answer is that I probably have never used VGA text mode.

toast0 · 3 months ago
Depends. A UEFI boot is going to put you in graphics mode; I don't think you can get into VGA text mode from an UEFI boot, without some serious dark arts. UEFI has a text mode console API, but it's part of bootservices and those are exited somewhere on the way to starting the Linux kernel.

If you're doing a BIOS boot, you might be using VGA text mode, if you haven't loaded a framebuffer driver. VGA text mode works over BNC, DVI, HDMI, DP, etc, if that was your question, you don't need a VGA connector. EGA text mode might be similar enough to also work, but that's outside my depth.

I'm not sure that Linux uses it, but VGA has nice things to accelerate scrolling. You can set the top of the screen down into the buffer, and then set a line number where it resets to the top of the buffer. If you set the line stride so that it evenly divides the buffer (typically wider than the line width), it makes scrolling and wrapping around the buffer very simple and elegant.

UEFI GOP doesn't provide any mechanism for a buffer larger than what's displayed, so scrolling requires copying. :(

yetihehe · 3 months ago
Sorry, might be dumb question (at work on windows now), but when did shift+pgup stop working?
kevin_thibedeau · 3 months ago
You can still have a console on a serial port with a dumb terminal. Plenty of SFF PCs have them via RJ45 ports.
ranger_danger · 3 months ago
> Plenty of SFF PCs have them via RJ45 ports.

Could you please name a single model of SFF PC that exposes a serial connection via RJ45 port?

kevin_thibedeau · 3 months ago
Look at the CWWK/Topton boxes.
burnt-resistor · 3 months ago
I haven't heard of any apart from industrial PCs.
dapperdrake · 3 months ago
Booted a Dell mini PC with debian, but without X11 and attached a video projector. The old StackOverflow answers to fix overscan problems failed to do anything. Editing sshd configuration files with the first six text columns off screen is quite a unique experience.
kwk1 · 3 months ago
Last time I dealt with this I launched tmux and started working on the right side of the screen with a vertical split.