Referencing the Kivy Linux Installation, I saw that the versions aligned in the default requirements_linux.txt seemed to be off. After trying several different combinations, and removing packages via pip when those versions failed, I found that Cython 21.2 and Kivy 1.9 worked for me leaving me with this as the contents of my requirements_linux.txt
These commands are what should be run locally. I use both Python 2 and 3. If you don’t, you can remove one or the other. I pulled the dependencies from the official docs.
Glad you were able to take my bread crumbs and improve on them. I fully
intend to write up a container that would auto-update firmware,
dependencies, etc. I just haven’t made the time to make it happen.
If you set up a virtual Python environment, that would allow you to keep
Python 3 as your default and only use Python 2 for Ground Control.