fireborn

I Want to Love Linux. It Doesn’t Love Me Back: Post 1 – Built for Control, But Not for People

Linux Is Already Broken Before You Even Start

I love Linux.
I use Linux.
It has its advantages.

It’s responsive—sometimes.
Some things just work plain better.
Settings being stored in actual config files instead of opaque registries? That’s an accessibility win.
When something breaks, you don’t have to reinstall the whole OS like you would on Windows.
Most importantly: it’s mine. To do with as I please. To fix, break, rebuild, and own.

And let me be clear:
This post is not an attack on the people who maintain Linux accessibility.

I have huge respect for every single person who’s ever written a patch to Orca, BRLTTY, speech-dispatcher, AT-SPI, or any of the dozens of tools that make it possible to use Linux without sight.
They are often doing it for free, in their spare time, while fighting upstream changes, toolkit breakage, and general apathy from distros and desktop makers.
They are heroes for making it work despite all that.

And before any neckbeards leap in with:

“Be the change you want to see.” “Code it yourself.”

Yeah. I know.
I try. When I have the spoons. When I understand the stack well enough to do more than write a bug report titled “it no work.”

But I shouldn’t have to.
And if that’s all you have to say?
Stop reading. I don’t care.

Let me be blunt:
This isn’t a rant from someone who gave Linux a shot and bounced off.
This is from someone who’s used Linux full-time for years as a blind user—someone who knows the system inside out, who has made it work through manual configuration, scripting, rebuilding broken packages, and sheer force of will.

And still?
I’m exhausted.

Because Linux doesn’t fail at the margins.
It fails at the very first step.

Before you open a terminal.
Before you write a line of code.
Before you even get logged in—the basic, day-one functionality of accessibility is already broken, decaying, or actively getting worse.

“It Just Works” — The First Lie

Linux “just works”—if you can see.

If you’re blind?
You boot into a live image and get nothing.
No speech. No braille. No login prompt feedback. Maybe Orca starts, maybe not.
Maybe you know the shortcut (Alt+Super+S?) but does that even work in this session type?
Is it Wayland? Is it X11? Is the screen reader bound to a key combo that doesn’t exist on your keyboard?

You open the installer?

“Next. Button. Button. Button. Button.” That’s all Orca says.

Ubuntu MATE 12.04 had a working, labeled, navigable installer.
Ubuntu MATE 24.04? It’s garbage.

No headings. No structure. No sense of where you are. Just unlabeled buttons and blank space.

This isn’t a bug.
This is neglect.

Logging In Is a Joke Now

Used to be, on Ubuntu MATE, you could hit Alt+Super+S at the login screen and get Orca.
Now?

  • You hear a drumbeat sound.
  • No speech.
  • No braille.
  • No way to start the screen reader.
  • No visual confirmation—unless you can see.

And if you do start Orca manually after boot?
It doesn’t persist.
It used to—years ago. Now? Every login you start from scratch.

You want persistence?
You download a random shell script from GitHub.
You patch your own session files.
You maintain the config yourself—because no distro ships it working.

The Audio Stack: Now With Extra Failure

Let’s say Orca does start.
Now the audio stack kicks in.

Is it PipeWire?
PulseAudio?
Is ALSA enabled? Is the correct fallback sink selected?
Is the audio device owned by root? Is the socket exposed to your session?

Who knows. Because:

  • Pulse loads the wrong output.
  • PipeWire can’t access your card.
  • Speech Dispatcher is stuck waiting for a disconnected device.
  • You log in and get nothing. No error. Just silence.

Want to debug it?
You can’t—because you can’t hear anything.
So you grab your phone, take a picture of the screen, feed it to an image captioning AI, and hope it tells you whether the error dialog says “Audio device unavailable” or “Session startup failed.”

This is normal now.

Console Speech Exists—But It’s Never Set Up

Technically, yes, you can get speech on the console.
Linux Speakup exists. It’s been in the kernel for decades. It supports software and hardware synths.
You can log into a tty and use your machine without graphics.

But no one enables it.

  • Your distro doesn’t load speakup_soft.
  • It doesn’t start espeakup.
  • It doesn’t ship the synth module in the initrd.
  • The audio system might not even initialize before espeakup starts, so it fails silently.

So even if you drop to single-user mode—say, because the GUI broke—you get nothing.
Not even an error.
You sit there with no speech, no fallback, hoping you can remember the exact keystrokes to get to a working shell blind.

You want it to work? You have to:

  • Install and enable Speakup.
  • Patch the initrd.
  • Rebuild your audio stack.
  • Debug the TTY config.
  • Pray you didn’t forget a kernel module.

Scripts for Everything. Everything.

You want:

  • Persistent Orca? Script.
  • Speakup at boot? Script.
  • Audio from root piped to your user session? Script.
  • PipeWire to accept connections from other users? Script.
  • Braille support on boot? You guessed it. Script.

Linux accessibility is now a collection of random shell scripts pulled from mailing list archives and pasted into local hacks, maintained by one person somewhere, and maybe still working.
Maybe not.

This isn’t how anyone should be expected to use a computer.
But it’s our reality.
Because no one has made any of this standard.

“Secure by Design” Means “Locked Out by Default”

Running ALSA as root had one huge benefit:
If the desktop died, you could still get speech.

With PipeWire or PulseAudio, audio is bound to a user session.
That session can’t share audio with root.

So if GNOME dies, your login session fails, or you drop to a root console?
You get silence.

You want root to send audio to your user session? You have to:

  • Set up shared Pulse sockets in /run/user/1000/pulse/
  • Reconfigure PipeWire with cross-user permissions
  • Start a session bus with the right UID
  • Patch a service file to allow root access to a user-owned socket

Which breaks again the next time you update PipeWire.

Security is great.
But not when it blocks your only method of interacting with your machine.

Accessibility Comes Last (If It Comes At All)

Update: After publishing, I was contacted by a member of the GNOME Foundation with a correction.

While GTK 4 did release with accessibility support, the implementation was a full rewrite, and it shipped with bugs and regressions. The team delayed release specifically to land this new a11y path that cut through three layers to reach Orca. Bugs remained—not because accessibility was ignored, but because the rest of the stack wasn’t yet ready, and automated regression testing was nonexistent at the time.

