10 Bit Farbe an NVIDIA Karte unter Linux

  • Hallo


    ich versuche verzweifelt mit meiner NVIDIA Karte GTX 1050 eine 10 Bit Farbausgabe zu konfigurieren. Mit Windows funktioniert das ganz einfach, aber unter Linux geht es einfach nicht.

    NVIDIA sagt das sie unter Linux eine 10 Bit Ausgabe nur am DisplayPort unterstützen (warum auch immer). Da mein Fernseher aber keinen DP Eingang hat habe ich mir ein aktives DP zu HDMI Adapter zugelegt. Aber auch damit gibt die Karte keine 10 Bit aus. Ich habe im xorg.conf auf 30 Bit umgestellt und man sieht auch am Display das X das so umsetzt. Die Visuals die ich dann bekomme sind 30 Bit Visuals. Nur am Fernseher kommen immer nur 8 Bit Farben an.

    Ich vermute das ich ein EDID von einem DisplayPort Device brauche das auch 10 Bit anzeigen kann. Solche Monitore gibt es ja. Hat jemand ein Monitor mit DisplayPort der 10 Bit kann und kann mir das EDID davon zukommen lassen ?


    mfg

    jojo61

  • Kannst du mal die EDID anhängen, die dein TV bereitstellt?


    Ein Knackpunkt unter Windows scheint zu sein, dass nvidia-Karten einen EDID mit Version 1.3 ignorieren (https://www.reddit.com/r/nvidi…a_displayport_dell_u2410/) - laut http://www.analogway.com/files…te-paper-edid--082714.pdf Seite 2 ist der Aufbau von Version 1.3 und 1.4 grundsätzlich identisch, aber 1.4 funktioniert nicht über HDMI.


    Man könnte mal versuchen die Bytes für die EDID-Version zu manipulieren und ggf. die Informationen für die Farbtiefe zu ergänzen.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • 9000H den Artikel mit 10 Bit über mpv kenne ich. Nur wird da auch keine 10 Bit am Monitor ankommen sondern nur 10 Bit dekodiert.


    seahawk1986 mein Fernseher liefert EDID Version 1.3 aber das soll ja nur unter windows nicht gehn. Im EDID steht schon drin das er 10 Bit versteht.

    Ich weiss nicht wie ich hier ein binär File anhängen kann aber das ist was mir edid-decode sagt:

  • Ich weiss nicht wie ich hier ein binär File anhängen kann

    Zum Beispiel in ein zip-Archiv packen, die Forensoftware hat eine Whitelist für erlaubte Dateiendungen bei Anhängen:

    bmp, bz2, diff, gif, gz, jpeg, jpg, patch, pdf, png, txt, zip

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hi,

    Geht der Adapter denn definitiv unter Windows damit?

    Mfg Stefan

    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

  • könnte auch sein das es nur die quadro kann

    Ganz am Anfang konnten die 10-bit tatsächlich nur die Quadro Karten, wurde aber im Nvidia Treiber vor Jahren schon auch für GeForce Karten freigeschaltet.


    jojo61


    Kann Dein an die 1050 angeschlossener Monitor 10-bit? Wenn nein, macht es die Karte auch nicht ...


    Die Sektion wo man das definiert sah bei mir immer so aus:


    Regards

    fnu

    HowTo: APT pinning

  • Ja der Fernseher ist ein UHD Beamer mit HDR. Im EDID sieht man ja auch das er 10 Bit kann (sogar 12 Bit). Die Einstellung in der xorg.conf habe ich gemacht und X macht dann ja auch 30 BIt (sieht man am Fenstermanager weil der das nicht richtig kann). Das problem ist einzig NVIDIA weil die das dann beim ausgeben wieder auf 8 Bit runterrechnen. MIt all den Standard Methodem bin ich schon durch, Habe auch schon die EDID Daten gepatcht und auf 1.4 umgestellt. Hat aber nix geholfen.


    Bisher konnte mir noch niemand glaubhaft beweisen dass es überhaupt mit 10 Bit unter Linux geht :-( Ich suche immer noch eine EDID von einen DisplayPort Screen der 10 Bit kann.


    jojo61

  • Ich suche immer noch eine EDID von einen DisplayPort Screen der 10 Bit kann.

    Hier gibt es eine von einem 8k Monitor Dell UP3218K (wenn nur ein DP Kabel genutzt wird, agiert er als 4K Monitor, laut Handbuch und EDID kann das Display aber größtenteils nur 60 Hz): https://michael.stapelberg.de/dell-up3218k/edid.hex.txt - wenn man daraus wieder eine Binärdatei macht:

    Code: edid_hex2bin.py
    1. #!/usr/bin/env python3
    2. import binascii
    3. import re
    4. import requests
    5. edid_hex = requests.get("https://michael.stapelberg.de/dell-up3218k/edid.hex.txt").text
    6. edid_hex = re.sub(r'\s', '', edid_hex)
    7. with open("edid-dp0_.bin", "wb") as f:
    8. f.write(binascii.a2b_hex(edid_hex))

    sieht das so aus: edid-dp0.zip


    Wenn man EDIDs mit etwas Unterstützung manipulieren (oder auf Korrektheit prüfen) will, kann der AW EDID Editor ganz praktisch sein.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Bisher konnte mir noch niemand glaubhaft beweisen dass es überhaupt mit 10 Bit unter Linux geht

    Also das lief bei mir jahrelang, erst mit meiner Quadro 600 (DP-to-HDMI), dann auch mit der "berüchtigten" GT630 (HDMI-to-HDMI) ... da ich aber seit fast 2 Jahren keine Nvidia Grafikkarte mehr in einem VDR betreibe, kann ich Dir leider kein Xorg.0.log mehr zeigen.


    Aber es sind wenige Einträge in der Log Datei die darauf hingewiesen haben das es funktioniert, aus dem Kopf NVIDIA(0): Depth 30 und RGB weight 101010. Damit war erstmal die Basis gelegt das Xorg 10-bit beherrschte. Der 10-bit Ausgabesupport kam später nur bei softhddevice dazu ...


    Der verwendete Eingang muss natürlich signalisieren das er 10-bit beherrscht, ansonsten weigert sich die Nvidia Karte das zu tun ... hatte ich immer wieder das gemaule im Log, mein Plasma kann 10-bit, meine Desktop Monitore nicht ... :P


    Regards

    fnu

    HowTo: APT pinning

  • Leider sind all die "Beweise" nicht gültig. Ich habe auch RGB weight 101010 und Depth 30 im Xorg.log stehen und der X Server läuft auch mit 10 Bit. Nur am Fernseher kommen nur 8 Bit an. Das sagt mir mein Fernseher. Der sagt RGB 8 Bit kommen an. Wenn ich aber eine AMD Karte da anschliesse dann sagt er YUV 12 Bit.


    Der 10 Bit Ausgabesupport bei softhddevice mit vdpau ist von mir. Da ist es einfach. Vdpau kann kein 10 Bit da ist es immer 8 Bit. Die 10 Bit vom decoder werden da zur ausgabe auf 8 Bit rundergerechnet.


    jojo61

  • Hurra. Mit dem EDID von Seahawk1986 bekomme ich nun tatsächlich RGB 10 BIt auf den Fernseher. Allerdings im Moment nur in HD.

    Für UHD beschwert sich mein Fernseher das das Timing nicht stimmt. Aber das kann ich ja in den EDID Daten noch patchen.


    Das ist mal ein echter Fortschritt und nun sollte auch HDR-HLG nichts mehr im Wege stehn :-)


    jojo61

  • jojo61


    Leider kann ich Dir nimmer sagen was mein Panasonic Plasma damals angezeigt hatte ... aber nicht jeder Windows Manager spielte mit bei der Ausgabe, ich habe dafür immer Openbox verwendet. Der andere kompakte "Fluxbox" funktionierte hingegen nicht dafür ...


    In diesem Thread gibt es eine ähnliche Diskussion, aber mit einer Erfolgsmeldung im dritt-letzten Post:


    - https://devtalk.nvidia.com/def…30-bit-output-on-monitor/


    - http://us.download.nvidia.com/…90.59/README/depth30.html


    Regards

    fnu

    HowTo: APT pinning

  • Aber alles nur mit DP, korrekt?


    Da gibt es neben den aktiven gt 1030 quasi nur die eine passive Karte von MSI mein ich.


    Christian

    CKone: yavdr-ansible/18.04 LTS/2.4.0/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.0/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.0 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD Red WD30EFRX 3TB in SW Raid5

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von CKone ()

  • 260 Ocken.... sauber! Da dürfte der Kühler aus Gold sein, oder?

  • Ich habe zwar nun RGB 10-Bit mit der HD Auflösung, aber bei UHD schaltet die Karte wieder auf RGB 8-Bit zurück. Das liegt wohl daran das mein Fernseher bei UHD kein RGB 4:4:4 kann. Da müsste die Karte auch YCbCr420 schalten. Wenn ich aber über den DisplayPort angeschlossen bin dann kann man

    in den nvidia-settings kein YCbCr auswählen. Das Feld ist grau und nicht anwählbar.


    Weiss jemand wie man mit DisplayPort doch noch YCbCr zum laufen bekommt ?


    jojo61

  • ich hatte egtl die Hoffnung das man den nvidia Treiber soweit patchen kann das 10Bit auch über hdmi kommt, ist ja nicht so als würde die HW das nicht unterstützen wieder der Windows Treiber beweist... :(

    CKone: yavdr-ansible/18.04 LTS/2.4.0/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.0/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.0 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD Red WD30EFRX 3TB in SW Raid5

  • ich hatte egtl die Hoffnung das man den nvidia Treiber soweit patchen

    Das ist bei closed Source Software immer so ein gewisses Problem...

    Das liegt wohl daran das mein Fernseher bei UHD kein RGB 4:4:4 kann.

    Mit einer Farbunterabtastung von 4:2:2 bei 4K Material verliert man aber eigentlich kaum Bildinformationen, wenn man das auf 1080p mit 4:4:4 herunterrechnet.


    Wie sieht die EDID aus, die du aktuell nutzt? Wird in der YCrCb mit 4:2:2 oder 4:4:4 erlaubt?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)