Hacker News new | ask | show | jobs
by suby 17 days ago
I read this yesterday wanted to raise awareness for it - https://nocoffei.com/?p=451

It describes the regression in accessibility software for Linux from x11 to Wayland. Unfortunately, judging by the pace of protocols being accepted, I think we're years out from having a solution.

The most notable thing not working is Talon, which is a voice input system that lets you insert speech to text, manipulate windows, call scripts, etc, all via voice. It's software that works on Windows, MacOS, and x11, but not Wayland.

I think unfortunately right now the best bet is to, if you need the software, stick with X11 for as long as possible. An environment like i3 will probably be maintained for decades to come. Alternatively it might make sense to build some type of bespoke solution on top of a specific wayland stack, like re implementing what you get of talon in a kde plugin or via sway IPC. This seems viable to me but an incredible amount of work.

For people that need this, having to be a developer and build your own tooling in order to use your computer... it's not a future of Linux I'm particularly excited about. I don't want to leave people who need accessibility software behind, and I don't think any security justifications are actually real roadblocks which would prevent being able to serve these people. We have a coordination problem. It's less of a technical issue and more of an issue of getting people to agree on protocols which would let software like Talon work against the entire ecosystem.

I am happy the ecosystem is moving to Wayland, I think we're going end up in a better place. Wayland does solve some real problems for me (x11 screen tearing / frame pacing issues on Nvidia). I'm happy that KDE exists, it's great software.

5 comments

I've paid for Talon beta access for years. I'm a heavy Talon+Cursorless user, and I'm dreading this move by KDE.

Ultimately I think this mostly confirms the danger of using closed source software (Talon). I have some personal accessibility tooling that works just fine on Wayland. It's KDE specific but it really wasn't hard to get working. And uinput works on a level below the compositor, so X11/Wayland are irrelevant.

My stuff is written in Rust, just like Talon. I'm sure it would take me an afternoon or less to copy it over to Talon... but the dev just isn't interested. I don't know why he's so dramatic about Wayland when there are people actively trying to help contribute. If you try to talk about Wayland on the official Slack, there's an autoresponder telling you to shut up about it. If this were open source, I or someone could just fork it and move on with my life.

Now I'm sure I could use Ghidra and hack the binary to add support, but I'm not excited about becoming dependent on software where the developer is actively hostile to my interests. It reminds me of the blog post from yesterday about the guy who hates his insulin pump. I'm still a Talon user but I hate it now.

I guess I'll be forced to move to XFCE soon? Where is everyone else moving to?

I also think it's unfortunate that Talon is closed source. You see this even in the support practices adopted, where all support is routed through a slack chatroom which doesn't let you view history older than I want to say a few months but might be wrong on the length of time. The author seems to want to force all support requests to go directly through him, presumably because it increases his income if he can create a direct connection with his users.

He's created an incredible piece of software, and that's entirely within his prerogative to do this, especially because him being able to work on it full time leads to more work going into the system. He's made the world a better place so I'm not trying to criticize too harshly. But it's also super unfortunate right, because now if I run into an issue with Talon I am unlikely to find a search result of someone else who has solved it, but rather I have to interact with the creator of the software in a silo'd manner that will not be useful to anyone else other than me.

Tthreatening to remove x11 support entirely (as the article alleges) is also unhinged, yes. We're in a situation in which the best accessibility software is being threatened to be removed from a working platform because the author is (justifiably) frustrated with support requests that he cannot fix because of the transition to Wayland.

I expect that sooner or later we're going to get a better solution to accessibility than Talon, I'm not sure exactly how but probably using local LLM's in a heavy way.

Hi, I'm the developer of Talon.

It's possible to do the simple compositor specific hacks from Talon's scripting system to give yourself partial Wayland support at roughly the quality I'd be able to provide myself, and I know of a couple efforts to do this.

The tentative plan for "dropping support for X11" is just to do one more public Linux X11 release, stop there, leave it available to download, and make it very clear what to expect when you download for Linux or run on Wayland. I plan to continue supporting X11 on the paid version indefinitely.

Most requests relating to Wayland on the Slack have not been offers to help, and way too many have ended up being unpleasant conversations.

I have a standing offer to reconsider my stance if someone can show the vast majority of the necessary APIs are available and well supported without compositor specific hacks.

For some of the other points above, consider me disappointed but not surprised.

A KDE developer commented: https://nocoffei.com/?p=451#comment-736

Quote:

>As a community, gather together, and successfully implement the entire API surface needed for Talon on GNOME, KDE, and wlroots,

Can you help find where we can work out this list?

An all or nothing probably isn’t going to work, but we can chip away at this.

There are definitely people who want to help.

This seems like it basically confirms ggp's complaints: You're not interested in addressing customers' needs, or giving them ways to address their needs themselves, and are instead taking a "if this doesn't meet my standards you're not allowed to do it" standpoint.

If slack interactions are so unpleasant, why do you direct all support through it?

Is there no way you could say "yes this is a hack, but we'll live with it for now until an actually good solution is available"? Maybe it could be added in such a way that it's easy to remove later (abstraction, encapsulation)?

