Jump to content
Mike Warren

Choosing a Mac

Recommended Posts

After using D1 to D7 for many years I've just started with Delphi 11.3 so I can write cross platform software. 

 

Initially, I tried a Mac VM in VirtualBox but the SDKs are not seen. From what I gather from my research, there seems to be problems using Mac VMs. I really hate the idea of carrying another computer around with me, so I'm looking at a Mac Mini as what looks like the best compromise. I can squeeze one of those in my laptop bag as long as it can be run headless.

 

So, my questions:

1/ Will a current model low end M2 Mac Mini be suitable for Mac and iPhone development with Delphi?

2/ Can a Mac Mini be run headless and operated from a VNC connection?

 

Share this post


Link to post

The level entry M2 Mac Mini is excellent value for money but do some research on the speed of the SSD drive, The 256GB model uses a single NAND chip resulting in 50% slower performance compared to the 512GB model. 

 

To run headless you are likely to need an HDMI dummy plug. The headless ghost display emulator is available on Amazon.

 

  • Like 1

Share this post


Link to post

I'm unclear what sort of configuration you're looking at, but I'll share what I'm doing.

 

I have a couple of Mac Minis that I use, as well as a MacBook Pro. All of them use Intel Core-i7 CPUs. 

 

I run Win 10 in a VirtalBox VM that I mainly run on a 2018 Mac Mini. I used to run on the older one (2014) but it's mainly used just for email now. I use multiple Spaces (ie, virtual desktops) and have #10 (ie, <ctrl>-0) configured to run MS RDP to connect to the older Mac Mini. I works fine for my needs. 

 

As  side note, the Apple equipment all has 1GB Ethernet built-in, and I have a 1GB switch I plug everything into with Cat6 cables. That's a whole lot faster than going through WiFi with my router, and cheaper than buying a much faster router. I have to use RDP to access a remote Windows host and that's slow enough. Trying to connect my machines via my WiFi router is even slower. 

 

I have Delphi 10.4.2 installed in that VM, and have used several older versions as well. But the VM gets really bloated when you add multiple Delphi versions to it. I suggest making one Win VM and clone it, installing just one version of Delphi in each one. Then get a Samsung T5 or T7 SSD drive to off-load the VMs you don't need. The T7 might be fast enough to use in place of the built-in SSD. (These things really scream!)

 

