Don't install the 05-splash.sh script to kill vlc on Raspberry Pi Buster and below. VLC on Buster on RPI4 will output to MMAL which can overlay on top of EmulatioStation.
Remove 05-splash.sh if already present on Buster.
omxiv / omxplayer only works on the Raspberry Pi legacy and fkms drivers.
This change switches to vlc for both utilities, as it supports mmal output on the Raspberry Pi legacy drivers, and drm output on KMS on Raspberry Pi OS (bullseye).
Remove dependencies for omxplayer / omxiv / insserv
Switch code to use vlc.
Run asplashscreen as $user (not root).
Remove wait for dbus (no longer needed)
Save vlc pid and Exit vlc before launching emulationstation on KMS
Pin vlc version on Buster to version from archive.raspberrypi.org to stop it being overwritten with the vanilla Debian security release.
Enable on 64bit Raspberry Pi OS
Mostly drivers and supplementary packages - most install to md_inst which should be handled better now,
but also adjusted sixaxis to use md_build rather than a subfolder in md_build as it didn't seem to require it.
Previously all the module data was in indexed arrays with matching offsets.
Each scriptmodule folder had an initial index and it was incremented per module.
Many package functions expected an index. Indexes were never unique and could change
depending on added modules etc. We also had to convert between them and module IDs.
Now it's all done by module id. There is a numbered index of all modules found, that
increments which is used in the GUI setup menus. But it's not needed by any packaging functions.
md_idx is dropped and the few modules that used it for install checks etc now use md_id.
all packaging functions use the id.
retropie_packages.sh now accepts the module id only.
* only disable plymouth when screensaver module is installed
* enable plymouth when screensaver module is removed - not when it is just disabled
only disable plymouth in /boot/cmd
* switch to new repo - use new default splashscreen
* allow downloading of new extra splashscreen repository
* change find regexp to ignore all hidden files
* rp_module_menus is no more - instead use rp_module_section with one of
- core (core packages)
- main (main packages - which will be installed by default in the image)
- opt (optional packages)
- exp (experimental packages)
- driver (driver packages)
- config (configuration packages / tools)
* The setup menu organises the data based on the above sections. more could be added in the future if needed. Packages (internally modules), can be added / configured / removed individually, or as entire sections.
* The setup menu will automatically detect if a binary is available to be installed. the nobin flag is no longer needed. modules that install directly from binary via aptInstall or via a prebuilt binary need to use an install_bin_ function instead of install_
* rp_module_section of type "config" will have the "gui_" function called first if it's available, otherwise a standard depends/sources/build/install/configure will be called
* configure is no longer used for "gui" configuration function - use gui_ instead. Had already started to move to this before, but now it is required.
* addresses some of the points from https://github.com/RetroPie/RetroPie-Setup/pull/1480#issuecomment-219145076
* make functions more standalone and simplify logic - eg choose_splashscreen just returns a splashscreen - setting / preview etc is handled in their own functions
* put extensions into functions
* paths for splashscreen locations is now handled in own function