macOS 15 Sequoia: nested virtualization for M3+ Macs

Discussion in 'Parallels Desktop on a Mac with Apple silicon' started by Sven G, Jun 19, 2024.

  1. AndreasK27

    AndreasK27 Junior Member

    Messages:
    19
    Your WSL --version has nothing to do with it still just being WSL1 - it's not WSL2 (my Surface Laoptop 7 with WSL2 shows the same WSL --version information as my M2 MacBook Air / macOS 15.1 / Parallels 20 with WSL1). The differentiation between WSL1 and WSL2 is shown in wsl -l -v.
     
  2. AndreasK27

    AndreasK27 Junior Member

    Messages:
    19
    I really hope, that Parallels 20 manages to run nested Hypervisors in Windows for ARM (WSL2, WSLg, docker,...) on M3+ / Sequoia. I'm waiting for it in order to upgrade my MacBook Air to an M4 MacBook Pro (probably a 32 or 64GB Pro) and to get rid of my interim Surface Laptop 7 Windows-Dev machine (Windows on ARM, WSL2,...). To me the Snapdragon X has been a bit of a disappointment - its CPUs are fast/nice, but its GPU and NPU are pretty unusable for open source apps. With Macs I can at least use the GPUs for llama.cpp/ollama/..., even if the ANE is still a black-box. And the M4 Pro will have 2x the memory-bandwidth/max.-size/GPU.
     
  3. JamesF23

    JamesF23 Member

    Messages:
    46
    I have the M2 Ultra.
     
  4. JamesF23

    JamesF23 Member

    Messages:
    46
    This was the first time that I actually got WSL working in the first place, so I am not all that practiced in using that software on Windows. I primarily set it up so that I could help students with configuring the software on their machine. We are only working in the command line so WSL 1 was sufficient. Of course in Windows 11 24H2 it does have the virtual machine feature turned on, for whatever that is worth. If it was production work,I would just use an actual Ubuntu virtual machine instead of WSL.
     
  5. AndreasK27

    AndreasK27 Junior Member

    Messages:
    19
    For me, WSL1 always worked fine on Windows for ARM. But Windows . This thread is about nested hypervisors. Windows without its own hypervisor-features is castrated, this is not about just a separate Ubuntu VM in Parallels (which is easy). Its about the hypervisor-based security features in Windows, VSCode WSL2 integration,... This is e.g. why I still have a separate physical Windows machine (nowadays a Surface Laptop 7), but I want to get rid of it and upgrade my M2 MacBook Air to an M4 Pro MacBook Pro instead of my current 2 machines.

    Also the performance of WSL1 is bad. Here a comparison of llama.cpp llama-2 CPU-only on the M2 (4 p-cores) vs. Snapdragon X Elite (12 cores). M2 running Windows in Parallels and Ubuntu native in Parallels and in WSL1, Snapdragon running Ubuntu in WSL2.

    TLDR: WSL2/Ubuntu runs as fast as native Windows on e.g. the Snapdragon, Parallels has massive performance impatcs. Windows+WSL1 being the worst impact.

    llama-bench numbers run as in llama.cpp github issue #4167, but with current version of llama.cpp:
    | model | size | params | backend | ngl/CPU | test | t/s |
    | M2, MacOS 15.1 native -------- | ---------: | ---------: | ---------- | ------: | ------------: | -------------------: |
    | llama 7B Q4_0 | 3.56 GiB | 6.74 B | Metal,BLAS | 0 / 4 | pp512 | 58.12 ± 2.41 |
    | llama 7B Q4_0 | 3.56 GiB | 6.74 B | Metal,BLAS | 0 / 4 | tg128 | 14.99 ± 0.14 |
    | M2, MacOS 15.1, Parallels 20.1.1, Ubuntu 24.04.1 ------: | ---------- | ------: | ------------: | -------------------: |
    | llama 7B Q4_0 | 3.56 GiB | 6.74 B | CPU | 4 | pp512 | 22.60 ± 0.58 |
    | llama 7B Q4_0 | 3.56 GiB | 6.74 B | CPU | 4 | tg128 | 11.20 ± 0.92 |
    | M2, MacOS 15.1, Parallels 20.1.1, Windows 11 24H2 -----: | ---------- | ------: | ------------: | -------------------: |
    | llama 7B Q4_0 | 3.56 GiB | 6.74 B | CPU | 4 | pp512 | 22.18 ± 0.50 |
    | llama 7B Q4_0 | 3.56 GiB | 6.74 B | CPU | 4 | tg128 | 12.40 ± 0.32 |
    | M2, MacOS 15.1, Parallels 20.1.1, Windows 11 24H2, WSL1, Ubuntu 24.04 | ------: | ------------: | -------------------: |
    | llama 7B Q4_0 | 3.56 GiB | 6.74 B | CPU | 4 | pp512 | 9.39 ± 0.36 |
    | llama 7B Q4_0 | 3.56 GiB | 6.74 B | CPU | 4 | tg128 | 6.33 ± 0.68 |
    | Snapdragon X Elite, Windows 11 24H2 ------: | ---------: | ---------- | ------: | ------------: | -------------------: |
    | llama 7B Q4_0 | 3.56 GiB | 6.74 B | CPU | 12 | pp512 | 63.53 ± 6.79 |
    | llama 7B Q4_0 | 3.56 GiB | 6.74 B | CPU | 12 | tg128 | 20.60 ± 2.40 |
    | Snapdragon X Elite, Windows 11 24H2, WSL2, Ubuntu 24.01 | ---------- | ------: | ------------: | -------------------: |
    | llama 7B Q4_0 | 3.56 GiB | 6.74 B | CPU | 12 | pp512 | 61.75 ± 8.94 |
    | llama 7B Q4_0 | 3.56 GiB | 6.74 B | CPU | 12 | tg128 | 21.48 ± 3.99 |
     
  6. Krystian1

    Krystian1 Bit poster

    Messages:
    2
    The absence of this feature is as well stopping me from buying Parallels and a MacBook itself. Would be great if there was a possibility to get any feedback from Parallels itself regarding the timeline/plans of implementing this.
     
  7. JamesF23

    JamesF23 Member

    Messages:
    46
    Interesting, but I have never actually heard anyone using WSL in production workflows. Of course compiling large language models is hardly production workflows. The snapdragon chips were designed to be placed in servers originally. All virtualization would have performance impacts. For the students to compile c++ code on WSL 1 is sufficient for them to test the code before removing into the school provided servers before submitting the assignments. My most used application in Windows is Windows update as I have shifted all of my primary work using native macOS. Artificial Intelligence is currently a parlor trick and most of the models have most probably fed fiction so we cannot currently rely them providing correct answers, just inferences based on the faulty data fed to the models.
     
  8. JamesF23

    JamesF23 Member

    Messages:
    46
    Well you will have to stick to inferior Windows machines. I am happy that I upgraded from Windows long ago. Today I keep Windows around primarily to verify tasks can be run on student's Windows computers and Windows Update.
     
  9. DanS40

    DanS40

    Messages:
    1
    Is there any recent news regarding this? It's not clear to me if this is a limitation of MacOS 15 at this point, or if Parallels just needs to implement the necessary functionality.
     
    Krystian1, JeffreyY3 and AndreasK27 like this.
  10. AbiolaI1

    AbiolaI1 Bit poster

    Messages:
    5
    It is up to Parallels to implement it, nested virtualization is supported on macOS 15 for m3+ devices. So, we are waiting for Parallels.
     
    Krystian1 likes this.
  11. Krystian1

    Krystian1 Bit poster

    Messages:
    2
  12. Andriez

    Andriez Bit poster

    Messages:
    1
    Is there any information about Parallels' plans for nested virtualization support on Mac M3+? This is important for me (and many others). If this is going to take a long time, I might have to switch to other hardware. o_O
     
    PieroM2 and Krystian1 like this.
  13. EdH10

    EdH10 Bit poster

    Messages:
    1
    FYI. I switched to UTM 4.6.4 which _does_ support nested virtualization. Works quite well for my use case. I only use it for a Linux server that I ssh into.
    Not sure it would be good for Windows folks.
    That being said - i'm out. Cancelling my Parallels subscriptions now - paid products should be early on feature not late. Pathetic.
     
  14. ErikR4

    ErikR4 Member

    Messages:
    29
    Apparently this is for Linux VMs only...

    • (macOS 15) Nested virtualization for Linux Linux VMs using Apple Virtualization backend on macOS 15 and M3 or newer will now have nested virtualization enabled by default.
     
  15. JamesF23

    JamesF23 Member

    Messages:
    46
    Last time I attempted to run a Windows virtual machine in UTM, it was barely functional and did not provide the optimal environment.
     
  16. HansZ1

    HansZ1 Bit poster

    Messages:
    2
    Hello,
    So I'm a bit confused. From reading around, I thought that Desktop Pro would let me run nested (WSL 2 specifically). I have Sequoia 15.4 Beta (24E5206s) on M3, but it appears that this feature is only available... Intel chips? Or, not sure...? When I try to configured a VM in parallels pro desktop, there's no option for nested. Do I need to create a new machine?

    Thanks,
    Hans
     
  17. AndreasK27

    AndreasK27 Junior Member

    Messages:
    19
    Sadly Parallels does not support nested hypervisors on Apple Silicon (yet?). Even though Apple now supports nested virtualization MacOS 15 and they document it for virtual linux. UTM supports nested Hypervisors for Linux. I like Parallels, but find it very disappointing, that they do not think it necessary to implement it for linux and Windows - WSL2/WLSg and hypervisor-based security-features are key elements of Windows, which we cannot run.
     
  18. ppetrovic

    ppetrovic

    Messages:
    1
    It's a real shame that a paid-for product lacks behind an open source solution (QEMU/UTM), even if the alternative is to enable nested virtualization for Linux only. I've been paying a Pro subscription for years but once the switch to Apple Silicon happened, I'm simply not getting too much value for a "Pro" product anymore. Get your act together, Parallels.
     
  19. HansZ1

    HansZ1 Bit poster

    Messages:
    2
    Well something has worked
    upload_2025-2-26_23-8-7.png
     

    Attached Files:

  20. OlegM2

    OlegM2 Bit poster

    Messages:
    1
    So it's done on Intel machine or M3/4 ARM?
     

Share This Page