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

Windows ARM support #791

Closed
holaimscott opened this issue Mar 18, 2022 · 16 comments
Closed

Windows ARM support #791

holaimscott opened this issue Mar 18, 2022 · 16 comments
Labels
enhancement New feature or request

Comments

@holaimscott
Copy link

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 holaimscott added the enhancement New feature or request label Mar 18, 2022
@RitschiRitsch
Copy link

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.

@holaimscott
Copy link
Author

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 :(

@mborgerson mborgerson mentioned this issue Apr 26, 2022
@talynone
Copy link

talynone commented Jul 9, 2024

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

@mborgerson
Copy link
Member

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

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

@talynone
Copy link

talynone commented Jul 9, 2024

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

@ArminiusTux
Copy link

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

@LilMisSierra
Copy link

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.

@RaulMerelli
Copy link

RaulMerelli commented Jan 7, 2025

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: cd18abf
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

@mborgerson
Copy link
Member

@RaulMerelli Thanks, that's an easy fix

@RaulMerelli
Copy link

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.

@mborgerson
Copy link
Member

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

@RaulMerelli
Copy link

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.

@talynone
Copy link

talynone commented Jan 8, 2025

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.

@mborgerson
Copy link
Member

mborgerson commented Jan 8, 2025

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.

@ArminiusTux
Copy link

A bit sluggish but working.

xemu

xemu-destroy

xemu-mercenaries

@talynone
Copy link

A bit sluggish but working.

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

7 participants