GNU libc has a lot to answer for here honestly.
How does the Linux kernel maintaining backward compatibility stiffle UX innovation?
But sometimes a user is an api consumer.
There’s plenty of horrible kernel functions with footguns in Linux, but they won’t be improved due to “never break userspace”
theres lots if examples if you need specifics. readdir, epoll, futumesat (and ufutumesat), etc.
The main issue being that they're dynamically linked binaries, which is exactly what you want to avoid for their use case.
Using packages from your favourite distribution is usually your best bet.
They do have an effort to use Chromium Embedded Framework for rendering the webview, it's potentially much more stable in Linux. [1] It is nowhere near finished but you can run the cefsimple example, and it rendered me a window in Wayland.
CEF is also bundled in many distros, like Fedora 43, so if it can be linked with Linux distros version of CEF, then the binary stays smaller.
I don't know enough to comment about whether or not it's necessary, but any time I've tried to get anything working that wasn't updated recently, it was impossible.
Well impossible is a bit strong, the process ranges from:
- Find a forum post that links to some old .deb files and install them manually
- Install a newer version of a dependency and then recompile from source code, after spending an hour or two updating the program so it works with the new version of the dependency because the dependency changed its API for no reason (that one's not a Linux problem per se, but it wouldn't be necessary if the old one still worked!)
Better to download the Windows version and run it in WINE...
I think that's the issue: https://github.com/electron/electron/issues/41066
Not even sure who to blame in this situation.
I fight with GitHub Actions on this all the time, and damn near think about running dedicated instances just to build from.
Tauri itself seems fine but the packaging in AppImage is exactly as you describe, or EFL just breaks.
I don't understand the obsession with trimming the disk size at the expense of stability.
The WebView these libraries find isn't the one your JS bundle is hoping for and an upgrade of the WebView isn't an option then what?
The upstream projects aren’t in a place to support this yet so this feature didn’t make it into Tauri v2. I’ve been tracking this for a long time and hope that they will make it possible in v3.
Their build action creates seriously flawed AppImages for Linux for multiple reasons that have nothing to do with the renderer but with the AppImage creation process.