xemu icon indicating copy to clipboard operation
xemu copied to clipboard

Windows ARM support

Open holaimscott opened this issue 3 years ago • 6 comments

Feature Request

Howdy! I wanted to say that the work done by the XEMU developers is truly amazing, being able to launch XBOX on my Mac is truly something I did not picture ever happening <3

Since the MAC version is universal, made me wonder about ARM as a whole... It would mean a lot if you could consider adding ARM64 support for Windows devices. Or, at the very least consider making a compiler on ARM so that we can build an ARM64 version of XEMU for windows.

While I know these sorts of things are very complicated and time consuming, I think it would be great to make this amazing emulator friendly with a lot of other platforms in windows. Thank you!

Alternatives

No response

Additional Context

There is a lot of promising ARM devices coming up this year, and it would be nice if XEMU was ahead in that sense... Other popular emulators have had ways to build for ARM or have ARM builds, like Dolphin, PPSSPP and Duckstation <3

holaimscott avatar Mar 18 '22 16:03 holaimscott

I second that! Would definitely be awesome! However xemu is quite resource consuming since LLE. So I wouldn‘t expect it to run on lower end devices.

RitschiRitsch avatar Mar 18 '22 17:03 RitschiRitsch

I second that! Would definitely be awesome! However xemu is quite resource consuming since LLE. So I wouldn‘t expect it to run on lower end devices.

