Plugin works in Logic Pro X on Big Sur(Intel) - but not Rosetta 2

I have a plugin that works perfectly in Logic Pro 10.6.1 on Big Sur (Intel) but fails on Rosetta 2 on M1. Customer reports that previous build (iPlug1) works on this same system.

AU validation fails as follows:

validating Audio Unit Telephone by RJStudios:
    AU Validation Tool
    Version: 1.7.0
    Copyright 2003-2019, Apple Inc. All Rights Reserved.
    Specify -h (-help) for command options
--------------------------------------------------
VALIDATING AUDIO UNIT: 'aufx' - 'Itel' - 'RJSt'
--------------------------------------------------
Manufacturer String: RJStudios
AudioUnit Name: Telephone
Component Version: 2.2.0 (0x20200)
* * PASS
--------------------------------------------------
TESTING OPEN TIMES:
COLD:
Time to open AudioUnit:         3892.732 ms
WARM:
Time to open AudioUnit:         1.202  ms
This AudioUnit is a version 3 implementation.
FIRST TIME:
Time for initialization:        141.032 ms
* * PASS
--------------------------------------------------
VERIFYING DEFAULT SCOPE FORMATS:
Input Scope Bus Configuration:
 Default Bus Count:1
    Bus Name: Input
    Default Format: AudioStreamBasicDescription:  2 ch,  44100 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved
    Has Channel Layouts: 0x640001 0x650002 
Output Scope Bus Configuration:
 Default Bus Count:1
    Bus Name: Output
    Default Format: AudioStreamBasicDescription:  2 ch,  44100 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved
    Has Channel Layouts: 0x640001 0x650002 
* * PASS
--------------------------------------------------
VERIFYING REQUIRED PROPERTIES:
* * PASS
--------------------------------------------------
VERIFYING RECOMMENDED PROPERTIES:
  VERIFYING PROPERTY: Latency
    PASS
  VERIFYING PROPERTY: Tail Time
    PASS
  VERIFYING PROPERTY: Bypass Effect
    PASS
* * PASS
--------------------------------------------------
VERIFYING OPTIONAL PROPERTIES:
* * PASS
--------------------------------------------------
VERIFYING SPECIAL PROPERTIES:
VERIFYING CUSTOM UI
Cocoa Views Available: 1
  _RemoteAUv2ViewFactory
    PASS
DEFAULT PRESET: 0, Name: 
HAS FACTORY PRESETS
VERIFYING CLASS INFO
    PASS
TESTING HOST CALLBACKS
    PASS
* * PASS
--------------------------------------------------
PUBLISHED PARAMETER INFO:
# # # 4 Global Scope Parameters:
* * PASS
--------------------------------------------------
FORMAT TESTS:
Reported Channel Capabilities (explicit):
      [1, 1]  [2, 2]  
Input/Output Channel Handling:
1-1   1-2   1-4   1-5   1-6   1-7   1-8   2-2   2-4   2-5   2-6   2-7   2-8   4-4   4-5   5-5   6-6   7-7   8-8
X                                         X                                                                       
# # AudioChannelLayouts (2), Input Scope:
ChannelLayout is Writable: T
The Unit publishes the following Channel Layouts:
  0x640001, 0x650002, 
Is Audio Channel Layout Available:
Mono    Stereo  Binau.  AU_4    Ambi.   AU_5    AU_5_0  AU_6    AU_6_0  AU_7_0  AU_7_0F AU_8    AU_5_1  AU_6_1  AU_7_1  AU_7_1F
X       X                                                                                                                      
ERROR: 4097 IN CALL Problem with initial Channel layout state
* * FAIL
--------------------------------------------------
AU VALIDATION FAILED: CORRECT THE ERRORS ABOVE.
--------------------------------------------------

validation result: failed validation

Everything seems to check out but it fails. Any idea what’s is wrong?

Could you have built an AUv3 version? I think this auval output is saying it’s AUv3 just because of how AUv2s are loaded on M1/big sur. I don’t currently have an arm mac to test, so can’t look into this for a while. If you are building an AUv3, then don’t. They don’t yet work well on macOS

Nope, it’s an AU - see “RemoteAUv2ViewFactory”. Works on Big Sur Intel but not Big Sur using Rosetta 2.

I’m afraid you’re on your own here for now. I had to send the DTK back so can’t try anything on apple arm

I advised the customer that I do not claim it is M1/ARM compatible. He said the plugin opens but the sound and controls are “all wonky”. I have no idea what’s wrong and have no way to test it either.

It works in Big Sur on Intel - isn’t “Rosetta 2” supposed to handle this on M1? Or is Rosetta 2 “hit and miss”?

My app (not a VST) rendered weirdly on the M1 both natively and through Rosetta 2. I ended up having to turn off LCD sub pixel rendering to get it to look normal. BTW @olilarkin I am not using my M1 mac mini much since checking and finding a workaround for that issue. I could lend it to you for a while if you wanted to check through some M1 iPlug2 issues (I am in UK too).

Thanks, but I live in Germany now :slight_smile:

I hope to get an M1 soon

I just checked building the iPlugControls example app on the M1 mac mini vs my intel macbook pro. The text rendering on the M1 looks really poor in comparison. I had a problem with bad text rendering on my non iPlug app too. Apple have changed something specifically for the M1 graphics it seems.