#1116525 live-build: support brltty after offline installation

#1116525#5
Date:
2025-08-30 00:27:02 UTC
From:
To:
Hello,

While trying to reproduce the issue met in Bug#1111121, I noticed that
in the installation of installation from the live image, when running
/usr/lib/finish-install.d/06espeakup, apt is missing the espeakup.deb
package on the iso image.

It would be really useful to have it on the live iso image, so that
speech synthesis can work on the installed system on the console too.

Samuel

#1116525#10
Date:
2025-08-30 13:29:00 UTC
From:
To:
Samuel Thibault, le sam. 30 août 2025 02:27:02 +0200, a ecrit:

And we also miss the brltty, brltty-x11 and xbrlapi packages for Braille
to work after reboot.

Samuel

#1116525#15
Date:
2025-09-07 19:42:03 UTC
From:
To:
Hello Samuel,

Can you describe in a bit more detail what you were doing and what you
were expecting?

This is my guess:
* You downloaded the latest GNOME live image for trixie (or ...) from
PLACE_URL_HERE
* You used the Debian installer (Start installer with speech synthesis)
* Did you answer some questions with non-default values in the installer?
* What kind of computer/qemu did you use? BIOS/UEFI? With/Without
network card?
* After the installation finished, how can I see/hear that everything
works as intended?

With kind regards,
Roland Clobus

#1116525#20
Date:
2025-09-07 19:42:03 UTC
From:
To:
Hello Samuel,

Can you describe in a bit more detail what you were doing and what you
were expecting?

This is my guess:
* You downloaded the latest GNOME live image for trixie (or ...) from
PLACE_URL_HERE
* You used the Debian installer (Start installer with speech synthesis)
* Did you answer some questions with non-default values in the installer?
* What kind of computer/qemu did you use? BIOS/UEFI? With/Without
network card?
* After the installation finished, how can I see/hear that everything
works as intended?

With kind regards,
Roland Clobus

#1116525#25
Date:
2025-09-07 21:26:34 UTC
From:
To:
Hello,

In practice, the issue is most probably related to #1113698
(debian-live-13.0.0-amd64-gnome.iso: d-i installs a nearly empty
'sources.list'). With a network mirror, the installation from the live
image will be able to fetch espeakup from the internet.

That being said, being able to properly install from the live CD without
network access would be really useful for blind users.

http://cdimage.debian.org/cdimage/archive/13.0.0/amd64/iso-cd/debian-13.0.0-amd64-netinst.iso

Yes, the speech synthesis choice in the boot menu.

Just default answers.

qemu without any particular option beyond -device ac97 to have a sound
card.

dpkg -l espeakup brltty

will be enough.

Samuel

#1116525#30
Date:
2025-09-07 21:26:34 UTC
From:
To:
Hello,

In practice, the issue is most probably related to #1113698
(debian-live-13.0.0-amd64-gnome.iso: d-i installs a nearly empty
'sources.list'). With a network mirror, the installation from the live
image will be able to fetch espeakup from the internet.

That being said, being able to properly install from the live CD without
network access would be really useful for blind users.

http://cdimage.debian.org/cdimage/archive/13.0.0/amd64/iso-cd/debian-13.0.0-amd64-netinst.iso

Yes, the speech synthesis choice in the boot menu.

Just default answers.

qemu without any particular option beyond -device ac97 to have a sound
card.

dpkg -l espeakup brltty

will be enough.

Samuel

#1116525#33
Date:
2025-09-07 21:26:34 UTC
From:
To:
Hello,

In practice, the issue is most probably related to #1113698
(debian-live-13.0.0-amd64-gnome.iso: d-i installs a nearly empty
'sources.list'). With a network mirror, the installation from the live
image will be able to fetch espeakup from the internet.

That being said, being able to properly install from the live CD without
network access would be really useful for blind users.

http://cdimage.debian.org/cdimage/archive/13.0.0/amd64/iso-cd/debian-13.0.0-amd64-netinst.iso

Yes, the speech synthesis choice in the boot menu.

Just default answers.

qemu without any particular option beyond -device ac97 to have a sound
card.

dpkg -l espeakup brltty

will be enough.

Samuel

#1116525#38
Date:
2025-09-08 15:46:24 UTC
From:
To:
Hello Samuel,
anything from the internet while installing.

I've used the 13.1 image, since last weekend the point release was made:

https://get.debian.org/images/release/current-live/amd64/iso-hybrid/debian-live-13.1.0-amd64-gnome.iso

I did an installation with network available and ended up with espeakup
installed, but not brltty. Already on the login screen the computer
spoke, so that's good.

My qemu settings did not configure a braille reader, so I guess that it
is OK to have an installation without brltty? (Or should that be
installed anyway, independent of the devices that were detected during
the installation?)

