5 Commits

Author SHA1 Message Date
Wai Cheng 020def0305 intel: fix VA-API encoders not registering (no element "vah264enc") (#721)
* intel: fix VA-API encoders not registering (no element "vah264enc")

The intel images fail to stream with a hardware encoder on stock config:
every client connect ends with '(pipeline error) no element "vah264enc"'.

There are three problems, all of which are needed to fix it:

1. The render group never reaches the neko process. supervisord resolves the
   supplementary groups of each program from /etc/group when it spawns it, but
   'rendergroup-init' (which calls usermod) is spawned in the same pass, so the
   neko process usually starts before the group has been assigned and cannot
   access /dev/dri/render*. Assign the group in an entrypoint, before
   supervisord starts, instead.

2. libva does not initialize the X11 display without an explicitly selected
   driver in this image, it fails with 'vaGetDriverNames() failed'. Set
   LIBVA_DRIVER_NAME=iHD, which is the only driver installed by the intel image.

3. GStreamer only registers the VA-API elements if a usable VA display is found
   while the plugins are scanned for the first time, and the outcome is cached
   in the user's registry. neko performs that scan at startup, before the X
   server is ready, so the cache ends up without vah264enc/vah264dec and stays
   that way. Wait for VA to be usable and drop the stale registry before
   starting neko.

* intel: keep the wrapper and the supervisord override in the intel image

Per the review on #721: no wrapper in every flavour with a runtime 'vainfo'
check, it should only be in the intel image.

- neko-serve moved to runtime/intel/neko-serve and is copied only by
  Dockerfile.intel. The 'command -v vainfo' check is dropped, only the intel
  image ships it.
- The [program:neko] block is overridden with runtime/intel/supervisord.neko.conf,
  copied to /etc/neko/supervisord/neko.conf. [include] is parsed after the main
  config and the last definition of a program wins, so supervisord.conf keeps
  'neko serve' and it does not have to be touched. Same mechanism as
  supervisord.nvidia.conf in the app images.
- runtime/supervisord.conf, runtime/Dockerfile and runtime/Dockerfile.nvidia are
  back to their previous content.
2026-10-18 15:01:59 +02:00
Miroslav Šedivý a597d44680 Upgrade to debian trixie (#581)
* move flavored bookworm dockerfile to a new trixie dockerfile.

* fix opera openbox selector.

* fix remmina dependencies.

* remove chromium explicit bookworm source.

* Update apps to work with trixie (#624)

Co-authored-by: yesBad <me@bad.cash>

* remove SYS_ADMIN capability requirement for Chromium-based Docker images and update documentation accordingly.

* fix chromium package.

* change uBlock Origin to uBlock Origin Lite.

* restore waterfox in build matrix for GHCR workflows.

---------

Co-authored-by: Bad <87938689+yesBad@users.noreply.github.com>
Co-authored-by: yesBad <me@bad.cash>
2026-04-02 15:12:21 +02:00
Sean Ezrol 2ec35d9d0c Adds an https condition to the healthcheck (#503)
* Adds an https condition to the healthcheck

* Fix V2 to V3 naming change

* Update other dockerfiles
2025-04-06 23:33:52 +02:00
Miroslav Šedivý 8e97a97f79 server multiarch build. 2025-02-23 15:37:07 +01:00
Miroslav Šedivý 38e8ac3e21 split base build to multiple dockerfiles. 2024-09-08 17:22:49 +02:00