Skip to content

Conversation

@cmitu
Copy link
Contributor

@cmitu cmitu commented Aug 24, 2021

Add a new RetroPie system item, used to collect diagnostic information and create an archive containing relevant information.
The archive created can be optionally uploaded to a RetroPie diagnostics server or just saved locally.

Information collected (grouped in folders):

  • system information: a summary produced by inxi, dmesg info, Linux kernel modules loaded, list of .deb packages installed.
  • RPI specific information: firmware version, RPIOS info, tvservice info about current video mode and supported modes, DRM modes for KMS platforms, RPI bootloader configuration.
  • EmulationStation information: configuration files, head of the log file, input configuration
  • Emulator log and configuration: runcommand's last log file, RetroArch configurations.
  • input device information: input devices present, udevadm info about each device, output from evemu-desc with detected device capabilities
  • RetroPie related configuration: release version, Git branches present, latest 3 log files, packages installed, RetroPie related configuration files from $configdir/all
  • audio information: local ALSA configuration, list of available devices, PulseAudio audio sinks listing (if detected running)

Some info is filtered out from log files (IP addresses, username if not pi) using a filter function.

The information collected can be extended by adding a new function _<xyz>_diagnostics and including <xyz> as a collection module in the _generate_diagnostics function - ex. odroid or osmc specific info can be added by defining the _odroid_diagnostics function similar to other collection functions.

MISSING/TODOS:

  • the new entry in the RetroPie system doesn't have an icon
  • the verbiage in the dialogs could use a second look for rephrasing.
  • the upload server (WebDav ?) should work before including this properly
  • other info that we might include in the archive - please let me know.
  • handle automatic install for upgrades.

cmitu added 2 commits August 24, 2021 17:21
Add a new RetroPie system item, used to collect diagnostic information and create an archive containing relevant information.
The archive created can be optionally uploaded to a RetroPie diagnostics server or just saved locally.

Information collected (grouped in folders):
 - system information: a summary produced by `inxi`, `dmesg` info, Linux kernel modules loaded, list of `.deb` packages installed.
 - RPI specific information: firmware version, RPIOS info, tvservice info about current video mode and supported modes, DRM modes for KMS platforms, RPI bootloader configuration.
 - EmulationStation information: configuration files, head of the log file, input configuration
 - Emulator log and configuration: runcommand's last log file, RetroArch configurations.
 - input device information: input devices present, `udevadm` info about each device, output from `evemu-desc` with detected device capabilities
 - RetroPie related configuration: release version, Git branches present, latest 3 log files, packages installed, RetroPie related configuration files from `$configdir/all`
 - audio information: local ALSA configuration, list of available devices, PulseAudio audio sinks listing (if detected running)

Some info is filtered out from log files (IP addresses, username if not `pi`) using a filter function.

The information collected can be extended by adding a new function `_<xyz>_diagnostics` and including `<xyz>` as a collection module in the `_generate_diagnostics` function - ex. `odroid` or `osmc` specific info can be added by defining the `_odroid_diagnostics` function similar to other collection functions.
@joolswills
Copy link
Member

Sorry I've not had a chance to look over this properly yet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants