Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Syncretic

macrumors 6502
Original poster
Apr 22, 2019
311
1,534
I'm looking for samples of MacOS-based software that fails to run on Mac Pro 3,1/4,1/5,1 (or others) because it contains AVX/AVX2 instructions. The failure can be early and polite, such as an installer refusing to complete because it thinks the CPU doesn't have those instructions, or it can be mid-workflow and ugly (like an app crash or kernel panic) - so long as it's (reasonably likely) due to the presence of AVX/AVX2 instructions.

Also useful is software with explicit user-selectable AVX support (e.g. by changing a setting or command-line option, AVX is enabled/disabled).

The big constraint is that these samples need to be freely available - demos, trials, and free/open-source are OK, but if the problem is with a $500 software suite, I'll never see it (legitimately, anyway).

Also, unless the software fails simply by running it, please provide step-by-step instructions on how to reproduce the failure.

I'm aware that the MacOS Japanese IME seems to contain some AVX instructions, but my knowledge of Japanese is near-zero, and I'm limited to randomly clicking on things on that keyboard. If anyone could provide a step-by-step method to reliably produce a failure, I'd appreciate it.

Thanks in advance.

EDIT: Candidates that have been suggested (I'll update the list as suggestions are validated):
  • Japanese IME (MacOS Catalina/Big Sur)
  • Prime95 (Torture Test mode)
 
Last edited:
I'm aware that the MacOS Japanese IME seems to contain some AVX instructions, but my knowledge of Japanese is near-zero, and I'm limited to randomly clicking on things on that keyboard. If anyone could provide a step-by-step method to reliably produce a failure, I'd appreciate it.
This is quiet easy to test

Step 1)
Add Japanese input - Romaji.
Screenshot 2021-02-09 at 00.37.24.png
N.B. MUST be Romaji, but not Kana.​

Step 2)
Tick the box "Show Input menu in the menu bar"​
Screenshot 2021-02-09 at 00.41.14.png

Step 3)
Select Hiragana from the menu bar
Screenshot 2021-02-09 at 00.38.11.png
Step 4)
Type aeiou
If Japanese input works, you should see some Japanese characters during typing.

If fail (e.g. due to missing AVX), then you will only see aeiou, basically same as English input.
 
Last edited:
Thanks. I assume that's Catalina; Mojave looks and behaves a bit differently. Typing "aeiou" or "uoiea" always shows (presumably-Japanese) symbols, but those symbols differ depending on whether AVX is present or absent. Is there perhaps a clearer test for Mojave (which behaves similarly to what you described - Roman script w/o AVX, Japanese text with)? Also, could you (or someone) perhaps provide a (Roman character) word or phrase that I could type, along with the expected Japanese result?

Thanks again.

