Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
An important note to remember, is that if we reject using hypervisor and force our way to a non-virtualized setup, then we can demonstrate the real potential of the M1 gpu without the bugs and limits of Big Sur.

Right now, Apple considers hypervisor good enough, but I disagree. And I feel it's important that Apple sees clearly from the outside that it does matter, and that consequences of any middleman virtualization is simply not acceptable to the users.

I feel like Apple will give in if the community pushes hard on that route, but if we don't push on that route and instead accept hypervisor, then the real Mac OS performance and stability problems will also stay obfuscated.
 
  • Love
Reactions: torncanvas
Curious if anyone has tried UTM out (https://github.com/utmapp/UTM/releases/tag/v2.0.10)? They even have a number of prepackaged VMs. I believe it uses QEMU.

I'm still waiting for my M1 to arrive, so can't test yet.


It was drowned out by the 1000+ posts asking the same questions over and over: should I get 8GB or 16GB, Air or Pro, etc...

But joking aside, I don't think qemu is quite "there". It's cool to try out, but if you want to "use" something written for x86, then Apple's approach is already the best. If we were to "emulate" x86 per Microsoft's approach, then performance will be barely better than qemu, and it'll suck to no end.

People don't realize how much work went into making sure Rosetta 2 lose "only" 25% performance. The penalty could have easily been 50 - 80%.
 
Just did. My win7 qemu/kvm VM works decently. My Ubuntu I think has issues. It works fine from command line. Way better performance than vanilla qemu under rosetta. Mine shows qemu process as an apple not Intel. The performance is much better versus the intel version of qemu. I could actually work on the apple one.
 
Last edited:
  • Like
Reactions: wyrdness
I made a turn-key ready package containing:
Thank you for doing this! Working great here. I like that it includes htop :)

I'm assuming you had to make a code change to SimpleVM from brucehoult/SimpleVM to get this to work? Because when I tried to use your included vmlinuz, initrd, and image in the SimpleVM app I compiled from Bruce's GitHub, it results in the same blank window with block curser in upper left that I've been stuck with for many of my tests.

What's the magic sauce?
 
Last edited:
What's the magic sauce?

Bruce Hoult (via Twitter) gave me the hint which finally lead to success.

in this file I had to add a second boot argument:
github.com/brucehoult/SimpleVM/blob/master/SimpleVM/VirtualMachineViewModel.swift

old:
79 bootloader.commandLine = "console=hvc0"
new:
79 bootloader.commandLine = "console=hvc0 root=/dev/vda"

also, there's a new fork from @jonmasters which supports booting Fedora Linux:
github.com/jonmasters/SimpleVM/tree/jcm-hacks
 
  • Like
Reactions: MK500
Bruce Hoult (via Twitter) gave me the hint which finally lead to success.

in this file I had to add a second boot argument:
github.com/brucehoult/SimpleVM/blob/master/SimpleVM/VirtualMachineViewModel.swift

old:
79 bootloader.commandLine = "console=hvc0"
new:
79 bootloader.commandLine = "console=hvc0 root=/dev/vda"

also, there's a new fork from @jonmasters which supports booting Fedora Linux:
github.com/jonmasters/SimpleVM/tree/jcm-hacks
AHA! Thank you so much for all the details; and the jonmasters link!

There is definitely some optimization left to be done on ubuntu. I'm using apt to install some packages, and it's been super slow for installations; like 100 times slower than I expect. Not sure where the bottleneck is; but I'm going to keep experimenting. Example is "apt install youtube-dl". My CPU isn't really getting loaded at all, so I wonder if it has to do with disk access or niceness/affinity.

Fun experimentation time!
 
I posted this in a another thread but here you go. I got GUI working in simpleVM

t uses XQuartz, SimpleVM, and SSH x11 forwarding protocol

Find your ip in simplevm console and make sure you can connect to SSH

First launch the Xquartz terminal then

$ ssh -Y -C <user>@<ip>

$ firefox
 

Attachments

  • Screen Shot 2020-11-25 at 5.49.33 AM.png
    Screen Shot 2020-11-25 at 5.49.33 AM.png
    598.5 KB · Views: 366
@MK500

