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

3QN

Systems Admin...
Q's Expert
Jun 11, 2016
73
18
58
Wrocław
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:
 

Attachments

  • 1653670600602.png
    1653670600602.png
    1.5 MB · Views: 23
  • plex.sh
    8.1 KB · Views: 20
  • IMG_20220527_095049.jpg
    IMG_20220527_095049.jpg
    3.3 MB · Views: 23
  • IMG_20220527_095757.jpg
    IMG_20220527_095757.jpg
    2 MB · Views: 21

pigers

Long live Pr0xM0x
Administrator
Jul 26, 2013
13,425
34
2,255
230
www.buymeacoffee.com
QNAP
QuTScloud
Ethernet
100 GbE
  • ·
  • QuTScloud
  • ·
  • 100 GbE
  • ·
  • Ten którego QNAP jeszcze nie ma ! Najnowszy na Debianie !
to ja mam pytanie - ile prądu więcej wciąga nas przez dodanie 2. karty grafiki ?
 
  • Like
Reactions: Silas Mariusz

pigers

Long live Pr0xM0x
Administrator
Jul 26, 2013
13,425
34
2,255
230
www.buymeacoffee.com
QNAP
QuTScloud
Ethernet
100 GbE
  • ·
  • QuTScloud
  • ·
  • 100 GbE
  • ·
  • Ten którego QNAP jeszcze nie ma ! Najnowszy na Debianie !
w sumie można uciąć tylko dziurę żeby odstęp zrobić .. no ale na tym etapie .. to jeden czort :p
 
  • Like
Reactions: Silas Mariusz

3QN

Systems Admin...
Q's Expert
Jun 11, 2016
73
18
58
Wrocław
QNAP
TS-x73A
Ethernet
1 GbE
@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
 
  • Like
Reactions: Silas Mariusz

Ice

Qnap reseller / Ubi advisor
Q's Reseller
Jan 16, 2018
1,189
1
378
83
36
QNAP
TVS-h1288X
Ethernet
10 GbE
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.
 
  • Like
Reactions: Kong

3QN

Systems Admin...
Q's Expert
Jun 11, 2016
73
18
58
Wrocław
QNAP
TS-x73A
Ethernet
1 GbE
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 ;)
 
  • Like
Reactions: Silas Mariusz

Ice

Qnap reseller / Ubi advisor
Q's Reseller
Jan 16, 2018
1,189
1
378
83
36
QNAP
TVS-h1288X
Ethernet
10 GbE
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.
 
  • Like
Reactions: 3QN

Ice

Qnap reseller / Ubi advisor
Q's Reseller
Jan 16, 2018
1,189
1
378
83
36
QNAP
TVS-h1288X
Ethernet
10 GbE
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
 
  • Like
Reactions: 3QN

3QN

Systems Admin...
Q's Expert
Jun 11, 2016
73
18
58
Wrocław
QNAP
TS-x73A
Ethernet
1 GbE
jak zniszczyć tutorial ? jednym produktem ! :D :D :D :D :D :D
View attachment 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.
 
  • Like
Reactions: Silas Mariusz

Ms_ki

System Engineer
Q Specialist
Feb 13, 2013
132
7
18
42
QNAP
TS-x73A
Ethernet
100 Mbps
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.
 

3QN

Systems Admin...
Q's Expert
Jun 11, 2016
73
18
58
Wrocław
QNAP
TS-x73A
Ethernet
1 GbE
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 ;))
 

Ms_ki

System Engineer
Q Specialist
Feb 13, 2013
132
7
18
42
QNAP
TS-x73A
Ethernet
100 Mbps
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 ?
 

3QN

Systems Admin...
Q's Expert
Jun 11, 2016
73
18
58
Wrocław
QNAP
TS-x73A
Ethernet
1 GbE
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
 
  • Love
Reactions: pigers