So while my experience with GTK 4’s a11y was broken, and many others’ were too, it’s not fair to say it shipped with no support. The code was there. It just wasn’t working reliably yet.

GTK3 broke accessibility for years.
GTK4 released with no accessibility support at all.

Not a single accessible widget. No keyboard nav. No AT-SPI integration.

Why?
Because accessibility was never tested.

Wayland? Same thing.
They broke Caps Lock as the Orca modifier.

That’s the key blind laptop users depend on—because Insert doesn’t exist on most modern keyboards.
With Wayland? You’re out of luck. You can’t remap it. You can’t fix it.

GNOME eventually patched it.
Other desktops? Still broken.

This took years.
Because no one outside GNOME tested it.

This is the pattern:

  • A new system gets released.
  • It breaks accessibility.
  • Nobody tests it with a screen reader.
  • Eventually, someone screams.
  • Maybe it gets fixed.

Maybe.

MATE: The Last Accessible Desktop Standing

If you want to run a graphical Linux desktop and actually get work done using a screen reader, there’s only one option that consistently works:
MATE.

MATE isn’t flashy.
It’s not modern.
It’s not innovating like GNOME or spinning UI metaphors like KDE.

But it speaks.
It tracks focus.
Orca behaves.
Keyboard navigation is mostly sane.
And it works without having to file patches, run dev builds, or hack GTK internals.

That shouldn’t be a compliment.
That should be the minimum.

And it’s the only one that gets even that much right.

i3: A Tiling Dream That Just Got Shattered

i3 was the only tiling window manager that had real promise for blind users.
It’s keyboard-driven.
It’s predictable.
It worked well enough with Orca to be usable, and in some cases, better than GNOME.

But then came Orca 47.
There was a major refactor to how Orca handles keyboard events—something that absolutely needed to happen.
The old code was brittle. The event handling model was broken.
It was the right thing to fix.

But now?
Some applications under i3 emit “window grabbed” events on every keypress.
And Orca now dutifully announces each one.
Every. Single. Time.

You type? Orca announces the app.
You backspace? It announces again.
You navigate? It just keeps going.
It’s unusable.

People noticed.
Everyone noticed.
But when everything is broken, triage becomes an act of despair.
This bug isn’t ignored.
It’s just buried under everything else.

“We Know It’s Broken. We Just Can’t Get to It.”

This is the real hell of Linux accessibility:
We’re not waiting on unknowns.
We’re waiting on maintenance.

Take this one:

  • Set Speech Dispatcher to use espeak, language en-gb.
  • Feed it an emoji.

It says:

“Up. Up. Up.”

This bug has been around for years.
It’s fixed. It works on my machine.
But most distros still ship the broken version.

Because:

  • The patch wasn’t backported.
  • The build flags weren’t set.
  • The package is out of date.

And so we wait.
We wait for fixes that exist.
We wait for patches that are public.
We wait for people to ship what already works.

We’re not asking for miracles.
We’re asking for working builds.

Maybe the next post should be titled:
“It Works On My Machine: The Final Words of Every Linux Accessibility Bug”

Debian: It’s Good… If You Know the Secret Handshake

To its credit, Debian is one of the few distros that actually gets installer accessibility right.
The installer has been accessible for years. Press s at the bootloader prompt and it’ll start with speech.
If your machine still has a PC speaker, it even beeps to let you know it’s ready.

Of course, most machines don’t have a PC speaker anymore, so if you miss the prompt—or didn’t know about the s key? You get silence.
But to Debian’s credit, that is documented. The wiki tells you how to start it. Once you do, it works.

The installer speaks.
The login prompt speaks.
You get Braille if you have a display.
Speech continues after install—because the installer sets it all up properly.

That’s rare. That’s good. That should be the baseline.

But here’s the rub:
Debian’s packages are ancient.
Orca improvements from years ago? Not there.
AT-SPI updates that fixed real focus tracking bugs? Not present.
Even if you manually build a new version of Orca, you’re still stuck with the old core libraries—so it still breaks in weird ways, and you’re right back where you started.

So you do what a lot of us eventually do:
You build the whole thing yourself.
Or—if you’re like me—you run something even more cursed.

Bedrock Linux: Frankensteining the Linux You Actually Want

When the package problem gets bad enough, there’s only one thing left to do:
Steal packages from other distros.

Bedrock Linux is a meta-distro. It’s not really a distro at all. It’s a way to run multiple distros at the same time on the same system—cleanly, natively, with actual package managers from each.

Bedrock uses something called strata—basically, root filesystems from other distros (Debian, Arch, Alpine, etc) that all coexist in your system.

  • You install Bedrock on top of Debian.
  • You “import” Arch as another stratum.
  • You install Orca, AT-SPI, and whatever else from Arch.
  • And now you’re running Arch accessibility tech on top of a stable Debian system.

You want stability from Debian? You got it.
You want fresh speech software from Arch? You got that too.
You can even run GNOME from Fedora and Firefox from Ubuntu. At the same time.

It sounds like magic.
It also sounds like:

  • A bootstrapped unionfs overlay nightmare
  • A dozen mount namespaces
  • Real-time DNS resolver juggling
  • And a complete loss of sanity if something breaks

So yes, it works.
I use it.
But I’ll probably write a post later called:
"Why I Run Bedrock Linux, and Why You Shouldn’t."

Because once you're running brl import arch and patching ld.so.cache by hand to make sure your screen reader sees the right libraries from the right distro, you’ve gone too far.
You're not just using Linux anymore.
You’re wrangling demons.

There’s Hope—But You Have to Squint to See It

There is one glimmer of actual promise:
NixOS.

It’s not accessible by default. Not yet.
But it’s built differently. And that matters.

You define your system as code.
You can pin package versions.
You can rebuild the exact same setup on another machine.
You can roll back changes if something breaks.
You can guarantee that your screen reader is installed, configured, and enabled every single time.

That’s the future.
That’s how we make accessibility reliable.
Not with fragile scripts or one-person distros—but with reproducible systems that treat configuration like infrastructure.

