Open tim-rex opened 7 months ago
Thanks for the report. Could you please run vkcube-wayland on the NVIDIA GPU with WAYLAND_DEBUG=1
set as an environment variable? The only time vkPhysicalDeviceSurfaceFormatsKHR should fail is if the compositor does not advertise support for any formats that we can use.
Another thing that might help is enabling the "kms-modifiers" experimental feature for mutter with a command like gsettings set org.gnome.mutter experimental-features [\"kms-modifiers\"]
With WAYLAND_DEBUG=1
Output follows
$ WAYLAND_DEBUG=1 vkcube-wayland --gpu_number 1
[1635527.597] -> wl_display@1.get_registry(new id wl_registry@2)
[1635527.984] wl_registry@2.global(1, "wl_compositor", 5)
[1635527.993] -> wl_registry@2.bind(1, "wl_compositor", 4, new id [unknown]@3)
[1635527.996] wl_registry@2.global(2, "wl_drm", 2)
[1635527.999] wl_registry@2.global(3, "wl_shm", 1)
[1635528.001] wl_registry@2.global(4, "wl_output", 4)
[1635528.003] wl_registry@2.global(5, "wl_output", 4)
[1635528.005] wl_registry@2.global(6, "wl_output", 4)
[1635528.006] wl_registry@2.global(7, "zxdg_output_manager_v1", 3)
[1635528.008] wl_registry@2.global(8, "wl_data_device_manager", 3)
[1635528.010] wl_registry@2.global(9, "zwp_primary_selection_device_manager_v1", 1)
[1635528.012] wl_registry@2.global(10, "wl_subcompositor", 1)
[1635528.014] wl_registry@2.global(11, "xdg_wm_base", 6)
[1635528.016] -> wl_registry@2.bind(11, "xdg_wm_base", 1, new id [unknown]@4)
[1635528.019] wl_registry@2.global(12, "gtk_shell1", 5)
[1635528.021] wl_registry@2.global(13, "wp_viewporter", 1)
[1635528.023] wl_registry@2.global(14, "wp_fractional_scale_manager_v1", 1)
[1635528.026] wl_registry@2.global(15, "zwp_pointer_gestures_v1", 3)
[1635528.028] wl_registry@2.global(16, "zwp_tablet_manager_v2", 1)
[1635528.030] wl_registry@2.global(17, "wl_seat", 8)
[1635528.032] -> wl_registry@2.bind(17, "wl_seat", 1, new id [unknown]@5)
[1635528.035] wl_registry@2.global(18, "zwp_relative_pointer_manager_v1", 1)
[1635528.039] wl_registry@2.global(19, "zwp_pointer_constraints_v1", 1)
[1635528.041] wl_registry@2.global(20, "zxdg_exporter_v2", 1)
[1635528.043] wl_registry@2.global(21, "zxdg_importer_v2", 1)
[1635528.045] wl_registry@2.global(22, "zxdg_exporter_v1", 1)
[1635528.047] wl_registry@2.global(23, "zxdg_importer_v1", 1)
[1635528.050] wl_registry@2.global(24, "zwp_linux_dmabuf_v1", 4)
[1635528.052] wl_registry@2.global(25, "wp_single_pixel_buffer_manager_v1", 1)
[1635528.054] wl_registry@2.global(26, "zwp_keyboard_shortcuts_inhibit_manager_v1", 1)
[1635528.057] wl_registry@2.global(27, "zwp_text_input_manager_v3", 1)
[1635528.059] wl_registry@2.global(28, "wp_presentation", 1)
[1635528.061] wl_registry@2.global(29, "xdg_activation_v1", 1)
[1635528.064] wl_registry@2.global(30, "zwp_idle_inhibit_manager_v1", 1)
[1635562.981] -> wl_display@1.get_registry(new id wl_registry@2)
[1635563.129] wl_registry@2.global(1, "wl_compositor", 5)
[1635563.134] wl_registry@2.global(2, "wl_drm", 2)
[1635563.137] -> wl_registry@2.bind(2, "wl_drm", 2, new id [unknown]@3)
[1635563.139] wl_registry@2.global(3, "wl_shm", 1)
[1635563.141] wl_registry@2.global(4, "wl_output", 4)
[1635563.143] wl_registry@2.global(5, "wl_output", 4)
[1635563.145] wl_registry@2.global(6, "wl_output", 4)
[1635563.147] wl_registry@2.global(7, "zxdg_output_manager_v1", 3)
[1635563.149] wl_registry@2.global(8, "wl_data_device_manager", 3)
[1635563.151] wl_registry@2.global(9, "zwp_primary_selection_device_manager_v1", 1)
[1635563.153] wl_registry@2.global(10, "wl_subcompositor", 1)
[1635563.155] wl_registry@2.global(11, "xdg_wm_base", 6)
[1635563.157] wl_registry@2.global(12, "gtk_shell1", 5)
[1635563.159] wl_registry@2.global(13, "wp_viewporter", 1)
[1635563.161] wl_registry@2.global(14, "wp_fractional_scale_manager_v1", 1)
[1635563.165] wl_registry@2.global(15, "zwp_pointer_gestures_v1", 3)
[1635563.167] wl_registry@2.global(16, "zwp_tablet_manager_v2", 1)
[1635563.169] wl_registry@2.global(17, "wl_seat", 8)
[1635563.172] wl_registry@2.global(18, "zwp_relative_pointer_manager_v1", 1)
[1635563.174] wl_registry@2.global(19, "zwp_pointer_constraints_v1", 1)
[1635563.176] wl_registry@2.global(20, "zxdg_exporter_v2", 1)
[1635563.179] wl_registry@2.global(21, "zxdg_importer_v2", 1)
[1635563.181] wl_registry@2.global(22, "zxdg_exporter_v1", 1)
[1635563.184] wl_registry@2.global(23, "zxdg_importer_v1", 1)
[1635563.186] wl_registry@2.global(24, "zwp_linux_dmabuf_v1", 4)
[1635563.188] wl_registry@2.global(25, "wp_single_pixel_buffer_manager_v1", 1)
[1635563.190] wl_registry@2.global(26, "zwp_keyboard_shortcuts_inhibit_manager_v1", 1)
[1635563.192] wl_registry@2.global(27, "zwp_text_input_manager_v3", 1)
[1635563.194] wl_registry@2.global(28, "wp_presentation", 1)
[1635563.197] wl_registry@2.global(29, "xdg_activation_v1", 1)
[1635563.199] wl_registry@2.global(30, "zwp_idle_inhibit_manager_v1", 1)
[1635563.202] -> wl_display@1.sync(new id wl_callback@4)
[1635563.268] wl_display@1.delete_id(4)
[1635563.271] wl_drm@3.device("/dev/dri/renderD128")
[1635564.276] wl_drm@3.format(808669761)
[1635564.282] wl_drm@3.format(808669784)
[1635564.283] wl_drm@3.format(808665665)
[1635564.285] wl_drm@3.format(808665688)
[1635564.287] wl_drm@3.format(875713089)
[1635564.288] wl_drm@3.format(875713112)
[1635564.290] wl_drm@3.format(909199186)
[1635564.292] wl_drm@3.format(961959257)
[1635564.293] wl_drm@3.format(825316697)
[1635564.295] wl_drm@3.format(842093913)
[1635564.297] wl_drm@3.format(909202777)
[1635564.298] wl_drm@3.format(875713881)
[1635564.300] wl_drm@3.format(842094158)
[1635564.301] wl_drm@3.format(909203022)
[1635564.303] wl_drm@3.format(1448695129)
[1635564.305] wl_drm@3.capabilities(1)
[1635564.307] wl_callback@4.done(262)
[1635564.413] -> wl_display@1.get_registry(new id wl_registry@2)
[1635564.517] wl_registry@2.global(1, "wl_compositor", 5)
[1635564.521] wl_registry@2.global(2, "wl_drm", 2)
[1635564.523] -> wl_registry@2.bind(2, "wl_drm", 2, new id [unknown]@3)
[1635564.526] wl_registry@2.global(3, "wl_shm", 1)
[1635564.528] wl_registry@2.global(4, "wl_output", 4)
[1635564.530] wl_registry@2.global(5, "wl_output", 4)
[1635564.532] wl_registry@2.global(6, "wl_output", 4)
[1635564.534] wl_registry@2.global(7, "zxdg_output_manager_v1", 3)
[1635564.536] wl_registry@2.global(8, "wl_data_device_manager", 3)
[1635564.538] wl_registry@2.global(9, "zwp_primary_selection_device_manager_v1", 1)
[1635564.540] wl_registry@2.global(10, "wl_subcompositor", 1)
[1635564.542] wl_registry@2.global(11, "xdg_wm_base", 6)
[1635564.544] wl_registry@2.global(12, "gtk_shell1", 5)
[1635564.546] wl_registry@2.global(13, "wp_viewporter", 1)
[1635564.548] wl_registry@2.global(14, "wp_fractional_scale_manager_v1", 1)
[1635564.550] wl_registry@2.global(15, "zwp_pointer_gestures_v1", 3)
[1635564.553] wl_registry@2.global(16, "zwp_tablet_manager_v2", 1)
[1635564.555] wl_registry@2.global(17, "wl_seat", 8)
[1635564.557] wl_registry@2.global(18, "zwp_relative_pointer_manager_v1", 1)
[1635564.560] wl_registry@2.global(19, "zwp_pointer_constraints_v1", 1)
[1635564.562] wl_registry@2.global(20, "zxdg_exporter_v2", 1)
[1635564.564] wl_registry@2.global(21, "zxdg_importer_v2", 1)
[1635564.567] wl_registry@2.global(22, "zxdg_exporter_v1", 1)
[1635564.569] wl_registry@2.global(23, "zxdg_importer_v1", 1)
[1635564.571] wl_registry@2.global(24, "zwp_linux_dmabuf_v1", 4)
[1635564.574] wl_registry@2.global(25, "wp_single_pixel_buffer_manager_v1", 1)
[1635564.576] wl_registry@2.global(26, "zwp_keyboard_shortcuts_inhibit_manager_v1", 1)
[1635564.579] wl_registry@2.global(27, "zwp_text_input_manager_v3", 1)
[1635564.581] wl_registry@2.global(28, "wp_presentation", 1)
[1635564.583] wl_registry@2.global(29, "xdg_activation_v1", 1)
[1635564.585] wl_registry@2.global(30, "zwp_idle_inhibit_manager_v1", 1)
[1635564.588] -> wl_display@1.sync(new id wl_callback@4)
[1635564.650] wl_display@1.delete_id(4)
[1635564.653] wl_drm@3.device("/dev/dri/renderD128")
[1635565.572] wl_drm@3.format(808669761)
[1635565.576] wl_drm@3.format(808669784)
[1635565.579] wl_drm@3.format(808665665)
[1635565.581] wl_drm@3.format(808665688)
[1635565.583] wl_drm@3.format(875713089)
[1635565.585] wl_drm@3.format(875713112)
[1635565.588] wl_drm@3.format(909199186)
[1635565.590] wl_drm@3.format(961959257)
[1635565.592] wl_drm@3.format(825316697)
[1635565.594] wl_drm@3.format(842093913)
[1635565.596] wl_drm@3.format(909202777)
[1635565.598] wl_drm@3.format(875713881)
[1635565.600] wl_drm@3.format(842094158)
[1635565.602] wl_drm@3.format(909203022)
[1635565.604] wl_drm@3.format(1448695129)
[1635565.606] wl_drm@3.capabilities(1)
[1635565.608] wl_callback@4.done(262)
Selected GPU 1: NVIDIA GeForce GTX 970, type: DiscreteGpu
[1635565.641] -> wl_compositor@3.create_surface(new id wl_surface@6)
[1635565.645] -> xdg_wm_base@4.get_xdg_surface(new id xdg_surface@7, wl_surface@6)
[1635565.648] -> xdg_surface@7.get_toplevel(new id xdg_toplevel@8)
[1635565.650] -> xdg_toplevel@8.set_title("vkcube")
[1635565.652] -> wl_surface@6.commit()
[1635565.671] -> wl_display@1.get_registry(new id wl_registry@9)
[1635565.673] -> wl_display@1.sync(new id wl_callback@10)
[1635566.428] wl_display@1.delete_id(10)
[1635566.432] wl_registry@9.global(1, "wl_compositor", 5)
[1635566.435] wl_registry@9.global(2, "wl_drm", 2)
[1635566.437] -> wl_registry@9.bind(2, "wl_drm", 2, new id [unknown]@11)
[1635566.440] wl_registry@9.global(3, "wl_shm", 1)
[1635566.442] wl_registry@9.global(4, "wl_output", 4)
[1635566.444] wl_registry@9.global(5, "wl_output", 4)
[1635566.447] wl_registry@9.global(6, "wl_output", 4)
[1635566.449] wl_registry@9.global(7, "zxdg_output_manager_v1", 3)
[1635566.451] wl_registry@9.global(8, "wl_data_device_manager", 3)
[1635566.453] wl_registry@9.global(9, "zwp_primary_selection_device_manager_v1", 1)
[1635566.455] wl_registry@9.global(10, "wl_subcompositor", 1)
[1635566.457] wl_registry@9.global(11, "xdg_wm_base", 6)
[1635566.459] wl_registry@9.global(12, "gtk_shell1", 5)
[1635566.463] wl_registry@9.global(13, "wp_viewporter", 1)
[1635566.470] wl_registry@9.global(14, "wp_fractional_scale_manager_v1", 1)
[1635566.474] wl_registry@9.global(15, "zwp_pointer_gestures_v1", 3)
[1635566.477] wl_registry@9.global(16, "zwp_tablet_manager_v2", 1)
[1635566.480] wl_registry@9.global(17, "wl_seat", 8)
[1635566.483] wl_registry@9.global(18, "zwp_relative_pointer_manager_v1", 1)
[1635566.486] wl_registry@9.global(19, "zwp_pointer_constraints_v1", 1)
[1635566.490] wl_registry@9.global(20, "zxdg_exporter_v2", 1)
[1635566.493] wl_registry@9.global(21, "zxdg_importer_v2", 1)
[1635566.497] wl_registry@9.global(22, "zxdg_exporter_v1", 1)
[1635566.500] wl_registry@9.global(23, "zxdg_importer_v1", 1)
[1635566.503] wl_registry@9.global(24, "zwp_linux_dmabuf_v1", 4)
[1635566.508] -> wl_registry@9.bind(24, "zwp_linux_dmabuf_v1", 4, new id [unknown]@12)
[1635566.514] wl_registry@9.global(25, "wp_single_pixel_buffer_manager_v1", 1)
[1635566.519] wl_registry@9.global(26, "zwp_keyboard_shortcuts_inhibit_manager_v1", 1)
[1635566.523] wl_registry@9.global(27, "zwp_text_input_manager_v3", 1)
[1635566.526] wl_registry@9.global(28, "wp_presentation", 1)
[1635566.531] -> wl_registry@9.bind(28, "wp_presentation", 1, new id [unknown]@13)
[1635566.535] wl_registry@9.global(29, "xdg_activation_v1", 1)
[1635566.539] wl_registry@9.global(30, "zwp_idle_inhibit_manager_v1", 1)
[1635566.542] wl_callback@10.done(262)
[1635566.547] -> zwp_linux_dmabuf_v1@12.get_surface_feedback(new id zwp_linux_dmabuf_feedback_v1@10, wl_surface@6)
[1635566.553] -> wl_display@1.sync(new id wl_callback@14)
[1635582.664] wl_display@1.delete_id(14)
[1635582.675] zwp_linux_dmabuf_feedback_v1@10.format_table(fd 20, 240)
[1635582.691] zwp_linux_dmabuf_feedback_v1@10.main_device(array[8])
[1635582.695] zwp_linux_dmabuf_feedback_v1@10.tranche_target_device(array[8])
[1635582.698] zwp_linux_dmabuf_feedback_v1@10.tranche_flags(0)
[1635582.701] zwp_linux_dmabuf_feedback_v1@10.tranche_formats(array[30])
[1635582.709] zwp_linux_dmabuf_feedback_v1@10.tranche_done()
[1635582.712] zwp_linux_dmabuf_feedback_v1@10.done()
[1635582.715] wl_callback@14.done(263)
Can't find our preferred formats... Falling back to first exposed format. Rendering may be incorrect.
Segmentation fault (core dumped)
Enabling "kms-modifiers" does not appear to have any effect.
Whoops, sorry, it looks like it might now also be necessary to set MUTTER_DEBUG_USE_KMS_MODIFIERS=1
and MUTTER_DEBUG_SEND_KMS_MODIFIERS=1
when starting GNOME.
No change. Started gnome with
XDG_SESSION_TYPE=wayland MUTTER_DEBUG_SEND_KMS_MODIFIERS=1 MUTTER_DEBUG_USE_KMS_MODIFIERS=1 dbus-run-session gnome-session
gnome-terminal shows those environment variables as set
Output remains the same from vulkaninfo with WAYLAND_DEBUG
enabled, both with and without the experimental features gnome flag.
Pasting the output here again in case I missed something obvious
[~]$ env | grep KMS
MUTTER_DEBUG_SEND_KMS_MODIFIERS=1
MUTTER_DEBUG_USE_KMS_MODIFIERS=1
[timk@archon ~]$ WAYLAND_DEBUG=1 vkcube-wayland --gpu_number 1
[ 525318.284] -> wl_display@1.get_registry(new id wl_registry@2)
[ 525318.620] wl_registry@2.global(1, "wl_compositor", 5)
[ 525318.663] -> wl_registry@2.bind(1, "wl_compositor", 4, new id [unknown]@3)
[ 525318.680] wl_registry@2.global(2, "wl_drm", 2)
[ 525318.692] wl_registry@2.global(3, "wl_shm", 1)
[ 525318.710] wl_registry@2.global(4, "wl_output", 4)
[ 525318.723] wl_registry@2.global(5, "wl_output", 4)
[ 525318.735] wl_registry@2.global(6, "wl_output", 4)
[ 525318.747] wl_registry@2.global(7, "zxdg_output_manager_v1", 3)
[ 525318.760] wl_registry@2.global(8, "wl_data_device_manager", 3)
[ 525318.785] wl_registry@2.global(9, "zwp_primary_selection_device_manager_v1", 1)
[ 525318.813] wl_registry@2.global(10, "wl_subcompositor", 1)
[ 525318.840] wl_registry@2.global(11, "xdg_wm_base", 6)
[ 525318.874] -> wl_registry@2.bind(11, "xdg_wm_base", 1, new id [unknown]@4)
[ 525318.907] wl_registry@2.global(12, "gtk_shell1", 5)
[ 525318.936] wl_registry@2.global(13, "wp_viewporter", 1)
[ 525318.965] wl_registry@2.global(14, "wp_fractional_scale_manager_v1", 1)
[ 525318.994] wl_registry@2.global(15, "zwp_pointer_gestures_v1", 3)
[ 525319.024] wl_registry@2.global(16, "zwp_tablet_manager_v2", 1)
[ 525319.052] wl_registry@2.global(17, "wl_seat", 8)
[ 525319.082] -> wl_registry@2.bind(17, "wl_seat", 1, new id [unknown]@5)
[ 525319.107] wl_registry@2.global(18, "zwp_relative_pointer_manager_v1", 1)
[ 525319.144] wl_registry@2.global(19, "zwp_pointer_constraints_v1", 1)
[ 525319.169] wl_registry@2.global(20, "zxdg_exporter_v2", 1)
[ 525319.196] wl_registry@2.global(21, "zxdg_importer_v2", 1)
[ 525319.222] wl_registry@2.global(22, "zxdg_exporter_v1", 1)
[ 525319.249] wl_registry@2.global(23, "zxdg_importer_v1", 1)
[ 525319.275] wl_registry@2.global(24, "zwp_linux_dmabuf_v1", 4)
[ 525319.302] wl_registry@2.global(25, "wp_single_pixel_buffer_manager_v1", 1)
[ 525319.328] wl_registry@2.global(26, "zwp_keyboard_shortcuts_inhibit_manager_v1", 1)
[ 525319.355] wl_registry@2.global(27, "zwp_text_input_manager_v3", 1)
[ 525319.381] wl_registry@2.global(28, "wp_presentation", 1)
[ 525319.408] wl_registry@2.global(29, "xdg_activation_v1", 1)
[ 525319.434] wl_registry@2.global(30, "zwp_idle_inhibit_manager_v1", 1)
[ 525357.795] -> wl_display@1.get_registry(new id wl_registry@2)
[ 525357.921] wl_registry@2.global(1, "wl_compositor", 5)
[ 525357.929] wl_registry@2.global(2, "wl_drm", 2)
[ 525357.949] -> wl_registry@2.bind(2, "wl_drm", 2, new id [unknown]@3)
[ 525357.955] wl_registry@2.global(3, "wl_shm", 1)
[ 525357.961] wl_registry@2.global(4, "wl_output", 4)
[ 525357.967] wl_registry@2.global(5, "wl_output", 4)
[ 525357.973] wl_registry@2.global(6, "wl_output", 4)
[ 525357.978] wl_registry@2.global(7, "zxdg_output_manager_v1", 3)
[ 525357.983] wl_registry@2.global(8, "wl_data_device_manager", 3)
[ 525357.989] wl_registry@2.global(9, "zwp_primary_selection_device_manager_v1", 1)
[ 525357.994] wl_registry@2.global(10, "wl_subcompositor", 1)
[ 525357.998] wl_registry@2.global(11, "xdg_wm_base", 6)
[ 525358.003] wl_registry@2.global(12, "gtk_shell1", 5)
[ 525358.008] wl_registry@2.global(13, "wp_viewporter", 1)
[ 525358.012] wl_registry@2.global(14, "wp_fractional_scale_manager_v1", 1)
[ 525358.017] wl_registry@2.global(15, "zwp_pointer_gestures_v1", 3)
[ 525358.021] wl_registry@2.global(16, "zwp_tablet_manager_v2", 1)
[ 525358.026] wl_registry@2.global(17, "wl_seat", 8)
[ 525358.031] wl_registry@2.global(18, "zwp_relative_pointer_manager_v1", 1)
[ 525358.035] wl_registry@2.global(19, "zwp_pointer_constraints_v1", 1)
[ 525358.040] wl_registry@2.global(20, "zxdg_exporter_v2", 1)
[ 525358.044] wl_registry@2.global(21, "zxdg_importer_v2", 1)
[ 525358.049] wl_registry@2.global(22, "zxdg_exporter_v1", 1)
[ 525358.053] wl_registry@2.global(23, "zxdg_importer_v1", 1)
[ 525358.058] wl_registry@2.global(24, "zwp_linux_dmabuf_v1", 4)
[ 525358.062] wl_registry@2.global(25, "wp_single_pixel_buffer_manager_v1", 1)
[ 525358.066] wl_registry@2.global(26, "zwp_keyboard_shortcuts_inhibit_manager_v1", 1)
[ 525358.071] wl_registry@2.global(27, "zwp_text_input_manager_v3", 1)
[ 525358.075] wl_registry@2.global(28, "wp_presentation", 1)
[ 525358.080] wl_registry@2.global(29, "xdg_activation_v1", 1)
[ 525358.084] wl_registry@2.global(30, "zwp_idle_inhibit_manager_v1", 1)
[ 525358.090] -> wl_display@1.sync(new id wl_callback@4)
[ 525358.181] wl_display@1.delete_id(4)
[ 525358.186] wl_drm@3.device("/dev/dri/renderD128")
[ 525359.192] wl_drm@3.format(808669761)
[ 525359.197] wl_drm@3.format(808669784)
[ 525359.201] wl_drm@3.format(808665665)
[ 525359.219] wl_drm@3.format(808665688)
[ 525359.223] wl_drm@3.format(875713089)
[ 525359.229] wl_drm@3.format(875713112)
[ 525359.234] wl_drm@3.format(909199186)
[ 525359.238] wl_drm@3.format(961959257)
[ 525359.242] wl_drm@3.format(825316697)
[ 525359.245] wl_drm@3.format(842093913)
[ 525359.250] wl_drm@3.format(909202777)
[ 525359.254] wl_drm@3.format(875713881)
[ 525359.257] wl_drm@3.format(842094158)
[ 525359.261] wl_drm@3.format(909203022)
[ 525359.264] wl_drm@3.format(1448695129)
[ 525359.268] wl_drm@3.capabilities(1)
[ 525359.272] wl_callback@4.done(1183)
[ 525359.401] -> wl_display@1.get_registry(new id wl_registry@2)
[ 525359.488] wl_registry@2.global(1, "wl_compositor", 5)
[ 525359.494] wl_registry@2.global(2, "wl_drm", 2)
[ 525359.500] -> wl_registry@2.bind(2, "wl_drm", 2, new id [unknown]@3)
[ 525359.505] wl_registry@2.global(3, "wl_shm", 1)
[ 525359.522] wl_registry@2.global(4, "wl_output", 4)
[ 525359.527] wl_registry@2.global(5, "wl_output", 4)
[ 525359.546] wl_registry@2.global(6, "wl_output", 4)
[ 525359.551] wl_registry@2.global(7, "zxdg_output_manager_v1", 3)
[ 525359.556] wl_registry@2.global(8, "wl_data_device_manager", 3)
[ 525359.561] wl_registry@2.global(9, "zwp_primary_selection_device_manager_v1", 1)
[ 525359.566] wl_registry@2.global(10, "wl_subcompositor", 1)
[ 525359.571] wl_registry@2.global(11, "xdg_wm_base", 6)
[ 525359.576] wl_registry@2.global(12, "gtk_shell1", 5)
[ 525359.581] wl_registry@2.global(13, "wp_viewporter", 1)
[ 525359.586] wl_registry@2.global(14, "wp_fractional_scale_manager_v1", 1)
[ 525359.590] wl_registry@2.global(15, "zwp_pointer_gestures_v1", 3)
[ 525359.595] wl_registry@2.global(16, "zwp_tablet_manager_v2", 1)
[ 525359.599] wl_registry@2.global(17, "wl_seat", 8)
[ 525359.604] wl_registry@2.global(18, "zwp_relative_pointer_manager_v1", 1)
[ 525359.608] wl_registry@2.global(19, "zwp_pointer_constraints_v1", 1)
[ 525359.613] wl_registry@2.global(20, "zxdg_exporter_v2", 1)
[ 525359.617] wl_registry@2.global(21, "zxdg_importer_v2", 1)
[ 525359.621] wl_registry@2.global(22, "zxdg_exporter_v1", 1)
[ 525359.626] wl_registry@2.global(23, "zxdg_importer_v1", 1)
[ 525359.630] wl_registry@2.global(24, "zwp_linux_dmabuf_v1", 4)
[ 525359.634] wl_registry@2.global(25, "wp_single_pixel_buffer_manager_v1", 1)
[ 525359.639] wl_registry@2.global(26, "zwp_keyboard_shortcuts_inhibit_manager_v1", 1)
[ 525359.643] wl_registry@2.global(27, "zwp_text_input_manager_v3", 1)
[ 525359.648] wl_registry@2.global(28, "wp_presentation", 1)
[ 525359.652] wl_registry@2.global(29, "xdg_activation_v1", 1)
[ 525359.657] wl_registry@2.global(30, "zwp_idle_inhibit_manager_v1", 1)
[ 525359.662] -> wl_display@1.sync(new id wl_callback@4)
[ 525359.751] wl_display@1.delete_id(4)
[ 525359.755] wl_drm@3.device("/dev/dri/renderD128")
[ 525360.723] wl_drm@3.format(808669761)
[ 525360.728] wl_drm@3.format(808669784)
[ 525360.732] wl_drm@3.format(808665665)
[ 525360.753] wl_drm@3.format(808665688)
[ 525360.757] wl_drm@3.format(875713089)
[ 525360.761] wl_drm@3.format(875713112)
[ 525360.763] wl_drm@3.format(909199186)
[ 525360.765] wl_drm@3.format(961959257)
[ 525360.768] wl_drm@3.format(825316697)
[ 525360.772] wl_drm@3.format(842093913)
[ 525360.773] wl_drm@3.format(909202777)
[ 525360.775] wl_drm@3.format(875713881)
[ 525360.777] wl_drm@3.format(842094158)
[ 525360.779] wl_drm@3.format(909203022)
[ 525360.781] wl_drm@3.format(1448695129)
[ 525360.783] wl_drm@3.capabilities(1)
[ 525360.785] wl_callback@4.done(1183)
Selected GPU 1: NVIDIA GeForce GTX 970, type: DiscreteGpu
[ 525360.816] -> wl_compositor@3.create_surface(new id wl_surface@6)
[ 525360.819] -> xdg_wm_base@4.get_xdg_surface(new id xdg_surface@7, wl_surface@6)
[ 525360.822] -> xdg_surface@7.get_toplevel(new id xdg_toplevel@8)
[ 525360.824] -> xdg_toplevel@8.set_title("vkcube")
[ 525360.826] -> wl_surface@6.commit()
[ 525360.843] -> wl_display@1.get_registry(new id wl_registry@9)
[ 525360.846] -> wl_display@1.sync(new id wl_callback@10)
[ 525361.447] wl_display@1.delete_id(10)
[ 525361.450] wl_registry@9.global(1, "wl_compositor", 5)
[ 525361.455] wl_registry@9.global(2, "wl_drm", 2)
[ 525361.460] -> wl_registry@9.bind(2, "wl_drm", 2, new id [unknown]@11)
[ 525361.467] wl_registry@9.global(3, "wl_shm", 1)
[ 525361.471] wl_registry@9.global(4, "wl_output", 4)
[ 525361.475] wl_registry@9.global(5, "wl_output", 4)
[ 525361.479] wl_registry@9.global(6, "wl_output", 4)
[ 525361.482] wl_registry@9.global(7, "zxdg_output_manager_v1", 3)
[ 525361.484] wl_registry@9.global(8, "wl_data_device_manager", 3)
[ 525361.486] wl_registry@9.global(9, "zwp_primary_selection_device_manager_v1", 1)
[ 525361.488] wl_registry@9.global(10, "wl_subcompositor", 1)
[ 525361.490] wl_registry@9.global(11, "xdg_wm_base", 6)
[ 525361.492] wl_registry@9.global(12, "gtk_shell1", 5)
[ 525361.495] wl_registry@9.global(13, "wp_viewporter", 1)
[ 525361.499] wl_registry@9.global(14, "wp_fractional_scale_manager_v1", 1)
[ 525361.504] wl_registry@9.global(15, "zwp_pointer_gestures_v1", 3)
[ 525361.507] wl_registry@9.global(16, "zwp_tablet_manager_v2", 1)
[ 525361.511] wl_registry@9.global(17, "wl_seat", 8)
[ 525361.515] wl_registry@9.global(18, "zwp_relative_pointer_manager_v1", 1)
[ 525361.518] wl_registry@9.global(19, "zwp_pointer_constraints_v1", 1)
[ 525361.522] wl_registry@9.global(20, "zxdg_exporter_v2", 1)
[ 525361.525] wl_registry@9.global(21, "zxdg_importer_v2", 1)
[ 525361.528] wl_registry@9.global(22, "zxdg_exporter_v1", 1)
[ 525361.534] wl_registry@9.global(23, "zxdg_importer_v1", 1)
[ 525361.538] wl_registry@9.global(24, "zwp_linux_dmabuf_v1", 4)
[ 525361.543] -> wl_registry@9.bind(24, "zwp_linux_dmabuf_v1", 4, new id [unknown]@12)
[ 525361.548] wl_registry@9.global(25, "wp_single_pixel_buffer_manager_v1", 1)
[ 525361.551] wl_registry@9.global(26, "zwp_keyboard_shortcuts_inhibit_manager_v1", 1)
[ 525361.554] wl_registry@9.global(27, "zwp_text_input_manager_v3", 1)
[ 525361.556] wl_registry@9.global(28, "wp_presentation", 1)
[ 525361.559] -> wl_registry@9.bind(28, "wp_presentation", 1, new id [unknown]@13)
[ 525361.562] wl_registry@9.global(29, "xdg_activation_v1", 1)
[ 525361.564] wl_registry@9.global(30, "zwp_idle_inhibit_manager_v1", 1)
[ 525361.566] wl_callback@10.done(1183)
[ 525361.570] -> zwp_linux_dmabuf_v1@12.get_surface_feedback(new id zwp_linux_dmabuf_feedback_v1@10, wl_surface@6)
[ 525361.573] -> wl_display@1.sync(new id wl_callback@14)
[ 525376.936] wl_display@1.delete_id(14)
[ 525376.945] zwp_linux_dmabuf_feedback_v1@10.format_table(fd 20, 240)
[ 525376.958] zwp_linux_dmabuf_feedback_v1@10.main_device(array[8])
[ 525376.961] zwp_linux_dmabuf_feedback_v1@10.tranche_target_device(array[8])
[ 525376.963] zwp_linux_dmabuf_feedback_v1@10.tranche_flags(0)
[ 525376.965] zwp_linux_dmabuf_feedback_v1@10.tranche_formats(array[30])
[ 525376.971] zwp_linux_dmabuf_feedback_v1@10.tranche_done()
[ 525376.975] zwp_linux_dmabuf_feedback_v1@10.done()
[ 525376.979] wl_callback@14.done(1183)
Can't find our preferred formats... Falling back to first exposed format. Rendering may be incorrect.
Segmentation fault (core dumped)
Hmm, are you using an older AMD GPU by any chance? I wonder if their driver doesn't support DRM format modifiers for your chip. You could use Simon Ser's drm_info utility to check this. It generates a lot of output, but the relevant pieces for this issue would be Planes -> Plane X -> Properties -> "IN_FORMATS". This should be followed by a list of formats and format modifiers. If there is no such section then that's the problem.
The drm_info source code is here https://gitlab.freedesktop.org/emersion/drm_info and there's also an AUR package https://aur.archlinux.org/packages/drm_info
Oh wait, I see that the eglinfo / vulkaninfo output you provided shows you're using an RX 580. Looking online, it sounds like it does not support DRM format modifiers. So for the moment unfortunately render-offload from an NVIDIA GPU to this GPU will not work.
We're planning on adding support for implicit modifiers which should eventually offer a solution. This shortcoming has turned out to be the case of a few other issues recently, e.g. https://github.com/obsproject/obs-studio/issues/9895
Nice spot, thanks @eric-kz. Good to understand the issue at play here, very much appreciated.
Im also about to take a holiday, so wouldn't have been in a good position to diagnose further for a little while 😀
Just cross-referencing this as I think it's also related https://github.com/NVIDIA/open-gpu-kernel-modules/issues/440.
@erik-kz is it possible that recent drivers have introduced a regression here?
I'm certain I've been succesfully using DRI_PRIME with this configuration as recently as v535.129.03 (see issue #95) and I'm now having issues with DRI_PRIME for OpenGL applications (which also worked previously) silently falling back to mesa swrast/zink.. (see here
PRIME render-offload for Vulkan Wayland applications was not working at all before 545, so I do not think it's possible that this bug is a regression.
Okay, thanks. Please disregard (not sure how I managed to produce #95 ahead of 545)
not sure how I managed to produce https://github.com/NVIDIA/egl-wayland/issues/95 ahead of 545
It would still have been possible to create a Wayland swapchain on a PRIME system prior to 545, assuming you set __NV_PRIME_RENDER_OFFLOAD=1. Presentation would fail, though, which I believe matches your observations from the other bug.
Ahh, thank you for the clarification. I'm not going crazy :)
@erik-kz I believe this issue is still apparent on the currently available drivers (v550.67)
Ah, sorry. you're right. We still don't support implicit modifiers which is the root cause of this.
Running an arch linux setup with dual GPU's
Arch Linux Kernel 6.6.2-arch1-1 GNOME Version 45.1 nVidia Driver version 545.29.6
personal project When targeting the GTX 970..
vkCreateWaylandSurfaceKHR
succedsUsing that surface, I can succesfully query the surface capabilities
vkGetPhysicalDeviceSurfaceCapabilitiesKHR(device, surface, &details.capabilities);
Though the returned capabilities show slightly excessive values for the currentExtent, all other values appear sane.
I then query for surface formats
vkGetPhysicalDeviceSurfaceFormatsKHR(device, surface, &formatCount, nullptr);
which fails with
VK_ERROR_SURFACE_LOST_KHR
vkcube-wayland
This behaviour seems to be mirrored by vkcube-wayland, glxgears, vkmark
Curiously, vulkaninfo only reports the following presentable surfaces:
Seems odd that VK_KHR_wayland_surface does not make an appearance (though I don't see it for the amd card either).
Running
vkcube-wayland
for the GTX 970 seg faultsRunning with --validate-checks-disabled
vkgears vkgears also seg faults, with no way to specifiy GPU.
vkmark vkmark seg faults when specifying the GTX 970.. Runs fine with the RX 580
vulkaninfo
vulkaninfo --summary
eglinfo -B
inxi