Skip to content

Conversation

@bernardopg
Copy link

Description

This PR adds a comprehensive troubleshooting section to the Advanced Usage documentation to help Linux users experiencing Wayland-related crashes and initialization failures.

Problem

Arduino IDE users on Linux systems running Wayland display servers (particularly Hyprland, Sway, and some configurations of KDE Plasma and GNOME) frequently encounter crashes with errors such as:

  • Failed to connect to Wayland display
  • Failed to initialize Wayland platform
  • Segmentation faults immediately after launch

These issues are caused by Electron's native Wayland rendering backend not being fully compatible with all Wayland compositors.

Solution

This documentation addition provides users with two clear workarounds to force Arduino IDE to use the X11/XWayland backend instead:

  1. Environment Variable Method (recommended): Set ELECTRON_OZONE_PLATFORM_HINT=x11
  2. Command Line Flag Method: Launch with --ozone-platform=x11

Both methods are explained with code examples and instructions for making the fix permanent.

Testing

I have personally tested this workaround on Arch Linux with Hyprland compositor, where Arduino IDE 2.3.6 was previously crashing with segmentation faults. After applying the --ozone-platform=x11 flag, the IDE launches successfully using XWayland.

Related Issues

Checklist

  • Documentation is clear and includes code examples
  • Both workaround methods are explained
  • References to related GitHub issues are included
  • Tested on affected system (Arch Linux + Hyprland)

Additional Notes

This is a documentation-only change that provides immediate help to affected users while the Arduino team works on proper native Wayland support. The workaround is non-invasive and simply forces Electron to use the X11 compatibility layer that is already present on Wayland systems.

Add comprehensive troubleshooting section for Wayland display server issues on Linux. This addresses common crashes and initialization failures experienced by users on Wayland compositors (Hyprland, Sway, KDE Plasma, GNOME).

The guide provides two workarounds to force X11/XWayland backend:
- Environment variable method (ELECTRON_OZONE_PLATFORM_HINT)
- Command line flag method (--ozone-platform=x11)

References:
- Fixes arduino#2759
- Related to arduino#2107
@CLAassistant
Copy link

CLAassistant commented Nov 29, 2025

CLA assistant check
All committers have signed the CLA.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Segmentation fault when launching Arduino IDE

2 participants