claude-desktop/src-tauri/src/main.rs
Eddy e69ffe7f2b
Some checks failed
Build AppImage / build (push) Failing after 5m28s
[appimage] AppImage auf jeder Linux-Distro lauffaehig (inkl. NixOS)
Zwei kombinierte Patches:

1. main.rs: WEBKIT_DISABLE_DMABUF_RENDERER + WEBKIT_DISABLE_COMPOSITING_MODE
   als defensive Defaults wenn nicht vom User gesetzt. Behebt typische
   WebKit2GTK-Renderer-Crashes auf modernen Wayland-Setups.

2. Workflow: nach 'tauri build' wird der AppRun gepatched.
   - Detect NixOS via /run/opengl-driver/lib -> Host-Mesa via LD_LIBRARY_PATH
   - WebKit-Workarounds als ENV-Defaults (override moeglich)
   - Standard linuxdeploy-Pfade (PATH, XDG_DATA_DIRS etc.)
   - Re-bundle mit appimagetool

Resultat: AppImage laeuft out-of-the-box auf Debian/Ubuntu/Fedora/NixOS,
ohne dass der User ENV-Vars setzen muss.
2026-04-19 23:27:40 +02:00

22 lines
695 B
Rust

// Verhindert CMD-Fenster auf Windows bei Release-Build
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
fn main() {
// WebKit-Workarounds fuer Linux-GPU-Stacks die mit dem
// bundled WebKit2GTK Probleme machen (NixOS, aeltere Mesa,
// Wayland-Bugs). Nur setzen wenn der User nicht selbst
// schon was vorgegeben hat.
#[cfg(target_os = "linux")]
{
for (key, val) in [
("WEBKIT_DISABLE_DMABUF_RENDERER", "1"),
("WEBKIT_DISABLE_COMPOSITING_MODE", "1"),
] {
if std::env::var_os(key).is_none() {
std::env::set_var(key, val);
}
}
}
claude_desktop_lib::run()
}