From 547fc4df814a22026d7bb9b614e2d4bcb3acb1df Mon Sep 17 00:00:00 2001 From: plebeius Date: Sat, 25 Oct 2025 18:27:56 +0200 Subject: [PATCH] fix(electron): force GTK 3 on Linux to avoid GTK 2/3 vs GTK 4 crash Enforce GTK 3 via app.commandLine switch on Linux to prevent mixed GTK symbol errors seen on Fedora AppImage. --- electron/main.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/electron/main.js b/electron/main.js index c0a9e3bb..d4b35dd2 100644 --- a/electron/main.js +++ b/electron/main.js @@ -16,6 +16,17 @@ const dirname = path.dirname(__filename); // Load package.json dynamically const packageJson = JSON.parse(fs.readFileSync(path.join(dirname, '../package.json'), 'utf-8')); +// Enforce GTK 3 on Linux to avoid mixing GTK 4 and GTK 3 in the same process +// which can happen on some distros/desktops and crashes AppImage with: +// "GTK 2/3 symbols detected. Using GTK 2/3 and GTK 4 in the same process is not supported" +if (process.platform === 'linux') { + try { + app.commandLine.appendSwitch('gtk-version', '3'); + } catch (e) { + // ignore – if unsupported, Electron will simply ignore this switch + } +} + let startIpfsError; startIpfs.onError = (error) => { // only show error once or it spams the user