(Worst-case, I do have Catalina installed, but I'm developing on Mojave and would like to minimize the switching back and forth.)
 
Thanks. I assume that's Catalina; Mojave looks and behaves a bit differently. Typing "aeiou" or "uoiea" always shows (presumably-Japanese) symbols, but those symbols differ depending on whether AVX is present or absent. Is there perhaps a clearer test for Mojave (which behaves similarly to what you described - Roman script w/o AVX, Japanese text with)? Also, could you (or someone) perhaps provide a (Roman character) word or phrase that I could type, along with the expected Japanese result?

Thanks again.

(Worst-case, I do have Catalina installed, but I'm developing on Mojave and would like to minimize the switching back and forth.)
Mojave is fine.

It's Catalina and Big Sur has problem (Japanese input). But my steps above is specifically for Big Sur. I haven't try those steps in Catalina, not 100% sure what the result will be.

The latest Prime95 for macOS has AVX options, but it's grey out on my cMP.
Screenshot 2021-02-09 at 03.32.43.png

I am not sure if that options will become avail if AVX emulation works.
 
I'm looking for samples of MacOS-based software that fails to run on Mac Pro 3,1/4,1/5,1 (or others) because it contains AVX/AVX2 instructions. The failure can be early and polite, such as an installer refusing to complete because it thinks the CPU doesn't have those instructions, or it can be mid-workflow and ugly (like an app crash or kernel panic) - so long as it's (reasonably likely) due to the presence of AVX/AVX2 instructions.

Also useful is software with explicit user-selectable AVX support (e.g. by changing a setting or command-line option, AVX is enabled/disabled).

The big constraint is that these samples need to be freely available - demos, trials, and free/open-source are OK, but if the problem is with a $500 software suite, I'll never see it (legitimately, anyway).

Also, unless the software fails simply by running it, please provide step-by-step instructions on how to reproduce the failure.

I'm aware that the MacOS Japanese IME seems to contain some AVX instructions, but my knowledge of Japanese is near-zero, and I'm limited to randomly clicking on things on that keyboard. If anyone could provide a step-by-step method to reliably produce a failure, I'd appreciate it.

Thanks in advance.

EDIT: Candidates that have been suggested (I'll update the list as suggestions are validated):
  • Japanese IME (MacOS Catalina/Big Sur)
  • Prime95 (Torture Test mode)

The links below are for 2 programs that Need AVX to work. You can download the demo installers on these pages.​


https://www.ikmultimedia.com/products/arc3/?pkey=arc-system-3-software



 
  • Like
Reactions: MacRumors3590
I'm looking for samples of MacOS-based software that fails to run on Mac Pro 3,1/4,1/5,1 (or others) because it contains AVX/AVX2 instructions. The failure can be early and polite, such as an installer refusing to complete because it thinks the CPU doesn't have those instructions, or it can be mid-workflow and ugly (like an app crash or kernel panic) - so long as it's (reasonably likely) due to the presence of AVX/AVX2 instructions.

Also useful is software with explicit user-selectable AVX support (e.g. by changing a setting or command-line option, AVX is enabled/disabled).

The big constraint is that these samples need to be freely available - demos, trials, and free/open-source are OK, but if the problem is with a $500 software suite, I'll never see it (legitimately, anyway).

Also, unless the software fails simply by running it, please provide step-by-step instructions on how to reproduce the failure.

I'm aware that the MacOS Japanese IME seems to contain some AVX instructions, but my knowledge of Japanese is near-zero, and I'm limited to randomly clicking on things on that keyboard. If anyone could provide a step-by-step method to reliably produce a failure, I'd appreciate it.

Thanks in advance.

EDIT: Candidates that have been suggested (I'll update the list as suggestions are validated):
  • Japanese IME (MacOS Catalina/Big Sur)
  • Prime95 (Torture Test mode)
beside "MODO DRUMS",
Native Instruments "MASSIVE X" is another great AVX app.
DEMO:
 
Last edited:
It does appear that perhaps the following exhibit failures accordingly:
  • DisplayLink
  • CloudApp (getcloudapp.com) video and gif capture
 
@Syncretic as per your remark that you're working on this, could you please make a placeholder GitHub repo that we can subscribe to in order to get updates to your progress, even if it's just comments/issues/etc. from time to time?
 
Not a macOS failure, but a hardware one for a 2009 4,1 (flashed to 5,1)

If you have Windows, try to install Cyberpunk 2077, it won't let you because of AVX, and so you have to hack the game with hexeditor to get it to work. If you google "Cyberpunk AVX" there are tons of guides on how to fix it, as well as the error.

Wolfenstein Youngblood is another one that does install, but it will also crash randomly and throw the AVX error.

Not sure if any of this helps, since these occur in Windows, but these are two examples on our hardware that I've experienced.
 
Last edited:
I'm looking for samples of MacOS-based software that fails to run on Mac Pro 3,1/4,1/5,1 (or others) because it contains AVX/AVX2 instructions. The failure can be early and polite, such as an installer refusing to complete because it thinks the CPU doesn't have those instructions, or it can be mid-workflow and ugly (like an app crash or kernel panic) - so long as it's (reasonably likely) due to the presence of AVX/AVX2 instructions...

On a related note, is it possible to build support for the XSAVE processor extension? VMWare Fusion requires this extension for Fusion v12 and up. Also Fusion v12.2 and up require a minimum of Big Sur. So 5,1 users can no longer run the current version of Fusion. The "player" version is free: https://www.vmware.com/products/fusion/fusion-evaluation.html. It would be pretty awesome to be able to run Fusion on my 5,1 again. I know Parallels is faster (I was forced to switch) but I'd go back to Fusion for the more flexible licensing and the ability to easily (instantly) swap VMs with windows users.
 
Not a macOS failure, but a hardware one for a 2009 4,1 (flashed to 5,1)

If you have Windows, try to install Cyberpunk 2077, it won't let you because of AVX, and so you have to hack the game with hexeditor to get it to work. If you google "Cyberpunk AVX" there are tons of guides on how to fix it, as well as the error.

Wolfenstein Youngblood is another one that does install, but it will also crash randomly and throw the AVX error.

Not sure if any of this helps, since these occur in Windows, but these are two examples on our hardware that I've experienced.

Sorry, the AVX emulation I'm working on only operates under MacOS. Windows and Linux aren't covered by this project.

On a related note, is it possible to build support for the XSAVE processor extension? VMWare Fusion requires this extension for Fusion v12 and up. Also Fusion v12.2 and up require a minimum of Big Sur. So 5,1 users can no longer run the current version of Fusion. The "player" version is free: https://www.vmware.com/products/fusion/fusion-evaluation.html. It would be pretty awesome to be able to run Fusion on my 5,1 again. I know Parallels is faster (I was forced to switch) but I'd go back to Fusion for the more flexible licensing and the ability to easily (instantly) swap VMs with windows users.

If you look closely at the machdep.cpu.features in the image I posted, you'll see both XSAVE and OSXSAVE shown. XSAVE/XRSTOR are actually a requirement to support AVX - without them, the YMM registers aren't preserved during context switches. Unfortunately, XSAVE/XRSTOR integration into MacOS is the trickiest/hardest part of the whole thing. (Oddly enough, Apple didn't have emulation in mind when they coded the kernel... ;-)
 
Sorry, the AVX emulation I'm working on only operates under MacOS. Windows and Linux aren't covered by this project.



If you look closely at the machdep.cpu.features in the image I posted, you'll see both XSAVE and OSXSAVE shown. XSAVE/XRSTOR are actually a requirement to support AVX - without them, the YMM registers aren't preserved during context switches. Unfortunately, XSAVE/XRSTOR integration into MacOS is the trickiest/hardest part of the whole thing. (Oddly enough, Apple didn't have emulation in mind when they coded the kernel... ;-)

Very exciting news! So if this project succeeds I've got a chance of being able to use VMware Fusion 12.x. I'll give this a try as soon as it's available.
 
  • Like
Reactions: AlexMaximus
I'm looking for samples of MacOS-based software that fails to run on Mac Pro 3,1/4,1/5,1 (or others) because it contains AVX/AVX2 instructions. The failure can be early and polite, such as an installer refusing to complete because it thinks the CPU doesn't have those instructions, or it can be mid-workflow and ugly (like an app crash or kernel panic) - so long as it's (reasonably likely) due to the presence of AVX/AVX2 instructions.

Also useful is software with explicit user-selectable AVX support (e.g. by changing a setting or command-line option, AVX is enabled/disabled).

The big constraint is that these samples need to be freely available - demos, trials, and free/open-source are OK, but if the problem is with a $500 software suite, I'll never see it (legitimately, anyway).

Also, unless the software fails simply by running it, please provide step-by-step instructions on how to reproduce the failure.

I'm aware that the MacOS Japanese IME seems to contain some AVX instructions, but my knowledge of Japanese is near-zero, and I'm limited to randomly clicking on things on that keyboard. If anyone could provide a step-by-step method to reliably produce a failure, I'd appreciate it.

Thanks in advance.

EDIT: Candidates that have been suggested (I'll update the list as suggestions are validated):
  • Japanese IME (MacOS Catalina/Big Sur)
  • Prime95 (Torture Test mode)
Have you looked into this old project Opcode Emulator? Was for 32 bit but could have some relevant information for you?

 
Sorry, the AVX emulation I'm working on only operates under MacOS. Windows and Linux aren't covered by this project.



If you look closely at the machdep.cpu.features in the image I posted, you'll see both XSAVE and OSXSAVE shown. XSAVE/XRSTOR are actually a requirement to support AVX - without them, the YMM registers aren't preserved during context switches. Unfortunately, XSAVE/XRSTOR integration into MacOS is the trickiest/hardest part of the whole thing. (Oddly enough, Apple didn't have emulation in mind when they coded the kernel... ;-)
Curious if there is any progress. Being able to run VMware Fusion again would be amazing!
 
  • Love
Reactions: ylluminate
Curious if there is any progress. Being able to run VMware Fusion again would be amazing!
Finding time for this is always a challenge, and the final few steps of this marathon project are turning out to be the most difficult. The emulator is complete, but MacOS is doing something that sporadically corrupts the virtual YMM registers. (The bug is obviously mine, but MacOS is doing something unexpected that's triggering it.) The problem is guaranteed to happen but is impossible to reliably reproduce, which makes debugging quite difficult. That's where the project rests at the moment - once I figure out the cause of this corruption (and formulate a solution), it should be good to go.

That said, I should point out that in its present incarnation, it may not be able to (cleanly) run certain software, including VMware Fusion. This is a result of the target software directly using the CPUID instruction to determine the available features; the Nehalem/Westmere-era Intel CPUs don't have a reasonable way to trap CPUID, so other methods (such as patching) may be required. MacOS itself, and software that uses MacOS' cached CPUID data, should work just fine. My first peek at VMware Fusion suggests that they extensively use the CPUID instruction, and making VMware Fusion run with my emulator may be a project unto itself. I'll look into it properly once my emulator is finalized.
 
Finding time for this is always a challenge, and the final few steps of this marathon project are turning out to be the most difficult. The emulator is complete, but MacOS is doing something that sporadically corrupts the virtual YMM registers. (The bug is obviously mine, but MacOS is doing something unexpected that's triggering it.) The problem is guaranteed to happen but is impossible to reliably reproduce, which makes debugging quite difficult. That's where the project rests at the moment - once I figure out the cause of this corruption (and formulate a solution), it should be good to go.

That said, I should point out that in its present incarnation, it may not be able to (cleanly) run certain software, including VMware Fusion. This is a result of the target software directly using the CPUID instruction to determine the available features; the Nehalem/Westmere-era Intel CPUs don't have a reasonable way to trap CPUID, so other methods (such as patching) may be required. MacOS itself, and software that uses MacOS' cached CPUID data, should work just fine. My first peek at VMware Fusion suggests that they extensively use the CPUID instruction, and making VMware Fusion run with my emulator may be a project unto itself. I'll look into it properly once my emulator is finalized.
Thanks for the update!
 
  • Like
Reactions: Larsvonhier
I'm looking for samples of MacOS-based software that fails to run on Mac Pro 3,1/4,1/5,1 (or others) because it contains AVX/AVX2 instructions. The failure can be early and polite, such as an installer refusing to complete because it thinks the CPU doesn't have those instructions, or it can be mid-workflow and ugly (like an app crash or kernel panic) - so long as it's (reasonably likely) due to the presence of AVX/AVX2 instructions.

Also useful is software with explicit user-selectable AVX support (e.g. by changing a setting or command-line option, AVX is enabled/disabled).

The big constraint is that these samples need to be freely available - demos, trials, and free/open-source are OK, but if the problem is with a $500 software suite, I'll never see it (legitimately, anyway).

Also, unless the software fails simply by running it, please provide step-by-step instructions on how to reproduce the failure.

I'm aware that the MacOS Japanese IME seems to contain some AVX instructions, but my knowledge of Japanese is near-zero, and I'm limited to randomly clicking on things on that keyboard. If anyone could provide a step-by-step method to reliably produce a failure, I'd appreciate it.

Thanks in advance.

EDIT: Candidates that have been suggested (I'll update the list as suggestions are validated):
  • Japanese IME (MacOS Catalina/Big Sur)
  • Prime95 (Torture Test mode)
Corel painter 2020, 2021 and 2022 brushes works better with avX2 CPU. (accelerated on MacBook Pro i7 4850HQ vs Mac Pro 5.1 with better GPU, MacBook Pro Geforce GPU not Working with Painter 2020 + ?).

Painter use a performance test (Corel Painter/preferences) who detect Avx2.
The lazy Programmers, instead of Escape motion competitor, do not code it anymore for SSE4 + Avx2.

Is there any chance to run Corel Painter better on Macpro with the emulator ?
 

Attachments

  • corel-painter-2020-brush-acceletrator-2.jpg
    corel-painter-2020-brush-acceletrator-2.jpg
    91.3 KB · Views: 185
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.