Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crashes when choosing Vulkan backend #1854

Open
George-Seven opened this issue Jan 7, 2025 · 3 comments
Open

Crashes when choosing Vulkan backend #1854

George-Seven opened this issue Jan 7, 2025 · 3 comments
Labels
bug Something isn't working

Comments

@George-Seven
Copy link

George-Seven commented Jan 7, 2025

Bug Description

Xemu crashes when choosing Vulkan backend.

Latest master, commit ec1c0e0419be9a67de6f81e12f2fcb033cbfe1ea.

Turnip Driver -

$ xemu -dvd_path "/sdcard/Download/Ninja Gaiden Black (USA) (En,Ja).iso"
xemu_version: 0.8.5-1-gec1c0e0419
xemu_branch: master
xemu_commit: ec1c0e0419be9a67de6f81e12f2fcb033cbfe1ea
xemu_date: Fri Jan  3 22:26:59 UTC 2025
xemu_settings_get_base_path: base path: /data/data/com.termux/files/home/.local/share/xemu/xemu/
xemu_settings_get_path: config path: /data/data/com.termux/files/home/.local/share/xemu/xemu/xemu.toml
CPU: 
OS_Version: Unknown Distro
GL_VENDOR: Mesa/X.org
GL_RENDERER: llvmpipe (LLVM 11.1.0, 128 bits)
GL_VERSION: 4.5 (Core Profile) Mesa 22.0.5
GL_SHADING_LANGUAGE_VERSION: 4.50
Created QEMU launch parameters: xemu -machine xbox,bootrom=/data/data/com.termux/files/usr/share/xemu/mcpx_1.0.bin,kernel-irqchip=off,avpack=hdtv -device smbus-storage,file=/data/data/com.termux/files/home/.local/share/xemu/xemu/eeprom.bin -bios /data/data/com.termux/files/usr/share/xemu/4627v1.03.bin -m 64 -drive index=0,media=disk,file=/data/data/com.termux/files/usr/share/xemu/xbox_hdd.qcow2,locked=on -drive index=1,media=cdrom,file=/sdcard/Download/Ninja Gaiden Black (USA) (En,,Ja).iso -display xemu -device usb-hub,port=1,ports=4 
Enabled instance extensions:
- VK_KHR_surface
- VK_KHR_xlib_surface
- VK_KHR_get_physical_device_properties2
- VK_KHR_external_semaphore_capabilities
- VK_KHR_external_memory_capabilities
Available physical devices:
- Turnip Adreno (TM) 750
Selected physical device: Turnip Adreno (TM) 750
- Vendor: 5143, Device: 43051401
- Driver Version: 24.2.8
Enabled device extensions:
- VK_KHR_external_semaphore
- VK_KHR_external_memory
- VK_KHR_external_memory_fd
- VK_KHR_external_semaphore_fd
- VK_EXT_custom_border_color
- VK_EXT_provoking_vertex
- VK_EXT_memory_budget
VUID-VkMemoryAllocateInfo-pNext-00639(ERROR / SPEC): msgNum: -49292556 - Validation Error: [ VUID-VkMemoryAllocateInfo-pNext-00639 ] Object 0: handle = 0x8b000000008b0, type = VK_OBJECT_TYPE_IMAGE; Object 1: handle = 0x8b100000008b1, type = VK_OBJECT_TYPE_DEVICE_MEMORY; | MessageID = 0xfd0fdaf4 | vkBindImageMemory(): memory (VkDeviceMemory 0x8b100000008b1[]) has VkExportMemoryAllocateInfo::handleTypes with the VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT flag set, which requires dedicated allocation for the image created with format (VK_FORMAT_R8G8B8A8_UNORM), type (VK_IMAGE_TYPE_2D), tiling (VK_IMAGE_TILING_LINEAR), usage (VK_IMAGE_USAGE_SAMPLED_BIT|VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT), flags (VkImageCreateFlags(0)), but the memory is allocated without dedicated allocation support.
The Vulkan spec states: If the pNext chain includes a VkExportMemoryAllocateInfo structure, and any of the handle types specified in VkExportMemoryAllocateInfo::handleTypes require a dedicated allocation, as reported by vkGetPhysicalDeviceImageFormatProperties2 in VkExternalImageFormatProperties::externalMemoryProperties.externalMemoryFeatures, or by vkGetPhysicalDeviceExternalBufferProperties in VkExternalBufferProperties::externalMemoryProperties.externalMemoryFeatures, the pNext chain must include a VkMemoryDedicatedAllocateInfo or VkDedicatedAllocationMemoryAllocateInfoNV structure with either its image or buffer member set to a value other than VK_NULL_HANDLE (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-VkMemoryAllocateInfo-pNext-00639)
    Objects: 2
        [0] 0x8b000000008b0, type: 10, name: NULL
        [1] 0x8b100000008b1, type: 8, name: NULL
