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 · 5 comments
Open

Crashes when choosing Vulkan backend #1854

George-Seven opened this issue Jan 7, 2025 · 5 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.

$ xemu -dvd_path "/sdcard/Download/Ninja Gaiden Black (USA) (En,Ja).iso"
xemu_version: 0.8.8
xemu_branch: ebcacad78b496604291a168aa3bc64ac96823cf9
xemu_commit: ebcacad78b496604291a168aa3bc64ac96823cf9
xemu_date: Mon Jan 13 17:49:20 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
GL_RENDERER: zink Vulkan 1.3(Adreno (TM) 750 (QUALCOMM_PROPRIETARY))
GL_VERSION: 4.0 (Core Profile) Mesa 24.3.3
GL_SHADING_LANGUAGE_VERSION: 4.60
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 -audio none 
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
- llvmpipe (LLVM 19.1.6, 128 bits)
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 = 0xa0c0000000a0c, type = VK_OBJECT_TYPE_IMAGE; Object 1: handle = 0xa0d0000000a0d, type = VK_OBJECT_TYPE_DEVICE_MEMORY; | MessageID = 0xfd0fdaf4 | vkBindImageMemory(): memory (VkDeviceMemory 0xa0d0000000a0d[]) 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] 0xa0c0000000a0c, type: 10, name: NULL
        [1] 0xa0d0000000a0d, 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.8

System Information

Xiaomi 14
Snapdragon 8 Gen 3

Additional Context

Edit: I've updated issue content with the latest commit ebcacad

@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.

@aderumier
Copy link

Hi,

same problem with a zen3 (780m igpu)

xemu_commit: 8f478e017a0f7bac7d72d4abe23e77233f221bce
xemu_date: Wed Jan  1 01:17:31 AM UTC 2025
xemu_settings_set_path: config path: /userdata/system/configs/xemu/xemu.toml
CPU: AMD Ryzen 9 7940HS w/ Radeon 780M Graphics     
OS_Version: Buildroot 2024.05.2
GL_VENDOR: AMD
GL_RENDERER: AMD Radeon 780M (radeonsi, gfx1103_r1, LLVM 18.1.2, DRM 3.59, 6.11.10)
GL_VERSION: 4.6 (Core Profile) Mesa 24.2.8
GL_SHADING_LANGUAGE_VERSION: 4.60
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:
- AMD Radeon 780M (RADV GFX1103_R1)
Selected physical device: AMD Radeon 780M (RADV GFX1103_R1)
- Vendor: 1002, Device: 15bf
- 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
vk_result = -3
xemu: ../hw/xbox/nv2a/pgraph/vk/texture.c:1242: create_texture: Assertion `vk_result == VK_SUCCESS && "vk check failed"' failed.

@George-Seven
Copy link
Author

George-Seven commented Jan 13, 2025

I've updated issue content with the latest commit ebcacad

#1854 (comment)

Looking better now, but the crash is there.

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

5 participants