Commit d967813
committed
CI: switch imageviewer ASan smoke from xvideo to sdl2
Run #1 of the v10 imageviewer smoke step tripped on Xvfb's
incomplete XVideo support:
Error: [XVideo] XvQueryAdaptors() found 0 adaptors.
Error: [Video] Cannot open video driver. Exiting...
Xvfb advertises the XVideo *extension* (which my pre-flight
check verified) but provides zero XVideo *adaptors* -- adaptors
are the hardware-acceleration backends, and Xvfb has no real
video hardware to back them with. The xvideo driver in
gfx/drivers/xvideo.c correctly errors out via XvQueryAdaptors's
count check rather than crashing -- that's good defensive code,
not a bug -- but it means xvideo is unusable on Xvfb and we
need a different video driver for the smoke.
Pivot to SDL2. RetroArch's sdl2 video driver
(gfx/drivers/sdl2_gfx.c) uses SDL2's X11 backend with MIT-SHM
for image transfer -- both confirmed available on Xvfb out of
the box. A standalone SDL_CreateRenderer probe under Xvfb
returns a working SDL_RENDERER_SOFTWARE renderer cleanly
(verified locally before this patch landed).
Coverage tradeoff: we lose xvideo's YUV color-conversion +
XShm codepath but keep all the high-leverage surface (dlopen
of the core, retro_load_game, the stb_image decode path, video
driver init, the runloop, full cleanup-on-shutdown). The
dropped xvideo-specific surface is small enough that it's not
worth the cost of finding a virtual X server with software
XVideo adaptors -- nothing widely available actually provides
those.
* .github/workflows/Linux-asan-ubsan.yml
- Install dependencies: drop libxv-dev, libxext-dev,
libxxf86vm-dev (xvideo build deps). libsdl2-dev was
already in the base set so no new packages required.
- Configure: --enable-xvideo -> --enable-sdl2. Same explicit-
over-implicit reasoning: silent fall-back to a different
driver would skew the smoke without warning.
- Smoke step: video_driver = "xvideo" -> "sdl2" in the inline
retroarch.cfg. The xdpyinfo XVideo readiness probe becomes
an MIT-SHM probe (which SDL2 actually uses). Step comment
rewritten to document why we pivoted from xvideo, with the
actual error message from run #1 inlined for context.
- Header comment: tier-2 description updated from "X11 +
XVideo color-conversion pipeline" to "SDL2 + X11 + MIT-SHM
rendering pipeline".
Pre-flight lesson: extension presence != functional driver.
xdpyinfo -queryExtensions told me XVideo was present; what I
should have verified is that XvQueryAdaptors returns a positive
count. For SDL2 the equivalent positive verification is
SDL_CreateRenderer returning non-NULL, which the local probe
confirmed.
Verified locally:
- YAML parses, 9 steps, soft-fail still scoped to only the
imageviewer step.
- Standalone SDL2 renderer probe (SDL_CreateWindow +
SDL_CreateRenderer w/ SDL_RENDERER_SOFTWARE) on Xvfb display
returns ok, exit 0.
- Patch applies cleanly to b9777c8 + v8 (efae310 + ace9c9f
didn't touch this file).
Cannot verify locally: the actual end-to-end run, which would
require building a sanitizer-instrumented retroarch binary
linked against SDL2. As before, the next CI run is the
experiment.1 parent c268f73 commit d967813
1 file changed
Lines changed: 63 additions & 34 deletions
File tree
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6790 | 6790 | | |
6791 | 6791 | | |
6792 | 6792 | | |
| 6793 | + | |
| 6794 | + | |
| 6795 | + | |
| 6796 | + | |
| 6797 | + | |
| 6798 | + | |
| 6799 | + | |
| 6800 | + | |
| 6801 | + | |
| 6802 | + | |
| 6803 | + | |
| 6804 | + | |
6793 | 6805 | | |
6794 | | - | |
6795 | | - | |
6796 | | - | |
6797 | | - | |
6798 | | - | |
| 6806 | + | |
| 6807 | + | |
| 6808 | + | |
| 6809 | + | |
| 6810 | + | |
6799 | 6811 | | |
6800 | 6812 | | |
6801 | 6813 | | |
6802 | 6814 | | |
6803 | 6815 | | |
6804 | 6816 | | |
6805 | | - | |
| 6817 | + | |
6806 | 6818 | | |
6807 | | - | |
6808 | | - | |
6809 | | - | |
6810 | | - | |
6811 | | - | |
6812 | | - | |
| 6819 | + | |
| 6820 | + | |
| 6821 | + | |
| 6822 | + | |
| 6823 | + | |
| 6824 | + | |
6813 | 6825 | | |
6814 | 6826 | | |
| 6827 | + | |
| 6828 | + | |
| 6829 | + | |
6815 | 6830 | | |
6816 | 6831 | | |
6817 | 6832 | | |
| |||
6822 | 6837 | | |
6823 | 6838 | | |
6824 | 6839 | | |
| 6840 | + | |
| 6841 | + | |
| 6842 | + | |
| 6843 | + | |
6825 | 6844 | | |
6826 | | - | |
6827 | | - | |
6828 | | - | |
6829 | | - | |
6830 | | - | |
| 6845 | + | |
| 6846 | + | |
| 6847 | + | |
| 6848 | + | |
| 6849 | + | |
6831 | 6850 | | |
6832 | 6851 | | |
6833 | 6852 | | |
6834 | 6853 | | |
6835 | 6854 | | |
6836 | 6855 | | |
6837 | | - | |
| 6856 | + | |
| 6857 | + | |
6838 | 6858 | | |
6839 | 6859 | | |
| 6860 | + | |
6840 | 6861 | | |
6841 | 6862 | | |
6842 | 6863 | | |
6843 | | - | |
6844 | | - | |
6845 | | - | |
| 6864 | + | |
| 6865 | + | |
| 6866 | + | |
6846 | 6867 | | |
6847 | | - | |
| 6868 | + | |
| 6869 | + | |
6848 | 6870 | | |
| 6871 | + | |
6849 | 6872 | | |
6850 | 6873 | | |
6851 | 6874 | | |
6852 | | - | |
6853 | | - | |
6854 | | - | |
| 6875 | + | |
| 6876 | + | |
| 6877 | + | |
6855 | 6878 | | |
6856 | 6879 | | |
6857 | 6880 | | |
| 6881 | + | |
6858 | 6882 | | |
6859 | 6883 | | |
6860 | 6884 | | |
| |||
6866 | 6890 | | |
6867 | 6891 | | |
6868 | 6892 | | |
| 6893 | + | |
| 6894 | + | |
| 6895 | + | |
6869 | 6896 | | |
6870 | | - | |
6871 | | - | |
6872 | | - | |
| 6897 | + | |
| 6898 | + | |
| 6899 | + | |
6873 | 6900 | | |
6874 | 6901 | | |
6875 | 6902 | | |
| |||
6881 | 6908 | | |
6882 | 6909 | | |
6883 | 6910 | | |
6884 | | - | |
| 6911 | + | |
6885 | 6912 | | |
6886 | | - | |
6887 | | - | |
6888 | | - | |
6889 | | - | |
6890 | | - | |
| 6913 | + | |
| 6914 | + | |
| 6915 | + | |
| 6916 | + | |
| 6917 | + | |
| 6918 | + | |
6891 | 6919 | | |
6892 | 6920 | | |
6893 | 6921 | | |
| 6922 | + | |
6894 | 6923 | | |
6895 | 6924 | | |
6896 | 6925 | | |
| |||
0 commit comments