wezterm icon indicating copy to clipboard operation
wezterm copied to clipboard

linux+wayland+nvidia = wrong colors

Open colemickens opened this issue 2 years ago • 6 comments

What Operating System(s) are you seeing this problem on?

Linux Wayland

WezTerm version

wezterm 20220101-133340-7edc5b5a

Did you try the latest nightly build to see if the issue is better (or worse!) than your current version?

Yes, and I updated the version box above to show the version of the nightly that I tried

Describe the bug

I use iterm2 color schemes to configure both wezterm and alacritty identically. Today, I moved back to my Nvidia desktop computer and noticed something very odd! wezterm gets the colors wrong!

20220308_13h50m39s_grim

To Reproduce

This is using the purplepeter color theme, though I am pushing the values down in rather than using a theme through wezterm. However, this doesn't matter.

This issue DOES NOT repro on my non-nvidia machine. Other things can be weird here too, wf-recorder can't capture from sway on this machine, for example.

Configuration

local wezterm = require 'wezterm';

local config = {
  use_fancy_tab_bar = false,
  initial_rows = 24,
  initial_cols = 120,
  font_size = 12,
  enable_tab_bar = false,
  window_background_opacity = 1.0,
  enable_csi_u_key_encoding = true,
  default_cursor_style = 'BlinkingBar',
  colors = {
    foreground = "#ece7fa",
    background = "#2a1a4a",
    ansi = {
      "#0a0520",
      "#ff796d",
      "#99b481",
      "#efdfac",
      "#66d9ef",
      "#e78fcd",
      "#ba8cff",
      "#ffba81"
    },
    brights = {
      "#100b23",
      "#f99f92",
      "#b4be8f",
      "#f2e9bf",
      "#79daed",
      "#ba91d4",
      "#a0a0d6",
      "#b9aed3"
    },
  }
}
  
if wezterm.target_triple == "x86_64-pc-windows-msvc" then
  config.default_prog = { "powershell.exe" }
else
  config.enable_wayland = true
  config.window_decorations = "NONE"
  config.window_close_confirmation = "NeverPrompt"
  config.freetype_load_target = "Light"
  config.freetype_render_target = "HorizontalLcd"
  config.font = wezterm.font_with_fallback({
    {family="Iosevka", weight="Regular"},
    {family="Font Awesome", weight="Regular"},
     --"Font Awesome",
  })
end

return config

Expected Behavior

The colors to display correctly, as they do on my Ryzen laptop.

Logs

No response

Anything else?

No response

colemickens avatar Mar 08 '22 21:03 colemickens

