I thought it would be convenient to virtualize an old MacBook 12" I have onto my M1 MBA so I installed a MacOS VM with Parallels and plugged in my Time Machine backup to restore it to the VM and was surprised to learn:
> It is currently not possible to connect any USB device to a macOS Arm VM yet.
Won’t work anyway. You can’t virtualize an Intel macOS on an Apple silicon VM. Unless you were just looking to transfer your data files. If so you can share a directory that is the external TM disk. (Not sure if you can do that with Parallels but the article author’s Viable works fine.)
Not even QEMU can manage it? I imagine it's slow of course, but I'm a little surprised that there's simply no solution. Is this a driver issue or something?
Generally if you say "virtualization" people will assume you mean "use the hardware support to run a VM on the host CPU". For that you must have the same host and guest CPU architecture. Anything else is "emulation", which is perfectly doable regardless of host OS and architecture but often slower than you might like. (QEMU's emulation is not particularly fast, certainly.)
From a user perspective the difference is important, because it's often the difference between "can use this for real work without worrying about exactly what's going on under the hood" and "you probably shouldn't use this unless you know you need to use it and that you can live with the performance aspects". (e.g.: booting a Windows guest under virtualization is a very popular thing to do; booting a Windows guest under emulation is probably going to be a lot of work and not actually achieve the end-goal you were after when you do eventually get it running.) They are also vastly different from a technical perspective.
They are very important distinctions and they are completely different.
Virtualization abstracts the actual underlying hardware, creating a virtual instance. You are executing instructions directly on the host CPU with little or no overhead, so it’s fast.
Emulation mimics one system on a different system by converting the instructions of the mimicked system into instructions the host platform can understand. It is generally a very slow process.
There has to be a less than pleasant way to hackintosh a vm of the Macbook VM.
A non vm alternative in the meantime is buying and keeping a used iMac to use target disc mode to boot a backup off the hard drive. But who wants to do that.
You may be able to expose it to the client as a SMB network share. But you might also find it easier to back up over a network than to migrate a local backup into the necessary format.
Can I upgrade an old MacBook Pro 2015 from Mojave to a newer macOS, and then run a virtualized Mojave in order to keep using iTunes, while also being able to use newer browser versions etc.?
I inquire because I would actually like to do the same – newer versions of the Music app are a usability and visual downgrade. Album view, for example, only shows six fixed-dimension covers, no matter how wide your screen is. Clicking on an album takes you to another screen – annoying! I just want to see the tracklist.
I have a 2018 Macbook that's still running Mojave because I vastly prefer the UI overall. I pray for a UI refresh/patch every WWDC but Apple doesn't really seem to be taking it seriously. Sonoma is an improvement, but there are still so many inconsistent or unpolished areas of the post-Catalina interface style. The cyan-blue folders are still awful; filename selection highlights in Finder aren't centered; the taskbars have become comically large. Small details, but embarrassing for a company of such design pedigree.
Not OP, but I'll give my answer. The unification of different media types in iTunes is a feature, not a bug. (I clung to Retroactive as long as I could; I forget what made me cry uncle.) For actual music, Music.app has been okay, bugs notwithstanding. (I don't use Apple Music, only my local library.)
But the other apps simply aren't as full-featured as iTunes; they align more with Apple's interests as an appliance maker and content vendor (original iTunes preceded the iTunes Store by several years). TV.app preserves some power-user features, like Smart Playlists, while stripping out basics like "Show In Finder". But the one that really grinds my gears is the way audiobooks have been shoe-horned into Books.app, with any semblance of user sovereignty removed.
Example: few years ago, I was planning a road trip, and wanted to quickly filter down a shortlist of audiobooks: "Unread, Genre: Science Fiction, Length < 12 hrs". Not only does the UI offer no affordances for that: it doesn't even display audiobook length, let alone allow sorting by it! I had to dig to find where the files are stored (in `~/Library/Containers`, with gibberish file names), then write a Bash script to `ffprobe` the files and parse the results. When audiobooks were managed by iTunes, this would have been trivial.
I’m running current macOS Sonoma on my MacBook Pro 2015 flawlessly using Open Core Legacy Patcher while presenting to macOS as if I’m running a 15,2 MBP. It’s amazing and has an active dev community and Discord server. I can’t recommend it enough.
Slightly offtopic but for a browser there's Chromium Legacy which is basically Chromium with compatibility patches for older macOS/OS X. Works on 10.8 or higher.
No need to keep Mojave to run iTunes — iTunes can be run on newer macOS, by using Retroactive [1] to patch it.
Regarding running a newer macOS on older hardware, check out OCLP [1] — do make sure you make full backups and have a working recovery plan before trying anything with OCLP though. I know that might sound somewhat obvious to a lot of folk, but you'd be surprised at the amount of folk that jump in and try OCLP on their main system without any backup plan.
Note that are some gotchas re installing OCLP on some older h/w, and it will help to read up on possible issues before wading in. e.g. during installation it might be necessary to use a wired keyboard and mouse, via a USB hub, until the installation is done, you might also need a wired network connection during install, similarly. Depends on h/w (I've not patched MacBooks myself, yet). Once the patcher is done, these should not be needed anymore.
Official support for OCLP is only via Discord — but there is a very active unofficial peer/user support group on FB [3]
I love the MBP 2015. This MacBook model actually supports MacOS Monterey natively. That's three editions newer than Mojave. It just requires an OS reinstall. After you backup your files, you can reboot it while holding ALT+CMD+R to start online recovery mode. That will let you download and install the latest MacOS version the hardware supports.
I want to do hardware development in an x86_64 Linux VM on a Mac. I work with closed source vendor tools that are only available as precompiled x86 binaries (it's FPGA development, everything is closed source).
Am I going to run into problems, either with performance of x86 code in a translator like Parallels, or with USB connections to the target hardware from within a virtual machine on M2/M3?
Parallels offers rosetta inside of linux on apple silicon, but rosetta only supports 64bit x86. If you want 32bit you are going need to use another solution. Fex Emu supports x86 32 bit but the performance probably won't be great and it isn't going to be plug and play. Windows for arm has their own version of rosetta which supports both 32 and 64 bit x86 and it works well enough, but i don't know that it will be performant enough for heavy work. if your closed source tools also require closed source drivers then it probably won't work on either.
Last time I read up on the performance characteristics of Windows' ARM translator, it seemed to be pretty close to what Apple manages to do with Rosetta. Some performance is left on the table (all the hardware trickery Apple built in) but amd64-to-aarch64 should work well enough.
The big problem with Windows on ARM seems to be that nobody is making fast enough ARM chips for a price that marches the performance expectations. The new Qualcom chips look very promising, though!
QEMU (with UTM if you need an UI to create the VM) can do that.
A word of warning, FPGA tools are extremely cpu intensive (and often poorly optimized) so you are not going to be happy compared to your colleagues running on native x86.
Rosetta/parallels can’t emulate the full x86 instruction set. You will run into problems. Like avx2, which is over 10 years old, won’t work. Best to stick with an x86 machine for x86 dev. One approach is to use a remote server. Source: learned this the hard way.
If you are using Vivado there are some scripts on GitHub to make this work. I don’t know how reliable they are though. I think they run it in a Docker container an use X to display the application in macOS.
You may want to consider trying Docker if you only need a shell and not a full window manager. For 32-bit x86 you will need to disable Rosetta and use emulation, which is a performance hit but probably the best and easiest option.
I just don't want to have two computers, one for FPGA development and one for everything else. It would make my life easier to put everyone on one machine.
I appreciate all the comments here and think the performance hit could be too much.
It’s significantly faster than Docker and some users in the Discord community have been able to use it to run hand-built Linux x86 VMs on Apple Silicon.
It’s a paid product though, but you can download it for free and try it out before paying.
Apple Silicon M2+ has hardware support for nested virtualization, presently unused.
It's rumored that iPad Pro M3 will see price hikes of $500-$700 to cover OLED screens and higher base memory/storage [1]. If Magic Keyboard gains an aluminum shell in MacBook style [2], iPad Pro M3 could move upmarket to MacBook Pro pricing. A 12.9" iPad Air could occupy the lower price tier [3].
If iPad Pro M3 can earn same-or-better margins/revenue as MacBook+iPad, with less physical hardware thanks to virtualization, why not save on atoms and shipping? iPad Pro has long been overpowered for the few iOS-approved use cases. Virtualization could unlock that power, freeing customers from carrying multiple devices to run multiple OSes.
I do really like it as a paper-sized replacement for handwritten notes and sketching, but the folio keyboard is junk (material starts peeling quickly, and the whole thing stopped working not long after the one year warranty expired).
Maybe the magic keyboard is better built, but that's another $350 on top of an expensive tablet. My bad experience with the cheaper (but still $200) keyboard accessory has probably had an outsized effect on how I feel about the product as a whole.
If you want to draw and watch movies and read emails it's great for that. I've given up on using it much for productivity, where its most powerful function is having a remote desktop client if I need to connect to a real computer.
Personally I spent the extra money thinking "I could do some real work on this" but unless your work is mostly marking up PDFs (it's really great for that) and sending plaintext emails I can't recommend it. The only work tasks I use mine for regularly anymore are quick sketches/markups (synced via OneNote and screenshot into an email that I'm writing on the computer) and quickly flipping through my inbox to either deleting or flag new messages, again for me to actually deal with on the computer.
Why limit yourself to an iPad specific keyboard? I use low-profile mechanical keyboards which offer much better typing experience, and are just as portable. When traveling the Nuphy air 75 fits in any bag, at home I pair it with a slightly larger keychain k15 pro, due to its ergonomic layout.
Not, but I don’t do much typing on my lap anyways, typing is usually on a desk or table, when using an iPad on my lap it’s mostly for media consumption, better without a keyboard.
My muscle memory is tied to keyboards and multiple windows so I just couldn’t get productive on an iPad and found the 12.9 a bit heavy and awkward for a couch computer. I see where the money went: M2, amazing screen but it’s not my first choice. Curious about your usage. eg how do you use the (janky imho) windowing and multitasking?
Use Apple's Magic Keyboard with backlit keys and trackpad (which is also a USB-C charging dock).
For multi-tasking, use Stage Manager to have thumbs of screens along the left side of the screen, and use the window affordances to resize windows with overlaps to have 2 or 3 applications open at the same time per thumbnail (a thumbnail isn't an app, it's a space or desktop).
Windows can 1/2 overlap the thumbs, so it doesn't take much screen space, and you can also overlap or leave showing the dock across the bottom.
This also works with a second monitor which can extend the desktop space instead of mirroring to it, then you can have a half dozen apps open at once.
Of course the killer feature is 5G, all day battery, and paper-notebook level of portability.
I'm writing this reply on a Surface Pro 9 - the hardware is underpowered but is also the only reasonable option if you need a tablet that runs a "real" PC OS. But MS has had a heck of a time convincing ISV's to make software for the platform - and even apps (like Adobe's Lightroom) that have tablet modes hide them away - so almost no one knows about them. iPads are better at being tablets, but can't run apps like Lightroom (the non cloudclown version) at all, so it's definitely a tradeoff.
For the last class I taught, I ended up using both the Surface and an iPad Pro (10"). The Surface was used in situations where I needed a full OS (as it turned out running VM's was part of that) and the iPad got used during lecture as it was simply superior for presenting slides with sketched overlays in real time.
>Counterbalancing anecdote: I've purchased every 12.9" iPad Pro model with my own money, and will keep doing so.
>There's no better mobile daily driver computer value for dollar available today.
I experimented with using an iPad as a daily driver (web browser plus mosh/ssh sessions) some years ago, and iOS constantly unloading apps (even when briefly switching away from them), and not restoring state exactly, drove me nuts. Has iOS improved on this?
Although my 2018 model has 4 GB of memory while the 2022 is now 8 (or 16 if you buy 1 or 2 TB version). So maybe that helps.
There’s a special entitlement for apps to request additional RAM so I would hope that having more memory means more apps can stay resident, since most apps aren’t going to request extra RAM. But iOS seems really aggressive about this even when you wouldn’t think it should be a problem so I half expect it to know you have 12 GB available and still kill recently used apps.
I've been using a 12.9" M2 iPad Pro as a daily driver for six months. It is almost perfect - the only big issue I have is a problem in WebKit where a two-finger-tap on a trackpad procs both the system contextual menu and the web app context menu. It makes using VSCode, Google Docs, etc. highly annoying and remains unresolved.
Outside of that, I love using it and actively prefer it over a regular desktop OS for all tasks outside of software development (and with the bug fixed even that would be better)
>It's rumored that iPad Pro M3 will see price hikes of $500-$700 to cover OLED screens and higher base memory/storage [1]. If Magic Keyboard gains an aluminum shell in MacBook style [2], iPad Pro M3 could move upmarket to MacBook Pro pricing.
Ain't gonna happen (such a hike, not the specs). You read it here first.
Yeah, those rumors seem super off-base, there isn't enough demand for iPads in general (mostly I think because they last so long - still using a 2018 iPad Pro here daily for web browsing and video watching here) to justify it. Jacking up the price is just going to mean they would sell even fewer...
Seems more likely that they'd upgrade the screen at higher tiers instead.
They did something similar with the M1/2 iPad Pros had 8GB of RAM while the expensive 1/2TB models ($1500/1800 for the 11/12.9") got a quiet bump up to 16GB.
Meta, but I’m glad to see Eclectic Light getting some love on HN lately, it’s such a great resource for really in-depth articles on macOS internals (and art!)
Until Asahi is daily drivable, I am hoping to use Linux via a VM. Only problem is I haven't found a way to run a VM in exclusive fullscreen mode (or have GPU acceleration).
Ideally, I could run MacOS in some kind of headless mode and allocate all resources to the VM.
You can run in full-screen mode by doing the normal macOS click on the green stoplight button at the top of the window. The current versions of Apple's virtualization libraries para-virtualize the GPU which runs nearly at full native speed.
It sounds like you want a type 1 VM. Unfortunately none exist for macOS that I'm aware of.
With an application level VM (type 2 I think?) I haven't found a way to lock the cursor and keyboard shortcuts to the VM - so my three finger swipe will switch my MacOS workspace rather than my Gnome one, spotlight overrides the VM's shortcuts, etc.
Also moving my cursor to the top left/right of the screen expands the MacOS window controls, breaking the 4rth wall and getting in the way of the VM's DE controls (volume, hot corner, power, etc).
I haven't been able to enable GPU paravirtualization within a Linux VM. I think it's for MacOS VMs running on MacOS.
When you go to fullscreen mode, do trackpad gestures target the host or the guest? eg, does three finger swipe switch MacOS workspace or Gnome one?
When you run your cursor to the top of the screen (like changing the volume in Gnome's the top bar, or closing a window in KDE), do the MacOS window controls pop up?
Do MacOS shortcuts override VM shortcuts? Like spotlight, screenshots and that sort of thing?
You can basically set up almost everything. Mac trackpad guestures seems to be always active, but you can deactivate them on the Mac side and then use them for Linux. VMWare offers a lot of settings where you can customize the keyboard behavior - Mac keybindings like spotlight can be either sent to the Mac or always pass through to the VM, you can also customize keyboard actions. If you deactivate the 3 finger swipe on the Mac, then Gnome should be able to use it. Just that I haven't found out how to activate it on Gnome :p. Updating my VM now.
When you move the mouse against the border of the screen, the mac toolbar pops up, but unless you do, you have normal access to the full gnome top bar. On my M2 Air the Linux fullscreen ends below the notch. So the Mac toolbar pops up around the notch and so mostly above the top of the Linux screen. At the bottom, the task bar gets displayed if you move against the screen border.
So basically with extremely few exceptions, it is difficult to see that you are not running Linux natively on the machine.
(Sorry for the late answer, didn't check my old posts. Is there a way to get a notification on answers to your posts on HN?)
I'm not sure I understand the question. You can virtualize Windows on Apple Silicon[0]. Running Windows natively is entirely up to Microsoft, but I believe they've indicated they have no plans for it.
Many arm64 devices run windows for arm today, including non Qualcomm devices like ampere devkit, honeycomb lx2 and even raspberry pi. They all have systemready firmware.
Apple's firmware is not standardized, compatible or certified as systemready, which is why it can't boot windows for arm. Apple's choice of firmware is up to Apple right?
ARM builds of Windows already exist, seems to me its up to the Apple bootcamp team to update their drivers. I’d guess no one works in that department anymore considering I have had a pending bootcamp update fail to be signed for several years now for my intel mac.
You might have noticed that you can't exactly purchase an ARM build of Windows, right? That's because Microsoft has an exclusivity deal with Qualcomm for Windows on ARM. Until that's over, there's no way for Apple to legally run Windows on their hardware nor make drivers for the platform. The ball has long been in Microsoft's court.
I don't have a horse in any race or even know any of the facts. But it is entirely possible for the keys to be hardware agnostic and for MS to have a deal with Qualcomm restricting getting Windows to run natively on Apple (or other random) hardware.
Edit: such a deal would not stop you or I from developing drivers, but it could stop Microsoft from lifting a finger to support that.
I don’t care much for it either but lazy game devs only know directX it seems. I’m curious about the performance through a virtualization layer though. You think you lose too much performance or do the m series just muscle it through? M3 is over 4Ghz per core now seems plenty beefy.
They didn't need anything, but they did get something from Apple. Originally, you could only boot Mach-O images on Apple Silicon, which needed workarounds from the Asahi team, but then Apple added the ability to boot raw images (whatever that means exactly in this context), which Asahi, but notably not Apple itself, is now using.
> It is currently not possible to connect any USB device to a macOS Arm VM yet.
https://kb.parallels.com/en/128867