Closed bsides230 closed 3 years ago
I think Windows 10 ARM is lacking some required interfaces from the Win32 API. That isn't easily fixable, I would need to write another Bluetooth library using Windows UWP Bluetooth API (only supports Windows 10 devices with build 1703 and later) rather than the legacy Win32 API, as an alternative.
Actually, I was already thinking about doing exactly that in order to make the Bluetooth backend on Windows 10 devices a bit stabler. But I don't know yet when I'll add this. I'm already rewriting large chunks of this software for Linux support atm, so this could take a long time until a can start working on it.
I am not in any hurry and don't use this computer for most of my work but will be happy to help you test it when it comes time.
I still haven't really looked at Windows ARM support, but anyone using Linux on an ARM (AArch32/64) machine can run this application now.
I tested this on an ARMv8 Linux machine (Raspberry Pi 4) and it worked perfectly, if anyone wants to try it out you can get binaries here: https://github.com/ThePBone/GalaxyBudsClient/actions?query=workflow%3A%22Compile+Linux+binaries%22
These binaries are all self-contained and don't need any dependencies. They should run on virtually all Linux distributions.
Take your time. Windows on ARM will only get better in the interim.
I took some time to write another Bluetooth backend using the WindowsRT API (rather than legacy Win32 APIs). This new backend is now enabled on any Windows 10 machine running on build 1803 and later by default and is much more reliable than the old one.
I can only test this on x86_64 hardware because I don't own any ARM-based devices (except a Raspberry Pi), so no guarantees here.
I've set up automated cloud CI deployment for this, so you can just download the latest pre-compiled beta builds here: https://github.com/ThePBone/GalaxyBudsClient/actions?query=workflow%3A%22Compile+Windows+binaries%22
Also, for some reason, these artifact downloads redirect you to a 404 page if you are not logged in with a GitHub account. If you can't download them, I'll reupload them somewhere else.
I am using the Samsung Galaxy Book S (Qualcomm) in South Korea. I am using version 1909 because I can't install version 20H2 on my laptop yet. The screenshot above shows that he has joined the Windows Insider Program and is using a beta version of the developer that has not been released to general users. The full version I am using does not include 64-bit emulation, so I cannot use it even if I install the program. I know there is a native ARM64 version of the Linux version, but Windows also needs native support, not emulation support!
Sorry to use the translator. My English is worse than the translator :(
@bestevan01 Hello, there are native ARM64 builds for Windows 10 available, however, they are completely untested so I am not including them on the release page yet.
I don't have any way to test this though, I don't own any ARM64 Windows devices so no guarantees here.
I've posted instructions on how to obtain these ARM64 builds in my previous message:
I've set up automated cloud CI deployment for this, so you can just download the latest pre-compiled beta builds here: https://github.com/ThePBone/GalaxyBudsClient/actions?query=workflow%3A%22Compile+Windows+binaries%22
- Select the latest job at the top that finished successfully
- On the next page, scroll all the way down to the artifacts section
- Select your architecture (arm/arm64) and choose whether you want an installer or standalone executable. (Look for
GalaxyBudsClient_win-arm64_portable
in your case)Also, for some reason, these artifact downloads redirect you to a 404 page if you are not logged in with a GitHub account. If you can't download them, I'll reupload them somewhere else.
Sorry. I did not know how to download it, so I spent a while. Can you send the file in another way? I would like to send it to the ARM64 version.
Here's a reupload of the ARM64 Windows installer package: https://drive.google.com/file/d/1vtl-4jZ2JmjnH0JLhEf_U1EYi3l1-eqn/view?usp=sharing
I installed the ARM64 version downloaded through Google Drive, but it does not run. Please check the screenshot. Please tell me how I can send the logs.
%LOCALAPPDATA%\GalaxyBudsClient\
into the textbox within the run dialogapplication.log
should open upapplication.log
The app doesn't crash, but it looks like the user interface toolkit I'm using to render the app has compatibility issues on ARM.
After ~2 seconds somehow the OnClosing
signal of the window gets activated and the application shuts down normally. (this normally only happens when the user closes the window or presses Alt+F4)
I don't know why this happens and unfortunately I don't have a device to test on, so I can't fix it for now. I'll try to setup an ARM virtual machine on my x86 PC to debug this.
If you wish, we can allow you to connect remotely so that you can use my laptop.
I have the same issue. Running your App on a Surface Pro X If you need any testing, I will be willing test stuff on my machine
It's hard to debug this issue remotely; I'd need a small development environment with a debugger to fix this properly. I already tried setting up an ARM-processor emulator to start testing on my own, but Windows on ARM freezes on it.
Anyways, you can get new binaries here: https://github.com/ThePBone/GalaxyBudsClient/actions/runs/632418044
They don't include a fix for this issue, but I've added more logging to find out what causes this app to exit prematurely (not a crash, it just exits with a success result code ._.).
If someone runs this on his/her ARM-based Windows device, could you please upload the logs?
%LOCALAPPDATA%\GalaxyBudsClient\
into the textbox within the run dialogapplication.log
should open upapplication.log
Thanks for looking into it. application.log Here is my log.
Here is my log if it helps too, App stays on taskbar but nothing displayed either popup or the app itself. Minor change too but any chance you can change the default install path from program files (x86) to program files (arm) for the arm builds application.log
I recently bought a cloud VPS, so I moved all my self-hosted services (APIs for GalaxyBudsClient, my website, and so on) from my Raspberry 4 onto this VPS instead. This way, I can (temporarily) sacrifice this Raspberry to install Windows 10 ARM on and do some testing.
Anyways, I cannot reproduce any issues mentioned here at all. This app runs on Windows 10 ARM64 (Version 2004, Build 19041) just fine:
App stays on the taskbar, but nothing is displayed, either a popup or the app itself.
This sounds like a bug with the UI toolkit used. Unfortunately, I have next to no information about this issue and can't even reproduce it, making it hard to submit a useful bug report to their issue tracker. If you are running an older Windows 10 build, it may help to update, but other than that, I honestly don't know how to fix this.
Edit: By the way, I noticed that running the 32bit ARM executable on an ARM64 processor will cause a crash. Make sure to download the correct binary for your ARM architecture.
That's good news! Since the release date of the latest better version is still 13 days ago, it is estimated that the version is still incomplete. Can you predict the date when it will be released? If you download and install the binary released 13 days ago, it will not work with the same symptoms as before.
I recently bought a cloud VPS, so I moved all my self-hosted services (APIs for GalaxyBudsClient, my website, and so on) from my Raspberry 4 onto this VPS instead. This way, I can (temporarily) sacrifice this Raspberry to install Windows 10 ARM on and do some testing.
Anyways, I cannot reproduce any issues mentioned here at all. This app runs on Windows 10 ARM64 (Version 2004, Build 19041) just fine:
App stays on the taskbar, but nothing is displayed, either a popup or the app itself.
This sounds like a bug with the UI toolkit used. Unfortunately, I have next to no information about this issue and can't even reproduce it, making it hard to submit a useful bug report to their issue tracker. If you are running an older Windows 10 build, it may help to update, but other than that, I honestly don't know how to fix this.
Edit: By the way, I noticed that running the 32bit ARM executable on an ARM64 processor will cause a crash. Make sure to download the correct binary for your ARM architecture.
My app log above was from w10 1909 so I updated to same build of w10 as you and unfortunately same, app doesnt display anything, after install icon appears on desktop, open it and it shows on taskbar but no app displays.
I recently bought a cloud VPS, so I moved all my self-hosted services (APIs for GalaxyBudsClient, my website, and so on) from my Raspberry 4 onto this VPS instead. This way, I can (temporarily) sacrifice this Raspberry to install Windows 10 ARM on and do some testing. Anyways, I cannot reproduce any issues mentioned here at all. This app runs on Windows 10 ARM64 (Version 2004, Build 19041) just fine:
App stays on the taskbar, but nothing is displayed, either a popup or the app itself.
This sounds like a bug with the UI toolkit used. Unfortunately, I have next to no information about this issue and can't even reproduce it, making it hard to submit a useful bug report to their issue tracker. If you are running an older Windows 10 build, it may help to update, but other than that, I honestly don't know how to fix this. Edit: By the way, I noticed that running the 32bit ARM executable on an ARM64 processor will cause a crash. Make sure to download the correct binary for your ARM architecture.
My app log above was from w10 1909 so I updated to same build of w10 as you and unfortunately same, app doesnt display anything, after install icon appears on desktop, open it and it shows on taskbar but no app displays.
The success certificate has been uploaded and there are no other binary updates. The last binary update was released 13 days ago. It would be nice to wait until a new version is released. (I tried, but the symptoms are the same.)
Closing this as I haven't been providing stable Windows ARM binaries for quite some time since I'm unable to reproduce this (big) issue. Beta binaries for Windows on ARM are still compiled automatically by a cloud worker and available in the GitHub Action tab: https://github.com/ThePBone/GalaxyBudsClient/actions/workflows/compile-windows.yml
Feel free to comment if you're interested to take Windows on ARM support over.
Windows 11 now built in some of the features your app provided. Still can't control the buttons or functions but it can tell you how much battery life is left.
Thanks for helping with arm support
Ok so I have an issue with Windows on ARM64. You may be able to see in the screenshot that I am using a preview build. So the issue I am having it that the app does not recognize my Bluetooth adapter on a Galaxy Book2. I know I have it working because I get sound through my buds+ using the Bluetooth so I am just not sure what is going on.
Let me know what other information you need cause this would be cool to get it working on this tablet PC.