* Ubuntu 20.04 will no longer include python-pyudev
* Use stderr for /dev/tty opening error msg
* Use python3 in runcommand module for compilation
* Open with 'append' which was added in f614804f fails with python3 on rpi4 console. Use lower level os.open and O_WRONLY to avoid possible buffer issues. Could not reproduce the ghost inputs the append was added for
this allows switching dependencies between binary/source installs and removal if needed - useful in some cases,
as it's possible if our server was offline for a source install to be used, which with the new packaging will be
rememebered - so this allows switching back to binary.
added golang / mesa-drm omxiv / sdl1 and sdl2 to depends section
* create a rp_getBinaryUrl function to get the binary url of a package
* if a module has a __binary_url and it returns an empty string, treat this as no binary available - this allows removing hardcoded logic for sdl1/sdl2 from getDepends
* if a module doesn't have this function but it has its own install_bin don't test for a binary and assume it's ok
I added squigly brackets around the CPU Temp variables in the output string. This is what made the display work correctly for me on my latest version of Raspian on a Raspberry Pi 4. I suspect that BASH was trying to use the temperature symbol as part of the variable name.
* this ensures we don't have sync in there, which usbromservice adds by default. sync can cause write wear on flash and affects performance
* make sure we don't process the configure logic on removal
* if no TTY var is set (as with the ES launch script), try and get it - otherwise xinit will try and start on a VT we don't have access to
* use a single TTY var name in emulationstation launch script
This will affect any other kms platforms (tinker), which I will need to revisit - but as the dispmanx backend works
on the rpi4, that's the first priority.
Certain KMS systems may enumerate multiple CRTCs, some of which have
empty/invalid modes defined. If the first grepped entry happens to be such a
mode, modesetting will break. Fix by using a more accurate grep expression
to find an active CRTC with a valid mode that is marked with the "preferred"
flag.
Issue can be reproduced on Pi 3B with the vc4-kms-v3d overlay.