Welcome to Tesla Motors Club
Discuss Tesla's Model S, Model 3, Model X, Model Y, Cybertruck, Roadster and More.
Register

Running the Tesla app in GNU/Linux on a desktop or Librem 5?

This site may earn commission on affiliate links.

Togg

Member
Mar 24, 2019
92
57
CA
Has anyone run the Tesla app under Linux, like on a desktop, via something like this or this procedure which leverages a Chrome browser and ARChon?

They say that some Android apps can be run on Linux, and some can not,
...so before digging in I just thought I'd ask if anyone else has already explored this, and if so does it work or not?

---

Also while I'm on the subject, does anyone know of a native Linux app for Tesla? I'm already aware of, use, and very much love Nikoli, but it doesn't do everything the Tesla native app does.

Part of why I'm asking this is because the Librem 5 phone will be my new open source smart phone which runs Linux natively. (Yes, I'm one more person in a growing group who is increasingly concerned about privacy invasions coming from iPhone and Android phones. And BTW, I don't like the fact that this procedure mentioned above uses Chrome. I would strongly prefer a native Linux Tesla app which does not use Chrome if at all possible.)
 
Has anyone run the Tesla app under Linux, like on a desktop, via something like this or this procedure which leverages a Chrome browser and ARChon?

They say that some Android apps can be run on Linux, and some can not,
...so before digging in I just thought I'd ask if anyone else has already explored this, and if so does it work or not?

---

Also while I'm on the subject, does anyone know of a native Linux app for Tesla? I'm already aware of, use, and very much love Nikoli, but it doesn't do everything the Tesla native app does.

Part of why I'm asking this is because the Librem 5 phone will be my new open source smart phone which runs Linux natively. (Yes, I'm one more person in a growing group who is increasingly concerned about privacy invasions coming from iPhone and Android phones. And BTW, I don't like the fact that this procedure mentioned above uses Chrome. I would strongly prefer a native Linux Tesla app which does not use Chrome if at all possible.)

You can run any Android app on the PC (Windows/Mac/Linux) using the emulator (second method in your link), provided that the app is written entirely in Java and/or provides the x86_64 binary, and provided also that it can run on the emulator at all (cheat detection or hardware-specific requests could block this).
 
Visible Tesla: Getting Started

It uses Java, so it works cross platform

I downloaded this and tried it, but so far can't get it to work. I'm trying this:

$ java -jar VisibleTesla.jar
Error: JavaFX runtime components are missing, and are required to run this application

Then I found that this helps get past that error:

$ sudo apt-get install openjfx

So trying again, but get new errors, that so far have stumped me:

$ java -jar VisibleTesla.jar
Exception in Application start method
Exception in Application stop method
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:389)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:323)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
Caused by: java.lang.RuntimeException: Exception in Application start method
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$1(LauncherImpl.java:182)
at java.lang.Thread.run(Thread.java:748)
Caused by: javafx.fxml.LoadException:
file:/nobak/Installers/Tesla/VisibleTesla/VisibleTesla%200.50.08/VisibleTesla.jar!/org/noroomattheinn/visibletesla/ChargeUI.fxml:29
file:/nobak/Installers/Tesla/VisibleTesla/VisibleTesla%200.50.08/VisibleTesla.jar!/org/noroomattheinn/visibletesla/MainUI.fxml:41

at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2601)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2579)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441)
at javafx.fxml.FXMLLoader.access$2700(FXMLLoader.java:103)
at javafx.fxml.FXMLLoader$IncludeElement.constructValue(FXMLLoader.java:1143)
at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:746)
at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2707)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2527)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3214)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3175)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3148)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3124)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3104)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3097)
at org.noroomattheinn.visibletesla.VisibleTesla.start(VisibleTesla.java:45)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$8(LauncherImpl.java:863)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$7(PlatformImpl.java:326)
at com.sun.javafx.application.PlatformImpl.lambda$null$5(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$6(PlatformImpl.java:294)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at com.sun.glass.ui.gtk.GtkApplication.lambda$null$5(GtkApplication.java:139)
... 1 more
Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at com.sun.javafx.fxml.BeanAdapter.put(BeanAdapter.java:262)
at com.sun.javafx.fxml.BeanAdapter.put(BeanAdapter.java:54)
at javafx.fxml.FXMLLoader$Element.applyProperty(FXMLLoader.java:512)
at javafx.fxml.FXMLLoader$Element.processValue(FXMLLoader.java:363)
at javafx.fxml.FXMLLoader$Element.processPropertyAttribute(FXMLLoader.java:325)
at javafx.fxml.FXMLLoader$Element.processInstancePropertyAttributes(FXMLLoader.java:235)
at javafx.fxml.FXMLLoader$ValueElement.processEndElement(FXMLLoader.java:767)
at javafx.fxml.FXMLLoader.processEndElement(FXMLLoader.java:2823)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2532)
... 23 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71)
at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275)
at com.sun.javafx.fxml.BeanAdapter.put(BeanAdapter.java:258)
... 31 more
Caused by: java.lang.IllegalArgumentException: EventType "javafx.event.EventType@35283628"with parent "EVENT" already exists
at javafx.event.EventType.register(EventType.java:186)
at javafx.event.EventType.<init>(EventType.java:128)
at javafx.event.EventType.<init>(EventType.java:83)
at jfxtras.labs.scene.control.gauge.StyleModel$StyleModelEvent.<init>(StyleModel.java:1229)
at jfxtras.labs.scene.control.gauge.StyleModel.fireStyleModelEvent(StyleModel.java:239)
at jfxtras.labs.scene.control.gauge.StyleModel.setLcdDecimals(StyleModel.java:708)
at jfxtras.labs.scene.control.gauge.Gauge.setLcdDecimals(Gauge.java:1165)
... 41 more
Exception running application org.noroomattheinn.visibletesla.VisibleTesla


------------------------------------
I'm running Debian Stretch and this version of OpenJDK

$ java -version

openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-8u232-b09-1~deb9u1-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)
 
Hi, I've started to build a GNOME app (specifically targeting a release for the Librem 5). Available at: GNOME Tesla in Launchpad

I've only completed the login screen at the moment, will start making more progress when I get my car in a week or 2. I'll also publish a version to the PureOS store once I've received my phone to test it on.

Let me know if anyone wants to help, things that would help include:
- Programming (in Python, especially helpful if you are familiar with GTK).
- Artwork (in particular, a logo, and icons for various buttons etc.)
- Translations (once I've finished setting them up).
- Thinking of a good name for the app.
- Perhaps some design ideas as well.
 
  • Like
Reactions: Togg