Remove: graphics_modes_info.py script and related jobs
The graphics_modes_info.py script is used in two jobs that are not
called in any of our test plans. Moreover, since it uses xrandr, the
output might be incorrect on recent versions of Ubuntu (22.04+) using
Wayland as default.
Change: graphics/*_maximum_resolution_* compatible with X and Wayland
On Wayland, xrandr returns the current resolution as the maximum
resolution, even when it is not. For instance, if a laptop has a
3840x2160 screen but is currently set to 2560x1440, xrandr would
return 2560x1440 as the maximum available resolution.
Moreover, the python oneliner to check current resolution breaks on
recent versions of Gtk because Gdk.Screen has been deprecated.
Introduce a new script that:
- retrieves monitor(s) info from sysfs (port, max resolution, status,
etc.)
- uses up-to-date Gtk 3 methods to grab the current resolution and
scale factor for each connected monitors
- displays this information for tester to review
- compares data from sysfs and Gtk and returns an error if their data
does not match (so that the graphics/*_maximum_resolution_* job status
is automatically set to Passed or Failed depending of the outcome)
Update the graphics/*_maximum_resolution_* job to call this script.
Previously the command to connect or disconnect the USB device was sent
almost at the same time that removable_watcher started waiting for that
change to take place. This meant that there was a big chance for that
action to happen _before_ the test could observe the change.
This patch introduces a delay (with a background thread) that calls
Zapper after 5 seconds from starting the observation. The whole test is
programmed to wait for 20s, so the delay doesn't change the duration of
the test. It's also not some fixing-race-conditions-with-random-sleeps
kind of fix.