10 Bit Farbe an NVIDIA Karte unter Linux

  • Wie sieht die EDID aus, die du aktuell nutzt? Wird in der YCrCb mit 4:2:2 oder 4:4:4 erlaubt?Option "ColorSpace" "GPU-0.DFP-2:YCbCr444

    Ich erlaube YCrCb mit 4:2:2 und 4:4:4. Aber mir scheint das der Treiber gar nicht auf YCrCb umschalten will. Und RGB abschalten kann man im EDID nicht.

    Wenn ich im xorf.conf versuche YCrCb zu erzwingen mit Option "ColorSpace" "GPU-0.DFP-2:YCbCr444" dann sagt es im Xorg.log Failed to set requested color space for 'JKC ILAFPJ--X11J9


    Die Quatro 400 hat ebenfalls einen GP107 drauf wie meine 1050. Ich habe auch schonmal im Treiber gesucht wo das unterschieden wird, bin aber noch nicht weit gekommen.

  • Noch zur Info bzgl. HDMI-Spezifikation:

    HDMI-2.0x kann bei UHD/4k mit 50/60Hz maximal 4:2:2 bei 10bit Farbtiefe! 4:4:4 mit 10bit geht nur bei UHD bis 30Hz!

    Alle verfügbaren UHD-Quellen, wie Ultra-Bluray und UHD-Fernsehsender haben maximal 4:2:0 mit 10bit Farbtiefe.


    Hier mal noch was zum nachlesen bzgl. HDMI-2.0x:

    FAQ for HDMI

    Demystifying 4K, UHD Blu Ray, wide color gamut, HDR, 4:4:4, 18Gbps and the rest!


    Also genügt es vollkommen 4:2:2 mit 10bit zu haben, mehr braucht es nicht. ;)


    Paul

  • Also genügt es vollkommen 4:2:2 mit 10bit zu haben, mehr braucht es nicht.

    Das Problem ist nur, den nvidia-Treiber davon zu überzeugen...

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    www.easy-vdr.de

  • In all dieses Posts geht es um den HDMI Port und ich vermute um 8 Bit Color Modes. Da an HDMI Port kein 10 Bit unterstützt wird ist das leider nicht relevant.

    Im Moment stellt sich mir die Frage ob am DisplayPort überhaupt YCrCb einstellbar ist. Bisher ist mir das nicht gelungen.

  • Seid ihr hier in der Zwischenzeit schon weitergekommen?

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5

  • Ich hole mal den Thread aus der Versenkung, weil nichts weiter gefunden habe, was mir den aktuellen Stand der Videoausgabe für die GT1030 mit den neuesten Nvidia-Treibern > 450 zeigt.


    Der Grund ist, das ich mit der aktuellen Situation der Videoausgabe der GT1030 direkt über den HDMI-Port nicht mehr so richtig zufrieden bin, seit dem ich den Odroid-N2 habe. Der Odroid-N2 kann problemlos bis zu 4K mit YCrBr420 / 422 und 10 bzw. 12bit darstellen.

    Den Unterschied in z.B. Farb-Banding bzw. Banding in grauen Bildbereichen kann man mit der GT1030 leider ab und zu erkennen. Wenn ich dann die gleiche Aufnahme über den Odroid-N2 (KODI) abspiele, dann sind die Farb- bzw. Grauabstufungen wesentlich weniger deutlich zu sehen. Das fällt eben einem besonders auf, wenn man einen großen 65" TV hat. ?(


    Deshalb habe ich mir überlegt, mir evtl. auch einen Club3D-CAC1080 DP to HDMI Converter zu kaufen, um wenigstens 4K mit 10bit anzeigen zu können.

    Aber wenn ich das richtig verstanden habe, dann bringt das auch nichts, weil der nvidia-Treiber nur RGB ausgibt und kein in YCrBr komprimiertes Signal, was dann auch 4K mit 10bit kann.


    Könntet Ihr mir evtl. sagen, wie dazu der aktuelle Stand ist?

    Danke im Voraus! :)

  • Aus meiner Sicht hat sich hier nichts geändert. Bei mir geht 10 Bit über DP, aber nur in HD und in RGB 4:4:4.

    Mehr geht nicht weil die NVIDIA Karte bei DP nicht in YUV 420 umschalten kann oder will. Und RGB 4:4:4 in 10 Bit die maximale Datenrate bei HDMI 2.0 sprengt.

  • jojo61

    das ist ja nicht so prickelnd, das zu lesen.

    Aber ich hatte mir das fast schon gedacht, da ich auch woanders nichts finden konnte. :(


    Damit stellt sich wirklich die Frage, welches Ausgabedevice für Linux bzw. den VDR überhaupt zukunftsfähig ist.

    Aber dazu sollten wir dann einen neuen Thread aufmachen.


    Über meinen Odroid-N2 kann ich ja über KODI mit dem vdrvnsi-Addon auf den VDR zugreifen und auch darüber Live-TV schauen bzw. die Aufnahmen ansehen. Aber die Bedienung in KODI ist für Live-TV noch nicht so optimal, wie man es vom VDR gewohnt ist. So gibt es aktuell keine Möglichkeit von PIP und auch ist keine Bedienung über die Farbtasten vorgesehen.


    Mit den Kernel >5.10 soll es wohl auch bald eine Unterstützung für die Amlogic-SOCs geben, wie die z.B. im Odroid-N2 eingesetzt sind.

    Jetzt gibt es wohl schon erste vielversprechende Ansätze dazu, um z.B. Ubuntu 20.04 darauf laufen zu lassen. Dann sollte es evtl. auch irgendwann möglich sein darauf den VDR zu installieren.

    Siehe z.B. hier im Odroid-N2/N2+ Forum

  • 10 Bit alleine reicht allerdings nicht für HDR. Da muss auch noch einer Schnittstelle zum übergeben der HDR Parameter an den Fernseher sein.

    Und die gibt es mE. noch nicht lauffähig in Kernel. Allerdings habe ich auch schon eine Zeitlang nicht nachgeschaut.


    Da frage ich mich ob Kodi das kann und wie sie es machen.

  • Geht es denn unter Windows?


    Aktuelle Intel Grafikkarten haben das gleiche Problem, aber da funktioniert es zumindest unter Windows -> Klick

    The post was edited 1 time, last by vdr_rossi ().

  • Den Unterschied in z.B. Farb-Banding bzw. Banding in grauen Bildbereichen kann man mit der GT1030 leider ab und zu erkennen.

    Mit was für Material hast du das ausprobiert? TV-Material bis Full-HD wird ja mit einem gegenüber RGB verkleinertem Farbraum (https://en.wikipedia.org/wiki/Rec._709) gesendet und die Farbwerte müssen für die Ausgabe in RGB gestreckt werden (man kann den nvidia-Treiber laut Dokumentation alternativ dazu bringen YCbCr444 auszugeben, indem man Option "ColorSpace" "YCbCr444" setzt).


    Ich würde ich mal versuchen herauszufinden, mit welchen Farbausgabemodi die beiden Systeme aktuell laufen - für nvidia sollte das mit nvidia-settings --query=CurrentColorSpace gehen (da würde ich RGB Full erwarten), beim Odroid müsste man nachsehen, wie man an die Information kommt (eventuell über die KODI Systeminformationen?).


    In https://kodi.wiki/view/Video_levels_and_color_space werden die möglichen Kombinationen und Vor- und Nachteile diskutiert - da die VDR-Ausgabeplugins die Modi nicht nach Bedarf ändern können (und PC-Grafikkarten und Xorg gewisse Einschränkungen haben, was die Ausgabe angeht), kann man da nur versuchen sich eine Lösung zu suchen, die dem Anwendungsszenario am besten entspricht (und ggf. noch am Algorithmus für die Farbraumanpassung drehen)...

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Eigentlich sollte das Banding bei NVIDIA mit ihrem Dithering unterbunden werden. Aus meiner Sicht funktioniert das auch ganz gut.

    Man kann das im nvidia-settings aber auch abschalten. Ich habe das bei mir abgeschaltet weil die libplacebo auch schon dithering macht in der Renderpipleline.

  • Das wären die FlatPanelProperties in der xorg.conf, oder?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • 10 Bit alleine reicht allerdings nicht für HDR. Da muss auch noch einer Schnittstelle zum übergeben der HDR Parameter an den Fernseher sein.

    Und die gibt es mE. noch nicht lauffähig in Kernel. Allerdings habe ich auch schon eine Zeitlang nicht nachgeschaut.

    Ob und wie das mit dem aktuellen Mainline-Kernel >5.10 umgesetzt wird kann ich leider nicht genau sagen, weil bei den ganzen Diskussionen auf dem Odroid-Forum und auch im Libreelec-Forum (Libreelec-Amlogic) nur englisch diskutiert wird und da fehlt mir dann manchmal das richtige Verständnis.


    Was ich aber sagen kann ist, dass mit dem von Coreelec-KODI (ist Libreelec für Amlogic-Devices) verwendeten Kernel 4.9 praktisch alles bis 4k mit HDR-HLG, HDR+ usw. läuft, inkl. automatischer Anpassung der Bildwiederholfrequenz, Auflösung und des Farbraumes für HDR.

    Nur Dolby-Vision geht nicht, da es dafür Lizenzen braucht, die Amlogic-SOCs könnten das. Wie z.B. der Amazon Fire Cube, der ja einen Amlogic S922H verwendet.


    Dieser verwendete 4.9-Kernel ist kein Mainline-Kernel sondern wurde von Amlogic irgendwie gepatcht, damit die Amlogic-SOCs darauf ordentlich laufen.

    Die Video-Ausgabe kann praktisch alles, was die HDMI-2.0-Spezifikation hergibt:

    4k 30Hz mit YCrBr 444 bis zu 12bit oder bei

    4K 60Hz mit YCrBr 422 bis zu 10bit (die Begrenzung liegt hier vermutlich eher an meinem 5 Jahre alten TV)



    Mit was für Material hast du das ausprobiert?

    Die Probleme mit dem Banding in grauen bzw. dunklen Bildbereichen habe ich jetzt nur bei Live-TV bzw. Aufnahmen davon bemerkt und dann eigentlich nur bei Filmen und nicht bei Live-Aufnahmen. Ob das dann schon auch an den Filmaufnahmen liegt ist für mich schwer zu sagen. Aber der Effekt wird gemindert, wenn ich die gleiche Aufnahme über Coreelec-KODI anschaue. Denn dann ist das Banding wesentlich geringer und stört kaum noch.


    Das Banding ist eben auch nur selten zu sehen, aber wenn man es einmal gesehen hat, dann schaut man einfach direkter danach.

    Momentan schaue ich nur die ÖR-Sender, die ja in 720p senden. ich kann also keine Aussage dazu treffen, ob dies auch bei den Privaten bzw. beim Pay-TV zutrifft.


    nvidia-settings --query=CurrentColorSpace habe ich jetzt nicht ausprobiert, da nvidia-settings bei yavdr standardmäßig wohl nicht dabei ist und wenn ich es installieren würde, dann fast 100 andere Programme mi tinstalliert werden. Da habe ich jetzt nicht so die Lust drauf.

    Aber ich kann bei meinem Denon-AVR X4500H mir die HDMI-Eingangs-Parameter anzeigen lassen, also dass was mir die Grafikkarte bzw. der Odroid liefert.


    Mal als Beispiel aktuell ARD Das Erste:

    Nvidia GT1030: --> 1080p50Hz RGB 8bit

    Odroid N2: --------> 1080p50Hz YCbCr 4:2:2 12bit

    Hier sieht man schon, dass der Odroid über Coreelec-KODI das TV-Signal mit 12bit-Farbtiefe überträgt. Ist schon einiges mehr als die 8bit der GT1030!



    Ich denke momentan kommen wir mit der Nvidia Gt1030 und den nvidia-Treibern nicht groß weiter! Da geht eben Full-HD und dann ist auch schon Schluss.

    Meine Intiution geht inzwischen dahin zu überlegen, welche Hardware man zukünftig für Live-TV und Streamingdienste mit 4k und HDR verwenden kann bzw. braucht.

    Der Trend geht doch immer mehr zu Mediatheken und Streamingdiensten und da reicht dann ein kleiner Streamingclient wie z.B. die Nvidia Shield oder eben auch z.B. eine andere Streamingbox, wie eben ein Odroid-N2 oder eine andere Box mit neuerem SOC.

    Der VDR wird wohl noch mehr an Bedeutung verlieren, da LiveTV nicht mehr die Präsenz hat, wie noch vor 5 Jahren. Und die Entwicklung des VDR ist nicht mehr uptodate! Es wird dann lieber an einem Timer-Feature gearbeitet, was nur der Wunsch einer einzelnen Person ist, anstatt dem Bedürfnis der User nach z.B. besserer Streaminganbindung zu folgen. Ein paar der sehr guten Plugin-Entwickler sind ja leider schon ins KODI-Lager abgewandert!



    Okay, genug gemeckert. ;)

    Ich werde mich wohl jetzt doch mal intensiver damit beschäftigen, welche Hardware aktuell zukunftsfähig ist.

    Vielleicht kommt von Nvidia doch noch was brauchbares, nach dem sie letztes Jahr ARM gekauft haben.

    The post was edited 2 times, last by Paulaner ().