[BRLTTY] can't read screen content
Samuel Thibault
samuel.thibault at ens-lyon.org
Sun May 24 14:22:18 UTC 2026
Hello,
Dave Mielke, le sam. 23 mai 2026 15:17:24 -0400, a ecrit:
> [quoted lines by Sébastien Hinderer on 2026/05/22 at 07:16 +0200]
> >I mean, I read the code and did restart BRLTTY witht that parameter. I
> >didn't put it in my configuration file but yes, it worked.
>
> So far, I haven't managed to reproduce your problem. When I put my vt screen into non-UTF mode, brltty still reads it and my braille display still contains what I expect it to.
On printing \033%@ on debian 13 with a 6.12.63 kernel, I indeed get this
on cat-ing /dev/vcsu1:
openat(AT_FDCWD, "vcsu1", O_RDONLY)
read(0, 0x12341234, 4096) = -1 ENODATA (No data available)
so the read fails, thus why brltty fails to read the screen. It should
catch such error and fall back to using /dev/vcsa.
This ENODATA error indeed matches the linux source:
/*
* Called from vcs_read() to make sure unicode screen retrieval is possible.
* This will initialize the unicode screen buffer if not already done.
* This returns 0 if OK, or a negative error code otherwise.
* In particular, -ENODATA is returned if the console is not in UTF-8 mode.
*/
int vc_uniscr_check(struct vc_data *vc)
{
[...]
. if (!vc->vc_utf)
. . return -ENODATA;
which is coming right from Nicolas' introduction of /dev/vcsu in 2018.
Note that calling stty -iutf8 does not produce the issue, only \033%@
> See line 167 of the init file in the xenserver/host-installer GitHub repository
Ok, it says
# switch to ISO 8859-1 mode so line drawing characters work as expected on
# vt100 terminals.
I guess this script is meant to be usable not only on a linux console,
but also over a serial line etc.? I am then much less surprised, because
they wouldn't know if utf-8 is actually supported over the line, and
prefer to make newt use vt-100 lines instead of utf-8 sequences.
I guess the issue went unnoticed because distributions would usually not
use \033%@ dynamically and just configure this before brltty starts, and
thus brltty either gets vcsu, or not, and stays with it, while here vcsu
support breaks just for the console where you have started the
installer.
Samuel
More information about the BRLTTY
mailing list