Commit Graph

347 Commits

Author SHA1 Message Date
Martin Pulec
9245675d1b CI ARM: temporarily disable aplay/aes67
Uses a features(std::to_chars) not being present in libsdc++ in Debian
11, will be re-enabled after builders updated to Buster.
2026-02-23 08:14:05 +01:00
Martin Pulec
dde604ed73 ARM CI: fix explicit features dropped
with the commit 6e8a62bf (27th Aug 2025) the explicit feature spec was
accidently dropped (missing $@)
2026-02-20 16:26:28 +01:00
Martin Pulec
d668d96652 Revert "CI Linux FFmpeg: apply SVT-AV1 patch"
This reverts commit 725cab8d6b.

no longer needed - the patch has been merged in upstream FFmpeg
2026-02-20 15:24:08 +01:00
Martin Pulec
485851ffcd CI Linux FFmpeg: drop no longer needed workaround
added by the commit 98515da3 in 20th Jun 2025 - effectively reverted
(but the script was renamed in the meantime)
2026-02-17 10:14:27 +01:00
Martin Pulec
e4d3035c1f CI Arch Linux Docker test: add -u to -Sy
It seems like some install fail if we do not upgrade at the same time.

fixes the error:
<https://gist.github.com/MartinPulec/602c195ec03933f826668b3ec1239d02>

+ use more descriptive name for the CI step
+ drop final \ in the Dockerfile (as mentioned in the CI output linked above)
2026-02-17 09:32:22 +01:00
Martin Pulec
725cab8d6b CI Linux FFmpeg: apply SVT-AV1 patch
current FFmpeg version dd2976b9 doesn't compile with SVT-AV1 commit
9485b939 with following error:
```
libavcodec/libsvtav1.c:240:14: error: ‘EbSvtAv1EncConfiguration’ has no member named ‘enable_adaptive_quantization’
  240 |         param->enable_adaptive_quantization = 0;

```
2026-01-23 13:12:42 +01:00
Martin Pulec
e5f61f655a CI Linux FFmpeg: updated SVT-HEVC patch
SVT-JPEG-XS has been merged, which was causing the conflicts
2026-01-15 14:48:20 +01:00
Martin Pulec
d5c01300d4 docker_appimage_tests.sh: print which test failed
Since the tests are run in parallel (and also there is much output),
it may be difficult to track which one container actually failed so
write at least a summary.
2026-01-07 15:52:06 +01:00
Martin Pulec
af553d6d27 CI Linux install libdecor Cairo plugin explicitly
Instead of ensuring that the plugin is present, instal the Cairo plugin
directly.

The Cairo implementation is the only libdecor plugin present in U22.04
repositories (U24.04 has the Gtk implementation as well).
2026-01-06 11:01:43 +01:00
Martin Pulec
a44e42e520 AppImage: bundle libdecor
both GLFW and SDL load libdecor-0.so.0 by dlopen so it is not going to
be bundled...
2026-01-06 09:02:56 +01:00
Martin Pulec
de37ee3a70 CI Dockerfile.ubuntu: adjust also for ubuntu-latest
some packages changed its names
2025-11-25 11:55:49 +01:00
Martin Pulec
8b13221a05 CI Linux: run Docker tests in parallel 2025-11-25 11:55:49 +01:00
Martin Pulec
9e7f643aed docker_appimage_tests.sh: simplify
add the version unconditionally in the script and do not add a placeholder
to Dockerfile
2025-11-25 11:55:49 +01:00
Martin Pulec
aa3051dc0e CI Linux AppImage Docker: try also latest Ubuntu 2025-11-25 11:55:48 +01:00
Martin Pulec
59069b8361 CI Linux AppImage check: run at once 2025-11-25 11:55:48 +01:00
Martin Pulec
8e9f142f7c CI Dockerfile.archlinux: add missing deps
- harfbuzz - blacklisted by AI excludelist
- xorg-server-xvfb - needed for GUI test
2025-11-25 11:55:48 +01:00
Martin Pulec
53892bbd0a CI Linux AppImage test: run tests for both distros
run the same test cases for both Arch Linux and Ubuntu

+ rename Dockerfile.arch to Dockerfile.archlinux (the former is a bit
misleading - arch==architecture or what?)
2025-11-25 11:55:48 +01:00
Martin Pulec
e693ca0b98 GH/.../docker_appimage_tests.sh: quote vars
+ split long lines
+ move --appimage-extract to the begining