I also did a second installation, this time without a network card in
the qemu environment. I was stuck at the 'choose-mirror' stage, until I
found out that I could use '<' to take a step back (and then accept an
installation without mirrors). Here the speech was working fine as well
after reboot.

However, I have 'xbrlapi' installed. Is that a successor/substitute for
'brltty'?

With kind regards,
Roland

#1116525#43
Date:
2025-09-10 21:54:29 UTC
From:
To:
Hello,

Roland Clobus, le lun. 08 sept. 2025 17:46:24 +0200, a ecrit:

Not, it's normally only installed when a braille device was used during
the installer.

No, it's just a helper for brltty under X.

Samuel

#1116525#48
Date:
2025-09-10 21:56:38 UTC
From:
To:
Roland Clobus, le lun. 08 sept. 2025 17:46:24 +0200, a ecrit:

But you are talking about speech in the graphical environment (the orca
package), not speech in the text console (the espeakup package).

Samuel

#1116525#53
Date:
2025-09-27 10:39:05 UTC
From:
To:
Hello Samuel,

I need more information. I've tried to reproduce the issue:

* I've used the latest GNOME live image from
https://get.debian.org/images/release/current-live/amd64/iso-hybrid/debian-live-13.1.0-amd64-gnome.iso
in qemu with UEFI secure boot
* In the GRUB boot menu, press 's'
* For location, I used 'Europe/Germany' with en_US.UTF-8 locale
* I've used my apt-cacher-ng as proxy
* After rebooting, the screen reader works in gdm and after logging in
* Switch to tty3 (Ctrl-Alt-F3)
* Log in as root
* The output of `dpkg -l espeakup brltty` is:
   un brltty
   ii espeakup 1:0.90-17
* The outout of `ps -edalf | grep espeakup` shows
   /usr/bin/espeakup --default-voice=en
* I hear no speech -> could this be the issue that pipewire in the GUI
environment and the text console cannot work together properly?

In /var/log/installer/syslog I have the following entries (I've filtered
for espeakup and brltty):

Sep 27 09:42:04 main-menu[663]: (process:674): sh: missing ]
Sep 27 09:42:04 main-menu[663]: (process:674): sh: missing ]
Sep 27 09:42:04 main-menu[663]: INFO: Menu item 'brltty-udeb' selected
Sep 27 09:42:04 main-menu[663]: INFO: Menu item 'espeakup-udeb' selected
Sep 27 09:42:07 main-menu[663]: (process:2168): sh: missing ]

Sep 27 09:49:07 finish-install: info: Running
/usr/lib/finish-install.d/06espeakup

Sep 27 09:49:11 finish-install: info: Running
/usr/lib/finish-install.d/07brltty

Attached is the full installer syslog which contains some more
warning/error messages.

With kind regards,
Roland Clobus

#1116525#56
Date:
2025-09-27 10:39:05 UTC
From:
To:
Hello Samuel,

I need more information. I've tried to reproduce the issue:

* I've used the latest GNOME live image from
https://get.debian.org/images/release/current-live/amd64/iso-hybrid/debian-live-13.1.0-amd64-gnome.iso
in qemu with UEFI secure boot
* In the GRUB boot menu, press 's'
* For location, I used 'Europe/Germany' with en_US.UTF-8 locale
* I've used my apt-cacher-ng as proxy
* After rebooting, the screen reader works in gdm and after logging in
* Switch to tty3 (Ctrl-Alt-F3)
* Log in as root
* The output of `dpkg -l espeakup brltty` is:
   un brltty
   ii espeakup 1:0.90-17
* The outout of `ps -edalf | grep espeakup` shows
   /usr/bin/espeakup --default-voice=en
* I hear no speech -> could this be the issue that pipewire in the GUI
environment and the text console cannot work together properly?

In /var/log/installer/syslog I have the following entries (I've filtered
for espeakup and brltty):

Sep 27 09:42:04 main-menu[663]: (process:674): sh: missing ]
Sep 27 09:42:04 main-menu[663]: (process:674): sh: missing ]
Sep 27 09:42:04 main-menu[663]: INFO: Menu item 'brltty-udeb' selected
Sep 27 09:42:04 main-menu[663]: INFO: Menu item 'espeakup-udeb' selected
Sep 27 09:42:07 main-menu[663]: (process:2168): sh: missing ]

Sep 27 09:49:07 finish-install: info: Running
/usr/lib/finish-install.d/06espeakup

Sep 27 09:49:11 finish-install: info: Running
/usr/lib/finish-install.d/07brltty

Attached is the full installer syslog which contains some more
warning/error messages.

With kind regards,
Roland Clobus

#1116525#61
Date:
2025-09-27 10:56:17 UTC
From:
To:
Hello,

Roland Clobus, le sam. 27 sept. 2025 12:39:05 +0200, a ecrit:
related to #1113698 which was making network mirrors not available.

