nextcloud/all-in-one

Hardware Acceleration: Allow to select which GPUs shall be used (by "memories" container)

Open

#8.445 aberto em 13 de jul. de 2026

Ver no GitHub
 (4 comments) (0 reactions) (0 assignees)PHP (1.028 forks)batch import
enhancementhelp wanted

Métricas do repositório

Stars
 (9.719 stars)
Métricas de merge de PR
 (Mesclagem média 4d 1h) (81 fundiu PRs em 30d)

Description

I recently changed my server hardware and now I have two GPUs running with Ubuntu 26.04. The Intel iGPU and a dedicated Nvidia GPU. I'd like to use the iGPU for hardware acceleration for the memories community container through /dev/dri and noticed a strange behaviour. Sometimes after a reboot, the hardware acceleration doesn't work. I first narrowed the problem down to the fact that it's possible that after a reboot the Nvidia GPU can be the renderD128 device. So I came up with the idea to explicity map the iGPU into the AIO mastercontainer by path. I attached a screenshot from my docker compose file. This works perfect, as I only can see one device in the mastercontainer. But after the last reboot, I had again problems with the hardware acceleration. The kernel mounted the Nvidia GPU on the host to renderD128. The mastercontainer still had the iGPU on renderD128 because of the explicit mapping but the memories container had both GPUs and renderD128 was the Nvidia GPU. It can be that the issue lies within the memories container but because AIO does the heavy lifting stuff, I assume the issue is on the AIO side.

Steps to reproduce

  1. Use hardware with more than 1 GPU and set up instance with a container which can use hardware acceleration
  2. Map only one GPU into the mastercontainer
  3. Check /dev/dri on the mastercontainer and the childcontainer

Expected behavior

The childcontainer (memories in this case) only has the explicit mapped /dev/dri device

Actual behavior

The childcontainer got all /dev/dri devices

Other information

Host OS Ubuntu 26.04

Other valuable info

Guia do colaborador