Odrive GUI installation problems for Ubuntu users

I am sharing my experience with regards to attempting to install and use the ODrive GUI.
My system is Ubuntu 18, I have been a windows user for many years so my familiarity with Linux is limited.
I began by following all the instructions provided by odrive GUI developers.
I made sure I had Phython3 installed, and as instructed installed the following python modules: flask, odrive, flask-socketio, flask-cors
I also had nodejs installed
I cloned the Odrive github repo and then…Opened the GUI directory in the folder where I cloned the repo, and ran npm install and then npm run electron:build
Thats where things went south…
Unmet dependency issues, which as far as anyone can understand through research online is a common issue with npm and nodejs
Over a period of roughly 10 hours of research into the subject I tryed everything …updates, upgrades, uninstalls, reinstalls, making sure permissions were setup etc…
NO dice …finally I gave up as I had exhausted all the options I could find.

As my next possible solution…
I downloaded the appimage version, double clicked and the program started. I was quite pleased.
Then I ran into this…

args from python:

  • Serving Flask app ‘odrive_server’ (lazy loading) * Environment: production WARNING: This is a development server. Do not use it in a production deployment.
    Use a production WSGI server instead. * Debug mode: off
    The WebSocket transport is not available, you must install a WebSocket server that is compatible with your async mode to enable it. See the documentation for details. (further occurrences of this error will be logged with level INFO)

My Odrive board would not connect…

After enough time to research flask-socketio and async modes…I could find no reason why it would not work…eventlet,gevent,gevent-websocket are installed.
Checked rechecked, upgraded etc…
I do not know how to access or look at the server file inside the appimage to know what it is doing…(whether it is not allowing eventlet or gevent function) as I believe one of them is needed to allow websocket transport.

Finally I tryed using the file …odrive_server.py… from the downloaded repo (my original attempt to download the repo and build it with npm) This file is located in the ODrive/GUI/server folder
I ran that server file and then double clicked on the appimage
It worked, odrive board was detected and I am now using the GUI

It is a ugly solution to a problem that I have no doubt is due to my limited experience with Linux systems.
So if your a Ubuntu user and just about given up…give this a try.

If I ever figure out how to fix or run this properly I will post …for now I would like to use GUI in this state for a while.
But I thought I would post this first and I may be able to save some other poor SOB from spending 25 hours trying to get this GUI working.

1 Like

Thanks for the update. You have to launch the server (odrive_server.py) before launching the GUI.

FYI the GUI was only ever released as a Beta and is deprecated.

Thank you and your team for Odrive and the GUI…fantastic value for the price