Repository navigation
zephium for linux #284
Replies: 1 comment
|
Update: the Linux build is now public as an unofficial fork, so you can look at the exact changes: https://github.com/someonevro/zephium-linux (branch There is also a release with .deb, .rpm and Arch packages: https://github.com/someonevro/zephium-linux/releases/tag/v1.0.4-linux.1 All credit for Zephium goes to you and the contributors. The README and release notes say it is unofficial and not affiliated, and that the name and logo are yours. The port was done with Claude Code. Since the README says the Zephium name and logo are not licensed under the MPL: are you OK with these Linux binaries using the Zephium name? If not, tell me and I will rename the build or take the binaries down. And if any of these fixes are useful for your own Linux work, I am happy to open PRs split however you prefer. |
Uh oh!
There was an error while loading. Please reload this page.
Hi! I got Zephium building and running on Linux, and I'd like to know whether you're interested in this before I open any PRs. I know Linux is on the roadmap and not supported yet, so I'm asking first.
Environment
bf2f9bdWhat works
cargo check/cargo build/cargo testforzephium-desktop.desktopfileMost of the Linux groundwork was already in the tree (WebKitGTK composition, Wayland portal and X11 shortcuts, the
.desktoptemplate), so the diff is small.Changes (about 50 lines)
work-producton Linux.zephium-engine's Work modules are gated to macOS/Windows (work_resource,page_recipe, and others), so I build Linux with--no-default-featuresthrough newpnpm dev:linux/pnpm build:linuxscripts.scripts/require-supported-platform.mjs(it now points to the Linux scripts) and the runtimeexit(1)at the top ofrun()indesktop/src/lib.rs.launcher_trigger.rsdidn't compile on Linux. It importstauri_plugin_global_shortcut, whichdesktop/Cargo.tomldeliberately doesn't link on Linux. I gated the plugin code to non-Linux. On Linux,set_shortcutreturnsUnsupportedandrecordingdoes nothing, which matches the existingeditable: falseintent.media.rsdidn't compile in any build withoutwork-product.media_admit_remotecallswork_provider::record_diagnostic, butwork_provideris behind that feature. It now falls back towrite_diagnostic.platform/linux.rsinstall_composition, theconnect_size_allocatehandler callsset_size_requeston the chrome. GtkFixed has already allocated the child by the time that handler runs, and the new request only applies on a later layout pass, which never comes while the window size is unchanged. I confirmed this by dumping the widget tree: the window and the Fixed were 1200x800, the WebKitWebView was 1x1. The fix addssized_chrome.size_allocate(allocation)in the same handler..deb.Things you may want to know
././/bin/bwrapand././/bin/xdg-dbus-proxy, and bubblewrap can't reach the AppImage mount. It crashes withFailed to start dbus proxy. I didn't disable the sandbox. Native packages (deb/rpm/Arch) using the system WebKitGTK work.platform::linux::shortcut_tests::focused_shortcut_requires_exact_non_lock_modifiersfails withGTK has not been initialized. It has never run before, since Linux didn't compile. All otherzephium-desktoptests pass.Questions
media.rsno-Work build fix, (b) the chrome sizing fix plus a test, (c) thelauncher_triggergating, (d) gates, scripts and packaging.Happy to share the branch or a full diff.



All reactions