I don't think any of your points reflect what I was trying to communicate.

> You're not interested in addressing customers' needs

I would love to support Wayland, but it is my position that it is impossible to "support Wayland" for Talon. I can only support a subset of the features and only on specific compositors, and it would be a lot of work.

> or giving them ways to address their needs themselves

As I said at the top of the message you are replying to, I believe today users already have the tools to address their needs themselves with about the same level of jank I'd be able to provide on Wayland. If this is a veiled hard line on open source being the only way for users to address their needs themselves, we have a philosophical difference that won't be sorted out in this thread.

> If slack interactions are so unpleasant, why do you direct all support through it?

That's a whole new sentence. I was specifically referring to the support requests for Wayland, which in the long tail have been more hostile toward me than is likely warranted.

> "yes this is a hack, but we'll live with it for now until an actually good solution is available"

The hack is switching to X11, which is fully supported, or working around it in your user scripts, which has already been done by some users for their specific environment.

Do you have your logic inverted? Wayland is taking away accessibility. You can't blame any isv for that.
And why should he be?

He provided a working version for Linux, he will continue to provide a version for Linux.

Wayland is deliberately sabotaging the Linux desktop by forcing it's way in, developers have their own time and schedule and do not appreciate being forced to throw out working code just because others want to reinvent the wheel. If Wayland did it right they had proper backward compatibility and none of this breakage would happen

Hi Lunixbochs, thank you for the comment. One of my take aways from the article was that you were considering removing the ability for Talon to work on x11 in the future. I appreciate the correction. I understand that you're dealing with a lot of unpleasant support requests (especially because people who have to use Talon are probably frustrated at having lost the ability to use their machine normally). I am sorry if I added to that, I do genuinely think you've made the world a better place.
Thank you.
Screentearing has been solved on x11 for a decade; if nvidia don't support TearFree in the driver, that's an nvidia issue, not an X11 issue.
Until you connect a second monitor.
Have had 4 1440p monitors connected at once for some time. Haven't had tearing issues.
I have three monitors, works fine for me.
Nope, no tearing here with multiple monitors.
Try run them at different refresh rates.
"Alternatively it might make sense to build some type of bespoke solution on top of a specific wayland stack, like re implementing what you get of talon in a kde plugin or via sway IPC. This seems viable to me but an incredible amount of work."

I think that is the only way forward. There is no "Linux desktop". There is KDE, Gnome etc. and if you want to do "system utilities" you have to target one of those.

The point though is that there used to be a «Linux desktop» you could target before the Wayland transition. Fragmentation of an already small market segment is unfortunate.
It's KDE now. GNOME is the penguin that went to the mountains while KDE largely tries to be compatible with things that aren't KDE.
Sure. I use KDE myself. I actually like the Gnome default UI/UX more, but I'm really not fond of their "our way or the highway" approach when it comes to customization and interoperability. KDE feels more in line with the true FOSS "spirit", and after a bit of customization, fits my needs better than Gnome.
There was not really for system utilities. Apps, sure, but not system utilities.
What do you refer to as system utilities? All the stuff now subsumed by SystemD?
Things like input methods, certain accessibility functions, screen savers and similar things.
Huh? Fcitx and IBus both worked on GNOME and KDE as far as I'm aware. Now, Fcitx using QT and IBus using GTK helps them feel more native on KDE and GNOME respectively, but they would both work.
No, that's a terrible idea. The right thing to do is design a Wayland protocol that gives you the access you need, get it accepted into wayland-protocols, and wait for all the compositors to implement it.

Yes, that's a slow, annoying process, but doing something bespoke means either you do the same work over and over for every compositor, or you only support one or two compositors. Neither of those is a good result.

It is way faster and better to implement what you want/need in the DE. Later, it it makes sense, you can standardize it.
It's not just accessibility software but really any customization. Like always the people making the decision to break compatibility and benefiting by being able to work on the cool new thing don't even pay a fraction of the pain inflicted by it.
The web solved this decades ago by removing customizability. That's why all your extensions can do is add context menu items and toolbar buttons at the right side, and mess with the page itself.
It’ll be a better place when Wayland (and by extension Gnome/KDE) stops becoming a cargo cult hell bent on destroying X11/Xlibre.
X11 is not dying because of Wayland, it's dying because it became an unmaintainable code mountain over the years since it has been tried to be converted to something which is not designed for in the first place.

...and I'm saying that as a person who likes X11.

That's Xorg. X11 is dying because Xorg is dying and Xorg is dying because all its developers quit and went to Wayland. There's Xlibre too but it's a shitshow. Any one of us here could continue Xorg maintenance but we're not.
I think Phoenix[0] is a promising project: it's an X11 server written from the ground up, with security and legacy feature removal in mind. It's basically what Wayland should have been IMO. We didn't need a new protocol, at most we needed a new implementation of X11.

https://git.dec05eba.com/phoenix

There is a maintained fork of Xorg that is banned by several distributions.