Case Study TS-437A 2 x Turing GPU. Container -> (GPU 0) Plex -> (GPU 1)

3Qn

Ave UBI!
Q's Expert
11 Czerwiec 2016
338
2
91
113
QNAP
TS-x73A
Ethernet
1 GbE
Cel:
Użycie dwóch kart graficznych pierwszej Quadro T600 na rzecz projektów ML (Jupiter, Kers, etc.) drugiej T400 dedykowanej serwerowi Plex Media Server.

Kierowany przesłanką iż zasoby w tym przypadku GPU nie są współdzielone (do tego tematu jeszcze wrócimy ;))

1653676673600.png



Model TS-473A posiada dwa otwarte gniazda PCI-E x4

IMG_20220526_201354.jpg


z których do pierwszego bez problemu wepniemy karty w standardzie PCI-E x8

IMG_20220527_095049.jpg


do drugiego jesteśmy ograniczeni do kart w standardzie PCI-E x4 ( czarnym markerem zaznaczony został fragment szyny do wycięcia)

IMG_20220526_201255.jpg


Ostatni widok przed

IMG_20220526_212451.jpg


Do ucięcia wykorzystałem piłkę ręczną

IMG_20220527_094325.jpg


Do wygładzenia dość nierównej powierzchni użyłem metalowego pilnika do paznokci ;)

IMG_20220527_094839.jpg


Po modyfikacji karę bez problemu montujemy do gniazda PCI-e x4 :sneaky:

IMG_20220527_095802.jpg



IMG_20220527_100016.jpg


Nas prawidłowo uruchamia się karty są widoczne w systemie
Bash:
$ gpuhal_app -l 7
1:NVIDIA Corporation:Device:external:7
2:NVIDIA Corporation:Device:external:7

A teraz wracamy do tematu dzierżawy zasobów :p jak widać na załączonym screenie druga karta graficzna pomimo że powinna byc wykorzystywana przez Plex'a ten wykorzystuję kartę numer 1 :/

1653671196730.png


Co jest dość dziwne jak na fakt iż zostajemy zmuszeni do decydowania na rzecz czego wykorzystana będzie karta graficzna.

Próba wymuszenia na Plex'e użycia karty drugiej dwie metody:
1) Dodanie atrybutu HardwareDevicePath="/dev/dri/renderD129" do pliku /share/ZFS530_DATA/.qpkg/PlexMediaServer/Library/Plex Media Server/Preferences.xml fragment ZFS530_DATA zależny od systemu QTS/QTS Hero
2) Próbowałem wymusić użycie karty drugiej podczas inicjalizacji Plexa w pliku /share/ZFS530_DATA/.qpkg/PlexMediaServer/plex.sh
Bez skutecznie, na ten moment szukam informacji jak wymusić na plexie wykorzystanie specyficznej karty bo jak widać samo przypisanie Trybu nie gwarantuje użycia poprawnej natomiast w sieci napotkałem się na informację iż Plex używa pierwszej możliwej karty w systemie. O progresie będę informował :giggle:
 

Załączniki

  • 1653670600602.png
    1653670600602.png
    1,5 MB · Wyświetleń: 74
  • plex.sh
    8,1 KB · Wyświetleń: 56
  • IMG_20220527_095049.jpg
    IMG_20220527_095049.jpg
    3,3 MB · Wyświetleń: 67
  • IMG_20220527_095757.jpg
    IMG_20220527_095757.jpg
    2 MB · Wyświetleń: 66
  • Lubię to
Reakcje: Pawliko
to ja mam pytanie - ile prądu więcej wciąga nas przez dodanie 2. karty grafiki ?
 
  • Lubię to
Reakcje: Silas Mariusz
w sumie można uciąć tylko dziurę żeby odstęp zrobić .. no ale na tym etapie .. to jeden czort :p
 
  • Lubię to
Reakcje: Silas Mariusz
@jerry1333 Quadro T400 kosztowała 440 zł Qnapa 3.7 zł tyś naprawdę uważasz że lepiej uszkodzić nas'a?. Ta karta to low profile jej atuty to tylko i wyłącznie sprzętowy encoder/decoder. Aby rozebrać nasa trzebe włożyć nieporównywalnie więcej wysiłku gniazda wtyki poklejone.
@pigers T400 30W T600 40W wsród kart wspieranych jest GAMING GeForce GTX 1650 z jego specyfikacji wynika że żre 75W :p

Bash:
$ gpuhal_app -l
1:NVIDIA Corporation:Device:external:7
2:NVIDIA Corporation:Device:external:7

$ gpuhal_app -L 1
temperature=51
usage=0
memory=3/3911
fan=40
power=[N/A],/W

$ gpuhal_app -L 2
temperature=33
usage=0
memory=3/1876
fan=38
power=[N/A],/W
 
  • Lubię to
Reakcje: Silas Mariusz
Do transkodowania lepsze są karty serii P, dla przykładu, P1000 można kupić za ok 450-500 złotych bez problemu. P1000 potrafi uciągnąć jednocześnie 6streamów 4k->FHD nie angażując w ogóle CPU.

Fakt faktem, rzeźnia jak 150 z tymi kartami. Zobacz jaki masz zasilacz, żeby później Ci później prądu nie zabrakło jak dasz po garach.

BTW. bardzo wysoka temperatura pracy tego GPU. U mnie p1000 na maksymalnych obrotach chodzi zdecydowanie niżej.
 
  • Lubię to
