[GH-ISSUE #1781] [Wayland] All games launch to a black screen with DISPLAY env var set #612

Closed
opened 2026-02-27 21:07:13 +03:00 by kerem · 2 comments
Owner

Originally created by @C0rn3j on GitHub (Dec 14, 2024).
Original GitHub issue: https://github.com/shadps4-emu/shadPS4/issues/1781

This is the remaining issue from the now-closed https://github.com/shadps4-emu/shadPS4/issues/1045.

Running the emulator on a Wayland compositor with a set DISPLAY environment variable causes all games launch with a black screen.

unset DISPLAY; shadps4 is a workaround.

Originally created by @C0rn3j on GitHub (Dec 14, 2024). Original GitHub issue: https://github.com/shadps4-emu/shadPS4/issues/1781 This is the remaining issue from the now-closed https://github.com/shadps4-emu/shadPS4/issues/1045. Running the emulator on a Wayland compositor with a set DISPLAY environment variable causes all games launch with a black screen. `unset DISPLAY; shadps4` is a workaround.
kerem 2026-02-27 21:07:13 +03:00
  • closed this issue
  • added the
    linux
    label
Author
Owner

@ngoquang2708 commented on GitHub (Dec 14, 2024):

Seem to be NVidia driver issue. I can run under XWayland on the Intel iGPU.

<!-- gh-comment-id:2543122038 --> @ngoquang2708 commented on GitHub (Dec 14, 2024): Seem to be NVidia driver issue. I can run under XWayland on the Intel iGPU.
Author
Owner

@ngoquang2708 commented on GitHub (Dec 18, 2024):

With Vulkan Sync Validation enabled, I got these when run the emulator on NVidia/XWayland, not on Intel/XWayland:

[Render.Vulkan] <Error> vk_platform.cpp:DebugUtilsCallback:71: VUID-vkQueueSubmit-pWaitSemaphores-03238: Validation Error: [ VUID-vkQueueSubmit-pWaitSemaphores-03238 ] Object 0: handle = 0x301e6c0000000022, type = VK_OBJECT_TYPE_SEMAPHORE; Object 1: handle = 0x5a14156f62a0, type = VK_OBJECT_TYPE_QUEUE; | MessageID = 0xb50452b0 | vkQueueSubmit(): pSubmits[0].pWaitSemaphores[0] queue (VkQueue 0x5a14156f62a0[]) is waiting on semaphore (VkSemaphore 0x301e6c0000000022[]) that has no way to be signaled.
The Vulkan spec states: All elements of the pWaitSemaphores member of all elements of pSubmits created with a VkSemaphoreType of VK_SEMAPHORE_TYPE_BINARY must reference a semaphore signal operation that has been submitted for execution and any semaphore signal operations on which it depends must have also been submitted for execution (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkQueueSubmit-pWaitSemaphores-03238)
[Render.Vulkan] <Error> vk_platform.cpp:DebugUtilsCallback:71: SYNC-HAZARD-WRITE-AFTER-PRESENT: Validation Error: [ SYNC-HAZARD-WRITE-AFTER-PRESENT ] Object 0: handle = 0x5a14156f62a0, type = VK_OBJECT_TYPE_QUEUE; | MessageID = 0x42f2f4ed | vkQueueSubmit():  Hazard WRITE_AFTER_PRESENT for entry 0, VkCommandBuffer 0x5a1415907e00[], Submitted access info (submitted_usage: SYNC_IMAGE_LAYOUT_TRANSITION, command: vkCmdPipelineBarrier, seq_no: 1, reset_no: 1). Access info (prior_usage: SYNC_PRESENT_ENGINE_SYNCVAL_PRESENT_PRESENTED_SYNCVAL, write_barriers: 0, queue: VkQueue 0x5a14156f62a0[], submit: 6, batch: 0, batch_tag: 22, vkQueuePresentKHR present_tag:22, pSwapchains[0]: VkSwapchainKHR 0xee647e0000000009[], image_index: 1image: VkImage 0xec4bec000000000b[]).
[Render.Vulkan] <Error> vk_platform.cpp:DebugUtilsCallback:71: VUID-vkQueueSubmit-pWaitSemaphores-03238: Validation Error: [ VUID-vkQueueSubmit-pWaitSemaphores-03238 ] Object 0: handle = 0xab64de0000000020, type = VK_OBJECT_TYPE_SEMAPHORE; Object 1: handle = 0x5a14156f62a0, type = VK_OBJECT_TYPE_QUEUE; | MessageID = 0xb50452b0 | vkQueueSubmit(): pSubmits[0].pWaitSemaphores[0] queue (VkQueue 0x5a14156f62a0[]) is waiting on semaphore (VkSemaphore 0xab64de0000000020[]) that has no way to be signaled.
The Vulkan spec states: All elements of the pWaitSemaphores member of all elements of pSubmits created with a VkSemaphoreType of VK_SEMAPHORE_TYPE_BINARY must reference a semaphore signal operation that has been submitted for execution and any semaphore signal operations on which it depends must have also been submitted for execution (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkQueueSubmit-pWaitSemaphores-03238)
[Render.Vulkan] <Error> vk_platform.cpp:DebugUtilsCallback:71: SYNC-HAZARD-WRITE-AFTER-PRESENT: Validation Error: [ SYNC-HAZARD-WRITE-AFTER-PRESENT ] Object 0: handle = 0x5a14156f62a0, type = VK_OBJECT_TYPE_QUEUE; | MessageID = 0x42f2f4ed | vkQueueSubmit():  Hazard WRITE_AFTER_PRESENT for entry 0, VkCommandBuffer 0x5a141590bc80[], Submitted access info (submitted_usage: SYNC_IMAGE_LAYOUT_TRANSITION, command: vkCmdPipelineBarrier, seq_no: 1, reset_no: 1). Access info (prior_usage: SYNC_PRESENT_ENGINE_SYNCVAL_PRESENT_PRESENTED_SYNCVAL, write_barriers: 0, queue: VkQueue 0x5a14156f62a0[], submit: 9, batch: 0, batch_tag: 30, vkQueuePresentKHR present_tag:30, pSwapchains[0]: VkSwapchainKHR 0xee647e0000000009[], image_index: 1image: VkImage 0xec4bec000000000b[]).
[Render.Vulkan] <Error> vk_platform.cpp:DebugUtilsCallback:71: VUID-vkQueueSubmit-pWaitSemaphores-03238: Validation Error: [ VUID-vkQueueSubmit-pWaitSemaphores-03238 ] Object 0: handle = 0xc4f3070000000021, type = VK_OBJECT_TYPE_SEMAPHORE; Object 1: handle = 0x5a14156f62a0, type = VK_OBJECT_TYPE_QUEUE; | MessageID = 0xb50452b0 | vkQueueSubmit(): pSubmits[0].pWaitSemaphores[0] queue (VkQueue 0x5a14156f62a0[]) is waiting on semaphore (VkSemaphore 0xc4f3070000000021[]) that has no way to be signaled.
The Vulkan spec states: All elements of the pWaitSemaphores member of all elements of pSubmits created with a VkSemaphoreType of VK_SEMAPHORE_TYPE_BINARY must reference a semaphore signal operation that has been submitted for execution and any semaphore signal operations on which it depends must have also been submitted for execution (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkQueueSubmit-pWaitSemaphores-03238)
[Render.Vulkan] <Error> vk_platform.cpp:DebugUtilsCallback:71: SYNC-HAZARD-WRITE-AFTER-PRESENT: Validation Error: [ SYNC-HAZARD-WRITE-AFTER-PRESENT ] Object 0: handle = 0x5a14156f62a0, type = VK_OBJECT_TYPE_QUEUE; | MessageID = 0x42f2f4ed | vkQueueSubmit():  Hazard WRITE_AFTER_PRESENT for entry 0, VkCommandBuffer 0x5a141551c3a0[], Submitted access info (submitted_usage: SYNC_IMAGE_LAYOUT_TRANSITION, command: vkCmdPipelineBarrier, seq_no: 1, reset_no: 3). Access info (prior_usage: SYNC_PRESENT_ENGINE_SYNCVAL_PRESENT_PRESENTED_SYNCVAL, write_barriers: 0, queue: VkQueue 0x5a14156f62a0[], submit: 12, batch: 0, batch_tag: 38, vkQueuePresentKHR present_tag:38, pSwapchains[0]: VkSwapchainKHR 0xee647e0000000009[], image_index: 1image: VkImage 0xec4bec000000000b[]).
<!-- gh-comment-id:2550461805 --> @ngoquang2708 commented on GitHub (Dec 18, 2024): With Vulkan Sync Validation enabled, I got these when run the emulator on NVidia/XWayland, not on Intel/XWayland: ``` [Render.Vulkan] <Error> vk_platform.cpp:DebugUtilsCallback:71: VUID-vkQueueSubmit-pWaitSemaphores-03238: Validation Error: [ VUID-vkQueueSubmit-pWaitSemaphores-03238 ] Object 0: handle = 0x301e6c0000000022, type = VK_OBJECT_TYPE_SEMAPHORE; Object 1: handle = 0x5a14156f62a0, type = VK_OBJECT_TYPE_QUEUE; | MessageID = 0xb50452b0 | vkQueueSubmit(): pSubmits[0].pWaitSemaphores[0] queue (VkQueue 0x5a14156f62a0[]) is waiting on semaphore (VkSemaphore 0x301e6c0000000022[]) that has no way to be signaled. The Vulkan spec states: All elements of the pWaitSemaphores member of all elements of pSubmits created with a VkSemaphoreType of VK_SEMAPHORE_TYPE_BINARY must reference a semaphore signal operation that has been submitted for execution and any semaphore signal operations on which it depends must have also been submitted for execution (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkQueueSubmit-pWaitSemaphores-03238) [Render.Vulkan] <Error> vk_platform.cpp:DebugUtilsCallback:71: SYNC-HAZARD-WRITE-AFTER-PRESENT: Validation Error: [ SYNC-HAZARD-WRITE-AFTER-PRESENT ] Object 0: handle = 0x5a14156f62a0, type = VK_OBJECT_TYPE_QUEUE; | MessageID = 0x42f2f4ed | vkQueueSubmit(): Hazard WRITE_AFTER_PRESENT for entry 0, VkCommandBuffer 0x5a1415907e00[], Submitted access info (submitted_usage: SYNC_IMAGE_LAYOUT_TRANSITION, command: vkCmdPipelineBarrier, seq_no: 1, reset_no: 1). Access info (prior_usage: SYNC_PRESENT_ENGINE_SYNCVAL_PRESENT_PRESENTED_SYNCVAL, write_barriers: 0, queue: VkQueue 0x5a14156f62a0[], submit: 6, batch: 0, batch_tag: 22, vkQueuePresentKHR present_tag:22, pSwapchains[0]: VkSwapchainKHR 0xee647e0000000009[], image_index: 1image: VkImage 0xec4bec000000000b[]). [Render.Vulkan] <Error> vk_platform.cpp:DebugUtilsCallback:71: VUID-vkQueueSubmit-pWaitSemaphores-03238: Validation Error: [ VUID-vkQueueSubmit-pWaitSemaphores-03238 ] Object 0: handle = 0xab64de0000000020, type = VK_OBJECT_TYPE_SEMAPHORE; Object 1: handle = 0x5a14156f62a0, type = VK_OBJECT_TYPE_QUEUE; | MessageID = 0xb50452b0 | vkQueueSubmit(): pSubmits[0].pWaitSemaphores[0] queue (VkQueue 0x5a14156f62a0[]) is waiting on semaphore (VkSemaphore 0xab64de0000000020[]) that has no way to be signaled. The Vulkan spec states: All elements of the pWaitSemaphores member of all elements of pSubmits created with a VkSemaphoreType of VK_SEMAPHORE_TYPE_BINARY must reference a semaphore signal operation that has been submitted for execution and any semaphore signal operations on which it depends must have also been submitted for execution (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkQueueSubmit-pWaitSemaphores-03238) [Render.Vulkan] <Error> vk_platform.cpp:DebugUtilsCallback:71: SYNC-HAZARD-WRITE-AFTER-PRESENT: Validation Error: [ SYNC-HAZARD-WRITE-AFTER-PRESENT ] Object 0: handle = 0x5a14156f62a0, type = VK_OBJECT_TYPE_QUEUE; | MessageID = 0x42f2f4ed | vkQueueSubmit(): Hazard WRITE_AFTER_PRESENT for entry 0, VkCommandBuffer 0x5a141590bc80[], Submitted access info (submitted_usage: SYNC_IMAGE_LAYOUT_TRANSITION, command: vkCmdPipelineBarrier, seq_no: 1, reset_no: 1). Access info (prior_usage: SYNC_PRESENT_ENGINE_SYNCVAL_PRESENT_PRESENTED_SYNCVAL, write_barriers: 0, queue: VkQueue 0x5a14156f62a0[], submit: 9, batch: 0, batch_tag: 30, vkQueuePresentKHR present_tag:30, pSwapchains[0]: VkSwapchainKHR 0xee647e0000000009[], image_index: 1image: VkImage 0xec4bec000000000b[]). [Render.Vulkan] <Error> vk_platform.cpp:DebugUtilsCallback:71: VUID-vkQueueSubmit-pWaitSemaphores-03238: Validation Error: [ VUID-vkQueueSubmit-pWaitSemaphores-03238 ] Object 0: handle = 0xc4f3070000000021, type = VK_OBJECT_TYPE_SEMAPHORE; Object 1: handle = 0x5a14156f62a0, type = VK_OBJECT_TYPE_QUEUE; | MessageID = 0xb50452b0 | vkQueueSubmit(): pSubmits[0].pWaitSemaphores[0] queue (VkQueue 0x5a14156f62a0[]) is waiting on semaphore (VkSemaphore 0xc4f3070000000021[]) that has no way to be signaled. The Vulkan spec states: All elements of the pWaitSemaphores member of all elements of pSubmits created with a VkSemaphoreType of VK_SEMAPHORE_TYPE_BINARY must reference a semaphore signal operation that has been submitted for execution and any semaphore signal operations on which it depends must have also been submitted for execution (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkQueueSubmit-pWaitSemaphores-03238) [Render.Vulkan] <Error> vk_platform.cpp:DebugUtilsCallback:71: SYNC-HAZARD-WRITE-AFTER-PRESENT: Validation Error: [ SYNC-HAZARD-WRITE-AFTER-PRESENT ] Object 0: handle = 0x5a14156f62a0, type = VK_OBJECT_TYPE_QUEUE; | MessageID = 0x42f2f4ed | vkQueueSubmit(): Hazard WRITE_AFTER_PRESENT for entry 0, VkCommandBuffer 0x5a141551c3a0[], Submitted access info (submitted_usage: SYNC_IMAGE_LAYOUT_TRANSITION, command: vkCmdPipelineBarrier, seq_no: 1, reset_no: 3). Access info (prior_usage: SYNC_PRESENT_ENGINE_SYNCVAL_PRESENT_PRESENTED_SYNCVAL, write_barriers: 0, queue: VkQueue 0x5a14156f62a0[], submit: 12, batch: 0, batch_tag: 38, vkQueuePresentKHR present_tag:38, pSwapchains[0]: VkSwapchainKHR 0xee647e0000000009[], image_index: 1image: VkImage 0xec4bec000000000b[]). ```
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/shadPS4#612
No description provided.