I've built software that runs outside the VM on MacOS just to play around, but nothing serious. I've also used CrossOver to host Win apps in MacOS, and it works surprisingly well. (Not for Delphi, but for apps I've built.) It seems a  lot easier to deal with once you figure it out.

 

I have a Z: drive set up that lets me access the host's file system and I backup files to it periodically. I also have a large backup drive connected to run Time Machine once a day.

 

I have Dropbox configured in the host, and I use it to move files between computers. I don't run it inside of the VM because that seems redundant. I can easily reach it from Z:/dropbox when needed.

 

I've read that people use a Mac Mini as a test environment, connected to a Windows laptop, but ... why? I used to do my dev work within VirtualBox on my MBP with a larger monitor connected, but it's a 2014 version as well, so the 2018 Mac Mini is generally faster. A newer MBP would probably do everything you need in a laptop.

 

I'm not sure about using an M1 or M2 in the host and how that might affect the VM. Supposedly MS has a version of Windows that runs natively on ARM, and the Mac has an emulator for Intel CPUs that's invisible, but ... you'll have to figure that out yourself.

 

Does D11 have a way to target both Intel and ARM CPUs for MacOS? I don't think D10.4.2 does. CrossOver does support the M1 chip.

Edited by David Schwartz

Share this post


Link to post

Thank you both for replying.

 

Any new Mac Mini bought today will be an M1/M2 variant, so an Intel version is not an option for me.

 

My development machine is a high-end gaming laptop.  i7-12700H 2.30 GHz with 32GB RAM, an RTX3070ti GPU and 5TB of SSD storage, running Windows 11. I need this laptop for work because I use some graphics-intensive software. As far as work is concerned, I only do Delphi development less than 5% of the time, but I also use Delphi at home. I need to keep my work laptop with me so have to carry it between work and home every day. That's why I was really hoping to be able to use a Mac VM rather than hardware.

I run my dev environment in a Win11 VM and performance is very good.

 

The 2 Mac Minis I'm looking at are these:  Mac Mini

I'd prefer the cheaper one, but am concerned about the low memory. I understand these computers can't be upgraded.

 

I've just ordered a couple of those HDMI dummy plugs. I can see them being useful for other things I do.

 

D11 does compile for both Intel and ARM Macs, but I can't find any information on if I need an Intel Mac to do so.

 

Edited by Mike Warren

Share this post


Link to post
On 3/28/2023 at 12:50 AM, Mike Warren said:

1/ Will a current model low end M2 Mac Mini be suitable for Mac and iPhone development with Delphi?

Yes. 

On 3/28/2023 at 12:50 AM, Mike Warren said:

2/ Can a Mac Mini be run headless and operated from a VNC connection?

I'm using it with Chrome remote desktop. (https://remotedesktop.google.com/access/)
You can't operate the login screen with it, but everything else can.

Share this post


Link to post

VNC is another option for remoting - or install Windows for ARM under Parallells on the MAC and run it all on the Mac. It certainly is fast enough with enough RAM and SSD space.

Share this post


Link to post
2 hours ago, Lars Fosdal said:

It certainly is fast enough with enough RAM and SSD space

Can you give a rough estimate what you consider "enough" for both RAM (probably 16+ GB) and disk? I am not familiar with Parallels, and how its VMs tend to grow in size.

 

PS:

I found it surprisingly convenient to go the other way: Use the Mac as my main computer and remote into an old PC (hosting my Delphi Hyper-V machines) for doing Delphi stuff.

Edited by Der schöne Günther

Share this post


Link to post

I have a MBP M1 Pro 32/2Tb, but if was buying a Mini, I would personally go for the M2 24GB/2TB.  You can't expand later, so hence go for the max for that config.  

You can go bigger with the M2 Pro - but then it gets quite expensive, quite quick.

 

I am not near my Mac atm, so I can't say how large the VM is.  It depends a lot on what you install..

Share this post


Link to post

I just purchased a Mac Mini Pro 16GB/512GB. Setting it up now...

 

Thank you all for your input.

Edited by Mike Warren

Share this post


Link to post
6 hours ago, Der schöne Günther said:

Exactly the same configuration I am also considering. If you have something to share about your experience, please do tell.

I plugged in a monitor, keyboard and mouse, and things went surprisingly smoothly with the setup. This was probably in part due to my earlier playing this stuff using a Monterey VM.

- Created an Apple ID

- Updated the OS to 13.3

- Turned on file sharing and set up SMB so I can share files with Windows.

- Turned on screen sharing, which is a native Mac VNC. That was a surprise. I expected to need to install a VNC server.

- Disconnected the monitor and connected the HDMI dummy plug, which allows me to set the resolution to 1600x900 (Low Resolution). Without the headless HDMI adapter I had no option to change the screen resolution, and it was at some weird setting.

- Set the mouse wheel to work in the same direction as I'm used to in Windows.

- Added keyboard shortcuts for cut, copy and paste. (Ctrl+X, C, V)

- Installed XCode 14.2

- Started to create a developer account, but backed out when Apple wanted to charge me $149 per year. I'll wait until I'm nearly ready to release something before I do that.

- Installed and ran PAServer 22.0

- Configured the profile and installed the SDKs for Mac64, Mac64ARM and iOS in Delphi 11.3.

- Compiled a blank application for all 3 platforms and they all worked fine.

- Finally, I put XCode, iOS Simulator and PAServer in the dock so I can get to them easily.

 

Share this post


Link to post

I also bought a Mac Mini M2 ARM 16GB/512GB a month ago. Surprised how good it is! Small, quiet, and power efficient. I installed PAServer for MacOS and 11.3 Alexandria and tested compiling my FMX MacOS apps for both Intel and ARM. No problems. Of course, apps compiled for ARM are slightly faster than the Intel compiled ones, but the Intel emulation (Rosetta 2) is quite acceptable.

After the positive experiences, I went on to install Parallels and Windows 11 for ARM, then PAServer for Windows, and tested the same FMX apps compiled for Windows x86 and x64. Everything works and the performance is acceptable given that both Parallels and Microsoft's Intel emulation on ARM are involved.
One of the FMX apps computes and displays 3D functions and has access to 8 cores for threading, both in MacOS and Windows for ARM. Graphics performance is naturally best when I compile for MacOS ARM, slightly worse compiled for MacOS Intel, and even slightly worse compiled for Windows 11 ARM. But still quite okay.

I will probably not install Delphi under Windows 11 for ARM, but rather continue with Delphi on my PC and use the Mac for testing under MacOS, Windows for ARM, and development for iOS. Since I run Delphi under VMWare, it would have been convenient to be able to move VMs from PC to Mac, but that is no longer possible with different CPUs. On my old Intel-based Macbook Pro from 2013, I ran VMWare Fusion and could then move VMs between PC and Mac, which would be nice.

To test, I translated the text above from Swedish to English using GPT 3.5. How does it look?

Share this post


Link to post
35 minutes ago, LGROX said:

I will probably not install Delphi under Windows 11 for ARM, but rather continue with Delphi on my PC and use the Mac for testing under MacOS, Windows for ARM, and development for iOS. Since I run Delphi under VMWare, it would have been convenient to be able to move VMs from PC to Mac, but that is no longer possible with different CPUs. On my old Intel-based Macbook Pro from 2013, I ran VMWare Fusion and could then move VMs between PC and Mac, which would be nice.

Thanks for sharing your experience.

Also I moved ( or still am in the process of ) moving from VmWare Fusion to Parallels.

I miss the option to move VMs around too, but to be honest I had issues moving and interchanging them anyway.

An interchanged VM feels often a little slower, like the good maintained parent on the original.

Moreover, I had issues to convert and run interchangeability, so I think this might only work for some kind of clean and fresh VMs, not the ones that had seen a lot of updates.

So in practice, I see that vendor-locked-in syndrom for Parallels not as critical as before.

How did you manage to run Delphi sufficiently under MacBook 2013 ? I had to purchase a newer one to be able to upgrade to Ventura, the old one simply refuses any update.

 

Yes, Intel is clearly abandoned on Macos, the Ventura update was really messy and slow and only after a few updates it behaved somewhat usable.

Before, the MacBook was perfectly fast and not reaching any limits.

I assume this was not the case with ARM M2, but only Intel.

 

So I have still some time and will maybe the next decision when M3 or M4 comes out :classic_wink:

 

What I can say that Apple can let you easily down, forcing updates here and there, leaving your systems non-workable.

I have not seen such behaviors for decades under Windows, which is most of the time perfectly backward compatible.

It all runs smoothly or can be easily reworked, while Apple doesn't seem to care much if their customers could use the expensive machines, or not.

This is why I maybe move back from Apple to Windows machine as well, for my main workstation for FMX when the next upgrade is needed.

 

Share this post


Link to post

Thank you for your experience.

56 minutes ago, LGROX said:

To test, I translated the text above from Swedish to English using GPT 3.5. How does it look?

I couldn't have told.

Share this post


Link to post

 

5 hours ago, Rollo62 said:

How did you manage to run Delphi sufficiently under MacBook 2013 ? I had to purchase a newer one to be able to upgrade to Ventura, the old one simply refuses any update.

I did not! That's why I had to buy a new Mac😣🤑😊

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×