With a network mirror, that does work, indeed. But without network
access, espeakup will not be installed since the deb is not on the ISO
image.

Unless booting the installer with a braille device connected, brltty
will not be installed indeed. If you want to try it with an emulated
device, it's documented :

https://wiki.debian.org/DebianInstaller/Accessibility

But again, with a network mirror enabled, things will already work, it's
when network access is not available that brltty will not be installed
since the .deb is not available on the live ISO image.

Yes, that's a separate issue, not related to the live images.

Samuel

#1116525#66
Date:
2025-09-27 10:56:17 UTC
From:
To:
Hello,

Roland Clobus, le sam. 27 sept. 2025 12:39:05 +0200, a ecrit:
related to #1113698 which was making network mirrors not available.

With a network mirror, that does work, indeed. But without network
access, espeakup will not be installed since the deb is not on the ISO
image.

Unless booting the installer with a braille device connected, brltty
will not be installed indeed. If you want to try it with an emulated
device, it's documented :

https://wiki.debian.org/DebianInstaller/Accessibility

But again, with a network mirror enabled, things will already work, it's
when network access is not available that brltty will not be installed
since the .deb is not available on the live ISO image.

Yes, that's a separate issue, not related to the live images.

Samuel

#1116525#69
Date:
2025-09-27 10:56:17 UTC
From:
To:
Hello,

Roland Clobus, le sam. 27 sept. 2025 12:39:05 +0200, a ecrit:
related to #1113698 which was making network mirrors not available.

With a network mirror, that does work, indeed. But without network
access, espeakup will not be installed since the deb is not on the ISO
image.

Unless booting the installer with a braille device connected, brltty
will not be installed indeed. If you want to try it with an emulated
device, it's documented :

https://wiki.debian.org/DebianInstaller/Accessibility

But again, with a network mirror enabled, things will already work, it's
when network access is not available that brltty will not be installed
since the .deb is not available on the live ISO image.

Yes, that's a separate issue, not related to the live images.

Samuel

#1116525#72
Date:
2025-09-28 10:01:19 UTC
From:
To:
Hello,

Bug #1112485 in live-build reported by you has been fixed in the
Git repository and is awaiting an upload. You can see the commit
message below and you can check the diff of the fix at:

