FoxPro Programming
VFP on ARM processor?
Gravatar is a globally recognized avatar based on your email address. VFP on ARM processor?
  Michael Hogan (Ideate Hosting)
  All
  Oct 3, 2019 @ 10:14am

The new Surface Pro X will be coming with an ARM processor. It's supposed tp be able to run Win32 applications but there have been vague reports of problems with some applications.

Any experience out there of folks running VFP apps on ARM processor machines?

Gravatar is a globally recognized avatar based on your email address. re: VFP on ARM processor?
  Phil Sherwood
  Michael Hogan (Ideate Hosting)
  Nov 14, 2021 @ 04:55pm

Hey Michael,

Did you ever figure out if VFP works on an ARM processor? I’m thinking about getting a new MacBook with the M1 Max chip. Parallels will run Windows for ARM. I need to know if VFP will still work.

Thanks!

Phil

Gravatar is a globally recognized avatar based on your email address. re: VFP on ARM processor?
  Michael Hogan (Ideate Hosting)
  Phil Sherwood
  Nov 14, 2021 @ 05:15pm

I haven't been able to test that. If you have a local Apple store, they might let you install a Parallels trial and boot up a VM from a thumb drive, though.

Let me know if you discover the answer before I get to try it.

I've taken to installing VFP apps on virtual cloud machines (both Hyper-V and AWS) and having clients use TSPlus or a browser to run VFP apps securely from any workstation... so for me the only question will be what will my development environment be like.

Gravatar is a globally recognized avatar based on your email address. re: VFP on ARM processor?
  Rick Strahl
  Phil Sherwood
  Nov 14, 2021 @ 10:20pm

Parallels on runs Windows in Rosetta mode, so it's really simulating X86 - not really running under ARM. And getting parallels to run under the M1 chips apparently is pretty tricky in the first place until they get a native version. Regardless though that will still have to run some sort of emulation.

I haven't tried it, but from what I understand of the ARM version it will emulate x86/x64 on Windows. It'll only be 'native' for apps that are compiled for it. .NET can compile to ARM as I imagine can things like Node and specifically targeted C++, Rust, Go etc.

So no matter what FoxPro, being a x86 app, will not run under ARM directly, but if anything using the emulation layer. How well that works is the question and that's what needs to be tried out on an actual device. From what I've heard, the available hardware is underpowered so performance of these devices is pretty bad even for native ARM compiled code and more so for anything running emulation. But compatibility is supposed to be decent.

I know several folks that are very much into ARM on Windows and have been following. It looks to be one hell of a clusterfuck if this gets legs, trying to figure out what will work, what won't...

FWIW, the same thing is happening on the Mac. It's fine if you use mainstream apps that are optimized for M1. It's taken big developers quite a bit of effort and time to get apps ported and optimized. But a lot of stuff hasn't and possibly won't move because it's not a trivial task to port.

In fact, when I bought a new Mac last year just as the M1 was released I opted to buy an older I5 box, rather than a new Air even though pricing (and performance) would have been roughly the same with the much smaller M1 machine. Reason: Music software uses a lot of deeply native stuff. Now over a year later, most of the music plugins to date still don't work natively on M1 processors - even from big vendors. Worse quite a few of them don't even work with Rosetta, so that completely breaks music productions for some music producers. There are a ton of pissed off producers out there feeling like they are getting left behind because a few small but important players can't or won't update to M1.

This is very disruptive. Interesting to see though - but especially for Windows there are so many native things that people do into the Windows API that will be a problem with any ARM code you want to execute. Even for my .NET apps I'm thinking of all the places I use PInvoke to make OS calls - that all wouldn't work and would have to be isolated into helper processes that can run the non-ARM code. Then there is things like WPF which is DirectX and Windows specific which I'm pretty sure won't work on ARM since it uses direct hardware addressing.

Interested to see where this goes, but as I said I think if this gets legs we're in for some serious disruption similar to the way .NET disrupted standard Win32 programming, only a with a lot fewer escape routes to the old technologies. The flip side is that Microsoft has to counter what Apple is doing with the M1 chips. If this kind of performance jump continues even at a quarter of a clip of the M1 chips, x86 is going to be left in the dustbin of history...

Gravatar is a globally recognized avatar based on your email address. re: VFP on ARM processor?
  Phil Sherwood
  Michael Hogan (Ideate Hosting)
  Nov 15, 2021 @ 09:42am

Thanks, Michael. I may give it a try to see if they'll let me test it out.

Gravatar is a globally recognized avatar based on your email address. re: VFP on ARM processor?
  Phil Sherwood
  Rick Strahl
  Nov 15, 2021 @ 09:47am

Thanks for the history, Rick!

I think I'll check with my Apple rep to see if they'll let me demo running Parallels with a VM that has Windows 10 and VFP9 installed. I'd hate to get the hardware and then not be able to use it.

I have a couple of 2018 MacBooks that I'm returning after lease because they want too much for them for the buyout so was looking to purchase instead of lease if the new MacBooks are as fast and cool as they say. I cannot lie, I like new shiny things. ha ha.

May have to wait this one out.

Gravatar is a globally recognized avatar based on your email address. re: VFP on ARM processor?
  Rick Strahl
  Phil Sherwood
  Nov 16, 2021 @ 11:26am

You might want to hang on to those 2018's if they don't have the funky keyboard. Those are good machines. I still have my 2016 MacBook and other than the battery bloating out it still works great and not much improvement in CPUs since (outside of the M1s).

For my music stuff I'm using a Mac Mini to deal with the heat issues the MBP causes - it's terrible in the hot weather we have here (w/o AC).

+++ Rick ---

Gravatar is a globally recognized avatar based on your email address. re: VFP on ARM processor?
  Michael Hogan (Ideate Hosting)
  Rick Strahl
  Nov 17, 2021 @ 06:03am

VERY helpful analysis, Rick. I've been planning to replace my garbage-can mac with a new mac pro when the next model comes out but maybe it's probably a better plan to go with the current cheese-grater rather than wait for a new one which might be M1.

Gravatar is a globally recognized avatar based on your email address. re: VFP on ARM processor?
  Michael Hogan (Ideate Hosting)
  Phil Sherwood
  Nov 17, 2021 @ 07:40am

Perhaps it's time to start using hosted Hyper-V machines for development...? Of course, there are plans at MS to move from Hyper-V to Azure Stack HCI. I dont know WHAT that'll mean for me - Thankfully, we can continue to get support for Hyper-V through 2023.

Sigh.

Gravatar is a globally recognized avatar based on your email address. re: VFP on ARM processor?
  Phil Sherwood
  Michael Hogan (Ideate Hosting)
  Nov 17, 2021 @ 07:50am

I've thought about setting up a development environment in the cloud on a fast VM. I'm just not sure how multi-monitors work in that scenario. I'm too tied to using 3 monitors at this point.

Gravatar is a globally recognized avatar based on your email address. re: VFP on ARM processor?
  Phil Sherwood
  Phil Sherwood
  Nov 17, 2021 @ 07:55am

A follow-up....

I just tested multi-monitors with RDP and it seems to work great. I may look at those more closely.

Gravatar is a globally recognized avatar based on your email address. re: VFP on ARM processor?
  Michael Hogan (Ideate Hosting)
  Phil Sherwood
  Nov 17, 2021 @ 07:58am

Great - a big plus of programming through rdp is that I can just bring my Android laptop wherever I go and be able to program and troubleshoot from anyplace with wifi.

© 1996-2021