But NixOS isn’t ready yet.

  • It’s too complex.
  • It assumes too much knowledge.
  • Its global configs are intimidating.
  • Its tools aren’t accessible.
  • It doesn’t speak on boot.

It’s promising. But right now, it’s another power tool—and not something a blind user can just pick up and run.

This Is Only the Beginning

This post is just the beginning of the series.

Coming next:

  • Post 2: The Audio Stack Is a Crime Against Accessibility
  • Post 3: Speakup, BRLTTY, and the Forgotten Infrastructure of Console Access
  • Post 4: GRUB, Encrypted Disks, and Why Blind Users Get Locked Out
  • Post 5: Orca, AT-SPI, and Why Nothing Tracks Focus Properly
  • Post 6: glibc, Userland, and the Incompatibility Beneath the Surface
  • Post 7: The Kernel, the Console, and the Accessibility Tech Everyone Forgot

Because Linux isn’t hard because it’s powerful.
It’s hard because it doesn’t care.
It doesn’t ship accessibility.
It doesn’t maintain it.
And when it breaks, it leaves you in silence. Alone. Locked out.
And we’re done pretending that’s okay.

And the Worst Part? I Can’t Even Recommend It.

My partner wants to switch to Linux.
She’s frustrated with Windows.
She wants something leaner, faster—something she can actually control.

She asked me: should I do it?
And I didn’t know what to say.

Because if I say yes, I’m lying.
If I say no, I’m gatekeeping.
And if I tell her the truth—that she’ll need to patch PipeWire configs to get audio on a second TTY, that Orca might not speak after login unless she scripts it, that even emoji might get read as “up up up” if Speech Dispatcher pulls the wrong build—I’ll sound insane.

But I’m not exaggerating. I’m living it.

And sure—I could fix it.
I could patch it all for her.
Hell, I’d probably enjoy it.
I love computers.
I love Linux.
I love proving people wrong when they say “that’s not possible.”

But she doesn’t want that.
She doesn’t want a system someone else builds.
She wants to do it herself.
She wants it to work for her, on her own terms.
And Linux—right now—will punish her for that.

So no. I can’t recommend it.
Not yet.

And that’s what breaks my heart.


A lot of people will say it’s not a big deal.
That there are more important things in life.
And sure—there are.
But this? This matters too.

Because when we got together, she didn’t care about any of this.
Now?

When I’m stuck debugging speech lag or some failing audio pipeline,
she says things like:

“Try a FIFO pipe.” “Check for memory leaks.” “Are you calling malloc() wrong?”

And the other day, when I was screaming at Git—like we all do—I sent her the Git docs as a joke.

I expected her to skim it, laugh, and say “what the hell is this?”
And I’d say yeah, it’s stupid. It’s built that way. I’ll fix it later.

But instead?

She started reading.
She looked up revert.
She looked up debug.
She looked up blame.

Because she wanted to help.
Because she wanted to understand what I was fighting.

And now that she wants to switch to Linux?
Now that she wants to take control of her own machine?

I want to give her something worthy of that trust.
I want to say yes, absolutely, come in, this is where the real tools live.

But I can’t.
Not yet.

Because the system still punishes you for trying.
Because it’ll lock you out silently and leave you with no speech and no logs.
Because the best I can offer her today is scripts, and breakage, and prayers.

And she deserves better.

Thoughts? Leave a comment