Reakcje: Kong
Czytałem dużo komentarzy że P1000 do Plexa to overkill więc do tego celu T400 wystarczy. T600 ma być GPU do ML im więcej ma więcej CUDA w testach lepiej . -> Quadro P1000 vs T600 - Compare Now

Maksymalna ilość aktywnych sesji NVENC według datasheet'ów to 3 dla P1000 i T600. Akurat to mnie najmniej interesuje maksymalnie dwie sesje chodzą u mnie. I to się nie zmieni.
Video Encode and Decode GPU Support Matrix [NEW]

Obie karty i Pascal i Turing w NASie nie pracują na pełnej szynie więc takie prztykanie się o wydajność nie do końca ma sens jak dla mnie
Za Pascalem przemawia:
+ cena ale na pewno nie tak kolorowo jak to przedstawiłeś
Za Turingiem:
+ mniej energii pobierają
+ więcej jednostek CUDA
+ lepsze sprzętowe pełne poza AV1 co dziennie do pracy i z pracy zrzucam z gopro filmy więc konwersja tego zaoszczędza i miejsca i przyspiesza wrzucanie na yt do prywatnej biblioteki ;P


@Ice Mało miejsca no mogły by te temperatury być z deka niższe pobadam ;)
 
  • Lubię to
Reakcje: Silas Mariusz
Czyli nie kupiłem jednej za 400 a drugiej za 450? Limit sesji ściągnięty jednym skryptem. Overkill raczej nie, bo na tym jest Plex i JellyFin, więc wszystko korzysta z tej karty.
 
  • Lubię to
Reakcje: 3Qn
Patch
Bash:
#!/bin/bash
# halt on any error for safety and proper pipe handling
set -euo pipefail ; # <- this semicolon and comment make options apply
# even when script is corrupt by CRLF line terminators (issue #75)
# empty line must follow this comment for immediate fail with CRLF newlines

backup_path="/opt/nvidia/libnvidia-encode-backup"
silent_flag=''
manual_driver_version=''
flatpak_flag=''
backup_suffix=''

print_usage() { printf '
SYNOPSIS
       patch.sh [-s] [-r|-h|-c VERSION|-l|-f]

DESCRIPTION
       The patch for Nvidia drivers to remove NVENC session limit

       -s             Silent mode (No output)
       -r             Rollback to original (Restore lib from backup)
       -h             Print this help message
       -c VERSION     Check if version VERSION supported by this patch.
                      Returns true exit code (0) if version is supported.
       -l             List supported driver versions
       -d VERSION     Use VERSION driver version when looking for libraries
                      instead of using nvidia-smi to detect it.
       -f             Enable support for Flatpak NVIDIA drivers.
'
}

# shellcheck disable=SC2209
opmode="patch"

while getopts 'rshc:ld:f' flag; do
    case "${flag}" in
        r) opmode="${opmode}rollback" ;;
        s) silent_flag='true' ;;
        h) opmode="${opmode}help" ;;
        c) opmode="${opmode}checkversion" ; checked_version="$OPTARG" ;;
        l) opmode="${opmode}listversions" ;;
        d) manual_driver_version="$OPTARG" ;;
        f) flatpak_flag='true' ;;
        *) echo "Incorrect option specified in command line" ; exit 2 ;;
    esac
done

if [[ $silent_flag ]]; then
    exec 1> /dev/null
fi

if [[ $flatpak_flag ]]; then
    backup_suffix='.flatpak'
    echo "WARNING: Flatpak flag enabled (-f), modifying ONLY the Flatpak driver."
fi

declare -A patch_list=(
    ["375.39"]='s/\x85\xC0\x89\xC5\x75\x18/\x29\xC0\x89\xC5\x90\x90/g'
    ["390.77"]='s/\x85\xC0\x89\xC5\x75\x18/\x29\xC0\x89\xC5\x90\x90/g'
    ["390.87"]='s/\x85\xC0\x89\xC5\x75\x18/\x29\xC0\x89\xC5\x90\x90/g'
    ["390.147"]='s/\x85\xC0\x89\xC5\x75\x18/\x29\xC0\x89\xC5\x90\x90/g'
    ["396.24"]='s/\x85\xC0\x89\xC5\x0F\x85\x96\x00\x00\x00/\x29\xC0\x89\xC5\x90\x90\x90\x90\x90\x90/g'
    ["396.26"]='s/\x85\xC0\x89\xC5\x0F\x85\x96\x00\x00\x00/\x29\xC0\x89\xC5\x90\x90\x90\x90\x90\x90/g'
    ["396.37"]='s/\x85\xC0\x89\xC5\x0F\x85\x96\x00\x00\x00/\x29\xC0\x89\xC5\x90\x90\x90\x90\x90\x90/g' #added info from https://github.com/keylase/nvidia-patch/issues/6#issuecomment-406895356
    # break nvenc.c:236,layout asm,step-mode,step,break *0x00007fff89f9ba45
    # libnvidia-encode.so @ 0x15a45; test->sub, jne->nop-nop-nop-nop-nop-nop
    ["396.54"]='s/\x85\xC0\x89\xC5\x0F\x85\x96\x00\x00\x00/\x29\xC0\x89\xC5\x90\x90\x90\x90\x90\x90/g'
    ["410.48"]='s/\x85\xC0\x89\xC5\x0F\x85\x96\x00\x00\x00/\x29\xC0\x89\xC5\x90\x90\x90\x90\x90\x90/g'
    ["410.57"]='s/\x85\xC0\x89\xC5\x0F\x85\x96\x00\x00\x00/\x29\xC0\x89\xC5\x90\x90\x90\x90\x90\x90/g'
    ["410.73"]='s/\x85\xC0\x89\xC5\x0F\x85\x96\x00\x00\x00/\x29\xC0\x89\xC5\x90\x90\x90\x90\x90\x90/g'
    ["410.78"]='s/\x85\xC0\x89\xC5\x0F\x85\x96\x00\x00\x00/\x29\xC0\x89\xC5\x90\x90\x90\x90\x90\x90/g'
    ["410.79"]='s/\x85\xC0\x89\xC5\x0F\x85\x96\x00\x00\x00/\x29\xC0\x89\xC5\x90\x90\x90\x90\x90\x90/g'
    ["410.93"]='s/\x85\xC0\x89\xC5\x0F\x85\x96\x00\x00\x00/\x29\xC0\x89\xC5\x90\x90\x90\x90\x90\x90/g'
    ["410.104"]='s/\x85\xC0\x89\xC5\x0F\x85\x96\x00\x00\x00/\x29\xC0\x89\xC5\x90\x90\x90\x90\x90\x90/g'
    ["415.18"]='s/\x00\x00\x00\x84\xc0\x0f\x84\x40\xfd\xff\xff/\x00\x00\x00\x84\xc0\x90\x90\x90\x90\x90\x90/g'
    ["415.25"]='s/\x00\x00\x00\x84\xc0\x0f\x84\x40\xfd\xff\xff/\x00\x00\x00\x84\xc0\x90\x90\x90\x90\x90\x90/g'
    ["415.27"]='s/\x00\x00\x00\x84\xc0\x0f\x84\x40\xfd\xff\xff/\x00\x00\x00\x84\xc0\x90\x90\x90\x90\x90\x90/g'
    ["418.30"]='s/\x00\x00\x00\x84\xc0\x0f\x84\x40\xfd\xff\xff/\x00\x00\x00\x84\xc0\x90\x90\x90\x90\x90\x90/g'
    ["418.43"]='s/\x00\x00\x00\x84\xc0\x0f\x84\x40\xfd\xff\xff/\x00\x00\x00\x84\xc0\x90\x90\x90\x90\x90\x90/g'
    ["418.56"]='s/\x00\x00\x00\x84\xc0\x0f\x84\x40\xfd\xff\xff/\x00\x00\x00\x84\xc0\x90\x90\x90\x90\x90\x90/g'
    ["418.67"]='s/\x00\x00\x00\x84\xc0\x0f\x84\x40\xfd\xff\xff/\x00\x00\x00\x84\xc0\x90\x90\x90\x90\x90\x90/g'
    ["418.74"]='s/\x00\x00\x00\x84\xc0\x0f\x84\x0f\xfd\xff\xff/\x00\x00\x00\x84\xc0\x90\x90\x90\x90\x90\x90/g'
    ["418.87.00"]='s/\x00\x00\x00\x84\xc0\x0f\x84\x0f\xfd\xff\xff/\x00\x00\x00\x84\xc0\x90\x90\x90\x90\x90\x90/g'
    ["418.87.01"]='s/\x00\x00\x00\x84\xc0\x0f\x84\x0f\xfd\xff\xff/\x00\x00\x00\x84\xc0\x90\x90\x90\x90\x90\x90/g'
    ["418.88"]='s/\x00\x00\x00\x84\xc0\x0f\x84\x0f\xfd\xff\xff/\x00\x00\x00\x84\xc0\x90\x90\x90\x90\x90\x90/g'
    ["418.113"]='s/\x00\x00\x00\x84\xc0\x0f\x84\x0f\xfd\xff\xff/\x00\x00\x00\x84\xc0\x90\x90\x90\x90\x90\x90/g'
    ["430.09"]='s/\x00\x00\x00\x84\xc0\x0f\x84\x0f\xfd\xff\xff/\x00\x00\x00\x84\xc0\x90\x90\x90\x90\x90\x90/g'
    ["430.14"]='s/\x00\x00\x00\x84\xc0\x0f\x84\x0f\xfd\xff\xff/\x00\x00\x00\x84\xc0\x90\x90\x90\x90\x90\x90/g'
    ["430.26"]='s/\x00\x00\x00\x84\xc0\x0f\x84\x0f\xfd\xff\xff/\x00\x00\x00\x84\xc0\x90\x90\x90\x90\x90\x90/g'
    ["430.34"]='s/\x00\x00\x00\x84\xc0\x0f\x84\x0f\xfd\xff\xff/\x00\x00\x00\x84\xc0\x90\x90\x90\x90\x90\x90/g'
    ["430.40"]='s/\x00\x00\x00\x84\xc0\x0f\x84\x0f\xfd\xff\xff/\x00\x00\x00\x84\xc0\x90\x90\x90\x90\x90\x90/g'
    ["430.50"]='s/\x00\x00\x00\x84\xc0\x0f\x84\x0f\xfd\xff\xff/\x00\x00\x00\x84\xc0\x90\x90\x90\x90\x90\x90/g'
    ["430.64"]='s/\x00\x00\x00\x84\xc0\x0f\x84\x0f\xfd\xff\xff/\x00\x00\x00\x84\xc0\x90\x90\x90\x90\x90\x90/g'
    ["435.17"]='s/\x00\x00\x00\x84\xc0\x0f\x84\x0f\xfd\xff\xff/\x00\x00\x00\x84\xc0\x90\x90\x90\x90\x90\x90/g'
    ["435.21"]='s/\x00\x00\x00\x84\xc0\x0f\x84\x0f\xfd\xff\xff/\x00\x00\x00\x84\xc0\x90\x90\x90\x90\x90\x90/g'
    ["435.27.08"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["440.26"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["440.31"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["440.33.01"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["440.36"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["440.43.01"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["440.44"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["440.48.02"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["440.58.01"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["440.58.02"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["440.59"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["440.64"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["440.64.00"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["440.66.02"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["440.66.03"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["440.66.04"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["440.66.08"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["440.66.09"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["440.66.11"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["440.66.12"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["440.66.14"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["440.66.15"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["440.66.17"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["440.82"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["440.95.01"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["440.100"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["440.118.02"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["450.36.06"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["450.51"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["450.51.05"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["450.51.06"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["450.56.01"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["450.56.02"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["450.56.06"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["450.56.11"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["450.57"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["450.66"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["450.80.02"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["450.102.04"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["455.22.04"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["455.23.04"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["455.23.05"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["455.26.01"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["455.26.02"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["455.28"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["455.32.00"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["455.38"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["455.45.01"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["455.46.01"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["455.46.02"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["455.46.04"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["455.50.02"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["455.50.04"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["455.50.05"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["455.50.07"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["455.50.10"]='s/\x85\xc0\x41\x89\xc4\x75\x1f/\x31\xc0\x41\x89\xc4\x75\x1f/g'
    ["460.27.04"]='s/\x22\xff\xff\x85\xc0\x41\x89\xc4\x0f\x85/\x22\xff\xff\x31\xc0\x41\x89\xc4\x0f\x85/g'
    ["460.32.03"]='s/\x22\xff\xff\x85\xc0\x41\x89\xc4\x0f\x85/\x22\xff\xff\x31\xc0\x41\x89\xc4\x0f\x85/g'
    ["460.39"]='s/\x22\xff\xff\x85\xc0\x41\x89\xc4\x0f\x85/\x22\xff\xff\x31\xc0\x41\x89\xc4\x0f\x85/g'
    ["460.56"]='s/\x22\xff\xff\x85\xc0\x41\x89\xc4\x0f\x85/\x22\xff\xff\x31\xc0\x41\x89\xc4\x0f\x85/g'
    ["460.67"]='s/\x22\xff\xff\x85\xc0\x41\x89\xc4\x0f\x85/\x22\xff\xff\x31\xc0\x41\x89\xc4\x0f\x85/g'
    ["460.73.01"]='s/\x22\xff\xff\x85\xc0\x41\x89\xc4\x0f\x85/\x22\xff\xff\x31\xc0\x41\x89\xc4\x0f\x85/g'
    ["460.80"]='s/\x22\xff\xff\x85\xc0\x41\x89\xc4\x0f\x85/\x22\xff\xff\x31\xc0\x41\x89\xc4\x0f\x85/g'
    ["460.84"]='s/\x22\xff\xff\x85\xc0\x41\x89\xc4\x0f\x85/\x22\xff\xff\x31\xc0\x41\x89\xc4\x0f\x85/g'
    ["460.91.03"]='s/\x22\xff\xff\x85\xc0\x41\x89\xc4\x0f\x85/\x22\xff\xff\x31\xc0\x41\x89\xc4\x0f\x85/g'
    ["465.19.01"]='s/\xe8\xc5\x20\xff\xff\x85\xc0\x41\x89\xc4/\xe8\xc5\x20\xff\xff\x29\xc0\x41\x89\xc4/g'
    ["465.24.02"]='s/\xe8\xc5\x20\xff\xff\x85\xc0\x41\x89\xc4/\xe8\xc5\x20\xff\xff\x29\xc0\x41\x89\xc4/g'
    ["465.27"]='s/\xe8\xc5\x20\xff\xff\x85\xc0\x41\x89\xc4/\xe8\xc5\x20\xff\xff\x29\xc0\x41\x89\xc4/g'
    ["465.31"]='s/\xe8\xc5\x20\xff\xff\x85\xc0\x41\x89\xc4/\xe8\xc5\x20\xff\xff\x29\xc0\x41\x89\xc4/g'
    ["470.42.01"]='s/\xe8\x25\x1C\xff\xff\x85\xc0\x41\x89\xc4/\xe8\x25\x1C\xff\xff\x29\xc0\x41\x89\xc4/g'
    ["470.57.02"]='s/\xe8\x25\x1C\xff\xff\x85\xc0\x41\x89\xc4/\xe8\x25\x1C\xff\xff\x29\xc0\x41\x89\xc4/g'
    ["470.62.02"]='s/\xe8\x25\x1C\xff\xff\x85\xc0\x41\x89\xc4/\xe8\x25\x1C\xff\xff\x29\xc0\x41\x89\xc4/g'
    ["470.62.05"]='s/\xe8\x25\x1C\xff\xff\x85\xc0\x41\x89\xc4/\xe8\x25\x1C\xff\xff\x29\xc0\x41\x89\xc4/g'
    ["470.63.01"]='s/\xe8\x25\x1C\xff\xff\x85\xc0\x41\x89\xc4/\xe8\x25\x1C\xff\xff\x29\xc0\x41\x89\xc4/g'
    ["470.74"]='s/\xe8\x25\x1C\xff\xff\x85\xc0\x41\x89\xc4/\xe8\x25\x1C\xff\xff\x29\xc0\x41\x89\xc4/g'
    ["470.82.00"]='s/\xe8\x25\x1C\xff\xff\x85\xc0\x41\x89\xc4/\xe8\x25\x1C\xff\xff\x29\xc0\x41\x89\xc4/g'
    ["470.82.01"]='s/\xe8\x25\x1C\xff\xff\x85\xc0\x41\x89\xc4/\xe8\x25\x1C\xff\xff\x29\xc0\x41\x89\xc4/g'
    ["470.86"]='s/\xe8\x25\x1C\xff\xff\x85\xc0\x41\x89\xc4/\xe8\x25\x1C\xff\xff\x29\xc0\x41\x89\xc4/g'
    ["470.94"]='s/\xe8\x25\x1C\xff\xff\x85\xc0\x41\x89\xc4/\xe8\x25\x1C\xff\xff\x29\xc0\x41\x89\xc4/g'
    ["470.103.01"]='s/\xe8\x25\x1C\xff\xff\x85\xc0\x41\x89\xc4/\xe8\x25\x1C\xff\xff\x29\xc0\x41\x89\xc4/g'
    ["470.129.06"]='s/\xe8\x25\x1C\xff\xff\x85\xc0\x41\x89\xc4/\xe8\x25\x1C\xff\xff\x29\xc0\x41\x89\xc4/g'
    ["495.29.05"]='s/\xe8\x35\x1f\xff\xff\x85\xc0\x41\x89\xc4/\xe8\x35\x1f\xff\xff\x29\xc0\x41\x89\xc4/g'
    ["495.44"]='s/\xe8\x35\x1f\xff\xff\x85\xc0\x41\x89\xc4/\xe8\x35\x1f\xff\xff\x29\xc0\x41\x89\xc4/g'
    ["495.46"]='s/\xe8\x35\x1f\xff\xff\x85\xc0\x41\x89\xc4/\xe8\x35\x1f\xff\xff\x29\xc0\x41\x89\xc4/g'
    ["510.39.01"]='s/\xe8\x15\x1f\xff\xff\x85\xc0\x41\x89\xc4/\xe8\x15\x1f\xff\xff\x29\xc0\x41\x89\xc4/g'
    ["510.47.03"]='s/\xe8\x15\x1f\xff\xff\x85\xc0\x41\x89\xc4/\xe8\x15\x1f\xff\xff\x29\xc0\x41\x89\xc4/g'
    ["510.54"]='s/\xe8\x15\x1f\xff\xff\x85\xc0\x41\x89\xc4/\xe8\x15\x1f\xff\xff\x29\xc0\x41\x89\xc4/g'
    ["510.60.02"]='s/\xe8\x15\x1f\xff\xff\x85\xc0\x41\x89\xc4/\xe8\x15\x1f\xff\xff\x29\xc0\x41\x89\xc4/g'
    ["510.68.02"]='s/\xe8\x15\x1f\xff\xff\x85\xc0\x41\x89\xc4/\xe8\x15\x1f\xff\xff\x29\xc0\x41\x89\xc4/g'
    ["510.73.05"]='s/\xe8\x15\x1f\xff\xff\x85\xc0\x41\x89\xc4/\xe8\x15\x1f\xff\xff\x29\xc0\x41\x89\xc4/g'
    ["515.43.04"]='s/\xe8\xd5\x1e\xff\xff\x85\xc0\x41\x89\xc4/\xe8\xd5\x1e\xff\xff\x29\xc0\x41\x89\xc4/g'
)

declare -A object_list=(
    ["375.39"]='libnvidia-encode.so'
    ["390.77"]='libnvidia-encode.so'
    ["390.87"]='libnvidia-encode.so'
    ["390.147"]='libnvidia-encode.so'
    ["396.24"]='libnvidia-encode.so'
    ["396.26"]='libnvidia-encode.so'
    ["396.37"]='libnvidia-encode.so'
    ["396.54"]='libnvidia-encode.so'
    ["410.48"]='libnvidia-encode.so'
    ["410.57"]='libnvidia-encode.so'
    ["410.73"]='libnvidia-encode.so'
    ["410.78"]='libnvidia-encode.so'
    ["410.79"]='libnvidia-encode.so'
    ["410.93"]='libnvidia-encode.so'
    ["410.104"]='libnvidia-encode.so'
    ["415.18"]='libnvcuvid.so'
    ["415.25"]='libnvcuvid.so'
    ["415.27"]='libnvcuvid.so'
    ["418.30"]='libnvcuvid.so'
    ["418.43"]='libnvcuvid.so'
    ["418.56"]='libnvcuvid.so'
    ["418.67"]='libnvcuvid.so'
    ["418.74"]='libnvcuvid.so'
    ["418.87.00"]='libnvcuvid.so'
    ["418.87.01"]='libnvcuvid.so'
    ["418.88"]='libnvcuvid.so'
    ["418.113"]='libnvcuvid.so'
    ["430.09"]='libnvcuvid.so'
    ["430.14"]='libnvcuvid.so'
    ["430.26"]='libnvcuvid.so'
    ["430.34"]='libnvcuvid.so'
    ["430.40"]='libnvcuvid.so'
    ["430.50"]='libnvcuvid.so'
    ["430.64"]='libnvcuvid.so'
    ["435.17"]='libnvcuvid.so'
    ["435.21"]='libnvcuvid.so'
    ["435.27.08"]='libnvidia-encode.so'
    ["440.26"]='libnvidia-encode.so'
    ["440.31"]='libnvidia-encode.so'
    ["440.33.01"]='libnvidia-encode.so'
    ["440.36"]='libnvidia-encode.so'
    ["440.43.01"]='libnvidia-encode.so'
    ["440.44"]='libnvidia-encode.so'
    ["440.48.02"]='libnvidia-encode.so'
    ["440.58.01"]='libnvidia-encode.so'
    ["440.58.02"]='libnvidia-encode.so'
    ["440.59"]='libnvidia-encode.so'
    ["440.64"]='libnvidia-encode.so'
    ["440.64.00"]='libnvidia-encode.so'
    ["440.66.02"]='libnvidia-encode.so'
    ["440.66.03"]='libnvidia-encode.so'
    ["440.66.04"]='libnvidia-encode.so'
    ["440.66.08"]='libnvidia-encode.so'
    ["440.66.09"]='libnvidia-encode.so'
    ["440.66.11"]='libnvidia-encode.so'
    ["440.66.12"]='libnvidia-encode.so'
    ["440.66.14"]='libnvidia-encode.so'
    ["440.66.15"]='libnvidia-encode.so'
    ["440.66.17"]='libnvidia-encode.so'
    ["440.82"]='libnvidia-encode.so'
    ["440.95.01"]='libnvidia-encode.so'
    ["440.100"]='libnvidia-encode.so'
    ["440.118.02"]='libnvidia-encode.so'
    ["450.36.06"]='libnvidia-encode.so'
    ["450.51"]='libnvidia-encode.so'
    ["450.51.05"]='libnvidia-encode.so'
    ["450.51.06"]='libnvidia-encode.so'
    ["450.56.01"]='libnvidia-encode.so'
    ["450.56.02"]='libnvidia-encode.so'
    ["450.56.06"]='libnvidia-encode.so'
    ["450.56.11"]='libnvidia-encode.so'
    ["450.57"]='libnvidia-encode.so'
    ["450.66"]='libnvidia-encode.so'
    ["450.80.02"]='libnvidia-encode.so'
    ["450.102.04"]='libnvidia-encode.so'
    ["455.22.04"]='libnvidia-encode.so'
    ["455.23.04"]='libnvidia-encode.so'
    ["455.23.05"]='libnvidia-encode.so'
    ["455.26.01"]='libnvidia-encode.so'
    ["455.26.02"]='libnvidia-encode.so'
    ["455.28"]='libnvidia-encode.so'
    ["455.32.00"]='libnvidia-encode.so'
    ["455.38"]='libnvidia-encode.so'
    ["455.45.01"]='libnvidia-encode.so'
    ["455.46.01"]='libnvidia-encode.so'
    ["455.46.02"]='libnvidia-encode.so'
    ["455.46.04"]='libnvidia-encode.so'
    ["455.50.02"]='libnvidia-encode.so'
    ["455.50.04"]='libnvidia-encode.so'
    ["455.50.05"]='libnvidia-encode.so'
    ["455.50.07"]='libnvidia-encode.so'
    ["455.50.10"]='libnvidia-encode.so'
    ["460.27.04"]='libnvidia-encode.so'
    ["460.32.03"]='libnvidia-encode.so'
    ["460.39"]='libnvidia-encode.so'
    ["460.56"]='libnvidia-encode.so'
    ["460.67"]='libnvidia-encode.so'
    ["460.73.01"]='libnvidia-encode.so'
    ["460.80"]='libnvidia-encode.so'
    ["460.84"]='libnvidia-encode.so'
    ["460.91.03"]='libnvidia-encode.so'
    ["465.19.01"]='libnvidia-encode.so'
    ["465.24.02"]='libnvidia-encode.so'
    ["465.27"]='libnvidia-encode.so'
    ["465.31"]='libnvidia-encode.so'
    ["470.42.01"]='libnvidia-encode.so'
    ["470.57.02"]='libnvidia-encode.so'
    ["470.62.02"]='libnvidia-encode.so'
    ["470.62.05"]='libnvidia-encode.so'
    ["470.63.01"]='libnvidia-encode.so'
    ["470.74"]='libnvidia-encode.so'
    ["470.82.00"]='libnvidia-encode.so'
    ["470.82.01"]='libnvidia-encode.so'
    ["470.86"]='libnvidia-encode.so'
    ["470.94"]='libnvidia-encode.so'
    ["470.103.01"]='libnvidia-encode.so'
    ["470.129.06"]='libnvidia-encode.so'
    ["495.29.05"]='libnvidia-encode.so'
    ["495.44"]='libnvidia-encode.so'
    ["495.46"]='libnvidia-encode.so'
    ["510.39.01"]='libnvidia-encode.so'
    ["510.47.03"]='libnvidia-encode.so'
    ["510.54"]='libnvidia-encode.so'
    ["510.60.02"]='libnvidia-encode.so'
    ["510.68.02"]='libnvidia-encode.so'
    ["510.73.05"]='libnvidia-encode.so'
    ["515.43.04"]='libnvidia-encode.so'
)

check_version_supported () {
    local ver="$1"
    [[ "${patch_list[$ver]+isset}" && "${object_list[$ver]+isset}" ]]
}

get_flatpak_driver_path () {
    # Flatpak's package versioning replaces '.' by '-'
    version="$(echo "$1" | tr '.' '-')"
    if path=$(flatpak info --show-location "org.freedesktop.Platform.GL.nvidia-${version}" 2>/dev/null); then
        echo "$path/files/lib"
    fi
}

get_supported_versions () {
    for drv in "${!patch_list[@]}"; do
        [[ "${object_list[$drv]+isset}" ]] && echo "$drv"
    done | sort -t. -n
    return 0
}

patch_common () {
    NVIDIA_SMI="$(command -v nvidia-smi || true)"
    if [[ ! "$NVIDIA_SMI" ]] ; then
        echo 'nvidia-smi utility not found. Probably driver is not installed.'
        exit 1
    fi

    if [[ "$manual_driver_version" ]]; then
        driver_version="$manual_driver_version"

        echo "Using manually entered nvidia driver version: $driver_version"
    else
        cmd="$NVIDIA_SMI --query-gpu=driver_version --format=csv,noheader,nounits"
        driver_versions_list=$($cmd) || (
            ret_code=$?
            echo "Can not detect nvidia driver version."
            echo "CMD: \"$cmd\""
            echo "Result: \"$driver_versions_list\""
            echo "nvidia-smi retcode: $ret_code"
            exit 1
        )
        driver_version=$(echo "$driver_versions_list" | head -n 1)

        echo "Detected nvidia driver version: $driver_version"
    fi

    if ! check_version_supported "$driver_version" ; then
        echo "Patch for this ($driver_version) nvidia driver not found."
        echo "Patch is available for versions: "
        get_supported_versions
        exit 1
    fi

    patch="${patch_list[$driver_version]}"
    object="${object_list[$driver_version]}"

    if [[ $flatpak_flag ]]; then
        driver_dir=$(get_flatpak_driver_path "$driver_version")
        if [ -z "$driver_dir" ]; then
            echo "ERROR: Flatpak package for driver $driver_version does not appear to be installed."
            echo "Try rebooting your computer and/or running 'flatpak update'."
            exit 1
        fi
        # return early because the code below is out of scope for the Flatpak driver
        return 0
    fi

    declare -a driver_locations=(
        '/usr/lib/x86_64-linux-gnu'
        '/usr/lib/x86_64-linux-gnu/nvidia/current/'
        '/usr/lib64'
        "/usr/lib/nvidia-${driver_version%%.*}"
    )

    dir_found=''
    for driver_dir in "${driver_locations[@]}" ; do
        if [[ -e "$driver_dir/$object.$driver_version" ]]; then
            dir_found='true'
            break
        fi
    done

    [[ "$dir_found" ]] || { echo "ERROR: cannot detect driver directory"; exit 1; }

}

rollback () {
    patch_common
    if [[ -f "$backup_path/$object.$driver_version$backup_suffix" ]]; then
        cp -p "$backup_path/$object.$driver_version$backup_suffix" \
           "$driver_dir/$object.$driver_version"
        echo "Restore from backup $object.$driver_version$backup_suffix"
    else
        echo "Backup not found. Try to patch first."
        exit 1
    fi
}

patch () {
    patch_common
    if [[ -f "$backup_path/$object.$driver_version$backup_suffix" ]]; then
        bkp_hash="$(sha1sum "$backup_path/$object.$driver_version$backup_suffix" | cut -f1 -d\ )"
        drv_hash="$(sha1sum "$driver_dir/$object.$driver_version" | cut -f1 -d\ )"
        if [[ "$bkp_hash" != "$drv_hash" ]] ; then
            echo "Backup exists and driver file differ from backup. Skipping patch."
            return 0
        fi
    else
        echo "Attention! Backup not found. Copying current $object to backup."
        mkdir -p "$backup_path"
        cp -p "$driver_dir/$object.$driver_version" \
           "$backup_path/$object.$driver_version$backup_suffix"
    fi
    sha1sum "$backup_path/$object.$driver_version$backup_suffix"
    sed "$patch" "$backup_path/$object.$driver_version$backup_suffix" > \
      "${PATCH_OUTPUT_DIR-$driver_dir}/$object.$driver_version"
    sha1sum "${PATCH_OUTPUT_DIR-$driver_dir}/$object.$driver_version"
    ldconfig
    echo "Patched!"
}

query_version_support () {
    if check_version_supported "$checked_version" ; then
        echo "SUPPORTED"
        exit 0
    else
        echo "NOT SUPPORTED"
        exit 1
    fi
}

list_supported_versions () {
    get_supported_versions
}

case "${opmode}" in
    patch) patch ;;
    patchrollback) rollback ;;
    patchhelp) print_usage ; exit 2 ;;
    patchcheckversion) query_version_support ;;
    patchlistversions) list_supported_versions ;;
    *) echo "Incorrect combination of flags. Use option -h to get help."
       exit 2 ;;
esac
 
  • Lubię to
Reakcje: 3Qn
jak zniszczyć tutorial ? jednym produktem ! :D :D :D :D :D :D
Pokaż załącznik 40485
Sprytne nie wiedziałem o takim adapterze ale to spowoduje że karty nie wsuniesz w śledzia karta będzie dyndać :(
No szkoda bo na T400 gwarancja chyba przepadła xD

@Ice Dzięki przeanalizuję nie będę kłamał że w bashu jak muszę coś napiszę ale raczej jestem słaby. Ok teraz widzę czego tyczy się patch :) Patchujesz wpinając do inego sprzętu? Ten skrypt tak z palca chyba nie ruszy na QNAP'ie. Ja nie wiem gdzie kupiłeś ale na a2xlegro nie znalazłem oferty na P1000 poniżej 700zł. W tej ceni której Ci się udało kupić wogóle ta dyskusja nie ma sensu :) bo jasne że brałbym P1000.

@Silas Mariusz Tu muszę przeprosić bo na czacie luźno rzuciłem po pobieżnym przejrzeniu skryptu plex.sh że już to mam :p A co było zbyt optymistyczną prognozą (chciałem pominąć listowanie u zahardcodować GPU_ID):p
plex.sh sprwadza kilka rzeczy czy zainstlowane są sterowniki:
Bash:
# Are the GPU Drivers installed?
[ $(echo $GPU_STATUS | grep driver_installed=1 | wc -l) -gt 0 ] && DRIVERS_INSTALLED=1
Oraz czy karta posiada tryb pracy QTS
Bash:
 # Is the GPU in QTS mode?
[ $(echo $GPU_STATUS | grep real_status=2 | wc -l) -gt 0 ] && GPU_AVAILABLE=1

Bash:
$ gpuhal_app -s 2
active_status=2,real_status=2,driverqpkg=NVIDIA_GPU_DRV,driver_installed=1,in_used=none,transcode=1,display=1,pcie_slot=2,pcie_vp=1,va_type=none

I listuje sobie u mnie są dwie karty z czego tylko druga spełnia oba warunki czyli karta numer 2
Tylko z tego co widzę ta część skryptu ma gdzieś która to karta tylko czy wogóle takowa istnieje
Bash:
      # Construct ld-musl-x86_64.path
      mkdir -p ${QPKG_DIR}/etc
      {
       echo /lib
       echo /usr/lib
       echo /usr/local/lib
       echo /usr/local/cuda/lib64
      } > ${QPKG_DIR}/etc/ld-musl-x86_64.path

      # If GPU is supported (Has Drivers & Is Available)
      if [ $SUPPORTED_GPU -gt 0 ]; then

        # determine and write paths  (QTS & QuTS)
        GPU_DRV_DIR="$(echo /share/*/.qpkg/NVIDIA_GPU_DRV/usr/lib)"
        [ "$GPU_DRV_DIR" != "/share/*/.qpkg/NVIDIA_GPU_DRV/usr/lib" ] && echo $GPU_DRV_DIR >> ${QPKG_DIR}/etc/ld-musl-x86_64.path

A to która jest wykorzystywana raczej już w samym Plexie jest wybierane.
 
  • Lubię to
Reakcje: Silas Mariusz
Hej 3Qn udało Ci się uruchomić kartę T400 na swoim 473A do transkodingu dla Plexa. Chce wymienić mój 253D na 473A bo potrzebuje dysku więcej ale 473A nie ma karty do transkodingu i chciałem wsadzić właśnie te kartę. Nie ma jej na liście kompatybilności plexa i nie wiem czy będą problemy a nie ukrywam że w dużej części domownicy używają plexa. Serwer fajny trochę mocniejszy od 253D tylko do multimediów słabo.
 
Hej 3Qn udało Ci się uruchomić kartę T400 na swoim 473A do transkodingu dla Plexa. Chce wymienić mój 253D na 473A bo potrzebuje dysku więcej ale 473A nie ma karty do transkodingu i chciałem wsadzić właśnie te kartę. Nie ma jej na liście kompatybilności plexa i nie wiem czy będą problemy a nie ukrywam że w dużej części domownicy używają plexa. Serwer fajny trochę mocniejszy od 253D tylko do multimediów słabo.
Tak pod warunkiem że jest jedyną karta graficzną w systemie (plex ma dość nisko poziomowo zahardkodowane używaj pierwszej możliwej karty) Aby uruchomić transkodowanie z wsparciem GPU musisz mieć subskrypcję plexa (tak tylko żebyś miał z tyłu głowy że nie tylko GPU ;))
 
Tak pod warunkiem że jest jedyną karta graficzną w systemie (plex ma dość nisko poziomowo zahardkodowane używaj pierwszej możliwej karty) Aby uruchomić transkodowanie z wsparciem GPU musisz mieć subskrypcję plexa (tak tylko żebyś miał z tyłu głowy że nie tylko GPU ;))
Tak tak wiem plex pass musi być kupiony łobuzy jedne.
Powiedz mi jeszcze standardowy zasilacz qnapa wystarczy ? Taki system jest w miarę cichy ?
 
Tak tak wiem plex pass musi być kupiony łobuzy jedne.
Powiedz mi jeszcze standardowy zasilacz qnapa wystarczy ? Taki system jest w miarę cichy ?
Szkoda że nie przeczytałeś wątku gdzie zadajesz pytanie troszkę out of topic:
T400 30W T600 40W wśród kart wspieranych jest GAMING GeForce GTX 1650 z jego specyfikacji wynika że żre 75W
 
Witam odgrzeję temat.

Qnap 473A najnowszy QTS i karta do transkodingu HP Nvidia QuadroT400.

Problem: Zainstalowałem kartę w qnapie w wolne złącze gdzie się zmieściła bez docinania (zakładam że to gniazdo nr 1). Po uruchomieniu qnap znalazł kartę i doinstalowałem sterowniki jak widać. Po tym zabiegu Qnap rozpoznał więcej szczegółów nt karty. Podczas transkodingu qts potrawi zgubić kartę lub po restarcie systemu poprostu jej nie widzi.... Jakiś pomysł co się dzieje?
 

Załączniki

  • stery.jpg
    stery.jpg
    12,5 KB · Wyświetleń: 50
  • brak.jpg
    brak.jpg
    61,5 KB · Wyświetleń: 50

Użytkownicy znaleźli tą stronę używając tych słów:

  1. karta graficzna
  2. 1650
  3. memory usage 97%
  4. plex container
  5. musl
  6. ts-253d
  7. nvidia
  8. Quadro