VUID-VkMemoryAllocateInfo-pNext-00639(ERROR / SPEC): msgNum: -49292556 - Validation Error: [ VUID-VkMemoryAllocateInfo-pNext-00639 ] Object 0: handle = 0xa6c0000000a6c, type = VK_OBJECT_TYPE_IMAGE; Object 1: handle = 0xa6d0000000a6d, type = VK_OBJECT_TYPE_DEVICE_MEMORY; | MessageID = 0xfd0fdaf4 | vkBindImageMemory(): memory (VkDeviceMemory 0xa6d0000000a6d[]) has VkExportMemoryAllocateInfo::handleTypes with the VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT flag set, which requires dedicated allocation for the image created with format (VK_FORMAT_R8G8B8A8_UNORM), type (VK_IMAGE_TYPE_2D), tiling (VK_IMAGE_TILING_LINEAR), usage (VK_IMAGE_USAGE_SAMPLED_BIT|VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT), flags (VkImageCreateFlags(0)), but the memory is allocated without dedicated allocation support.
The Vulkan spec states: If the pNext chain includes a VkExportMemoryAllocateInfo structure, and any of the handle types specified in VkExportMemoryAllocateInfo::handleTypes require a dedicated allocation, as reported by vkGetPhysicalDeviceImageFormatProperties2 in VkExternalImageFormatProperties::externalMemoryProperties.externalMemoryFeatures, or by vkGetPhysicalDeviceExternalBufferProperties in VkExternalBufferProperties::externalMemoryProperties.externalMemoryFeatures, the pNext chain must include a VkMemoryDedicatedAllocateInfo or VkDedicatedAllocationMemoryAllocateInfoNV structure with either its image or buffer member set to a value other than VK_NULL_HANDLE (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-VkMemoryAllocateInfo-pNext-00639)
    Objects: 2
        [0] 0xa6c0000000a6c, type: 10, name: NULL
        [1] 0xa6d0000000a6d, type: 8, name: NULL

Native driver -

