我正在维护一个粒子模拟代码(主要是我的),它使用带有 QGLViewer、一些 GLUT 和大量glBegin(...)
/ glEnd()
、glEnable(...)
等的遗留 OpenGL 渲染样式glLight(...)
glVertex(...)
(代码中的正确渲染从这里开始,但经过相当复杂的动态调度) .
尽管它有所有缺点,但它在 X11 下工作,但是当我在 Wayland 下运行相同的代码时,渲染窗口是黑色的,只显示渲染的文本元素,QGLWidget::renderText
但没有 3D 内容。
Wayland 是否需要一些特殊设置?难道旧式OpenGL的处理方式不同吗?关于调试这个有什么建议吗?
XWayland(取消设置 WAYLAND_DISPLAY):
韦兰:
wayland-info的输出(如果有用的话):
$ wayland-info
interface: 'wl_compositor', version: 4, name: 1
interface: 'zwp_tablet_manager_v2', version: 1, name: 2
interface: 'zwp_keyboard_shortcuts_inhibit_manager_v1', version: 1, name: 3
interface: 'xdg_wm_base', version: 3, name: 5
interface: 'zwlr_layer_shell_v1', version: 3, name: 6
interface: 'zxdg_decoration_manager_v1', version: 1, name: 7
interface: 'wp_viewporter', version: 1, name: 8
interface: 'wl_shm', version: 1, name: 9
formats: 'XB30'(0x30334258) 'AB30'(0x30334241) 'XR30'(0x30335258) 'AR30'(0x30335241) XRGB8888 ARGB8888
interface: 'wl_seat', version: 7, name: 10
name:
capabilities: pointer keyboard touch
keyboard repeat rate: 25
keyboard repeat delay: 600
interface: 'zwp_pointer_gestures_v1', version: 3, name: 11
interface: 'zwp_pointer_constraints_v1', version: 1, name: 12
interface: 'zwp_relative_pointer_manager_v1', version: 1, name: 13
interface: 'wl_data_device_manager', version: 3, name: 14
interface: 'zwlr_data_control_manager_v1', version: 2, name: 15
interface: 'zwp_primary_selection_device_manager_v1', version: 1, name: 16
interface: 'org_kde_kwin_idle', version: 1, name: 17
interface: 'zwp_idle_inhibit_manager_v1', version: 1, name: 18
interface: 'org_kde_plasma_shell', version: 6, name: 19
interface: 'org_kde_kwin_appmenu_manager', version: 1, name: 20
interface: 'org_kde_kwin_server_decoration_palette_manager', version: 1, name: 21
interface: 'org_kde_plasma_virtual_desktop_management', version: 2, name: 23
interface: 'org_kde_kwin_shadow_manager', version: 2, name: 25
interface: 'org_kde_kwin_dpms_manager', version: 1, name: 26
interface: 'org_kde_kwin_server_decoration_manager', version: 1, name: 27
interface: 'kde_output_management_v2', version: 2, name: 28
interface: 'kde_primary_output_v1', version: 1, name: 29
interface: 'zxdg_output_manager_v1', version: 3, name: 30
xdg_output_v1
output: 52
name: 'HDMI-A-1'
description: 'Philips Consumer Electronics Company PHL 328B1/AU0214001137'
logical_x: 2027, logical_y: 0
logical_width: 3840, logical_height: 2160
xdg_output_v1
output: 43
name: 'eDP-1'
description: 'Chimei Innolux Corporation eDP-1-unknown'
logical_x: 0, logical_y: 1356
logical_width: 1920, logical_height: 1080
interface: 'wl_subcompositor', version: 1, name: 31
interface: 'zxdg_exporter_v2', version: 1, name: 32
interface: 'zxdg_importer_v2', version: 1, name: 33
interface: 'xdg_activation_v1', version: 1, name: 36
interface: 'wp_drm_lease_device_v1', version: 1, name: 37
interface: 'wl_drm', version: 2, name: 40
interface: 'zwp_linux_dmabuf_v1', version: 4, name: 41
formats:
'Y410'(0x30313459), modifier: 0x020000044051b901
'Y410'(0x30313459), modifier: 0x020000044051ba01
'Y410'(0x30313459), modifier: 0x0200000000000901
'Y410'(0x30313459), modifier: 0x0200000000000a01
'Y410'(0x30313459), modifier: 0x0200000440517901
'Y410'(0x30313459), modifier: 0x0000000000000000
'Y410'(0x30313459), modifier: 0x0200000000401901
'Y410'(0x30313459), modifier: 0x0200000000401a01
'Y212'(0x32313259), modifier: 0x020000044051b901
'Y212'(0x32313259), modifier: 0x020000044051ba01
'Y212'(0x32313259), modifier: 0x0200000000000901
'Y212'(0x32313259), modifier: 0x0200000000000a01
'Y212'(0x32313259), modifier: 0x0000000000000000
'Y212'(0x32313259), modifier: 0x0200000000401901
'Y212'(0x32313259), modifier: 0x0200000000401a01
'AR15'(0x35315241), modifier: 0x020000044051b901
'AR15'(0x35315241), modifier: 0x020000044051ba01
'AR15'(0x35315241), modifier: 0x0200000000000901
'AR15'(0x35315241), modifier: 0x0200000000000a01
'AR15'(0x35315241), modifier: 0x0000000000000000
'AR15'(0x35315241), modifier: 0x0200000000401901
'AR15'(0x35315241), modifier: 0x0200000000401a01
'XB30'(0x30334258), modifier: 0x020000044051b901
'XB30'(0x30334258), modifier: 0x020000044051ba01
'XB30'(0x30334258), modifier: 0x0200000000000901
'XB30'(0x30334258), modifier: 0x0200000000000a01
'XB30'(0x30334258), modifier: 0x0200000440517901
'XB30'(0x30334258), modifier: 0x0000000000000000
'XB30'(0x30334258), modifier: 0x0200000000401901
'XB30'(0x30334258), modifier: 0x0200000000401a01
'Y216'(0x36313259), modifier: 0x020000044051b901
'Y216'(0x36313259), modifier: 0x020000044051ba01
'Y216'(0x36313259), modifier: 0x0200000000000901
'Y216'(0x36313259), modifier: 0x0200000000000a01
'Y216'(0x36313259), modifier: 0x0000000000000000
'Y216'(0x36313259), modifier: 0x0200000000401901
'Y216'(0x36313259), modifier: 0x0200000000401a01
'AB4H'(0x48344241), modifier: 0x020000044051b901
'AB4H'(0x48344241), modifier: 0x020000044051ba01
'AB4H'(0x48344241), modifier: 0x0200000000000901
'AB4H'(0x48344241), modifier: 0x0200000000000a01
'AB4H'(0x48344241), modifier: 0x0000000000000000
'AB4H'(0x48344241), modifier: 0x0200000000401901
'AB4H'(0x48344241), modifier: 0x0200000000401a01
'AR30'(0x30335241), modifier: 0x020000044051b901
'AR30'(0x30335241), modifier: 0x020000044051ba01
'AR30'(0x30335241), modifier: 0x0200000000000901
'AR30'(0x30335241), modifier: 0x0200000000000a01
'AR30'(0x30335241), modifier: 0x0200000440517901
'AR30'(0x30335241), modifier: 0x0000000000000000
'AR30'(0x30335241), modifier: 0x0200000000401901
'AR30'(0x30335241), modifier: 0x0200000000401a01
'AB24'(0x34324241), modifier: 0x020000044051b901
'AB24'(0x34324241), modifier: 0x020000044051ba01
'AB24'(0x34324241), modifier: 0x0200000000000901
'AB24'(0x34324241), modifier: 0x0200000000000a01
'AB24'(0x34324241), modifier: 0x0200000440517901
'AB24'(0x34324241), modifier: 0x0000000000000000
'AB24'(0x34324241), modifier: 0x0200000000401901
'AB24'(0x34324241), modifier: 0x0200000000401a01
'R8 '(0x20203852), modifier: 0x020000044051b901
'R8 '(0x20203852), modifier: 0x020000044051ba01
'R8 '(0x20203852), modifier: 0x0200000000000901
'R8 '(0x20203852), modifier: 0x0200000000000a01
'R8 '(0x20203852), modifier: 0x0000000000000000
'R8 '(0x20203852), modifier: 0x0200000000401901
'R8 '(0x20203852), modifier: 0x0200000000401a01
'R16 '(0x20363152), modifier: 0x020000044051b901
'R16 '(0x20363152), modifier: 0x020000044051ba01
'R16 '(0x20363152), modifier: 0x0200000000000901
'R16 '(0x20363152), modifier: 0x0200000000000a01
'R16 '(0x20363152), modifier: 0x0000000000000000
'R16 '(0x20363152), modifier: 0x0200000000401901
'R16 '(0x20363152), modifier: 0x0200000000401a01
'GR88'(0x38385247), modifier: 0x020000044051b901
'GR88'(0x38385247), modifier: 0x020000044051ba01
'GR88'(0x38385247), modifier: 0x0200000000000901
'GR88'(0x38385247), modifier: 0x0200000000000a01
'GR88'(0x38385247), modifier: 0x0000000000000000
'GR88'(0x38385247), modifier: 0x0200000000401901
'GR88'(0x38385247), modifier: 0x0200000000401a01
'XB4H'(0x48344258), modifier: 0x020000044051b901
'XB4H'(0x48344258), modifier: 0x020000044051ba01
'XB4H'(0x48344258), modifier: 0x0200000000000901
'XB4H'(0x48344258), modifier: 0x0200000000000a01
'XB4H'(0x48344258), modifier: 0x0000000000000000
'XB4H'(0x48344258), modifier: 0x0200000000401901
'XB4H'(0x48344258), modifier: 0x0200000000401a01
'P012'(0x32313050), modifier: 0x0200000000000901
'P012'(0x32313050), modifier: 0x0200000000000a01
'P012'(0x32313050), modifier: 0x0000000000000000
'P012'(0x32313050), modifier: 0x0200000000401901
'P012'(0x32313050), modifier: 0x0200000000401a01
'XR30'(0x30335258), modifier: 0x020000044051b901
'XR30'(0x30335258), modifier: 0x020000044051ba01
'XR30'(0x30335258), modifier: 0x0200000000000901
'XR30'(0x30335258), modifier: 0x0200000000000a01
'XR30'(0x30335258), modifier: 0x0200000440517901
'XR30'(0x30335258), modifier: 0x0000000000000000
'XR30'(0x30335258), modifier: 0x0200000000401901
'XR30'(0x30335258), modifier: 0x0200000000401a01
'XB24'(0x34324258), modifier: 0x020000044051b901
'XB24'(0x34324258), modifier: 0x020000044051ba01
'XB24'(0x34324258), modifier: 0x0200000000000901
'XB24'(0x34324258), modifier: 0x0200000000000a01
'XB24'(0x34324258), modifier: 0x0200000440517901
'XB24'(0x34324258), modifier: 0x0000000000000000
'XB24'(0x34324258), modifier: 0x0200000000401901
'XB24'(0x34324258), modifier: 0x0200000000401a01
'P016'(0x36313050), modifier: 0x0200000000000901
'P016'(0x36313050), modifier: 0x0200000000000a01
'P016'(0x36313050), modifier: 0x0000000000000000
'P016'(0x36313050), modifier: 0x0200000000401901
'P016'(0x36313050), modifier: 0x0200000000401a01
'Y210'(0x30313259), modifier: 0x020000044051b901
'Y210'(0x30313259), modifier: 0x020000044051ba01
'Y210'(0x30313259), modifier: 0x0200000000000901
'Y210'(0x30313259), modifier: 0x0200000000000a01
'Y210'(0x30313259), modifier: 0x0000000000000000
'Y210'(0x30313259), modifier: 0x0200000000401901
'Y210'(0x30313259), modifier: 0x0200000000401a01
'AR24'(0x34325241), modifier: 0x020000044051b901
'AR24'(0x34325241), modifier: 0x020000044051ba01
'AR24'(0x34325241), modifier: 0x0200000000000901
'AR24'(0x34325241), modifier: 0x0200000000000a01
'AR24'(0x34325241), modifier: 0x0200000440517901
'AR24'(0x34325241), modifier: 0x0000000000000000
'AR24'(0x34325241), modifier: 0x0200000000401901
'AR24'(0x34325241), modifier: 0x0200000000401a01
'Y412'(0x32313459), modifier: 0x020000044051b901
'Y412'(0x32313459), modifier: 0x020000044051ba01
'Y412'(0x32313459), modifier: 0x0200000000000901
'Y412'(0x32313459), modifier: 0x0200000000000a01
'Y412'(0x32313459), modifier: 0x0000000000000000
'Y412'(0x32313459), modifier: 0x0200000000401901
'Y412'(0x32313459), modifier: 0x0200000000401a01
'Y416'(0x36313459), modifier: 0x020000044051b901
'Y416'(0x36313459), modifier: 0x020000044051ba01
'Y416'(0x36313459), modifier: 0x0200000000000901
'Y416'(0x36313459), modifier: 0x0200000000000a01
'Y416'(0x36313459), modifier: 0x0000000000000000
'Y416'(0x36313459), modifier: 0x0200000000401901
'Y416'(0x36313459), modifier: 0x0200000000401a01
'AYUV'(0x56555941), modifier: 0x020000044051b901
'AYUV'(0x56555941), modifier: 0x020000044051ba01
'AYUV'(0x56555941), modifier: 0x0200000000000901
'AYUV'(0x56555941), modifier: 0x0200000000000a01
'AYUV'(0x56555941), modifier: 0x0000000000000000
'AYUV'(0x56555941), modifier: 0x0200000000401901
'AYUV'(0x56555941), modifier: 0x0200000000401a01
'XR24'(0x34325258), modifier: 0x020000044051b901
'XR24'(0x34325258), modifier: 0x020000044051ba01
'XR24'(0x34325258), modifier: 0x0200000000000901
'XR24'(0x34325258), modifier: 0x0200000000000a01
'XR24'(0x34325258), modifier: 0x0200000440517901
'XR24'(0x34325258), modifier: 0x0000000000000000
'XR24'(0x34325258), modifier: 0x0200000000401901
'XR24'(0x34325258), modifier: 0x0200000000401a01
'RG16'(0x36314752), modifier: 0x020000044051b901
'RG16'(0x36314752), modifier: 0x020000044051ba01
'RG16'(0x36314752), modifier: 0x0200000000000901
'RG16'(0x36314752), modifier: 0x0200000000000a01
'RG16'(0x36314752), modifier: 0x0000000000000000
'RG16'(0x36314752), modifier: 0x0200000000401901
'RG16'(0x36314752), modifier: 0x0200000000401a01
'UYVY'(0x59565955), modifier: 0x020000044051b901
'UYVY'(0x59565955), modifier: 0x020000044051ba01
'UYVY'(0x59565955), modifier: 0x0200000000000901
'UYVY'(0x59565955), modifier: 0x0200000000000a01
'UYVY'(0x59565955), modifier: 0x0200000440517901
'UYVY'(0x59565955), modifier: 0x0000000000000000
'UYVY'(0x59565955), modifier: 0x0200000000401901
'UYVY'(0x59565955), modifier: 0x0200000000401a01
'XYUV'(0x56555958), modifier: 0x020000044051b901
'XYUV'(0x56555958), modifier: 0x020000044051ba01
'XYUV'(0x56555958), modifier: 0x0200000000000901
'XYUV'(0x56555958), modifier: 0x0200000000000a01
'XYUV'(0x56555958), modifier: 0x0000000000000000
'XYUV'(0x56555958), modifier: 0x0200000000401901
'XYUV'(0x56555958), modifier: 0x0200000000401a01
'P010'(0x30313050), modifier: 0x0200000000000901
'P010'(0x30313050), modifier: 0x0200000000000a01
'P010'(0x30313050), modifier: 0x0000000000000000
'P010'(0x30313050), modifier: 0x0200000000401901
'P010'(0x30313050), modifier: 0x0200000000401a01
'YUYV'(0x56595559), modifier: 0x020000044051b901
'YUYV'(0x56595559), modifier: 0x020000044051ba01
'YUYV'(0x56595559), modifier: 0x0200000000000901
'YUYV'(0x56595559), modifier: 0x0200000000000a01
'YUYV'(0x56595559), modifier: 0x0200000440517901
'YUYV'(0x56595559), modifier: 0x0000000000000000
'YUYV'(0x56595559), modifier: 0x0200000000401901
'YUYV'(0x56595559), modifier: 0x0200000000401a01
'AB30'(0x30334241), modifier: 0x020000044051b901
'AB30'(0x30334241), modifier: 0x020000044051ba01
'AB30'(0x30334241), modifier: 0x0200000000000901
'AB30'(0x30334241), modifier: 0x0200000000000a01
'AB30'(0x30334241), modifier: 0x0200000440517901
'AB30'(0x30334241), modifier: 0x0000000000000000
'AB30'(0x30334241), modifier: 0x0200000000401901
'AB30'(0x30334241), modifier: 0x0200000000401a01
'GR32'(0x32335247), modifier: 0x020000044051b901
'GR32'(0x32335247), modifier: 0x020000044051ba01
'GR32'(0x32335247), modifier: 0x0200000000000901
'GR32'(0x32335247), modifier: 0x0200000000000a01
'GR32'(0x32335247), modifier: 0x0200000440517901
'GR32'(0x32335247), modifier: 0x0000000000000000
'GR32'(0x32335247), modifier: 0x0200000000401901
'GR32'(0x32335247), modifier: 0x0200000000401a01
interface: 'kde_output_device_v2', version: 2, name: 42
interface: 'wl_output', version: 3, name: 43
x: 0, y: 1356, scale: 1,
physical_width: 310 mm, physical_height: 170 mm,
make: 'Chimei Innolux Corporation', model: 'eDP-1-unknown',
subpixel_orientation: unknown, output_transform: normal,
mode:
width: 1920 px, height: 1080 px, refresh: 60.008 Hz,
flags: current
interface: 'zwp_text_input_manager_v2', version: 1, name: 46
interface: 'zwp_text_input_manager_v3', version: 1, name: 47
interface: 'org_kde_kwin_contrast_manager', version: 2, name: 48
interface: 'org_kde_kwin_blur_manager', version: 1, name: 49
interface: 'org_kde_kwin_slide_manager', version: 1, name: 50
interface: 'kde_output_device_v2', version: 2, name: 51
interface: 'wl_output', version: 3, name: 52
x: 2027, y: 0, scale: 1,
physical_width: 700 mm, physical_height: 390 mm,
make: 'Philips Consumer Electronics Company', model: 'PHL 328B1/AU0214001137',
subpixel_orientation: unknown, output_transform: normal,
mode:
width: 3840 px, height: 2160 px, refresh: 59.997 Hz,
flags: current