all changes are mostly a refactor
2025-11-25 11:55:48 +01:00
Martin Pulec
709276a8af CI: mv AppImage Docker tests to standalone script 2025-11-25 11:55:42 +01:00
Martin Piatka
2ee732aae4 CI: Linux/SDL: Install xtest build dependency 2025-11-20 12:38:37 +01:00
Martin Pulec
fd38dbfadb CI Linux FFmpeg: build with liboapv
to support APV in Linux binary builds
2025-10-24 11:23:00 +02:00
Martin Pulec
0921b1d30b CI Linux FFmpeg: build own dav1d
current FFmpeg code requires dav1d >1.0.0 but in Ubuntu 22.04 is just 0.9.2
2025-10-03 15:57:09 +02:00
Martin Pulec
3f0d98a18f CI Linux FFmpeg: update libde265 patch
the original version no longer applied so the UG/FFmpeg build failed
2025-10-03 15:19:58 +02:00
Martin Pulec
2169772063 remove sdl_mixer
should be replaced altogether with fluidsynth - add alias there

+ removed typo in fluidsynth pkg name  ARM CI bootstrap.sh
2025-09-01 10:22:18 +02:00
Martin Pulec
44788b71ce CI Linux install_sdl.sh: ensure features
ensure required features explicitly on
2025-09-01 09:17:27 +02:00
Martin Pulec
14b41852d2 CI Linux: build up-to-date glfw 2025-08-28 09:20:28 +02:00
Martin Pulec
1a1bee8a29 CI Linux: simplify caches
handle cache build/install (transitively) in prepare.sh
2025-08-28 09:19:55 +02:00
Martin Pulec
ed78a761fe CI Linux FFmpeg: consolidate to a single script
in similar fashion as already done for install_sdl.sh

As a bonus, we do not need to depend on whole prepare.sh for cache
rebuild but only on this script, which is perhaps cleaner and may
yield less rebuilds. Also prepare.sh is slightly easier.
2025-08-28 08:48:18 +02:00
Martin Pulec
0cfe4b6b0f CI Linux SDL: consolidate
add all to one script with deps/build_install/install_cached actions

- yml - use action @main
- cache: do not depend .github/scripts/Linux/prepare.sh, just the
catch-all SDL install file
- build SDL,SDL_ttf without entering the dir (as fluidsynth already does)
2025-08-28 08:48:16 +02:00
Martin Pulec
4466594c1e CI Linux: add Qt6 Wayland plugin
Install the qt6-wayland package - the plugin will then be deployed to
the AppImage automatically.

for the case when user has set QT_QPA_PLATFORM=wayland
2025-08-27 14:09:37 +02:00
Martin Pulec
e5691c9bee CI Linux: add /usr/local/lib to LD_LIBRARY_PATH
+ also to LIBRARY_PATH - this will is done also with -L in configure,
probably