$ xemu -dvd_path "/sdcard/Download/Ninja Gaiden Black (USA) (En,Ja).iso"
xemu_version: 0.8.5-1-gec1c0e0419
xemu_branch: master
xemu_commit: ec1c0e0419be9a67de6f81e12f2fcb033cbfe1ea
xemu_date: Fri Jan  3 22:26:59 UTC 2025
xemu_settings_get_base_path: base path: /data/data/com.termux/files/home/.local/share/xemu/xemu/
xemu_settings_get_path: config path: /data/data/com.termux/files/home/.local/share/xemu/xemu/xemu.toml
CPU: 
OS_Version: Unknown Distro
GL_VENDOR: Mesa/X.org
GL_RENDERER: llvmpipe (LLVM 11.1.0, 128 bits)
GL_VERSION: 4.5 (Core Profile) Mesa 22.0.5
GL_SHADING_LANGUAGE_VERSION: 4.50
Created QEMU launch parameters: xemu -machine xbox,bootrom=/data/data/com.termux/files/usr/share/xemu/mcpx_1.0.bin,kernel-irqchip=off,avpack=hdtv -device smbus-storage,file=/data/data/com.termux/files/home/.local/share/xemu/xemu/eeprom.bin -bios /data/data/com.termux/files/usr/share/xemu/4627v1.03.bin -m 64 -drive index=0,media=disk,file=/data/data/com.termux/files/usr/share/xemu/xbox_hdd.qcow2,locked=on -drive index=1,media=cdrom,file=/sdcard/Download/Ninja Gaiden Black (USA) (En,,Ja).iso -display xemu -device usb-hub,port=1,ports=4 
Enabled instance extensions:
- VK_KHR_surface
- VK_KHR_xlib_surface
- VK_KHR_get_physical_device_properties2
- VK_KHR_external_semaphore_capabilities
- VK_KHR_external_memory_capabilities
Available physical devices:
- Adreno (TM) 750
Selected physical device: Adreno (TM) 750
- Vendor: 5143, Device: 43051401
- Driver Version: 512.744.12
Warning: extension not available: VK_EXT_memory_budget
Enabled device extensions:
- VK_KHR_external_semaphore
- VK_KHR_external_memory
- VK_KHR_external_memory_fd
- VK_KHR_external_semaphore_fd
- VK_EXT_custom_border_color
- VK_EXT_provoking_vertex
VUID-VkMemoryAllocateInfo-pNext-00639(ERROR / SPEC): msgNum: -49292556 - Validation Error: [ VUID-VkMemoryAllocateInfo-pNext-00639 ] Object 0: handle = 0x83b000000083b, type = VK_OBJECT_TYPE_IMAGE; Object 1: handle = 0x83c000000083c, type = VK_OBJECT_TYPE_DEVICE_MEMORY; | MessageID = 0xfd0fdaf4 | vkBindImageMemory(): memory (VkDeviceMemory 0x83c000000083c[]) has VkExportMemoryAllocateInfo::handleTypes with the VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT flag set, which requires dedicated allocation for the image created with format (VK_FORMAT_R8G8B8A8_UNORM), type (VK_IMAGE_TYPE_2D), tiling (VK_IMAGE_TILING_LINEAR), usage (VK_IMAGE_USAGE_SAMPLED_BIT|VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT), flags (VkImageCreateFlags(0)), but the memory is allocated without dedicated allocation support.
The Vulkan spec states: If the pNext chain includes a VkExportMemoryAllocateInfo structure, and any of the handle types specified in VkExportMemoryAllocateInfo::handleTypes require a dedicated allocation, as reported by vkGetPhysicalDeviceImageFormatProperties2 in VkExternalImageFormatProperties::externalMemoryProperties.externalMemoryFeatures, or by vkGetPhysicalDeviceExternalBufferProperties in VkExternalBufferProperties::externalMemoryProperties.externalMemoryFeatures, the pNext chain must include a VkMemoryDedicatedAllocateInfo or VkDedicatedAllocationMemoryAllocateInfoNV structure with either its image or buffer member set to a value other than VK_NULL_HANDLE (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-VkMemoryAllocateInfo-pNext-00639)
    Objects: 2
        [0] 0x83b000000083b, type: 10, name: NULL
        [1] 0x83c000000083c, type: 8, name: NULL
vk_result = -1000072003
../hw/xbox/nv2a/pgraph/vk/display.c:657: void create_display_image(PGRAPHState *, int, int): assertion "vk_result == VK_SUCCESS && "vk check failed"" failed

Expected Behavior

Successfully switch to Vulkan backend

xemu Version

0.8.5-1-gec1c0e0419

System Information

Xiaomi 14
Snapdragon 8 Gen 3

Additional Context

No response

@George-Seven George-Seven added the bug Something isn't working label Jan 7, 2025
@CorpseSlayer
Copy link

I get same issue on ROG ALLY Z1 Extreme as soon as i change to Vulkan Backend

@Bobble80
Copy link

Bobble80 commented Jan 9, 2025

I get same issue on ROG ALLY Z1 Extreme as soon as i change to Vulkan Backend

Same issue here, tested it on an original ROG Ally Z1 Extreme and also an Ally X and Xemu keeps locking up as soon as the backend is changed to Vulkan.

@Glencoco39
Copy link

Glencoco39 commented Jan 9, 2025

I get same issue on ROG ALLY Z1 Extreme as soon as i change to Vulkan Backend

Also here because I experience this on my Z1 Extreme Ally. Does not occur on my other computer (Alienware M16, 7845HX, RTX 4080)

Based off the line:

Warning: extension not available: VK_EXT_memory_budget

I think there may be issues with any IGPU and its shared memory system.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants