Sostituire una GPU NVIDIA con una scheda Intel Arc può lasciare un'applicazione self-hosted funzionante mentre un'altra perde l'accelerazione. È esattamente ciò che è successo nella discussione originale tra giugno e agosto 2026. Dopo aver sostituito una RTX 2070 con una Intel Arc A310, la transcodifica hardware di Jellyfin ha continuato a funzionare e intel-gpu-top funzionava sull'host ZimaOS, ma il riconoscimento facciale di Immich si è interrotto e il widget della GPU nella home page di ZimaOS è scomparso.
Lo YAML di Immich pubblicato spiegava perché le applicazioni si comportassero diversamente: il servizio di machine learning conservava ancora una prenotazione GPU Docker in stile NVIDIA. Il percorso Intel di Immich usa OpenVINO e l'accesso diretto a /dev/dri. L'autore del post ha infine modificato lo YAML nella nuova interfaccia di ZimaOS e ha confermato che il machine learning aveva ripreso a funzionare.
Il corretto funzionamento di Jellyfin non dimostra che Immich ML abbia accesso alla GPU
Jellyfin e il machine learning di Immich sono container separati. Ognuno riceve la propria immagine, i propri dispositivi, l'ambiente e le autorizzazioni di runtime. Passare una GPU Intel a Jellyfin non consente automaticamente a /dev/dri comparire automaticamente all'interno di immich-machine-learning.
Questa è stata la correzione concettuale più importante della discussione. Il rilevamento della GPU a livello di host, la transcodifica di Jellyfin, il machine learning di Immich e il widget della GPU di ZimaOS sono quattro livelli distinti.
Il servizio di machine learning sembrava ancora configurato come quello NVIDIA precedente
Il file YAML di origine conteneva una prenotazione di dispositivo Docker simile a:
deploy:
resources:
reservations:
devices:
- capabilities:
- gpu
device_ids:
- "0"
Quella prenotazione generica della GPU era stata trasferita dalla precedente configurazione con RTX 2070. Non corrispondeva al normale percorso Intel OpenVINO utilizzato da Immich.
Per prima cosa, verifica che la GPU Intel esista sull'host ZimaOS
L'autore del post aveva già stabilito due fatti importanti:
-
intel-gpu-topfunzionava dal terminale di ZimaOS; - Jellyfin poteva usare la Arc A310 per la transcodifica hardware.
Questi risultati mostrano che il kernel dell'host e almeno un percorso multimediale nello spazio utente potevano usare la GPU. Rendono poco plausibile che “la scheda Arc non venga rilevata affatto” sia la spiegazione del malfunzionamento di Immich.
Poi verifica /dev/dri all'interno del container ML di Immich
Il membro della community ha suggerito di controllare separatamente host e container. Il diagnostico più utile è verificare se il container di machine learning riesce a vedere /dev/dri.
Se l'host dispone del dispositivo di rendering Intel ma il container no, la correzione va apportata nella definizione del container, non nel BIOS della scheda madre o nella configurazione PCIe.
L'attuale ML Intel di Immich utilizza OpenVINO
L'attuale supporto di Immich per il machine learning con accelerazione hardware utilizza OpenVINO per l'hardware Intel. Il container di machine learning necessita dell'immagine OpenVINO appropriata, o di una sua variante, oltre all'accesso ai dispositivi di rendering.
Prima di modificare uno stack attuale, consulta i requisiti attuali di Immich per il machine learning con accelerazione hardware Intel OpenVINO, perché i tag delle immagini e le opzioni di accelerazione supportate possono cambiare tra le versioni di Immich.
La community ha suggerito di rimuovere la prenotazione NVIDIA e aggiungere l'accesso ai dispositivi Intel
Il rispondente ha proposto di rimuovere la vecchia deploy.resources.reservations.devices sezione per il servizio ML e assicurandosi che i dispositivi di rendering Intel fossero esposti, concettualmente usando:
devices:
- /dev/dri:/dev/dri
La risposta suggeriva inoltre un'immagine specifica per il machine learning basata su OpenVINO per la versione pubblicata dall'utente.
Quei tag di versione esatti appartengono al periodo di riferimento della fonte. Usa i tag attuali di Immich invece di fissare il numero di versione 2026.
Usa i log del machine learning per confermare il provider dell'acceleratore
Funzionante /dev/dri mount è necessario ma non sufficiente. Dopo aver modificato lo YAML, riavvia Immich e controlla i log del machine learning per verificare l'inizializzazione dell'acceleratore, il caricamento del modello o eventuali errori del provider.
È preferibile rispetto a valutare il successo dal widget GPU di ZimaOS, perché il log dell'applicazione indica se lo specifico servizio ML sta effettivamente utilizzando il backend previsto.
La modifica dello YAML nelle versioni più recenti di ZimaOS ha reso più semplice la correzione
Quando l'autore originale del post è tornato il 24 agosto, ha specificato che l'ultima versione di ZimaOS rendeva la modifica dello YAML più direttamente accessibile dalla home page del server. Questo ha eliminato la precedente difficoltà nel trovare lo YAML dell'app sottostante.
Questo segna un importante limite di versione: i vecchi suggerimenti su come individuare manualmente i file Compose generati sono meno rilevanti dopo che ZimaOS App Store 2.0 ha aggiunto la modifica nativa dello YAML.
L'autore del post originale ha confermato il ripristino del machine learning
La risposta finale della fonte afferma che, dopo aver rimosso il vecchio blocco di prenotazione della GPU e modificato la configurazione dei dispositivi, il machine learning di Immich ha ripreso a funzionare.
Questo rende il caso originale risolto. Non dimostra che ogni modello Intel Arc o ogni versione di Immich utilizzi esattamente lo stesso YAML, ma convalida fortemente la diagnosi: il container ML era ancora configurato per il modello di GPU precedente.
Il widget GPU mancante di ZimaOS era un problema separato
Il widget GPU della home page è scomparso dopo il passaggio alla Arc A310, ma Jellyfin stava già utilizzando la GPU. Ciò significa che il widget del dashboard non poteva essere considerato l'indicatore autorevole del supporto GPU.
Per la risoluzione dei problemi delle applicazioni, dai priorità al rilevamento del dispositivo da parte dell'host, alla visibilità del dispositivo nel container e ai log dell'applicazione, anziché a un widget decorativo sull'utilizzo.
Una checklist migliore per la migrazione della GPU
- Conferma la nuova GPU e il driver a livello dell'host ZimaOS.
- Verifica separatamente ogni applicazione con accelerazione.
- Rimuovi le prenotazioni dei dispositivi specifiche del produttore precedente.
- Usa il backend di accelerazione richiesto dal nuovo produttore.
- Passa i dispositivi di rendering richiesti a ciascun container interessato.
- Riavvia solo lo stack interessato e controlla i log.
- Avvia una nuova elaborazione di machine learning in Immich e verifica che i risultati vengano visualizzati.
FAQ su Immich e Intel Arc
Perché Jellyfin continuava a funzionare mentre il riconoscimento facciale di Immich si è interrotto?
Le due applicazioni vengono eseguite in container diversi e richiedono una configurazione GPU separata.
Quale backend utilizza attualmente Immich per il machine learning sulla GPU Intel?
OpenVINO.
Il problema originale della Arc A310 è stato risolto?
Sì. L'utente ha confermato che la modifica dello YAML ha ripristinato il machine learning.
Il widget GPU di ZimaOS determina se Immich può usare la GPU?
No. Il caso originale riguardava un widget mancante, mentre l'accelerazione GPU di Jellyfin continuava a funzionare.
