- 作業系統:Arch Linux
- 桌面環境/合成器:GNOME/Mutter(Wayland)
- 軟體包:lwe(AUR)
直接運行:
(lwe-shell:23876): libayatana-appindicator-WARNING **: 04:19:10.113: libayatana-appindicator is deprecated. Please use libayatana-appindicator-glib in newly written code.
Gdk-Message: 04:19:10.818: Error 71 (協定錯誤) dispatching to Wayland display.
運行 env WAYLAND_DEBUG=1 lwe-shell:
...
[3585203.061] {Default Queue} -> wl_shm#5.create_pool(new id wl_shm_pool#53, fd 49, 5299200)
[3585203.066] {Default Queue} -> wl_shm_pool#53.create_buffer(new id wl_buffer#54, 0, 1440, 920, 5760, 0)
...
[3585902.652] {Default Queue} -> wp_linux_drm_syncobj_manager_v1#48.get_surface(new id wp_linux_drm_syncobj_surface_v1#55, wl_surface#34)
...
[3585906.591] {Default Queue} -> wl_surface#34.attach(wl_buffer#54, 0, 0)
...
[3585906.790] {Display Queue} wl_display#1.error(wp_linux_drm_syncobj_surface_v1#55, 2, "Explicit Sync only supported on dmabuf buffers")
Gdk-Message: 04:13:59.510: Error 71 (協定錯誤) dispatching to Wayland display.
運行 env WEBKIT_DISABLE_DMABUF_RENDERER=1 lwe-shell 可以正常啟動。
我覺得是因為 lwe(或底層依賴的 WebKit2GTK/Tao)向 GNOME 合成器申請了「顯式同步」(wp_linux_drm_syncobj_surface_v1),顯式同步只支援 dmabuf 格式的影像幀,但隨後在分配緩衝區時,卻錯誤地塞入了一個老舊的 wl_shm 影像幀(wl_shm_pool)。
直接運行:
運行
env WAYLAND_DEBUG=1 lwe-shell:運行
env WEBKIT_DISABLE_DMABUF_RENDERER=1 lwe-shell可以正常啟動。我覺得是因為 lwe(或底層依賴的 WebKit2GTK/Tao)向 GNOME 合成器申請了「顯式同步」(
wp_linux_drm_syncobj_surface_v1),顯式同步只支援dmabuf格式的影像幀,但隨後在分配緩衝區時,卻錯誤地塞入了一個老舊的wl_shm影像幀(wl_shm_pool)。