Closed MrYuto closed 7 months ago
idk if it's related but I just found out something is wrong with egl on Wayland
Here is a video running eglgears_wayland
:
https://github.com/hyprwm/Hyprland/assets/75252297/052d1a37-740a-4933-9319-be15211e7e0c
You can see gears stop if I don't keep moving the mouse inside its window.
not to take this off topic and focus on the eglgears_wayland
issue but on the off chance its related; are you running it through NVIDIA per chance? I have a laptop with prime (integrated AMD, discreet NVIDIA) and running without prime-offload all is good. However, using it I get the same behaviour as in your video. FWIW, I also see the update issues that you do in chrome/firefox specifically on the bitwarden plugin.
hyprctl version
Hyprland, built from branch at commit ae52b7f4680716976d05b638aaa90e169d199117 ().
Date: 2024-03-26
Tag:
flags: (if any)
eglgears_wayland -info
EGL_VERSION = 1.5
EGL_VENDOR = Mesa Project
EGL_EXTENSIONS = EGL_ANDROID_blob_cache EGL_ANDROID_native_fence_sync EGL_EXT_buffer_age EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_EXT_present_opaque EGL_EXT_query_reset_notification_strategy EGL_EXT_swap_buffers_with_damage EGL_IMG_context_priority EGL_KHR_cl_event2 EGL_KHR_config_attribs EGL_KHR_context_flush_control EGL_KHR_create_context EGL_KHR_create_context_no_error EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses 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_base EGL_KHR_no_config_context EGL_KHR_reusable_sync EGL_KHR_surfaceless_context EGL_KHR_swap_buffers_with_damage EGL_EXT_pixel_format_float EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image EGL_MESA_gl_interop EGL_MESA_image_dma_buf_export EGL_MESA_query_driver EGL_WL_bind_wayland_display EGL_WL_create_wayland_buffer_from_image
EGL_CLIENT_APIS = OpenGL OpenGL_ES
with offload (gears eventually stop updating if not in focus):
nvidia-offload eglgears_wayland -info
EGL_VERSION = 1.5
EGL_VENDOR = NVIDIA
EGL_EXTENSIONS = EGL_ANDROID_native_fence_sync 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_EXT_present_opaque EGL_WL_bind_wayland_display EGL_WL_wayland_eglstream
EGL_CLIENT_APIS = OpenGL_ES OpenGL
uname -a
Linux ATA15R7 6.8.1 #1-NixOS SMP PREEMPT_DYNAMIC Fri Mar 15 18:19:29 UTC 2024 x86_64 GNU/Linux
nvidia-smi
Sat Mar 30 10:37:27 2024
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.67 Driver Version: 550.67 CUDA Version: 12.4 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 2050 Off | 00000000:01:00.0 On | N/A |
| N/A 55C P8 6W / 45W | 48MiB / 4096MiB | 16% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| 0 N/A N/A 2817 G /etc/profiles/per-user/me/bin/Hyprland 1MiB |
+-----------------------------------------------------------------------------------------+
I have the same bug with pop up windows within firefox, and I got AMD. The problem goes away if you, for instance, pop out bitwarden's pop-up window. Also from the looks of it I can't seem to see another client/window with hyprctl clients
when the popup is open, and I think it's because it falls down in the category of "ah window doesn't have focus therefore throttle it to 1fps"
PS: I do not have the chromium and eglgears-wayland bugs. I believe you may have stumbled upon two different bugs.
I'm also having this issue on AMD
I'm not. I'll need more info.
What kind of information would be helpful for this?
Do you have a 4k screen by any chance @vaxerski ? It doesn't really happen as much on my smaller screen, and it happens less often if there are multiple windows on my 4k monitor making the browser window smaller. Either way, I could get you a recording and some debug logs later today if I remember.
I ran Firefox with logs enabled and for the first time, I got some logs saying partial update failed. After that, I kept getting partial updates are disabled which it seems it's normal.
I realized Firefox pop-ups have rounding and border but Chromium doesn't.
I think chromium has the correct behavior according to the code: https://github.com/hyprwm/Hyprland/blob/416b3d6167a996c7e94bd537cec20a12a0784efa/src/render/Renderer.cpp#L611
Edit: it seems Firefox uses a native pop-up window or something like that? Firefox pop-up can go outside of the window but chromium can only be inside the window
that's the popup rounding itself.
@vaxerski There is an option in the code to prevent popups from being squashed, but I can see the Firefox popup being squashed instead of rendered as a layer on top of another pop up.
Also, the border color and size are the same as the ones I defined in my config. I'm not sure if these are helpful, I'm trying to find the little things that seem wrong, so maybe it'll help you find the root.
The most interesting thing I know about this issue is when you force the pop-up to be outside of the window by reducing the size, it works fine. When it intersects with the parent window it has rendering issues.
firefox often uses subsurfaces incorrectly instead of popups
@vaxerski I did a git bisect
and b1c0f1cc018d13ac1e5ebccaade5528ec757bd74 is the first bad commit for the Firefox issue. I'll do a bisect for Chromium cause it breaks from earlier.
301b48b74087cc59753ffa144b215540e6f82831 is the first bad commit for Chromium.
Also noticing this in spotify-launcher running with native wayland.
extra_arguments = ["--enable-features=UseOzonePlatform", "--ozone-platform=wayland"]
is in /etc/spotify-launcher.conf
, confirmed wayland with hyprctl clients
https://github.com/hyprwm/Hyprland/assets/18248986/45d97c8e-95d8-417c-bb0f-044d4dd8289e
Nvidia 535.
Can confirm this happening in brave as well.
Had this in brave as well, "fixed" it with setting "Appearance -> Use system title bar and borders = true" and flag "Preferred Ozone platform = Auto" (was "Wayland" before).
This seems only to work due to the forced restart, after some hours it gets worse and worse. Restarting brave "fixes" it again for a while.
Also noticing this in spotify-launcher running with native wayland.
extra_arguments = ["--enable-features=UseOzonePlatform", "--ozone-platform=wayland"]
is in/etc/spotify-launcher.conf
, confirmed wayland withhyprctl clients
2024-04-03.02-16-19.mp4Nvidia 535.
I've just tried to run some programs that gave me problems (teams, discord, spotify) with the extra arguments --enable-features=UseOzonePlatform --ozone-platform=wayland
or as well just --ozone-platform-hint=wayland
and both seems to have fixed the flickering issues.
I also noticed that with those arguments the following error
src/gbm_drv_common.c:130: GBM-DRV error (get_bytes_per_component): Unknown or not supported format: 808530000
(which is returned consequently 5 times)
isn't arised, while without the extra arguments each one of the affected programs returned it.
Furthemore, inspecting with hyprctl clients
without adding the extra params returns the correct clients plus 5 more, which differs only for the ID, with the same properties:
Window 56483409e710 -> : mapped: 0 hidden: 0 at: 0,0 size: 0,0 workspace: -1 () floating: 0 monitor: -1 class: title: initialClass: initialTitle: pid: -1 xwayland: 1 pinned: 0 fullscreen: 0 fullscreenmode: 0 fakefullscreen: 0 grouped: 0 swallowing: 0 focusHistoryID: -1
I hope that all of these info aren't useless or redundant.
Chromium apps have flickering issues when they are in xwayland. All of these arguments are to enable Wayland for chromium and in fact you just need --ozone-platform-hint=auto
. This issue is about flickering in native Wayland when GPU acceleration is enabled.
Also, I see this issue in GIMP, so it's not only about chromium.
The same issue here using firefox :blush: Using NixOS 23.11 statble with Hyprland flake (last release)
Same issue here using Firefox but on Intel with integrated graphics
odd. IIRC I saw this on my laptop but can't repro on my desktop, even when scaling. (firefox)
Any other repro steps yall can find?
https://gitlab.com/that1communist/dotfiles/-/blob/master/.config/hypr/ I don't know if it's something to do with my dotfiles but see if you can reproduce if you copy/paste this, and if you can, maybe it can be narrowed down.
dancing with the dead, fell in love with the temper of twilight, lust and evil powers
still having this issue on 38.1
I'm also having this issue, had to switch to sway temporarily since it's pretty bad, even whole webpages in Brave does not change when I change tabs sometimes. Not just in Brave, I had this in multiple apps, for example steam's patch notes menu flickers a lot on Hyprland while it's perfectly fine on sway.
Can confirm this still happens. Disabling HW acceleration on all apps possible for now :/
Unfortunately, vaxry is not interested in chromium issues, so hopefully #5342 will also fix this.
Hyprland Version
System/Version info
```sh Hyprland, built from branch HEAD at commit c5e28ebcfe00a510922779b2c568cfa52a317445 (props: bump ver 0.37.1). Date: Sat Mar 16 14:51:49 2024 Tag: v0.37.1 flags: (if any) System Information: System name: Linux Node name: ali-pc Release: 6.8.2-arch2-1 Version: #1 SMP PREEMPT_DYNAMIC Thu, 28 Mar 2024 17:06:35 +0000 GPU information: 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA106 [Geforce RTX 3050] [10de:2507] (rev a1) (prog-if 00 [VGA controller]) os-release: NAME="Arch Linux" PRETTY_NAME="Arch Linux" ID=arch BUILD_ID=rolling ANSI_COLOR="38;2;23;147;209" HOME_URL="https://archlinux.org/" DOCUMENTATION_URL="https://wiki.archlinux.org/" SUPPORT_URL="https://bbs.archlinux.org/" BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues" PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/" LOGO=archlinux-logo plugins: ```Bug or Regression?
Bug
Description
it's been almost 2 weeks since I've been running Hyprland and the first version was 0.35.0-2. Firefox add-ons worked without any issue until I upgraded Firefox and Hyprland (0.38.1-1) at the same time.
When I opened Firefox I saw a blurred window and moving cursor causing drawing icons repeatedly until you go outside of the window or refocus the window again. I don't have this issue anymore but addons pop up UI flickering which is like the rendered frame doesn't get updated until you move the mouse. for example, when I'm typing my password in bitwardwn, I don't see anything (sometimes lags) until I move the mouse to fix it. Reducing the height of the Firefox window to make the addon pop out of the window I don't see any flickering.
I started using chromium and surprisingly when it's running on Wayland I didn't see any issue until I decided to use GPU acceleration. When I start typing in the search bar and then stop I see flickering of the old suggestion menu and the new one until I move the mouse.
If I disable Wayland both Firefox and Chromium run with GPU acceleration enabled without flickering.
TL;DR
How to reproduce
Firefox:
Chromium:
Crash reports, logs, images, videos
https://github.com/hyprwm/Hyprland/assets/75252297/b6f22d81-4606-4838-9cdc-1fad2d8493a5
https://github.com/hyprwm/Hyprland/assets/75252297/4fb1cc76-96c2-49dc-80d7-b9d6745efbe9