Seems like that /usr/local/lib has never been in LD_LIBRARY_PATH and
somehow it didn't matter so far. But with fluidsynth build, we now get
in CI (== also prevents build):
```
ultragrid_acap_fluidsynth.so: libfluidsynth.so.3: cannot open shared object file: No such file or directory
````
2025-08-27 14:09:36 +02:00
Martin Pulec
031510b7e8 CI Linux: build fluidsynth alongside with SDL
In U22.04 (current Linux CI image), fluidsynth depends on sdl2, which
is undesirable. Actually we need to avoid sdl2 linking altogether.

Build from sources alongside with SDL. This makes sense since SDL_mixer
used to be build there and fluidsynth is replacing it.

+ prevent libsdl2-2.0-0 from (accidentally) installing
2025-08-27 14:09:35 +02:00
Martin Pulec
6e8a62bf1c CI: use SDL3 2025-08-27 12:13:08 +02:00
Martin Pulec
6eb185bda8 CI Linux: build SDL3
based on 9eb376ee38
2025-08-27 12:13:08 +02:00
Martin Pulec
3a60095d58 CI: enforce fluidsynth, do not require sdl_mixer 2025-08-27 09:00:21 +02:00
Martin Pulec
3af5f4dad6 CI Linux FFmpeg: update SVT-HEVC patch
the older seem no longer apply with the last 5000 commits from FFmpeg Git

rebased upon current FFmpeg Git master
2025-08-20 12:06:44 +02:00
Martin Pulec
a10bc18ae4 GH arm+coverity builds: add -f to curl
in order to fail on 4xx HTTP errors
2025-07-15 09:20:42 +02:00
Martin Pulec
8adbafcda9 gh/arm/bootstrap.sh: pass GITHUB_TOKEN
to avoid GH rate-limit
2025-07-15 09:20:37 +02:00
Martin Pulec
98515da346 CI FFmpeg Linux: fix libsvt_vp9
now without the patch
2025-06-20 14:59:18 +02:00
Martin Pulec
e88251ec73 CI Linux FFmpeg: update SVT-HEVC SVT-VP9 compat
assume that FFmpeg is already patched with SVT-VP9 patch

As a side effect, the SVT-VP9 patch doesn't need to be patched (these
patches conflicted because VP9 applied after HEVC, which is now not
the case).
2025-06-20 14:59:18 +02:00
Martin Pulec
4f3945fc44 CI Linux FFmpeg: update SVT-HEVC patch
The patch no longer compiles with upstream FFmpeg (moreover the history
of 5000 commits is now too shallow.

Use a updated custom version now - the SVT-HEVC is archived, anyways so
the upstream won't be updated.
2025-06-20 14:59:18 +02:00
Martin Pulec
ae8cc3db8c CI FFmpeg Linux: copy SVT-HEVC patch
to be updated in next commit, for reference
2025-06-20 14:59:17 +02:00
Martin Pulec
735b6d8060 Revert "CI Linux FFmpeg: libsvtav1 API change patch"
This reverts commit 79f85919f1.

No longer needed since cartwheel removal.
2025-06-20 14:59:17 +02:00
Martin Pulec
e475c4f774 Revert "CI Linux FFmpeg: apply cartwheel patches"
This reverts commit a30a8945e3.

This doesn't seem to be required anymore (at least xv30 and yuvx work
with Arc A770 and Raptor Lake-P GPU on i7-1355U).

As the patches need to be applied against specific version of FFmpeg
(pinned in db308b17 2023-02-03). Currently the version is from 23th Dec
2024, which is slightly old. That is a half of the year but we also
depend on the cartwheel version bump, which is a bit unfortunate, whereas
is now not cerain, if there is something needed.
2025-06-20 14:59:16 +02:00
Martin Pulec
40dd353465 vcomp/lavc: nvenc no intra-refresh for HEVC/AV1
Since the pulsation issue, it was not much usable, anyways and this
clean-ups the code a bit.

Also the behavior will be now more deterministic - it behaved differently
with patched FFmpeg (most likely GH Linux builds), othewrise differntly.

+ enable the header-inserter if user expliclty requesetd intra-refresh

refers to GH-114
2025-06-19 09:09:44 +02:00
Martin Pulec
abd7ae96fd vcomp/lavc: h264_nvenc: fix pulsation w intra-refr
Avoid pulsation with inra-refresh by repeating the missing SPS/PPS with
header inseter.

Unfortunately this is doesn't work well with HEVC because it seems that
the NVIDIA encoder keeps the reference almost forever in specific cases,
eg. `testcard:patt=text`. However, it _may_ work under some circumstances.
2025-06-19 09:08:32 +02:00
Martin Pulec
13a0c48126 Linux ARM CI: install imagemagick
Now (since 2025-04-04, 05187ea56) it is required to bundle magickwand
dependencies.
2025-04-15 09:28:02 +02:00
Martin Pulec
05187ea56d AppImage: bundle aux data for IM magickwand 2025-04-04 22:42:41 +02:00
Martin Pulec
937d07ded2 CI: fix XIMEA URL 2025-04-04 11:58:23 +02:00
Martin Pulec
e2f0ddc6eb CI ARM: set CFLAGS for 32-bit off_t
The flags queried also for 64-bit ARM but it is empty there.

This does basically the same as the commit f46a101c, that adds
_FILE_OFFSET_BITS=64 define to config.h. But the config.h may not be
always included now.

+ compat/misc: typo in comment + assert 64b off_t (off_t should be
actually 64b in _OFF64 env and >= 64b in _OFFBIG so assert at least 64)
2025-03-27 12:17:34 +01:00