nextcloud/all-in-one

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

Open

#8,445 创建于 2026年7月13日

在 GitHub 查看
 (4 评论) (0 反应) (0 负责人)PHP (1,028 fork)batch import
enhancementhelp wanted

仓库指标

Star
 (9,719 star)
PR 合并指标
 (平均合并 4天 1小时) (30 天内合并 81 个 PR)

描述

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

贡献者指南