Same.... sadly no devs have responded yet :(

holaimscott avatar Mar 30 '22 06:03 holaimscott

Bump, with Snapdragon Elite being available now, demand should be up.

talynone avatar Jul 09 '24 04:07 talynone

Agreed, we should release xemu builds for Windows on ARM.

@talynone Are you interested in helping to look into it?

mborgerson avatar Jul 09 '24 05:07 mborgerson

@mborgerson I'd be happy to help test. Trying to do any dev work is a bit beyond my current comfort level. I'm on a Lenovo Yoga Slim 7x with 32GB of memory.

talynone avatar Jul 09 '24 06:07 talynone

Yes please, it would feel a bit anachronistic to get a working Xbox360 emulation solution but nothing for the (less demanding) Classic Xbox.

ArminiusTux avatar Jul 27 '24 22:07 ArminiusTux

Would love to see this! Have recently switched from a Macbook Air M1 to the Samsung Galaxy Book4 Edge, and I've been very impressed with the increased performance on a lot of emulators, so I was hoping the same would be true of Xemu, but, while it opens, it always crashes as soon as I add in the BIOS to the system, so I can't actually use it.

LilMisSierra avatar Nov 10 '24 12:11 LilMisSierra

I tried the latest build from Actions (both debug and release) and the Xemu window now flashes and closes.

No dump is generated.

image

here is my log: xemu_version: 0.8.5-17530-gcd18abfda0 xemu_branch: xemu_commit: cd18abfda0b17eff848096a7f1004eed01b6e036 xemu_date: Tue Jan 7 08:11:45 UTC 2025 xemu_settings_get_base_path: base path: C:\Users\RaulM\AppData\Roaming\xemu\xemu
xemu_settings_get_path: config path: C:\Users\RaulM\AppData\Roaming\xemu\xemu\xemu.toml CPU: OS_Version: 24H2 GL_VENDOR: Microsoft Corporation GL_RENDERER: D3D12 (Qualcomm(R) Adreno(TM) X1-45 GPU) GL_VERSION: 4.6 (Core Profile) Mesa 24.3.0-devel (git-370ac36d5d) GL_SHADING_LANGUAGE_VERSION: 4.60 Created QEMU launch parameters: C:\Users\RaulM\Downloads\xemu-win-aarch64-debug\xemu.exe -machine xbox,bootrom=C:\Users\RaulM\AppData\Roaming\xemu\mcpx\mcpx_1.0.bin,kernel-irqchip=off,avpack=hdtv -device smbus-storage,file=C:\Users\RaulM\AppData\Roaming\xemu\xemu\eeprom.bin -m 64 -drive index=0,media=disk,file=C:\Users\RaulM\AppData\Roaming\xemu\hdd\xbox_hdd.qcow2,locked=on -drive index=1,media=cdrom,file= -display xemu -device usb-hub,port=1,ports=4 -audiodev none,id=snd0 Failed to load BIOS '(null)' C:\Users\RaulM\Downloads\xemu-win-aarch64-debug\xemu.exe: no default audio driver available

EDIT:

launching xemu with " xemu.exe -audio none" works fine.

Seems that everything works fine in OpenGL.

image

RaulMerelli avatar Jan 07 '25 20:01 RaulMerelli

@RaulMerelli Thanks, that's an easy fix

mborgerson avatar Jan 07 '25 20:01 mborgerson

I tried a couple of games, right now only OpenGL works.

Trying to switch to Vulkan leads to the following message:

image

This is the log:

Enabled instance extensions:
- VK_KHR_surface
- VK_KHR_win32_surface
- VK_KHR_get_physical_device_properties2
- VK_KHR_external_semaphore_capabilities
- VK_KHR_external_memory_capabilities
Available physical devices:
- Qualcomm(R) Adreno(TM) X1-45 GPU
- Microsoft Direct3D12 (Qualcomm(R) Adreno(TM) X1-45 GPU)
- Microsoft Direct3D12 (Microsoft Basic Render Driver)
required device extension not found: VK_KHR_external_memory
Selected physical device: Microsoft Direct3D12 (Qualcomm(R) Adreno(TM) X1-45 GPU)
- Vendor: 4d4f4351, Device: 37314430
- Driver Version: 24.2.99
Warning: extension not available: VK_EXT_custom_border_color
Warning: extension not available: VK_EXT_provoking_vertex
Warning: extension not available: VK_EXT_memory_budget
Enabled device extensions:
- VK_KHR_external_semaphore
- VK_KHR_external_memory
- VK_KHR_external_memory_win32
- VK_KHR_external_semaphore_win32
Error: Device does not support required feature shaderTessellationAndGeometryPointSize

However, I don't think it is related to the emulator, rather to the state of poor Vulkan support in Qualcomm drivers on Windows.

I tried it both with the OEM drivers and the latest beta drivers.

RaulMerelli avatar Jan 08 '25 00:01 RaulMerelli

@RaulMerelli We can work around this missing feature, thanks for reporting it. By the way, what device do you have?

mborgerson avatar Jan 08 '25 04:01 mborgerson

Thanks, but I don't know if it's worth working on a workaround, going to solve a problem for a still too small niche of users, who in the meantime can still use OpenGL while hopefully Qualcomm adequately increases support for its drivers. If you still want to work on it, I'm available for testing.

I'm using an Asus Vivobook S15. I think that other Snapdragon X PCs behaves the same.

RaulMerelli avatar Jan 08 '25 11:01 RaulMerelli

Using the build from here: https://github.com/xemu-project/xemu/actions/runs/12664215817/job/35292027559

Audio works, OpenGL works, Vulkan does not.

Using Lenovo Slim 7x running Snapdragon Elite X processor.

Edit: Tested Buffy the Vampire Slayer, with 2x internal resolution bump, seems to run great.

Edit 2: After about 15 min of gameplay it locked up, audio plays, video frozen.

Edit 3: Played for another 30 min seems to work fine.

talynone avatar Jan 08 '25 15:01 talynone

Great, thanks for testing everyone. I'll close this issue now that we have Windows arm64 builds. The website https://xemu.app also links to the arm builds. We can track the Vulkan issues separately.

mborgerson avatar Jan 08 '25 19:01 mborgerson

A bit sluggish but working.

xemu

xemu-destroy

xemu-mercenaries

ArminiusTux avatar Jan 12 '25 23:01 ArminiusTux

A bit sluggish but working.

Snapdragon X series is night and day faster, I highly recommend them if you can afford it.

talynone avatar Jan 13 '25 09:01 talynone