M10 (task 2022, issue 2021): Arch pacman package + commit icon set (native, system libs)
Desktop (Tauri) / Tauri desktop (Linux) (push) Successful in 3m27s
Desktop (Tauri) / Tauri desktop (Linux) (push) Successful in 3m27s
Native-first fix for the AppImage black window: a PKGBUILD that builds from source,
linked against SYSTEM graphics libs, so it renders on the host driver.
- desktop/packaging/arch/{PKGBUILD,thoughtsync.desktop,README.md}: `makepkg -si`
installs /usr/bin/thoughtsync + .desktop + icon; deps webkit2gtk-4.1/gtk3/...;
builds the frontend + `cargo build --release` (no tauri-cli). Uses the host
graphics stack -> avoids EGL_BAD_PARAMETER.
- Commit the icon set (desktop/src-tauri/icons/*.png, un-gitignored) so BOTH
`cargo build` (pacman) and `cargo tauri build` (deb/appimage) work without a
generate step; bundle.icon -> the 4 committed PNGs; drop the `cargo tauri icon`
step from desktop.yml.
- Broaden the WebKit software-render hardening (lib.rs) to ALL Linux (was
AppImage-scoped) so the native build also renders if system WebKit is finicky.
Can't CI-test the PKGBUILD (Arch-only; CI is Debian) -- operator builds locally.
desktop.yml re-verifies the deb+AppImage build with the committed icons.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FRgehjoz7Yv8LkUfADxACm
This commit is contained in:
@@ -3,7 +3,3 @@
|
||||
|
||||
# Generated by Tauri
|
||||
/gen/schemas
|
||||
|
||||
# App icons are generated from ../../frontend/public/icon.svg via `cargo tauri
|
||||
# icon` (in CI before the build); not committed.
|
||||
/icons/
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 4.4 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 8.9 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.0 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 21 KiB |
@@ -30,17 +30,11 @@ pub fn run() {
|
||||
/// (https://v2.tauri.app/develop/debug/linux-graphics/) is to force the software
|
||||
/// fallbacks at startup, before the webview is created, so end users don't have to.
|
||||
///
|
||||
/// We apply the fix ONLY for AppImage launches (where these failures cluster and where
|
||||
/// bundled libs are in play), leaving each var overridable — native (.deb) installs use
|
||||
/// system libs and keep GPU acceleration untouched. WebKit software rendering is plenty
|
||||
/// for this UI.
|
||||
/// Applied on all Linux launches (this UI doesn't need GPU compositing, and the failure
|
||||
/// spans AppImage, native, and dev builds), each var left overridable so a user can
|
||||
/// re-enable acceleration by exporting it themselves before launch.
|
||||
#[cfg(target_os = "linux")]
|
||||
fn harden_linux_webkit_rendering() {
|
||||
let is_appimage =
|
||||
std::env::var_os("APPIMAGE").is_some() || std::env::var_os("APPDIR").is_some();
|
||||
if !is_appimage {
|
||||
return;
|
||||
}
|
||||
// Ordered per Tauri's escalation ladder; each set only if the user hasn't chosen.
|
||||
for (key, value) in [
|
||||
("__NV_DISABLE_EXPLICIT_SYNC", "1"),
|
||||
|
||||
@@ -37,8 +37,7 @@
|
||||
"icons/32x32.png",
|
||||
"icons/128x128.png",
|
||||
"icons/128x128@2x.png",
|
||||
"icons/icon.icns",
|
||||
"icons/icon.ico"
|
||||
"icons/icon.png"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user