Falling into Linux

During the month of... November? December? Something like that... I found myself being called by Linux again. I just can’t stay away. I go to Windows for a while, and then something happens. VS Code became sluggish and unreliable, and I just... just couldn’t deal with crap anymore. Sure everything else worked well enough. I could play my audio games and Slay the Spire (using Say the Spire), but gosh darn it I missed freedom.

So, I thought about it. People on the Linux-a11y IRC use Arch. Because they’re all pretty much advanced users. Other blind people use Ubuntu Mate, or Debian. I tried Fedora, and found that I couldn’t even run Orca, the Linux graphical screen reader, within the Fedora installer. I tried Debian in a virtual machine, but the resulting system, after installation, didn’t speak. I tried Slint Linux, a Slackware based distribution, but there were sound issues, and they weren’t something I could deal with.

Linux-a11y IRC

Slint Linux

The Need for Speed

So, I thought about different Linux distros. There priorities, their values, and their priority of keeping packages up-to-date or not. I like distros that keep packages up-to-date. Not doing so, to me, feels like a slap in the face of developers, the distro maintainer saying: “We don’t trust that you can write good enough software, so we’re going to leave your software at this version for >= 6 months. And then, when we release a new version of our distro, we’ll go into your code and “backport” things into your old version.”

Another issue is that older software isn’t necessarily better. It definitely isn’t necessarily more accessible, and that is my main concern, and is, I suspect, why most “power user” blind Linux folks go with arch. They already have GTK4 in their repository. Can Ubuntu, or even worse, Debian, say the same?

Now, I know that there is Flatpak, Snap, and probably a lot of lesser-known protocols. But I see them as add-on package managers, supplementing the system package manager. Also, they wouldn’t be necessary if Ubuntu and Debian would package up-to-date software. Snap and Flatpak are solving a problem that Ubuntu themselves created. Isn’t that nice?

Choosing Arch

So, I looked around. Ubuntu, Debian, all the main distros were all fixed releases, all stale, and I like to explore. I use my computer more than just for simple stuff. I mean, I can’t have old, out-dated packages. And it’s so sad that Youtube-dl, and even Mycroft, have to explain to users how to install from Pip, or from a git repo, just to keep the package up-to-date. But enough about that. A person on the IRC channel suggested Anarchy, which is an “easy installer ISO” of arch. So, I took a look.

Anarchy Installer (HTTP)

Since late last year, the base Arch Linux distro has come prebuilt with accessibility stuff. Just press Down Arrow once while booting, then Enter, and the Arch Linux ISO will come up talking. So, maybe Anarchy would do the same.

I got the ISO, flashed it to a flash drive, and booted it, doing the steps to boot in accessible mode. And it worked. The command line interface was pretty easy to use, and left me with a system that, while inaccessible (there were no settings in the installer to configure that,) I was able to chroot in, from the command line of the ISO, and set things up.

Setting up my New System

First, I enabled espeakup.service. This runs the Speakup screen reader with the ESpeak synthesizer. That was enough to give me speech at the console. Then I installed Yay, the AUR package manager thing. I later switched to Paru. Then, I installed the Mate Desktop, as they’re currently the only ones that have accessibility well enough for easy usage for now. Hopefully Gnome gets back into the game with Gnome 40, but I’m not holding my breath.

Then, I added these lines to my .xinitrc:

export GTK_MODULES=gail:atk-bridge

exec mate-session

And so then I could get going. I started the X-session (startx), and ran Orca from the run dialog (Alt + F2). But still, some programs weren’t accessible. So, I went to the System menu, down to Preferences, then Personal, then “Assistive Technology”, and checked that box, and things were pretty smooth after that.

My Experiences so far

I don’t think I’ll be going back to Windows any time soon. While there are problems: Alsa sends ESpeakup through my speakers even if headphones are plugged in, I need to learn more about Pulse so that I can add more than one Ladspa effect at a time, and add them to whatever sound card I’m using, not just making a new sound card, and I do miss the sound packs created for MUD’s that only run on Mush-client. But there are things about Linux that I do love:

Also, in my experience, Linux breeds creativity. You could use it as a regular desktop user, but if you dig just a tad, you see the building blocks. And it makes you want to learn about them, to play with them, to maybe break them a bit but then try to fix them. And some things you can’t make work: like the fact that my laptop, having just a USB C port, can’t display video over Thunderbolt. (I have a Thunderbolt dock at work connected through Display port to a monitor.) But some things you *can* do. You can script things using Python, then put them in your bin folder to run from anywhere. You can make your own programs! You can turn your Linux machine into a Bluetooth speaker to listen to books from your iPhone on your laptop! There is just so much possible with Linux, and even more possible with coding knowledge.

Flaws in the Utopia

This isn’t to say that Linux is perfect. It is made by people, and mostly hobbyists at that. This isn’t to say their code is sloppy, or that they don’t care. It does mean that they aren’t held to any kind of company standard, especially regarding accessibility. Linux is more of a community effort, so users will *need* (me included) to interact with the community to get things fixed, or even just to remind them that blind users actually do exist. We do have our own IRC server, a little corner of the Internet, but we won’t get anywhere by just staying in that corner.

Looking Forward

I’ll probably stick with Linux, as long as this laptop survives. I’ve had it for about five years, and it’s still pretty well up to the task. It performs well, has a good enough keyboard with a number pad, but a first ports, especially the headphone jack, are becoming loose. I’ll have to see about getting a USB sound card or something, unless ports can be tightened. And a new battery would be good too. I ordered one, so we’ll see if it can be replaced.

I’ll still reach out to developers, to see if accessibility of apps can be improved. Hopefully, indie game developers will be more receptive as well. Eventually, I’d love to have more blind people come to Linux, and not just then jump into the blindness servers and moan and grown, but continue to push for greater accessibility, on Matrix, on IRC, on Forums of desktop environments and graphical toolkits like GTK. Linux makes me feel passionate about technology, about open source, about what’s possible, whereas Windows just felt contrived, the accessibility team preaching and preaching on their Twitter account, saying *all* the right things. Saying all the right words. But when it comes time to deliver, well, they fall short. Windows 10’s Mail app still is a pain to use with screen readers, still having the issue of when I put keyboard focus on a thread, it automatically expands, and then I have to close it just to quickly move down to another message or thread, and when I press Control + R to reply, nothing is spoken to let me know the command succeeded. Not even Thunderbird, even though it locks up every few minutes, has those kinds of problems. And the only other good email client is Mutt.

So, Linux feels more “real” to me. It doesn’t try to hide its accessibility issues with worm words and “we hear you!” tweets. It could do better. Earlier today I suggested to people involved with the Pine Phone that accessibility could be a greater focus, and essentially got back “maybe you can focus on Linux desktop accessibility first.” I guess I’ll have to. I’m not a developer, but if that’s what people want, sure. Why not. Maybe I’ll even learn to enjoy it. But I’m more of a writer, for now, not a programmer. I’ve made a script, one script that is used in “production”, and find it easier to learn and enjoy now, but it’ll be some time, a lot of time, before I’m able to deal with low-level stuff in Linux.

But, until then, I’ll keep exploring, learning, and trying my best to get the word out, to keep people cognizant that accessibility is an issue, and that they don’t have to be an expert to help.