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.
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?
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 export GNOME_ACCESSIBILITY=1 export QT_ACCESSIBILITY=1 export QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1 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:
- Emacspeak: The more I use it, the more I love it.
- GPodder: A Podcasting client that not only is accessible, it even allows me to get Youtube channels as podcasts! I mean, that’s amazing!
- Mutt: I’m really starting to like this simple Email client. Sure, the hotkey list bar at the top is a little annoying and I wish I could just make that go away and just reference keyboard commands when I need them, but overall I love it and wish I could use it with more accounts.
- Audio Game Manager: I probably wouldn’t be on Linux for this long without this tool. It brings audio games from Windows to Linux with Wine and preconfigured settings.
- Retroarch: Now that it’s accessible, I love playing Dissidia Final Fantasy on it. Although, trying to “record a movie” on it really slows things down. I wonder if streaming would do the same.
- BRLTTY: This has saved my butt on multiple occasions when Alsa couldn’t find any audio devices or something and I had to fiddle with Pulseaudio to fix it. I don’t know much about audio on Linux really, I just revert any change I made on behalf of something like Mycroft or whatever. Oh, BRLTTY is basically a screen reader for braille displays, meaning I don’t need audio to use it.
- Emacs: What can I say? Most of my work is done inside Emacs. Most of my play is done inside Emacs. Nearly all of my writing and reading is done inside Emacs. I’m considering having my window manager inside Emacs. One day, my brain will be inside Emacs. No Microsoft text editor can compare with Emacs and Emacspeak’s ability to give as much information as possible, even syntax highlighting, bold, italics, just everything!
- The command line: Sure, we have this in Windows, but it’s more of an afterthought, and a bolted on feature at this point. In Linux, it’s a first-class citizen. I’m not a power user in any stretch of the imagination, but I can navigate the file system, run commands with arguments, all the basic stuff. I can do this in audio and braille. I can use nano a bit to edit files, and know the general layout of config files, and am not as scared of them as I used to be, although I need to learn to read the manual before I dive into them.
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.
- The graphical interface can be tricky to use, like remembering that you have to press Control + Tab to reach some parts of the fractal program, and there are still unlabeled buttons in official Gnome apps, like Fractal. But there will be a complete rewrite of the interface, so hopefully accessibility is considered in the process.
- There are less games, and much less accessible games, on Linux. I’ll begin to reach out to developers of games to see if anything can be done about this. In the meantime, there is the Audio Game Manager for playing Windows accessible games.
- You’ll have to Google things, a lot: There aren’t many blind people who use Linux. That number grows by one or two per year, and the Audio Games forum has a few members who use Linux, but there aren’t many outside that.
- Sound isn’t as convenient as on Windows, where you have enhancements, bit rate and format control, all that in one place. And the Pulse-effects package makes things very laggy, whereas loading a Ladspa module directly produces no lag.
- Sound can be slightly rough when first booting up the computer.
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.