JVital2013 / armsdr.com

Other
0 stars 0 forks source link

sdrtrunk with Windows/aarch64 support #1

Closed DSheirer closed 1 week ago

DSheirer commented 2 weeks ago

I added experimental support to sdrtrunk for windows arm64 but I don't have a way to test it. Feel free to add it to your list of compatible SDR software. If you're able to test it and find any issues, please let me know.

Release: https://github.com/DSheirer/sdrtrunk/releases/tag/v0.6.1-beta-3

JVital2013 commented 2 weeks ago

Hello @DSheirer!

First off, thanks for working on this! More Windows ARM64 programs are sorely needed for SDRs. Unfortunately, at this time, the SDRTrunk beta listed does not work. It is missing libusb4java:

image image

Once this is fixed I can continue evaluation. Thanks again!

DSheirer commented 2 weeks ago

Thanks for testing!

I ran into the same issue with OSX on aarch64 and it required someone with access to that OS to compile the native libraries. Is that something that you could do?

Instructions for how to complete it are located here: http://usb4java.org/nativelibs.html (Unsupported Platforms section).

If not, I'll temporarily disable sdtrunk support until we can find someone that can compile the usb4java native library.

JVital2013 commented 2 weeks ago

Yeah, I think I can do that. I'll let you know once I take a look!

JVital2013 commented 1 week ago

Hi @DSheirer,

I just opened two issues on your GitHub.

Thanks again for your work on this platform!

DSheirer commented 1 week ago

sdrtrunk updated with libusb native library support for windows aarch64 from this issue: https://github.com/DSheirer/sdrtrunk/issues/2081

JVital2013 commented 1 week ago

Thanks @DSheirer! Unfortunately, the latest nightly is not working at all, while the last beta did work when I slipped in the libusb4java I built and libusb-1.0.dll manually. Here's the new error (looks like it's not finding libusb):

2024-11-05 07:07:19.028 INFO  i.g.d.s.t.m.TunerManager - Discovering tuners ...  [10MB/28MB 35%]
Exception in thread "main" java.lang.UnsatisfiedLinkError: 'int org.usb4java.LibUsb.getApiVersion()'
        at org.usb4java.LibUsb.getApiVersion(Native Method)
        at io.github.dsheirer.source.tuner.manager.TunerManager.start(TunerManager.java:113)
        at io.github.dsheirer.gui.SDRTrunk.<init>(SDRTrunk.java:193)
        at io.github.dsheirer.gui.SDRTrunk.main(SDRTrunk.java:937)
JVital2013 commented 1 week ago

Let me know if I need to statically link libusb to libusb4java. It didn't by default, but I suppose it could be coaxed

DSheirer commented 1 week ago

Is libusb.dll installed in the /windows/system32/ directory on your machine?

JVital2013 commented 1 week ago

Looks like that's not the issue anyway, but - libusb-1.0.dll should never be in the Windows folder, despite what I've seen some old programs do (grumble grumble...) The only thing there is WinUSB, configured by Zadig (or manually on Arm64).

For the real problem: they failed to mention this in their build instructions, but https://github.com/usb4java/libusb4java/blob/master/dists/win32/build.bat clearly builds libusb4java statically linked to libusb, which I did not do. I built it dynamically. I've verified this by running dumpbin on the official build, which I should have done before.

I'll re-build libusb4java statically linked to libusb so we don't have this problem. Sorry about that!

DSheirer commented 1 week ago

No worries! Thanks again for doing this! I have limited/no experience on the non-Java languages and would be quite lost trying to figure that out.

JVital2013 commented 1 week ago

I'm happy to help! Let's try this again:

JVital2013 commented 1 week ago

Works great - thanks for the support! I've added SDR Trunk to the site.

image

DSheirer commented 1 week ago

Great news! Thanks for all your help!