https://salsa.debian.org/live-team/live-build/-/commit/7ed41a1a0561c089b12615298ce91981fb6b1980
------------------------------------------------------------------------
rebuild: Allow offline installation with speech enabled in the installed
system (Closes: #1112485)
------------------------------------------------------------------------

(this message was generated automatically)
-- 
Greetings

https://bugs.debian.org/1112485

#1116525#79
Date:
2025-09-28 10:10:08 UTC
From:
To:
clone 1112485 -1
tags 1112485 -moreinfo
retitle -1 live-build: support brltty after offline installation
submitter -1 sthibault@debian.org
severity -1 wishlist
thanks

Hello Samuel,

Thanks, that was the missing information. I've prepared a MR which fixes
this issue [1].
This fix will also become available for the 13.2 point release of trixie.

I've split this bug report into 2 parts, the new bug number will address
the brltty part of this issue.

And regarding pipewire, I've seen #1115893, so that's covered already.

This bug report is then only about having speech during offline
installation of a live image.

I've tested with a local GNOME, Mate and standard image.
All of them will have espeakup installed in the installed system when
performing an offline installation.
For the standard image, since it does not have pipewire, the speech
worked in the console.

With kind regards,
Roland Clobus

[1] https://salsa.debian.org/live-team/live-build/-/merge_requests/441

#1116525#92
Date:
2025-09-28 12:05:08 UTC
From:
To:
Hello Samuel,

I'm struggling to run brltty properly.

As I understand it, there are 2 scenarios:
* Running brltty on the host, while running the Debian installer in qemu
* Running brltty on the installed live system, which was installed
without network cards available.

I'm looking at the documentation:
https://wiki.debian.org/DebianInstaller/Accessibility

* brltty is (nowadays?) not found in /sbin, but in /usr/bin
* Starting brltty as a non-root user (roland):

$ brltty -b xw -x no -A auth=none,host=127.0.0.1:1
BRLTTY 6.8 rev BRLTTY-6.8 [https://brltty.app/]
brltty: can't isolate namespaces
brltty: executing as the invoking user: roland
brltty: can't set supplementary groups
brltty: group not joined: 0(root)
brltty: group not joined: 5(tty)
brltty: group not joined: 20(dialout)
brltty: group not joined: 133(input)
brltty: required capability not granted: cap_sys_admin (for injecting
input characters typed on a braille device)
brltty: required capability not granted: cap_sys_tty_config (for playing
alert tunes via the built-in PC speaker)
brltty: required capability not granted: cap_mknod (for creating needed
but missing special device files)

Do I need additional group memberships to make this work properly, or
should I run as root?
The brltty window has the content 'no screen', both in regular letters
and in braille.

I ran the following command for the installation (installer with speech
synthesis):

BRLAPI_HOST=127.0.0.1:1 kvm -usbdevice braille -cdrom
debian-live-13.1.0-amd64-gnome.iso -hda scratch_hd.qcow2 -m 8192 -boot d
-device ac97 -net none

While running this, I get many lines with:
baum: brlapi__enterTtyMode: Can't determine tty number

And after the installation has finished:
BRLAPI_HOST=127.0.0.1:1 kvm -usbdevice braille -hda scratch_hd.qcow2 -m
8192 -device ac97 -net none

I've then enable networking and installed brltty-x11.

Within the installed system, lsusb shows the braille device:
Bus 001 Device 002: ID 0403:fe72 Future Technology Devices
International, Ltd QEMU USB BAUM BRAILLE

So unfortunately, I'm unable to test braille support at this moment.

With kind regards,
Roland

#1116525#99
Date:
2025-11-03 08:43:03 UTC
From:
To:
Hello Samuel,

The deadline for the next point release is getting closer.
I would like to have the brltty support in place (I've also added this
as a possible task for the Outreachy candidates)

It's easy to add the package into the live image, I will do that if you
say it is sufficient. But I'm still struggling with a local test to see
whether everything works.

I'm hesitant to add new functionality that cannot be tested :-)

With kind regards,
Roland Clobus

#1116525#104
Date:
2025-11-03 10:14:54 UTC
From:
To:
Hello,

Roland Clobus, le lun. 03 nov. 2025 09:43:03 +0100, a ecrit:

Yes, having the .deb available is all the installer needs.

Having the .deb on the image won't hurt anyway, and other people will be
able to test the point-release image.

Thanks,
Samuel

#1116525#109
Date:
2025-11-04 09:54:08 UTC
From:
To:
Hello,

Roland Clobus, le mar. 04 nov. 2025 10:48:39 +0100, a ecrit:

Yes, as I explained in a previous mail:

“
Unless booting the installer with a braille device connected, brltty
will not be installed indeed. If you want to try it with an emulated
device, it's documented :

https://wiki.debian.org/DebianInstaller/Accessibility
”

Samuel

#1116525#114
Date:
2025-11-04 09:48:39 UTC
From:
To:
Hello Samuel,

I've made a local test and added brltty to the live image ('standard').
After installation with the speech installer (in a VM without network
access), the installed system still has no 'brltty' package installed.
I've run 'apt-get install brltty' and the installation works, all
dependent packages are available on the CDROM.

The code from 07brltty
(https://sources.debian.org/src/brltty/6.8-3/debian/brltty-udeb.prebaseconfig)
suggests that the Braille reader should have been activated before the
package will be installed.

So the package is present, but I'm not able to test in any way (which I
would like to be, since that can be automated in openQA and then be
guaranteed to be working for all future releases of netinst and live
images).

With kind regards,
Roland Clobus

#1116525#119
Date:
2025-11-05 18:59:20 UTC
From:
To:
I've merged [1] and brltty will be available during an offline
installation. This feature will be available for the 13.2 point release.

I've been able to test that 'apt-get install brltty' installs without
error after an offline installation, but have still not managed to get a
working Braille test environment, so I don't know yet whether it will be
automatically installed when a Braille reader has been detected during
the installation.

I'm really sorry that we have to go full circle [2], but the
instructions on that Wiki page appear to be outdated.

Is there some minor step that I'm missing?

With kind regards,
Roland Clobus

[1] https://salsa.debian.org/live-team/live-build/-/merge_requests/446
[2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1116525#92

#1116525#126
Date:
2025-11-05 19:16:40 UTC
From:
To:
Hello,

Roland Clobus, le mer. 05 nov. 2025 19:59:20 +0100, a ecrit:

As a reminder, bug reporters are *not* Cc-ed when you mail only
nnn@bugs.debian.org, so I never got that mail...

It's not two scenarios, it's the two things that are needed. The first
one is just a braille device emulator, while the second one is the
normal brltty, that will connect to the first through the usb emulation.

That's all just harmless warnings.

That's expected since we passed -x no to say we don't want a screen
reader.

That's the real issue.

Which terminal did you run it in?  I now notice that gnome-terminal
doesn't expose WINDOWID any more :(((

You can circumvent it by passing

#1116525#131
Date:
2025-11-10 13:30:08 UTC
From:
To:
Hello Samuel,

Thanks for the updated instructions. I've seen the Braille output in an
xterm window now, both during the installation and while running the
installed system.

The fix is MR 446:
https://salsa.debian.org/live-team/live-build/-/merge_requests/446

The fix has been merged and is in time for the 13.2 point release (next
weekend).

Next task for me: automate this in openQA

With kind regards,
Roland