I've been using Kivy for a while now with a the Pi3B+ and older and Raspbian
Stretch and
Jessie. The systems have been running Kivy from the console after boot without ever booting to the desktop.
Recently I built a new image using Raspbian Buster (released July 2019) and using a Raspberry Pi 3 Model B+. I had this working using Kivy 1.10.1 but this was not the latest version. I targeted the older version due to a problem. The Python version is 3.7.3.
When the image/ sd card was moved to the Raspberry Pi 4 it started giving problems finally giving the result:
[CRITICAL] App: Unable to get a Window, abort
The log file is attached but here are what seem to be the main errors.
egl_rpi - ImportError: cannot import name 'bcm' from 'kivy.lib.vidcore_lite'
...
sdl2 - RuntimeError: b'Could not initialize EGL'
...
x11 - ModuleNotFoundError: No module named 'kivy.core.window.window_x11'
I have since updated the Kivy to 1.11.1 to see if this release would be better and it was with that release that I got Kivy to get a Window but only if I run the desktop first, open a terminal and start the application from there. This is not close to what I was doing before as it has never been required to run the desktop window manager.
Is there something I should do to troubleshoot this further? some configuration that needs to change? probably something related to the numerous changes made to the graphics on the newest Raspberry Pi 4.