what immediately cought my attention: when pinging the VM (192.168.64.X), the latency is awful. but after a reboot of Ubuntu (without restarting SimpleVM.app) everything is fine. pings are still somewhat slow (~0.700 ms) but the fluctuation is gone. I read somewhere that Big Sur 11.1 fixes lots of stuff regarding Hypervisor.framework. I'm waiting for Beta 2. right now my Macmini9,1 still runs 11.0.1.

nice! the Jon Masters fork has the option to alter boot args in the app, so there's no need to recompile when experimenting ;-)
 
Last edited:
  • Like
Reactions: MK500
latest version of SimpleVM.app built from github.com/jonmasters/SimpleVM/tree/jcm-hacks
performance fixed (set read/write security entitlement)
 

Attachments

  • SimpleVM.zip
    731.2 KB · Views: 194
  • Wow
  • Like
Reactions: simonhard and MK500
vftool is another possibility to run a Linux VM on Apple Silicon.
written by Matt Evans @AtTheHackOfDawn

it's CLI only, very flexible and super tiny (the binary is only 78 KB).

manual and source code: github.com/evansm7/vftool

BTW: vftool should also run on Big Sur for intel (if built for x86, which this binary isn't).
 

Attachments

  • vftool.zip
    8.4 KB · Views: 171
Great achievement so far. Works great!
Seeing that I'm not very deep into all the stuff. Is there a possibility to mount some more partitions / disk space to the image?
 
what immediately cought my attention: when pinging the VM (192.168.64.X), the latency is awful. but after a reboot of Ubuntu (without restarting SimpleVM.app) everything is fine. pings are still somewhat slow (~700 ms) but the fluctuation is gone.
After reading this I tried to reboot and yea, it seems way more snappy after the reboot. But one thing I noticed is, that after the reboot only one CPU core showed up instead of 4. Is it the same for you?
 
After reading this I tried to reboot and yea, it seems way more snappy after the reboot. But one thing I noticed is, that after the reboot only one CPU core showed up instead of 4. Is it the same for you?

yup, same here. I had a look into this and it seems that the version of Ubuntu released on the Focal Cloud Images is hot-plugging CPUs when needed. CPUs 0-3 are all listed but only CPU 0 is active right after booting and the CPUs 1-3 are listed as "Off-line".
 
An important note to remember, is that if we reject using hypervisor and force our way to a non-virtualized setup, then we can demonstrate the real potential of the M1 gpu without the bugs and limits of Big Sur.

Right now, Apple considers hypervisor good enough, but I disagree. And I feel it's important that Apple sees clearly from the outside that it does matter, and that consequences of any middleman virtualization is simply not acceptable to the users.

I feel like Apple will give in if the community pushes hard on that route, but if we don't push on that route and instead accept hypervisor, then the real Mac OS performance and stability problems will also stay obfuscated.

I'm not sure you understand what the hypervisor is.

This is not about Rosetta or "the real potential of the M1 gpu" in Big Sur.

This is about running different OSes and containers like Docker under macOS.

Supervisors is the same solution Windows and Linux use, it's the fastest solution, and there's no other as fast solution -- aside from not using macOS and real booting directly to Ubuntu on the Mac.
 
has anyone tried to compile QEMU natively for OS X-ARM64? Id love to give it a bash but I dont own/cant afford an Apple Silicon mac sadly

I know QEMU already has Apple HVF support on intel macs, so it would be very interesting to see if that worked on Apple Silicon macs :)

especially as you can already boot windows for ARM in QEMU in emulation mode on an intel mac, so if you can make QEMU work via HVF on an Apple silicon mac it might actually be possible to run windows on an Apple Silicon mac at a half decent speed :)

1606444274684.png
 
Last edited:
  • Like
Reactions: Nate Spencer
https://github.com/utmapp/UTM. found this somewhere else on the forum. I have ran x86-64 Windows 8.1 not a good experience. Better experience than qemu under Rosetta. Not sure qemu even on ARM will perform like KVM/QEMU combo does. How does one get an ARM copy of Windows 10 like that? I have heard about people running it on rPI.
 
ARM Windows running under QEMU virtualization.

If that is ARM windows. Try to run anything win32. You can't run win64 at this time. MS has announced win64 layer. I doubt it will be a Rosetta. Those I know who have ran win32 on ARM say it is painful. I don't know of any major package outside a version of edge and Office that have been ported to it.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.