Comments
  1. Jookia — May 10, 2025:

    This is a fantastic article and hits hard. It's an incredibly depressing situation we're in, and I'm not sure if accessibility on Linux will survive it.

    When software was simpler it was possible for a company like Sun to pour money in to making Linux accessible like they did with GNOME 2, but this was from the time software shipped on CD-ROMs.

    If you wanted to take a Linux distribution, fork it, and make it accessible, you now have to be an expert in all the tools you're modifying and constantly track the near weekly deluge of updates. GNOME and Red Hat have tried to find a few developers to improve things but it's almost a Herculean task to push against the current of how fast upstream moves and how willing developers are to break things.

    Making things accessible isn't hard technically. But it requires coordination and people to care about it enough to work on it at the expense of other features. If developed an application on a team and said I had 'one security guy that works on that stuff as long as it doesn't interfere with the rest of our work' I'd be dragged over the coals and have my project forked by the public.

    But with accessibility? There's really no sense of priority or urgency despite it being broken for years and not putting much effort in to fixing it. It's incredibly frustrating to talk with developers about how to improve things and seeing them just not get this. It's always something to work on after another feature, or after we finish the current huge change.

    To be clear, I don't blame the developers. If each developer woke up today and decided accessibility was the most important thing to fix, could they even do it? They'd probably be hounded by users their specific feature added or their specific bug fixed. Blind and disabled people just aren't a loud voice and regular users aren't amplifying their concerns or putting them first either. With limited time and effort, we have to make someone unhappy and unable to use software.

    If we want software development to be taken seriously we need to be clear about our priorities to people and codify them somewhere. The process of 'whoever yells the loudest' is hurting marginalized folk. I'd like to think most developers don't want that to happen.

    Sorry for the rant, I look forward for more posts from you.

  2. tyson sylvester — May 10, 2025:

    Was thinking on switching to limits A few times. But this post really nailed down Why I should not at the time. So thank you for writing this.

  3. Lo.Han.Kuo — May 10, 2025:

    Sounds like you work for microsoft. My experience after about 15 years with linux, choose the right distro and be happy. Some big name distributions and desktops are terrible, that is the fault of corporations not the operating system.

  4. Sam Thursfield — May 10, 2025:

    Thanks for writing all this. I'm a volunteer who does some Linux desktop development when I'm not super busy with my regular job; particularly around testing. i looked at setting up better testing for the screen reader but I couldn't find much information on how people use it and what the expectations are. As a tester it's hard to test something if you aren't sure how it should be behaving. So there's a knowledge gap on the developer side. How can we solve that?

  5. chell — May 10, 2025:

    yeah it's a mess in the linux world and elsewhere it's a mess

    wish i had something more constructive to say here

    i look forward to future posts in this series

  6. JRD — May 10, 2025:

    What a well-written, thoughtful, and personal article. I went into it with an idea of what to expect: Linux has too many options, too many contradicting philosophies, too much reliance on the whims of strangers deciding what's important enough to develop or maintain, RTFM gatekeeping. There was some of that, but you really laid out the plights of an almost invisible caste of users who really exemplify the worst possible combination of factors. You have to deal with a distros "need" to create flashy new interfaces breaking your tried and true tools but also some of those tools that "just work" for now are actually deprecated and unmaintained while slowly falling apart. Every piece of software you rely on is only as good as the people keeping it up to date and those people are often doing it for free. That's the boon and the bane, isn't it? "Just fork it" -- I already have a full-time job and a second job being caregiver to my disabled wife. I shouldn't have to "fork it". I'm sorry most devs completely ignore accessibility or count it as afterthought. Keep up the good fight. The more voices shining a light on this neglect, the better.

  7. Anonymous — May 10, 2025:

    It's also super depressing that a lot of otherwise cool UI research doesn't concern itself with accessibility. Like, look at Ink & Switch's programmable ink prototype, it does not mention accessibility at any point.

    Same goes for the malleable systems stuff that I usually see.

  8. Alex — May 10, 2025:

    Sounds like Lo.Han.Kuo didn't bother reading the post they replied to.

    I'm sighted, but every single word of this post hits home as someone who's been using Linux for twenty years. Linux is great. It's also a nightmare. I've learned enough over the decades to fix most of the problems I run into and even write my own scripts, but I'm still running into problems no one should have. THE SPEAKER AUDIO ON MY LAPTOP DOESN'T WORK; meanwhile my wife, who has the same laptop but runs Windows, has no issues at all.

  9. Nadir — May 10, 2025:

    Thank you for this article. I was aware for years that Linux was horrible to people with need for accessibility, but this helps giving me a better perspective.

  10. Jay — May 10, 2025:

    First—honestly I didn't read the whole post, skimmed a bit. I came here because my pal Erik linked to your post on the fediverse.

    You're right about almost all of it. But there actually is one distro that puts blind users (and not just english-speaking ones) first, and it seems like you don't know about it. It's called Slint → https://slint.fr.

  11. firebornMay 10, 2025:

    Hi,

    I want to address something that has come up a few times.

    I do know about distributions made for blind people (Accessible Coconut, Slint) however I don't use them. They are maintained by a single individual each, and if that individual were to get bored, become ill, or get hit by a buss tomorrow the project is dead. There's also usually a disclaimer that says don't update things because we can't promice they won't break.

    This is usually because of some downstream patches done by the maintainers.

  12. Daniel15 — May 10, 2025:

    What a fantastic post. I'm sad that you have to deal with all of this.

    I suspect the reason that MATE and the Debian installer are both accessible is because their codebases are pretty old relative to some of the others. It seems like the older a piece of software is, the more likely it is to have proper accessibility support.

    Have you tried the testing build of Debian? It has much newer packages, but isn't quite as cutting edge as unstable.

  13. Nadia — May 10, 2025:

    I'm looking forward to more posts in this series. I hope distribution maintainers and software developers pay attention. Looking forward to a future where computers are much more accessible than they are today.

  14. dragonfi — May 10, 2025:

    Hi! I had other annoyances with Ubuntu based distros in the past, the default options are just ... not the best a lot of the times.

    I know it's a bit more effort to install it, but you said you have some Linux know-how. Did you try installing Arch Linux? If yes, what's your opinion on it? At the very least the wiki page for installing with accessibility options seems to be up to date: https://wiki.archlinux.org/title/Install_Arch_Linux_with_accessibility_options

  15. macniel — May 10, 2025:

    It's insane how broken an disjointed is not just for able bodied but how its even worse for the impaired.

    I hope we will get there eventually (again) so that everyone can enjoy Linux.

    And your partner, she sounds like a real trooper!

    Looking forward to more posts from you!

  16. Anonymous — May 10, 2025:

    Excited about this post series and have subscribed on my beloved Gnus. I don't see many biographical details here, I'd love to support this work in a more concrete way (like with money).

  17. Noé Lopez — May 10, 2025:

    Great article!

    A month ago, I saw a bug report on Guix (a nix-like distro I contribute to. "orca does not work" it said, and indeed the package was broken and no one noticed for months! I fixed it, but surely many other unnoticed issues lie beyond.

    Since you mention Nix in your post, I feel like Guix has great opportunity for good accessibility for the same reasons at Nix (and even better). Hopefully I can try and improve the situation myself to make the system accessible :)

  18. silverwizard — May 10, 2025:

    Holy shit! This is the article I need! I've been so mad about this! Using security as an excuse to fuck over disabled users! I'm so happy this got written!

  19. James — May 11, 2025:

    Thank you for such a great article. I was considering Linux, but as a blind screen reader user, thank you for saving me from tons of headaches. You've given me back what might have been a total loss of months, if not years, of my life. I've had it with computers!!! They have been a major failure in our lives. I have probably spent 75% of my time fixing this crap and 25% of my time actually using it. I've been using computers since Win98, so I've been through quite a bit of nonsense with computers. I really regret my computers experience. I wish I would have dedicated my life to something much more rewarding such as working on an enjoyable career, learning an instrument, something other than endless user manuals, Google searches, tech support calls, patching, reformatting, reloading, repatching, removing patches, reaching a point of absolutely no returns then beginning the process with another program or newer Windows OS. computers have been a total waste of time and life for me.

  20. Ludic — May 11, 2025:

    I've never written about this on my own blog, but one of my closest friends in blind. I tried to get him into Linux while I was at university and it was an unmitigated clusterfuck. I think one of my earliest Stack Overflow posts was discovering that some libraries for a specific speech synthesizer were broken.

    My friend still programs a bit, but it's painstaking, and we've been forced to resort to WSL so that he can keep his JAWS setup on Windows.

    Sorry to hear you've been going through this. I've been thinking about what open source libraries it would be worth throwing engineering time at, and it never occurred to me to revisit this space.

  21. Raven667 — May 11, 2025:

    This is definitely the failure mode of a primarily volunteer driven software model, there is no way to enforce product management on volunteers. There isn't a group with resources making contracts selling Linux desktops that require these needs to be met, the way Sun did with SunRay terminals, developers are "scratching their own itches" which is more about having the software organized a certain way or codifying their own personal workflows, or imagination of others workflows and doesn't involve nearly enough empirical testing.

    The only org I can think of offhand whose success depends on a working desktop stack is Valve for Steam Deck, but that is targeted to sighted individuals and not general desktop computing, and they've had a ton of success with the parts of the ecosystem which are vital to their business. The other commercial Linux desktops are in vertical markets that exclude audio-primary output, AFAICT, or hardware makers who aren't trying to sell to this market.

  22. Smae — May 11, 2025:

    Sam Thursfield,

    There are a couple things you can do, including reaching out to charities in the area, there are plenty of blind and partially sighted charities, as well as charities for people with problems using traditional mouse and keyboard (Motor Neuron Disease for example).

    Reach out to them, tell them you're looking for volunteers and some support. Reach out to tech repair charities/groups or businesses that supply devices.

    I'd recommend to do this 'locally' and not over email or across something like zoom. Your local college/university/school will also work with you, because it's near guaranteed that they will have students with accessibility needs. You CAN get funding for this, charities will give money for expenses to get this done.

  23. Phil Armstrong — May 11, 2025:

    Thank you for this thought provoking & concerning article.

    On a purely technical note, if Debian gives you almost everything you need then you should find that the latest versions of orca, at-spi and pipewire are available in backports packaged for the current Debian stable release: https://backports.debian.org/

    Obviously this doesn't solve any of the wider problems with the steady bitrotting of accessibility as the treadmill of change rolls onwards. Devs simply need to care more about accessibility. End to end Linux installs should work everywhere.

    It speaks to Debian's commitment to accessibility that they've maintained accessibility support over the years, but the reality that this still ends up with a system that is inadequate by default demonstrates how little that matters if the end result isn't workable.

  24. Tim Böttcher — May 11, 2025:

    This deeply resonated with me.

    I'm deafblind, so I sidestep the entire audio stack nightmare. But even with "just" BRLTTY and Orca, there's still plenty of horror to choose from.

    "No screen". What? Why? Why??? Reboot. Hoping. Praying. (I'm an atheist, but there are no atheists waiting for BRLTTY to hook into the GUI).

    "Screen not in text mode". That's the point! Come on, I told you which screen driver to use! Please. Please please please... "No screen"

    Then just as suddenly it works. Why? Benevolence of the little midgets running my system? Who knows.

    I love Linux. I use Linux on my RaspBerry Pi, sort of as a more mobile laptop since I don't need a screen anyway. But, as you put so nicely, it just doesn't love me back.

  25. forty — May 11, 2025:

    Hello, thanks for sharing this.

    Regarding the issue with old software in Debian, have you considered enabling Debian backports repository? There is a recent orca version there it seems, and it might be better than having to compile things yourself. I don't know what integration effort is done for this newer software to work well with the older software though.

  26. Rastislav Kish — May 11, 2025:

    A blind Linux user here. While this post has some fair points, which could be presented in a polite and respectful manner and actually help things, it also contains so many strongly misleading or straightly incorrect statements, which combined with the article tone honestly make a pretty bad impression on me. Which is a shame, because I do think your good points are relevant, but you completely burry them in false assumptions and wrong accusations.

    I'm not even sure where to start. If I had to address every misleading claim, my response would likely be longer than the article itself. So, just few points.

    Linux is not an operating system. It's an OS kernel, a software component which is neither accessible nor inaccessible, it's just a wheel in the machine. What determines accessibility is the specific distribution. Just like the UX.

    If you read Linux discussions, or just talk about Linux with sighted friends, you will find many complaining about various problems they're facing in a particular distro. What I'm trying to say is, that even if you have sight, it's not a silver bullet. Some distributions will work to your liking, and in some, you will have disappearing DE panels, unreadable fonts, scaling problems, crashing apps, etc. etc. etc.

    Simply put, a11y is just a part of good UX. Some distros, like the well-branded ones such as Ubuntu, Arch, Debian, Fedora, naturally have good UX, because there are many people to take care of it. And Debian, just like Arch let you play in the terminal all day long.

    Now, one thing where you absolutely do have a point is, that many of common a11y issues could be very easily prevented. For instance, the recent Fedora 42 Mate problem, where Orca does not read the installer due to permission issues. Or Orca not starting on Fedora Silverblue (I'm not sure whether it's actually included at all).

    One very good thing is these are not actually hard things to fix, exactly the opposite. OS teams usually have release processes, where the software has to pass various integrity checks before it's shipped. If they introduced one more phase into this process, an a11y phase, where a person would sit down and try to install the OS with closed eyes, I'm pretty sure they could very quickly catch and fix 90% of the common a11y problems, because they're the same all the time. Screenreader not present in the installer media or installed OS, not working Orca shortcut, screenreader permission problems with the installer and audio issues (even though I'm not seeing a lot of these recently).

    All of these things can be easily fixed even without an army of people writing a11y code 24/7, because all the tools already exist and work pretty well, it's just a matter of proper integration, which an experienced maintainer can perform very swiftly.

    As for issues not being fixed until someone screams... well... that's the purpose of the community, to report back when something is not working. Or how do you think all the other bugs are getting fixed?

    I'm not saying we can't do this more efficiently, and again, I agree with you in the sense that we may ask for structural changes, like prioritising at least the relatively easy to fix a11y issues and having a11y testing checks. But I'm not seeing any constructive suggestions or proposals in your text, just accusing everyone and their mother about not caring about you and your needs.

    By the way, when you mention wayland specifically, this protocol has probably been one of the longest developing standards in the OSS world, it has been in development for over 15 years and it wasn't until very very recently, literally like a year back with the new Mutter and Plasma 6 releases, that I'm starting to see sighted people considering it usable more often than not in various discussions. And very soon after, we get a proper wayland support by screenreaders. Don't take me wrong, a11y is good, it is important, but sometimes it's not bad to take into account the context, because we're not the only users of the software, there is the rest 99% of users who are sighted and would love to be able to use the software too! 🙂

    In conclusion, I probably do agree with many of the issues I think you're trying to communicate. But I subjectively don't think your communication strategy is a very fortunate-one. It's certainly not true that there wouldn't be anyone working on the a11y. GNOME 48 did not improve on its own, KDE Plasma did not improve on its own, wayland did not fix itself on its own, the new at-spi 3 protocol did not get designed on its own, WebKitGTK did not fix itself on its own, GTK4 did not get fixed on its own, and the entire list would be very long, these are just the changes from the like last two years?

    The workforce absolutely is there, and also the willingness and interest of the non-a11y developers. After all, accessibility is cool, it not just brings the software to everyone, but also gives it good reputation for institutions.

    I think a more constructive approach would be actually talking to these people in the article instead of pretending they do not exist, and suggest them solutions which would address the biggest issues efficiently.

  27. Achy1les — May 11, 2025:

    After reading this post I've just installed Orca (I already had speech-dipatcher installed and fully working in my vts (ttys) on this Linux Debian cutting-edge rolling release that I use for years now... And it is working greatly here (In Emacs, browser and everything else); My ricing setup is: Linux Debian Siduction Distro plus StumpWM... Could you test this setup in your PC/Lap?

  28. Damglador — May 11, 2025:

    Beautiful writing. I definitely will read the future articles.

  29. Nycki — May 11, 2025:

    Thank you for writing this. I've known in my gut for years that this was the case but it hits so much harder to hear it firsthand. I don't trust any software that doesn't have a plugin system, because plugins are the first line of defense against poor accessibility. But you're right, it shouldn't even be a plugin. It should be the minimum.

  30. GiantJupiter — May 11, 2025:

    An absolutely well-written article. I have no words to describe how true your words are: that the system still punishes one for trying.

    I have some experience with programming, so when I heard about malloc() and FIFO pipes (if FIFO means what I think it means), I was a little bit shocked to say the least. Yes, shocked, knowing that you're probably debugging C code by yourself.

    You have my absolute respect for being persistent with the Linux desktop, that too being a blind person.

    Your post almost had me in tears.

  31. Axel Svensson — May 12, 2025:

    Bedrock Linux sounds insane, but I understand how you got there. I do something similar, except perhaps very slightly less insane: I run applications from Nix, without NixOS, on Debian.

    This is something I can't recommend to most people, for similar reasons you can't recommend your setup, except perhaps I can recommend it to you. This combination gets you the most important upsides from both Debian and Nix, probably without all the downsides you listed for Bedrock Linux.

    I use the one-line nix installer from determinate.systems to get sane modern defaults, and maintain a nix "profile" under version control. This profile can be shared with friends who can install or update it with another one-liner.

    My favorite part is that you can get reproducible, shareable, custom builds with minimal effort spent on figuring out how to build a particular application. You can express things like "install emacs, built in the exact way it's built in this particular version of NixOS, except upgraded to this particular commit from this fork, oh and also apply this patch, thanks."

    It's not very easy, nix does take effort to learn, but maybe packaging your necessary hacks in such a profile can make them shareable to the point where you can recommend them. After all, every package we install was made by someone else and we still feel in control.

  32. fwolf — May 12, 2025:

    Guess the major grief - as usual - is: Usability .. is easy. Accessibility .. also is easy. It benefits ALL of us. THAT is the important part.

    No matter which interface, may it be web, may it be TUI, may it be GUI, may it be pure-bred terminal mayhem - accessible interfaces benefit EVERYONE.

    That'd be the credo, the motto, the fighting term to life and work by.

    As long as THAT doesnt penetrate, gets hooked into everyone's mind, the whole discussion, the whole thing is moot. People will continue to ignore it, because .. its a thing happening to others. Sure, would be nice, but .. its not me, isnt it? So priority for this is always gonna be on the lower end - never a centralized part of the whole thing, eg. application development process. Or, for where I come from, the web site development or design process.

    To me, the latter one IS and has been a central part - I sell it under the "think of mobile users" label, but IRL? Its centralized usability, and thus, inherently, accessibility.

    cu, w0lf.

  33. Anonymous — May 12, 2025:

    This problem should be addressed by organizations and institutions with government support. They are the ones who should create a distribution package for the blind and maintain it at the proper level. No other measures will work. Unite and create similar non-profit organizations. Collect funding and get things done. Good luck to all the blind people of this world!

  34. Anonymous — May 12, 2025:

    damn for a blind person, you hit the bullseye!

  35. Elena — May 13, 2025:

    Is there something already set up for people who want to help with accessibility? Or just a direction to go in? I want to help but I don't know where to start.

  36. Fabian R. — May 13, 2025:

    Hello, thanks a lot for sharing your experience. I recently attended a presentation on this precise subject (accessibility in Linux) and the presenter highlighted many of your points. However, he shared his experience with Ubuntu 25.04 where he says now GNOME really has come back to the same level of accesibiility as before. Perhaps you can try that and copntinue sharing your experiences. Great writing, I hope you continue sharing.

  37. The Geek on Skates — May 14, 2025:

    I hear ya. As a visually impaired Linux user myself, for at least 6-7 years now, I am kinda in the same boat (especially with the installer, where there isn't even zoom). I've been there with the pics on the phone, firing up the magnifier app and pointing it at my screen in a feeble attempt to read stuff. And like you, I love Linux. Your line, "Most importantly: it’s mine. To do with as I please. To fix, break, rebuild, and own." had me thinking, heck yeah! But I also agree with your line, "the best I can offer her today is scripts, and breakage, and prayers." The Lord has gotten me through all kinds of crazy Linux misbehaviors, cuz yeah it's like they don't care.

    I've often thought of doing something like the Vinux guy, creating my own distro with an emphasis on accessibility. Maybe condole-only... except the kernel doesn't have anything bigger than like size -0.0000002 micro-font. I'd be shooting my own foot then, cuz I'd be stuck with whatever screen reader-like concoction I ended up coding and without being able to use what vision I do have. Then I thought, well what about using something like NW.js, to create a sort of graphical desktop with a screen reader of my design? No speech-dispatcher, no AT-SPI (which btw is pitifully low on docs), just espeak (which is a whole other slice of awful I'm sure you'll be talking about) and a custom screen reader. But then, any app built with any other UI framework - meaning most of Linux, from LibreOffice to Audacity to browsers - just wouldn't work. Of course NW basically is a browser but that's beside the point.

    Most recently, I've been playing with the idea of creating a screen reader that has keyboard shortcuts more like NVDA's. Like okay, Links List - Insert-F7 on JAWS, Insert-F7 or Caps Lock F7 on NVDA... what was it again, Shift Control K for Orca? Even if you get past all the installer issues you focused on in this article, you end up with a screen reader that's so unfamiliar it may as well be alien. I may not be able to fix all the lousy "they don't care" coming from distro devs, but I'm thinking sheesh, at least don't make users have to re-learn how to use it when it works!

    Anyway, I can't wait to read your article on the console ("TTY"). I do like espeakup, and I've been meaning to really knuckle down and learn it. But when using the console with espeakup... any other audio that plays bricks it. So if I want to play a little background music, better bank on no speech. Forget audio games (which I would love to buld for Linux, if the problems were not as bad as you say). Oh, and the no zoom thing.

    Bottomline, yeah I hear ya. But I appreciate that you're taking the time to write stuff like this. It needs to be said and it needs to be shared with those who maintain the desktops and what not. So thank you.

  38. kos — May 14, 2025:

    I've been using Linux starting from Lubuntu 08.04, after some years running DIY router with freebsd. I intentionally switched from Windows 2000 (yes because vista was a delusional nightmare and I hated Win7 as well after first experience) to Linux as one snd only system on my home computer because I can't stand anymore destructive upgrades on Windows (I have done that many times, 95 to 98 then to xp and finally 2000). Instead of wasting time on unstable unnattended configs, ridiculous registry hives and short living software drivers - decided to invest in Linux, hardway without midnight commander - only shell. That paid off after 15 years of course, upgrades through all LTS releases up to recent one (22.04). Upgraded hardware 3 times, even one migration from desktop to laptop - I learned what is important to backup and how to install all my top level packages to fresh system and then restore profile. But at cost that I implemented a lot of custom scripts, once even compiled kernel module nv-hda (made by some good guys ) to fix missing sound in hdmi output from nvidia card. That is not what average user will ever do even with available recipes in the Internet. Yes it is in my control but firmware and drivers a full of never fixed bugs, hardware just becomes unsupported by manufacturers and all proprietary never revers-engineered (ever tried to play games with wine and nouveau? ). So yes but no thank you. My next device I hope sooner or later will be running MacOs. For similar reasons why I ditched wonderful Cyanogenmod/LineageOs android linux smartphones. That was great to customize everything but comes with a price - significant efforts to maintain, short lifespan for device. Most likely for contingency I'll keep old linux laptop, but I want to just use the device, code when and what I like and not pretend to be part-time L2 RedHat/Canonical engineer. I have experience rebuilding world in FreeBSD and then upgrading router multiple times, I was compiling linux kernel with custom config for AMD CPU and double checking changes on every kernel version upgrade - that's no fun and time consuming. Modern Linux is way better than in 2003 but still orphaned child as a home desktop OS, Microsoft and many other constantly ditch apps for it (MS Teams - there is no version to replace Skype now, because that last deb for version 1.5 works only for corporate accounts). Yes Lutris is better than PlayOnLinux and pure Wine - but Eve Online is not working because of new anti cheat system. Steam made great job but Eve Online was not working with Proton reliably even before new anti cheat system. No games, no apps. No average users in big numbers. I don't even speak about ARM support - still too early for that imho. Canonical made great job improving UX with installers (during last 15 years) but there is a lot more to do, unfortunately they just don't have any revenue to invest in that (comparing to MS and Apple)

  39. Riker — May 16, 2025:

    This is an article that needed to be written, desperately.

    I remember giving talks at a few LinuxCons years ago about accessibility, recommending it to my fellow disabled folks, and trying to urge developers to actually test with a screen reader and other accessibility tools. The basic 'turn your screen off or cover it and try to navigate your distro' was said repeatedly many times.

    I remember Dasher and how awesome it was to use for typing; I remember an eye gaze package that allowed me to use my eyes or head to manipulate the mouse; I remember the hope that this was just the beginning, and Linux would soon rival Apple and Windows in accessible computing, bringing down the astronomically high cost of accessibility software and hardware.

    I remember being at a policy conference in DC, where a speaker using an AAC device suddenly had it fail on him when he be needed it the most - and I was able to easily load up a basic text to speech program on my little Asus netbook running PeppermintOS. The netbook sold at Target for $200 as opposed to the $400 one, simply because the former ran Asus's version of Linux (it wasn't a great OS, and it always struck me as strange that they built one in-house rather than just throwing some cash at Debian or Ubuntu or even Arch). Later, that same speaker told me it might take 3-6 months for their original device to be fixed - an expensive ($1000!) yet primitive text to speech piece of hardware consisting of a keyboard and two-line LCD screen. Yet for 20% of the cost, a full computer could be had that did the same thing - and much, much more.

    But the state accessibility technology agency had a contract with the primitive device maker, so they wouldn't even consider it. A viable option at the time that might've been instrumental in pushing accessibility among distros - after all, if states will pay for it, that is a stable incentive - but as you wrote, things are not this way anymore.

    I recently had a meeting with my state's accessibility technology office, and realized what you experienced. It's embarrassing, it's shameful, and it feels like a warning indicator of where Linux as a whole is going: corporate-influenced development, with everyone else as an afterthought, with little to no recognition nor support of volunteers trying to make Linux more inclusive and better for everyone.

    I've been a Linux user for decades, and though some things have gotten way better, accessibility has not. Too often nonprofits and state agencies just foot the bill for an iPad, because it's simple, somewhat accessible and abled neurotypicals like them; the ableism that is inherent with this choice - implicitly stating that disabled folks, particularly blind folks, won't be programmers/coders/developers, so giving them an actual computer is a waste - has spread like the measles across the United States. This sucks, but like you, I can't recommend Linux to my fellow disabled folks - at least, not as much as I did in the past.

    This is going to sound harsh, but I'm not going to bullshit anyone here - this likely will not change unless the top people in the Linux Foundation either become disabled, or their children become disabled, or a close friend in the Linux community becomes disabled. Too often, we're overlooked, ignored or dismissed because accessibility is not a priority - until it is for them.

    Please keep writing; it helps me feel less alone in this space. I appreciate it so much.

  40. Anonymous — May 18, 2025:

    This is what happens when you have options of using one over the other, some things just don't get enough attention because there are other "important" things like porting software over to Rust (I am taking about you Ubuntu).

  41. Ada LaNerd — May 19, 2025:

    Hi!

    Thank you so much for writing this series. My blind friend loved the first sentences that were translated for her in french and asked me to do the rest. I just did and now I wonder: is it possible to publish my translation anywhere? You can get the markdown version here: https://zerobin.org/?31a59af1dabb79a0#Ce9GDh7YopC3c4GuV5ruGzp5XQSrhC16vaxN72mDs9Uk

  42. Cúán — May 21, 2025:

    Thank you so much for this article. As a seeing person who makes amateur websites as a hobby, I've been plunged into the world of computer accessibility for the blind, which is a world I never noticed before. I'm often left indignant -- why is it so hard? Why is it so hard to control how my page will be read? Why is it so hard for people across the web to create pages that are accessible? And that's just the web, where at least the W3C is trying to make sure that everything is accessible for everyone. If that's the mall, Linux feels like a rusty old diner out in the sticks. I love GNOME, and I'm normally satisfied with their accessibility in other aspects, like being navigable with a keyboard and having good contrast. And their apps are "to the point" in a way that makes them easy to translate, text-wise. But this audio stuff is leaving me disappointed, especially since I could need it some day. I'm glad MATE is a good option for you, and I like to use it myself when I need a desktop that will get out of my way and let me funnel my resources into what I'm doing. Plus I like to use it to play with compiz. But after this article, all my favourite desktops have left me feel like I walked in on amateur hour.

  43. www2 — May 21, 2025:

    I have hear about this post from Brodie Robertson youtube channel.

    There are multiple problems with current state of accessibility on Linux, but i focus in my post only on Text To Speech (in the rest of my post i use TTS).

    As some one that have dyslexia my experience with TTS under native linux are bad.

    Current i using Balakolka and Microsoft SAPI4 and SAPI5 base voice for synthesizing speech and i like to move to a Linux native app's.

    But the major (classic) TTS package's (eSpeak/eSpeak-ng And Festival) have the problem that the voice quality is bad (eSpeak/eSpeak-ng sound robotic), no library api's for the major software language's out side a command line interface, real time speech synthesizer (play after render the compleet text to audio) and/or not contain data for all the major language's.

    And i don't speaking about AI base TTS package's. Except the voice quality IA base TTS have the same problems as the classic TTS package and most of them replace command line interface with http or web sockets base interface.

    The best solution is that Linux tts get a library interface for the major computer language's (C, C++, python, rust, go, javascript/typescript. etc) with support of streaming audio with a similar api as the MS SAPI5.3 [1].

    The other major problem that i speaking about the the voice quality. Even AI have at the moment the best voice, my gold standard for minimal quality is MS Sam that is use in MS SAPI4 and SAPI5.

    For the reading software this can have a simple interface that i can pass the text and have a play, play select, play from clipboard, pause and stop button and language/voice select, read speed.

    [1] https://learn.microsoft.com/en-us/previous-versions/windows/desktop/ms723602

  44. Alice Alysia — May 21, 2025:

    Thank you for writing this!

    Lately my passion has been turning linux into something more accessible to newcomers. This article has shown me a huge gap in my rationale, and I'm eternally greatful for that.

    I hope I can solve some of these issues, as a lot of what I'm working on is related.

    When I was reading your section on I3, it made me think of niri. Niri is a wayland window manager that arranges windows in an infinite horizontal row.

    Each new window is placed to the right of the current window, it can be configured to ensure the current window is always centred. Windows can have a fixed width specified. It is keyboard driven, and it is extremely fast and responsive.

    It also uses xkb, aka the x11 keyboard system rather than a new keyboard system. I know for a fact you can rebind insert to something else using the xkb keyboard files, but I'm curious if this alone makes the capslock key work.

    In either case, I'll be testing everything I make with orca from now on, so I should be able to find out either way.

  45. Anonymous — May 25, 2025:

    This is why you don't use Ubuntu or anything similar. Arch works perfectly fine, and always has.

  46. Charles — May 30, 2025:

    This honestly sounds like the Linux community issues that are currently dying out for Gamers. That is, the "if it doesn't work, do it yourself, it works on my machine" crowd. 15ish years ago I tried Linux and bounced off of it for a lot of issues. Part of it was a lack of tech savvy-ness, another was that Windows 10 had finally matured and I didn't really need to switch, and a much bigger part of it was a lack of good on-boarding into "the community" and being able to ask for help without basically being told your an idiot. And that was what they said to gamers at the the time.

    In just a few short years of Valve releasing the Proton compatibility layer, doing a ton of much needed maintenance on some drivers, games, and other options, it's easier than ever to install Linux, run a few commands to make sure you have the right drivers (or install a gaming centric distro from the starts), and get up and running. It also helped that I was able to take a SysAdmin class in my final semester. Now I'm running a Linux desktop and playing games and doing some work on it (albeit singleplayer games, not sure how it is for multiplayer gamers).

    This article feels like how it was for gamers all that time ago. People who just wanted to sit down and play a game and have to troubleshoot as little as possible to get their stuff working were treated terribly because Linux users with tech saviness were both unsympathetic and unwilling to help and there was no single source, obvious source to go to for decent documentation.

    I saw articles like this written at that time, too, those many years ago. People were getting fed up with the community and the lack of basic maintenance and documentation. I hope this series of articles is a precursor to getting these accessibility tools more publicized and more available at shipping for more distros.