(I've used GIMP to confirm, alacritty is getting the colors right, wezterm is not. If it would help, I can provide a screenshot from my non-nvidia laptop too, just let me know.)

colemickens avatar Mar 08 '22 21:03 colemickens

Please include the logs! See the information in the Logs section of the bug template: https://github.com/wez/wezterm/blob/main/.github/ISSUE_TEMPLATE/bug.yml

wez avatar Mar 08 '22 22:03 wez

I'm trying to see if I can get more logs but this is what I get from launching wezterm from alacritty:

~/code/nixcfg main* ⇡
❯ wezterm start
 2022-03-08T22:03:56.345Z INFO  wezterm_mux_server_impl::local > setting up /run/user/1000/wezterm/gui-sock-361367
 2022-03-08T22:03:56.385Z INFO  wezterm_gui::termwindow        > OpenGL initialized! NVIDIA GeForce RTX 3080/PCIe/SSE2 4.6.0 NVIDIA 510.54 is_context_loss_possible=false wezterm version: 20220101-133340-7edc5b5a

colemickens avatar Mar 08 '22 22:03 colemickens

Please update to the nightly build (what you filled in the issue above claims that you did do that, but you're running a build from January!), then start wezterm like this:

WEZTERM_LOG=window::egl=trace,wezterm_gui::renderstate=trace,info wezterm start --always-new-process

That should show some information about the opengl context that is negotiated and its capabilities.

Note that I do have an nvidia card in my linux workstation, but sway refuses to run on it, so I'm not able to do much to support sway. I continue to recommend using XWayland because of issues like this, and that is why wezterm defaults to disabling wayland support by default.

wez avatar Mar 09 '22 14:03 wez

Sounds the same as https://github.com/wez/wezterm/issues/484#issuecomment-1002185133

wez avatar Mar 19 '22 15:03 wez

Since OP never ended up posting their result and I appear to be having the same / a similar issue here:

Logging Output
WEZTERM_LOG=window::egl=trace,wezterm_gui::renderstate=trace,info target/release/wezterm start --always-new-process
22:07:20.838  TRACE  window::egl > load_egl: Library@0x5637cc3067b0
22:07:20.841  TRACE  window::egl > initialized EGL version 1.5
22:07:20.841  TRACE  window::egl > using OpenGL
22:07:20.841  TRACE  window::egl > EGL extensions: EGL_EXT_buffer_age EGL_EXT_client_sync EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_MESA_image_dma_buf_export EGL_EXT_output_base EGL_EXT_output_drm EGL_EXT_protected_content EGL_EXT_stream_consumer_egloutput EGL_EXT_stream_acquire_mode EGL_EXT_sync_reuse EGL_IMG_context_priority EGL_KHR_config_attribs EGL_KHR_create_context_no_error EGL_KHR_context_flush_control EGL_KHR_create_context EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_partial_update EGL_KHR_swap_buffers_with_damage EGL_KHR_no_config_context EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_image EGL_KHR_image_base EGL_KHR_reusable_sync EGL_KHR_stream EGL_KHR_stream_attrib EGL_KHR_stream_consumer_gltexture EGL_KHR_stream_cross_process_fd EGL_KHR_stream_fifo EGL_KHR_stream_producer_eglsurface EGL_KHR_surfaceless_context EGL_KHR_wait_sync EGL_NV_nvrm_fence_sync EGL_NV_quadruple_buffer EGL_NV_stream_consumer_eglimage EGL_NV_stream_cross_display EGL_NV_stream_cross_object EGL_NV_stream_cross_process EGL_NV_stream_cross_system EGL_NV_stream_dma EGL_NV_stream_flush EGL_NV_stream_metadata EGL_NV_stream_remote EGL_NV_stream_reset EGL_NV_stream_socket EGL_NV_stream_socket_inet EGL_NV_stream_socket_unix EGL_NV_stream_sync EGL_NV_stream_fifo_next EGL_NV_stream_fifo_synchronous EGL_NV_stream_consumer_gltexture_yuv EGL_NV_stream_attrib EGL_NV_stream_origin EGL_NV_system_time EGL_NV_output_drm_flip_event EGL_NV_triple_buffer EGL_NV_robustness_video_memory_purge EGL_WL_bind_wayland_display EGL_WL_wayland_eglstream
22:07:20.841  TRACE  window::egl > Available Configuration(s):
22:07:20.841  TRACE  window::egl > ConfigInfo { config: 0xcaf329, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.841  TRACE  window::egl > ConfigInfo { config: 0xcaf32a, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.841  TRACE  window::egl > ConfigInfo { config: 0xcaf32b, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(0), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.841  TRACE  window::egl > ConfigInfo { config: 0xcaf32c, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(0), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.841  TRACE  window::egl > ConfigInfo { config: 0xcaf32d, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.841  TRACE  window::egl > ConfigInfo { config: 0xcaf32e, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.841  TRACE  window::egl > ConfigInfo { config: 0xcaf32f, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(0), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.841  TRACE  window::egl > ConfigInfo { config: 0xcaf330, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(0), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.841  TRACE  window::egl > ConfigInfo { config: 0xcaf331, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.841  TRACE  window::egl > ConfigInfo { config: 0xcaf332, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.841  TRACE  window::egl > ConfigInfo { config: 0xcaf333, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.841  TRACE  window::egl > ConfigInfo { config: 0xcaf334, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.841  TRACE  window::egl > ConfigInfo { config: 0xcaf335, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(0), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.841  TRACE  window::egl > ConfigInfo { config: 0xcaf336, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(0), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.841  TRACE  window::egl > ConfigInfo { config: 0xcaf337, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(0), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf338, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(0), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf339, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf33a, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf33b, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(0), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf33c, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(0), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf33d, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf33e, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf33f, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(0), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf340, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(0), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf341, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf342, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf343, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(0), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf344, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(0), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf345, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf346, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf347, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf348, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf349, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(0), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf34a, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(0), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf34b, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(0), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf34c, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(0), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf34d, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf34e, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf34f, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(0), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf350, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(0), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf351, alpha_size: Some(0), red_size: Some(5), green_size: Some(6), blue_size: Some(5), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf352, alpha_size: Some(0), red_size: Some(5), green_size: Some(6), blue_size: Some(5), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf353, alpha_size: Some(0), red_size: Some(5), green_size: Some(6), blue_size: Some(5), depth_size: Some(10), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf354, alpha_size: Some(0), red_size: Some(5), green_size: Some(6), blue_size: Some(5), depth_size: Some(0), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf355, alpha_size: Some(0), red_size: Some(5), green_size: Some(6), blue_size: Some(5), depth_size: Some(0), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf356, alpha_size: Some(0), red_size: Some(5), green_size: Some(6), blue_size: Some(5), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf357, alpha_size: Some(0), red_size: Some(5), green_size: Some(6), blue_size: Some(5), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf358, alpha_size: Some(0), red_size: Some(5), green_size: Some(6), blue_size: Some(5), depth_size: Some(10), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf359, alpha_size: Some(0), red_size: Some(5), green_size: Some(6), blue_size: Some(5), depth_size: Some(0), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf35a, alpha_size: Some(0), red_size: Some(5), green_size: Some(6), blue_size: Some(5), depth_size: Some(0), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf35b, alpha_size: Some(0), red_size: Some(5), green_size: Some(6), blue_size: Some(5), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf35c, alpha_size: Some(0), red_size: Some(5), green_size: Some(6), blue_size: Some(5), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf35d, alpha_size: Some(0), red_size: Some(5), green_size: Some(6), blue_size: Some(5), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf35e, alpha_size: Some(0), red_size: Some(5), green_size: Some(6), blue_size: Some(5), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf35f, alpha_size: Some(0), red_size: Some(5), green_size: Some(6), blue_size: Some(5), depth_size: Some(10), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf360, alpha_size: Some(0), red_size: Some(5), green_size: Some(6), blue_size: Some(5), depth_size: Some(10), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf361, alpha_size: Some(0), red_size: Some(5), green_size: Some(6), blue_size: Some(5), depth_size: Some(0), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf362, alpha_size: Some(0), red_size: Some(5), green_size: Some(6), blue_size: Some(5), depth_size: Some(0), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.842  TRACE  window::egl > ConfigInfo { config: 0xcaf363, alpha_size: Some(0), red_size: Some(5), green_size: Some(6), blue_size: Some(5), depth_size: Some(0), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf364, alpha_size: Some(0), red_size: Some(5), green_size: Some(6), blue_size: Some(5), depth_size: Some(0), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf365, alpha_size: Some(0), red_size: Some(5), green_size: Some(6), blue_size: Some(5), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf366, alpha_size: Some(0), red_size: Some(5), green_size: Some(6), blue_size: Some(5), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf367, alpha_size: Some(0), red_size: Some(5), green_size: Some(6), blue_size: Some(5), depth_size: Some(10), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf368, alpha_size: Some(0), red_size: Some(5), green_size: Some(6), blue_size: Some(5), depth_size: Some(0), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf369, alpha_size: Some(0), red_size: Some(5), green_size: Some(6), blue_size: Some(5), depth_size: Some(0), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > Matching Configuration(s):
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf33e, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf33d, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf342, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf341, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf347, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf348, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf345, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf346, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf34e, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf34d, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf32a, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf329, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf32e, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf32d, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf333, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf334, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf331, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf332, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf33a, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf339, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > Filtered down to these configuration(s):
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf32a, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf329, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf32e, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf32d, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf333, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf334, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf331, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf332, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf33a, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf339, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf33e, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf33d, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf342, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf341, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf347, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf348, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf345, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf346, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.843  TRACE  window::egl > ConfigInfo { config: 0xcaf34e, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.844  TRACE  window::egl > ConfigInfo { config: 0xcaf34d, alpha_size: Some(0), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.846  TRACE  window::egl > Successfully created a surface using this configuration
22:07:20.846  TRACE  window::egl > ConfigInfo { config: 0xcaf32a, alpha_size: Some(8), red_size: Some(8), green_size: Some(8), blue_size: Some(8), depth_size: Some(18), conformant: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), renderable_type: Some("OPENGL OPENGL_ES2 OPENGL_ES3 "), native_visual_id: Some(0), surface_type: Some("PBUFFER WINDOW ") }
22:07:20.856  TRACE  wezterm_gui::renderstate > Compiling shader. context.capabilities.srgb=true
22:07:20.858  INFO   wezterm_gui::termwindow  > OpenGL initialized! NVIDIA GeForce RTX 3070 Ti/PCIe/SSE2 4.6.0 NVIDIA 515.43.04 is_context_loss_possible=false wezterm version: 20220524-093839-a70ddd92

Built wezterm from source (a70ddd9212ee010639db3f1f59685e250a5e10eb).

Screenshots posted here: https://github.com/wez/wezterm/issues/2011#issuecomment-1136362237

athre0z avatar May 24 '22 20:05 athre0z

If you're feeling slightly adventurous, main now has support for WebGPU as an alternative rendering front end.

It will use Vulkan if available, and may improve the issue with the perceived color. I no longer have access to a Wayland/Nvidia workstation, so I am unable to test this.

Note that WebGPU is new to wezterm and it's possible that there are some other issues that are yet to be discovered.

  • https://github.com/wez/wezterm/issues/2756

The WebGPU changes should be available in nightly builds within the next hour, but you can of course build from source to try it sooner, if you wish.

wez avatar Nov 18 '22 17:11 wez

Adding some extra info here. Using the same configuration on two machines, both using front_end = "WebGpu", and both built within a couple hours of each other: wezterm 20230129-210825-df12dd9d.

The two machines are actually almost identical in setup as well, both running Arch, and setup using the same script. However, one machine just had nvidia-dkms installed on it today, and the other running nouveau.

@wez had me run wezterm with WEZTERM_LOG=wezterm_gui::termwindow::webgpu=trace,info

And for the Nvidia machine, this was the output:

16:15:48.679  TRACE  wezterm_gui::termwindow::webgpu > Using adapter: AdapterInfo { name: "NVIDIA GeForce GTX 1070", vendor: 4318, device: 7041, device_type: DiscreteGpu, driver: "NVIDIA", driver_info: "525.89.02", backend: Vulkan }
16:15:48.679  TRACE  wezterm_gui::termwindow::webgpu > caps: SurfaceCapabilities { formats: [Bgra8Unorm], present_modes: [Mailbox, Fifo], alpha_modes: [Opaque] }

And for the nouveau box:

20:40:55.360  TRACE  wezterm_gui::termwindow::webgpu > Using adapter: AdapterInfo { name: "Mesa Intel(R) UHD Graphics 620 (KBL GT2)", vendor: 32902, device: 0, device_type: IntegratedGpu, driver: "nouveau"
20:40:55.360  TRACE  wezterm_gui::termwindow::webgpu > caps: SurfaceCapabilities { formats: [Rgba8UnormSrgb, Bgra8UnormSrgb, Rgba8Unorm, Bgra8Unorm, Rgba16Float], present_modes: [Fifo], alpha_modes: [Opaque] }

hahuang65 avatar Feb 18 '23 07:02 hahuang65

I have the same problem . I am on Arch , wayland , hyprland and nvidia rtx 2700. I was using kitty and had no problem. Tried wezterm and no matter what color scheme I get color are wrong ; way off , background too dark and very very laggy keyboard input/response. Here is an screenshot from nvim one with wezterm (the blackground) and the other one with kitty using the same color scheme . I hope this issue gets resolved . wezterm looks very nice ; image

salimp2009 avatar May 19 '23 15:05 salimp2009

Like others, I am experiencing issues with the color scheme, and more concerningly, input lag/repetition. Using Arch, Wayland, Nvidia RTX 2060 with nvidia-dkms drivers. Also using latest wezterm build (wezterm 20230521-100707-6b21e6ff).

Running WEZTERM_LOG=wezterm_gui::termwindow::webgpu=trace,info wezterm gives me:

13:55:44.089  TRACE  wezterm_gui::termwindow::webgpu > Using adapter: AdapterInfo { name: "NVIDIA GeForce RTX 2060", vendor: 4318, device: 7944, device_type: DiscreteGpu, driver: "NVIDIA", driver_info: "530.41.03", backend: Vulkan }
13:55:44.089  TRACE  wezterm_gui::termwindow::webgpu > caps: SurfaceCapabilities { formats: [Bgra8Unorm], present_modes: [Mailbox, Fifo], alpha_modes: [Inherit] }
13:55:44.089  TRACE  wezterm_gui::termwindow::webgpu > downlevel_caps: DownlevelCapabilities { flags: DownlevelFlags(COMPUTE_SHADERS | FRAGMENT_WRITABLE_STORAGE | INDIRECT_EXECUTION | BASE_VERTEX | READ_ONLY_DEPTH_STENCIL | NON_POWER_OF_TWO_MIPMAPPED_TEXTURES | CUBE_ARRAY_TEXTURES | COMPARISON_SAMPLERS | INDEPENDENT_BLEND | VERTEX_STORAGE | ANISOTROPIC_FILTERING | FRAGMENT_STORAGE | MULTISAMPLED_SHADING | DEPTH_TEXTURE_AND_BUFFER_COPIES | WEBGPU_TEXTURE_FORMAT_SUPPORT | BUFFER_BINDINGS_NOT_16_BYTE_ALIGNED | UNRESTRICTED_INDEX_BUFFER | FULL_DRAW_INDEX_UINT32 | DEPTH_BIAS_CLAMP | VIEW_FORMATS | UNRESTRICTED_EXTERNAL_TEXTURE_COPIES | SURFACE_VIEW_FORMATS), limits: DownlevelLimits, shader_model: Sm5 }
13:55:44.147  WARN   wezterm_gui::termwindow::resize > cannot resize window to match Some(RowsAndCols { rows: 24, cols: 80 }) because window_state is MAXIMIZED
13:55:52.792  ERROR  wgpu_core::present              > No work has been submitted for this frame
warning: queue 0x5587ee3345d0 destroyed while proxies still attached:
  wl_callback@58 still attached
  wl_buffer@52 still attached
  wl_shm_pool@51 still attached
  wl_buffer@30 still attached
  wl_shm_pool@56 still attached
  zwp_primary_selection_offer_v1@4278190085 still attached
  wl_data_offer@4278190081 still attached
  wl_data_offer@4278190080 still attached
  wl_subsurface@50 still attached
  wl_surface@49 still attached
  wl_subsurface@48 still attached
  wl_surface@47 still attached
  wl_subsurface@46 still attached
  wl_surface@45 still attached
  wl_subsurface@44 still attached
  wl_surface@43 still attached
  wl_subsurface@42 still attached
  wl_surface@41 still attached
  xdg_wm_base@23 still attached
  wl_surface@22 still attached
  wl_data_device@19 still attached
  wl_pointer@17 still attached
  zwp_text_input_v3@16 still attached
  wl_keyboard@15 still attached
  zwp_primary_selection_device_v1@14 still attached
  zwp_primary_selection_device_manager_v1@3 still attached
  wl_data_device@13 still attached
  wl_output@12 still attached
  wl_output@11 still attached
  zwp_text_input_manager_v3@10 still attached
  zxdg_decoration_manager_v1@9 still attached
  wl_seat@8 still attached
  wl_data_device_manager@7 still attached
  wl_subcompositor@6 still attached
  wl_compositor@5 still attached
  wl_shm@4 still attached
  wl_registry@2 still attached

loqusion avatar May 21 '23 19:05 loqusion

I dont know this is right way but I forced it to use Xwayland by setting config.enable_wayland = false then the color are better left is wezterm, right is kitty image

salimp2009 avatar May 21 '23 20:05 salimp2009

@salimp2009 That fixed both of the issues I had. Not an ideal solution, but it's at least a good temporary workaround.

loqusion avatar May 21 '23 22:05 loqusion

ave the same problem . I am on Arch , wayland , hyprland and nvidia rtx 2700. I was using kitty and had no problem. Tried wezterm and no matter what color scheme I get color are wrong ; way off , background too dark and very very laggy keyboard input/response. Here is an screenshot from nvim one with wezterm (the blackground) and the other one with kitty using the same color scheme . I hope this issue gets resolved . wezterm looks very nice ;

This worked for me, except I had trouble getting wezterm open in wayland before the color issue. I was getting the same error as the second link below. In order to get it open and running I had to install a wayland egl package from nvida since the ones they include are already are outdated(go figure): https://github.com/NVIDIA/egl-wayland

which needed the packages from the first response in the following link to to work: https://askubuntu.com/questions/1335754/how-to-install-missing-plug-in-wayland-egl

now it works amazingly with colors!

(also I apologize if my added information isn't relevant to this thread, but the two issues were wayland related and I couldn't find anywhere else that solved this issue, so I am posting here in case anyone else has the same two problems.)

StevenBR avatar Jun 27 '23 00:06 StevenBR

UPDATE: after nvidia drivers updated to 535, now wezterm works on wayland with nvidia with no problem. also the resizing after zooming in/out issue is gone too. colors work normal. I am on Arch with RTX 2070 , wayland, Hyprland compositor/WM and drivers are 535.54.03-01.

salimp2009 avatar Jun 27 '23 09:06 salimp2009

@salimp2009 could you give a little more detail? I've switched back to Nvidia based on your comment and I still have the same color issue.

I'm on nvidia 535.54 and I get ERROR wezterm_gui > running message loop: error during event_q.dispatch protocol_error=Some(ProtocolError { code: 7, object_id: 0, object_interface: "<unknown>", message: "" }): Protocol error (os error 71); terminating when front_end is set to anything that's not WebGpu.

If it is WebGpu, I still have incorrect colors.

hahuang65 avatar Jul 13 '23 22:07 hahuang65

@salimp2009 could you give a little more detail? I've switched back to Nvidia based on your comment and I still have the same color issue.

I'm on nvidia 535.54 and I get ERROR wezterm_gui > running message loop: error during event_q.dispatch protocol_error=Some(ProtocolError { code: 7, object_id: 0, object_interface: "<unknown>", message: "" }): Protocol error (os error 71); terminating when front_end is set to anything that's not WebGpu.

If it is WebGpu, I still have incorrect colors.

I dont use WebGPU , i have just enabled wayland and the colors are looking good . Like below (from neovim); image and also from terminal image the only issue I see is the keyboard response seems slower but that I can adjust easily on my WM (using Hyprland) Not sure what else I can provide. I believe I turned off WebGPU cause it does not work well. But at least I have config.window_decorations = "RESIZE" as recommended in the docs And before the update when I used to zoom in or zoom out there were blank space around the window and that is not happening as well (when using Wayland)

salimp2009 avatar Jul 14 '23 10:07 salimp2009

@salimp2009 thanks for responding. I'll mess around more with my settings and see what it is.

hahuang65 avatar Jul 14 '23 16:07 hahuang65

@salimp2009 thanks for responding. I'll mess around more with my settings and see what it is.

it might be something related to your OS too.

salimp2009 avatar Jul 14 '23 18:07 salimp2009

Having the same color-shifting issue and the keyboard input lag too.

Ubuntu 22.04 on wayland nvidia driver: 535.98 wezterm set to WebGpu, Vulkan and DiscreteGpu.

set enable_waylan = false to use xwayland solve the issue temporarily for me.

CharlesChiuGit avatar Aug 18 '23 06:08 CharlesChiuGit

Having the same problems with colors for Nvidia and input lag

  • Fedora 38, Gnome 44, Wayland
  • Nvidia 535.113.01
  • wezterm version: 20231009_014526_dbff2576

Found a temporary solution:

local gpus = wezterm.gui.enumerate_gpus()

config.webgpu_preferred_adapter = gpus[2]
config.front_end = 'WebGpu'
config.enable_wayland = true

GPUs:

> wezterm.gui.enumerate_gpus()
[
    {
        backend: Vulkan,
        device: 9476,
        device_type: DiscreteGpu,
        driver: NVIDIA,
        driver_info: 535.113.01,
        name: NVIDIA GeForce RTX 3060,
        vendor: 4318,
    },
    {
        backend: Vulkan,
        device: 0,
        device_type: Cpu,
        driver: llvmpipe,
        driver_info: Mesa 23.1.8 (LLVM 16.0.6),
        name: llvmpipe (LLVM 16.0.6, 256 bits),
        vendor: 65541,
    },
    {
        backend: Gl,
        device: 0,
        device_type: Other,
        name: NVIDIA GeForce RTX 3060/PCIe/SSE2,
        vendor: 4318,
    },
]

Slightly high CPU load(50-90% for one core). But who is interested in this in 2023. I hope for compatibility improvements from Nvidia, or I'll switch to AMD :)

RomanAverin avatar Oct 11 '23 11:10 RomanAverin