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

pshufd

macrumors G4
Oct 24, 2013
10,151
14,574
New Hampshire
Run think or swim natively on Apple Silicon

  1. Download and instal Azul JDK from https://cdn.azul.com/zulu/bin/zulu11.50.19-ca-jdk11.0.12-macosx_aarch64.dmg (version 11 LTS macOS ARM 64-bit v8). Note that this link could change in the future. If it does, then look for the installation kit at https://www.azul.com/downloads/?package=jdk
  2. Download think or swim from https://www.tdameritrade.com/tools-and-platforms/thinkorswim/desktop/download.html under the section “All other users”
  3. Download jna.jar from https://github.com/java-native-access/jna/blob/master/dist/jna.jar and jna-platform.jar from https://github.com/java-native-access/jna/blob/master/dist/jna-platform.jar
  4. Unpak the zip file if not already done for you by your browser. This document assumes that your thinkorswim unpacked directory is in ~/Downloads.
  5. Open a terminal window and type “cd ~/Downloads”
  6. Startup think or swim by typing “sudo java -jar launcher.jar”. It will spit out an error message and die. Type the command again and it will popup a small dark window and say Installing updates. Let it run for three minutes to create the usergui directory and then close the popup window.
  7. Execute the following commands below. The third command will die. The fourth command will bring up the think or swim login page after installing updates. Enter your username and password and enjoy. You may consider moving the directory to a more suitable location on your system. You need to execute the last command from a terminal window to run think or swim in the future.
sudo cp ~/Downloads/jna-platform.jar ~/Downloads/thinkorswim/usergui/1970.0.68/jna-platform-3.5.2.jar
sudo cp ~/Downloads/jna.jar ~/Downloads/thinkorswim/usergui/1970.0.68/jna-3.5.2.jar
sudo java -jar launcher.jar
sudo java -jar launcher.jar


This document was derived form https://www.reddit.com/r/thinkorswim/comments/oojac1 as StonkGodCapital was the person who got this to work.
 
  • Like
Reactions: Madhatter32

fathergll

macrumors 68000
Sep 3, 2014
1,849
1,603
These threads remind me of the classic Apple ads.

But yes I will say I am not going to ARM until I see a way to run Active Trader Pro without the massive hit in performance as it's already bad on an Intel Mac.


hqdefault.jpg
 

Madhatter32

macrumors 65816
Apr 17, 2020
1,478
2,949
This is very helpful. Thank you for uploading. Honestly, the process seems cumbersome though -- especially going to terminal each time you want to log on. I really hope TD Ameritrade will be able to streamline it in the near future.
 

pshufd

macrumors G4
Oct 24, 2013
10,151
14,574
New Hampshire
This is very helpful. Thank you for uploading. Honestly, the process seems cumbersome though -- especially going to terminal each time you want to log on. I really hope TD Ameritrade will be able to streamline it in the near future.

I will look into doing an automation script for this.

I will also contact TD Ameritrade to see if they can build a native installer now that they know that it can be run natively. I suspect that they are still going through their merger stuff with Schwab though - so I don't expect anything from them in the nearterm.
 
  • Like
Reactions: Madhatter32

ADGrant

macrumors 68000
Mar 26, 2018
1,689
1,059
I will look into doing an automation script for this.

I will also contact TD Ameritrade to see if they can build a native installer now that they know that it can be run natively. I suspect that they are still going through their merger stuff with Schwab though - so I don't expect anything from them in the nearterm.
Given it is apparently a pure Java app (which they should already know but you verified), they should also know that it can be run natively on an M1 Mac or any platform that supports desktop Java. The "engineer" you spoke to was probably just a level 1 or level 2 support person. I suspect development of the app is done by an offshore (and probably outsourced) team.
 

pshufd

macrumors G4
Oct 24, 2013
10,151
14,574
New Hampshire
Given it is apparently a pure Java app (which they should already know but you verified), they should also know that it can be run natively on an M1 Mac or any platform that supports desktop Java. The "engineer" you spoke to was probably just a level 1 or level 2 support person. I suspect development of the app is done by an offshore (and probably outsourced) team.

On Windows and macOS, they have an installer which consists of native executables. The executables run the Java app under a private version of Java. The typical customer would not be familiar with running a Java program from the console. I imagine that the Java-only option is for Unix, Linux, and any other platform with a Java port.

So the guy I was talking to was probably talking about the installer-version. He also may not have known that there is a native Apple Silicon Java put out by Azul.
 

ADGrant

macrumors 68000
Mar 26, 2018
1,689
1,059
On Windows and macOS, they have an installer which consists of native executables. The executables run the Java app under a private version of Java. The typical customer would not be familiar with running a Java program from the console. I imagine that the Java-only option is for Unix, Linux, and any other platform with a Java port.

So the guy I was talking to was probably talking about the installer-version. He also may not have known that there is a native Apple Silicon Java put out by Azul.

The reason for the private install of java and the platform specific launcher is simply user convenience. It is possible that the guy you were talking to did not know there was a Native build of the JVM for Apple Silicon Macs but 5 minutes on the Azul website would have answered that question. Its also not a great leap of the imagination to think there might be a native JRE/JDK for Apple Silicon, The whole premise of Java is it runs "everywhere" and while that is an exaggeration it does support a wide range of operating systems including BSD, HP-UX and AIX on multiple Risc Architectures. It is even available on IBM mainframes. If you are not interested in supporting multiple platforms there are better technologies than Java available on most platforms.
 

pshufd

macrumors G4
Oct 24, 2013
10,151
14,574
New Hampshire
The reason for the private install of java and the platform specific launcher is simply user convenience. It is possible that the guy you were talking to did not know there was a Native build of the JVM for Apple Silicon Macs but 5 minutes on the Azul website would have answered that question. Its also not a great leap of the imagination to think there might be a native JRE/JDK for Apple Silicon, The whole premise of Java is it runs "everywhere" and while that is an exaggeration it does support a wide range of operating systems including BSD, HP-UX and AIX on multiple Risc Architectures. It is even available on IBM mainframes. If you are not interested in supporting multiple platforms there are better technologies than Java available on most platforms.

I used to work for Oracle so I'm familiar with the background of Java (we bought out Sun a long time ago).
 

ADGrant

macrumors 68000
Mar 26, 2018
1,689
1,059
I used to work for Oracle so I'm familiar with the background of Java (we bought out Sun a long time ago).
Yes I remember, I used to work for a company with a lot of Solaris SPARC hardware. We used Java but also had a lot of internally developed Solaris software using Sun's C++ tools. Unfortunately, everything not Java that Oracle acquired from Sun seems to have withered away.
 

pshufd

macrumors G4
Oct 24, 2013
10,151
14,574
New Hampshire
Just tried ATP on M1 again in case Crossover performance improved (I heard some rumblings of that). I got a popup stating that Monterey Beta won't run. ATP on M1 uses twice the CPU resources of my i7-10700 system. It uses 105% CPU on M1 and about 10% on my i7-10700. There are four performance cores on the M1 and eight on the i7-10700. Unfortunately I like the charting on ATP more than ToS. So I may just have to stay on Windows for ATP.
 
  • Like
Reactions: Madhatter32

pshufd

macrumors G4
Oct 24, 2013
10,151
14,574
New Hampshire
I ported my ATP charts to ToS and they run fine. The advantages of ToS are that it runs natively on Apple Silicon, and it doesn't take ten minutes to startup. I was able to run ToS on my Late 2009 iMac as well though I don't know what performance would be like during the trading day. I plan to continue running the trading stuff on Windows until I have more hardware to potentially replace the Windows desktop. Just waiting on Apple.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.