[BRLTTY] BRLTTY blocked on console while Orca is running on Wayland

Elias Oltmanns eo at nebensachen.de
Sat Jan 3 14:22:02 UTC 2026


Hi Samuel,

having started a discussion of this problem on the Orca mailing list, I
double checked your previous answers on this thread and realised that I
had not done my home work properly. Here are a few more answers to your
helpful questions. Also, I will add the information about the call chain
and systemd to the thread on the Orca list, so we can proceed with the
discussion there.

On 2025-12-26 at 16:01:01 (+0100), Samuel Thibault <samuel.thibault at ens-lyon.org> wrote:
> Hello,
> Elias Oltmanns, le sam. 20 déc. 2025 19:50:05 +0100, a ecrit:
>> On 2025-12-20 at 01:00:18 (+0100), Samuel Thibault <samuel.thibault at ens-lyon.org> wrote:
>> > Hello,
>> > Elias Oltmanns, le ven. 19 déc. 2025 18:51:31 +0100, a ecrit:
>> >> On 2025-12-19 at 14:44:27 (+0100), Samuel Thibault <samuel.thibault at ens-lyon.org> wrote:
>> >> > Hello,
>> >> > Elias Oltmanns, le ven. 19 déc. 2025 14:32:14 +0100, a ecrit:
>> >> >> - Braille device responds to Orca now (as expected).
>> >> >> - Switch to tty2 in text mode.
>> >> >> - The braille device still shows Orcas output
>> >> > 
>> >> > It looks like orca doesn't manage to properly claim only the VT of the
>> >> > wayland session.
>> >> > 
>> >> > When running inside a terminal, do you have these environment variables
>> >> > set:
>> >> > 
>> >> > XDG_VTNR 
>> >> >
>> >> When I launch „terminal“ from within my GNOME session, XDG_VTNR is not
>> >> set anymore,
>> > 
>> > Ok, so that's why.
>> > 
>> > Is your system using systemd? Normally it's set in the VT sessions.
>> 
>> Yes, systemd rules them all. Still, XDG_VTNR is not set when I start
>> terminal under Wayland.
>> By the way, after login on the text console on tty2, XDG_VTNR is set.
[...]
> How is your wayland session started? Are you using e.g. lightdm, gdm,
> something else to log in graphically, or just startx?

No display manager, and sadly no startx either since GNOME has dropped
support for X (on Arch at least). So, I simply run:

$ gnome-session

on tty1. For this to work I have the following config file in place:

$ cat /etc/systemd/system/getty at tty1.service.d/wayland.conf
[Service]
Environment=XDG_SESSION_TYPE=wayland

[...]
>> >> > Please also post the content of
>> >> > 
>> >> > /proc/1234/environ
[...]
>> command for testing:
>> 
>> tr '\0' '\n' < /proc/`pidof orca`/environ
>> 
>> Strangely enough, this results in a lot of empty lines and nothing else.
[...]
>> Then I tried the following:
>> $ tr '\0' '\n' < /proc/`pidof gnome-session-init-worker`/environ | grep XDG_VTNR
>> XDG_VTNR=1
> 
> So somehow gnome does get the variable...
> 
>> $ tr '\0' '\n' < /proc/`pidof gnome-shell`/environ | grep XDG_VTNR
> 
> ... but doesn't pass it along?
> 
> It'd be useful to see your 'ps xf' with orca to check how processes are
> getting started, and thus see where the variable is getting dropped.

With pgrep I can filter for all process whose environment contains the
Variable XDG_VTNR:

$ pgrep -af --env XDG_VTNR
1203 -bash
1310 -bash
1341 tmux attach
1493 /usr/lib/gnome-session-init-worker gnome

But you made me wonder what processes are started as children of what
parents. So, please find attached the shortened output of:

$ ps -eF

Please note that gnome-session-init-worker is listed with the parent PID
1203 (bash on tty1), so it does make sense that it inherits XDG_VTNR=1.
A lot of the other processes, though, including gnome-session-service,
at-spi related stuff, orca and speech-dispatcher are listed with parent
PID 1124 (/usr/lib/systemd/systemd --user). That is why they do not have
XDG_VTNR set.

So, my question at this point is whether something can be changed in the
way orca is launched, either making it a child of
gnome-session-init-worker or injecting XDG_VTNR with the correct value
in some other way.

> 
>> So, gnome-shell does not have XDG_VTNR in its environment either.
> 
> Does that file for gnome-shell contain something else than empty lines?

Yes, that file makes perfect sense as a listing of environment variables
including various XDG_ ones, but not XDG_VTNR.

Best,

Elias
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: process-list.txt
URL: <http://brltty.app/pipermail/brltty/attachments/20260103/67e19a7f/attachment.txt>


More information about the BRLTTY mailing list