diff options
| author | nic <ra@afu.re> | 2025-11-09 00:47:19 -0500 |
|---|---|---|
| committer | nic <ra@afu.re> | 2025-11-09 00:47:19 -0500 |
| commit | 2a9f3c7d5e71797c685b2677a584b5f9007c5fec (patch) | |
| tree | 9959f916cdfca52301cb04edbd3c5b7706ad2057 | |
| parent | 89fc2b266218f2d0994dea22fad6eb1d2d573db9 (diff) | |
Auto from nzxt - Sun 09 Nov 2025 12:47:19 AM EST
| -rw-r--r-- | Finance/Tickers/index.md | 2 | ||||
| -rw-r--r-- | Trading.md | 1 | ||||
| -rw-r--r-- | cs/Gentoo/index.md | 2 | ||||
| -rw-r--r-- | cs/Gentoo/tws on asahi arm.md | 95 |
4 files changed, 99 insertions, 1 deletions
diff --git a/Finance/Tickers/index.md b/Finance/Tickers/index.md index 4198a59..8886042 100644 --- a/Finance/Tickers/index.md +++ b/Finance/Tickers/index.md @@ -66,6 +66,8 @@ [[RIG]] +[[ROKU]] + [[SAH]] [[SLAB]] @@ -23,6 +23,7 @@ - U - 50-60 PT - [[wiki4:DD|DD]] - buyback story - bullish - [[wiki4:MNMD|MNMD]] +- [[wiki4:ROKU|ROKU]] diff --git a/cs/Gentoo/index.md b/cs/Gentoo/index.md index 95669c7..f7abb23 100644 --- a/cs/Gentoo/index.md +++ b/cs/Gentoo/index.md @@ -9,7 +9,7 @@ [[gentoo-kernel-bin]] - +[[tws on asahi arm]] diff --git a/cs/Gentoo/tws on asahi arm.md b/cs/Gentoo/tws on asahi arm.md new file mode 100644 index 0000000..4a677cb --- /dev/null +++ b/cs/Gentoo/tws on asahi arm.md @@ -0,0 +1,95 @@ +The key insight is that TWS is fundamentally a Java application with platform-agnostic JAR files. While the TWS installer is x86-only and won't run on ARM64, the compiled Java bytecode will run perfectly on any ARM64 Java Virtual Machine. The strategy is: + +- Install TWS on an x86-64 machine and extract the JAR files + +- Install native ARM64 Java on your Gentoo Asahi system + +- Copy the JAR files and launch TWS using the native JVM + + + +sudo emerge -av dev-java/openjdk-bin:11 +java -version +eselect java-vm list + +tar -czf Jts.tar.gz Jts/ + +scp username@x86machine:~/Jts.tar.gz ~/.local/ + +tar -xzf Jts.tar.gz +ls -la ~/.local/Jts/ + +# create launch script + +vim .local/bin/ib-tws + +## 1 +#!/bin/bash +set -euo pipefail + +# TWS Launch Script for ARM64 Native Java + +JTS_DIR="${HOME}/Jts" +cd "${JTS_DIR}" || { echo "Directory $JTS_DIR does not exist!"; exit 1; } + +JTS_DIR="${HOME}/.local/Jts/1041/jars" +CLASSPATH=$(printf ":%s" "${JTS_DIR}"/*.jar) +CLASSPATH=${CLASSPATH:1} + +export HOME="$HOME" # For possible relative lookups +JTS_DIR="$HOME/.local/Jts" +cd "$JTS_DIR" + +# List of required JARs (adjust as needed for your version) +JARS=( + jts.jar + total.jar + hsqldb.jar + jcommon-1.0.16.jar + jfreechart-1.0.13.jar + jhall.jar + other.jar + rss.jar + pluginsupport.jar +) + +CLASSPATH=$(IFS=:; echo "${JARS[*]}") + +# Check that all JARs exist +for JAR in "${JARS[@]}"; do + if [[ ! -f "$JAR" ]]; then + echo "Missing JAR file: $JAR" + exit 1 + fi +done + +echo "Launching TWS..." +#Use : as the classpath separator on Linux (Windows uses ;) +exec java \ + -cp "${CLASSPATH}" \ + -Dsun.java2d.noddraw=true \ + -Dsun.java2d.xrender=false \ + -Dswing.boldMetal=false \ + -Dsun.locale.formatasdefault=true \ + -Xmx1024M \ + -XX:MaxPermSize=256M \ + jclient.LoginFrame . + + +### The exact JAR filenames (especially total.jar, jcommon-*.jar, jfreechart-*.jar) vary by TWS version - ls ~/Jts/*.jar + +# export GDK_BACKEND=x11 probably needed in script + +chmod +x + +## Dependencies + +# On Gentoo, ensure basic fonts are installed +sudo emerge -av media-fonts/dejavu media-fonts/liberation-fonts +# Rebuild font cache +fc-cache -fv + + +The default -Xmx1024M allocates 1GB heap. Adjust based on your needs and M2's 8GB total RAM: +# For more intensive use +-Xmx2048M -XX:MaxPermSize=512M |
