From 7b33cbcbc287822ad0faf3744cff3db05fb20274 Mon Sep 17 00:00:00 2001 From: Christian Duerr Date: Mon, 20 Oct 2025 05:27:07 +0000 Subject: Fix OpenGL robustness crash This disables the OpenGL context's robustness feature since some GPUs that advertise robustness support do not support sufficient capabilities for our implementation. Closes #8713. --- CHANGELOG.md | 6 ++++++ alacritty/src/renderer/platform.rs | 11 +++-------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8287dcdb..bd76e332 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,12 @@ Notable changes to the `alacritty_terminal` crate are documented in its - Brief error popup when saving the config file with some editors +## 0.16.1 + +### Fixed + +- Crashes on GPUs with partial robustness support + ## 0.16.0 ### Packaging diff --git a/alacritty/src/renderer/platform.rs b/alacritty/src/renderer/platform.rs index 99778ea0..82ae0e1e 100644 --- a/alacritty/src/renderer/platform.rs +++ b/alacritty/src/renderer/platform.rs @@ -4,9 +4,9 @@ use std::num::NonZeroU32; use glutin::config::{ColorBufferType, Config, ConfigTemplateBuilder, GetGlConfig}; use glutin::context::{ - ContextApi, ContextAttributesBuilder, GlProfile, NotCurrentContext, Robustness, Version, + ContextApi, ContextAttributesBuilder, GlProfile, NotCurrentContext, Version, }; -use glutin::display::{Display, DisplayApiPreference, DisplayFeatures, GetGlDisplay}; +use glutin::display::{Display, DisplayApiPreference, GetGlDisplay}; use glutin::error::Result as GlutinResult; use glutin::prelude::*; use glutin::surface::{Surface, SurfaceAttributesBuilder, WindowSurface}; @@ -110,12 +110,7 @@ pub fn create_gl_context( raw_window_handle: Option, ) -> GlutinResult { let debug = log::max_level() >= LevelFilter::Debug; - let mut builder = ContextAttributesBuilder::new().with_debug(debug); - - // Try to enable robustness. - if gl_display.supported_features().contains(DisplayFeatures::CONTEXT_ROBUSTNESS) { - builder = builder.with_robustness(Robustness::RobustLoseContextOnReset); - } + let builder = ContextAttributesBuilder::new().with_debug(debug); let mut profiles = [ builder -- cgit