W oczekiwaniu na odpowiedź dla xrandr wykrywa wzmacniacz, ponieważ możliwe jest obejście czarnej listy urządzeń o określonych EDID . Niestety xrandr --verbose
drukuje wszystko w formacie, który jest nieporęczny do analizy i nie obsługuje get-edid
wysyłania zapytań do pojedynczych urządzeń, a wyniki nie wydają się łatwe do mapowania na xrandr
identyfikatory monitorów (na przykład DVI-1
).
Czy jest jakiś sposób na uzyskanie łatwo analizowalnego EDID dla pojedynczego monitora?
xrandr
parsowanie. Jest to uciążliwe, ale po prostu piszesz skrypt raz na zawsze, a potem zadziała wszędzie.Odpowiedzi:
Lead # 1: monitor-edid
Nie przepadam za EDID i monitorami, ale znalazłem to narzędzie,
monitor-edid
które może ci się tu przydać.Wybacz mi, jeśli jest poza bazą, staram się również dowiedzieć się więcej o tej przestrzeni, biorąc pod uwagę różnorodność pytań, które zadajesz na ten temat.
Lead # 2: ddcontrol
Nazywałem się też innym narzędziem
ddccontrol
, które może być pomocne w uzyskiwaniu potrzebnych informacji.Ołów nr 3: / sys
W końcu przeszukując
/sys
zauważyłem, że z różnych interfejsów wideo zwisają węzły liści.Jednak na moim laptopie Lenovo te „pliki” były puste, być może różnią się w twoim systemie. Znalazłem ten wątek forum, który pokazywał przykładowe dane wyjściowe z VGA EDID.
Źródło: Wyciąg Monitor Numer seryjny / Data produkcji przy użyciu EDID? .
Bibliografia
Monitor-edidźródło
Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
zei915
sterownikiem, Kubuntu 15.04xrandr --verbose
oba zwracają dane EDID dla mojego monitora HDMI, ale nie zwracają danych EDID dla mojego monitora DVI.Dane wyjściowe
xrandr --props
zawierają ciągi szesnastkowe EDID dla każdego podłączonego wyświetlacza w mniej szczegółowy sposób. Oto prosty skrypt Pythona wykorzystujący to do pobrania EDID dla konkretnego podłączonego monitora.Nie znalazłem żadnych innych narzędzi CLI w pakiecie dystrybucyjnym, które działają w celu wyodrębnienia EDID w moim systemie opartym na NVidii, ale większość narzędzi do analizowania binarnego EDID wydaje się działać dobrze.
źródło
Jeśli używasz łuku x86 lub powerpc, możesz użyć
read-edid
. W Debianie jest to dostępne tutaj .Użycie jest po prostu (musisz być rootem):
a następnie przeanalizuj strukturę:
Często łączy się to w:
Zobacz także tutaj, jak przekazać ten niestandardowy plik edid na kartę graficzną za pomocą:
źródło
Najnowsza wersja narzędzia o nazwie edid-decode może analizować informacje EDID oraz odczytywać i zapisywać pliki tekstowe i binarne EDID. Działa dobrze na wyjściu
xrandr --verbose
. Na przykład można go użyć do zapisania EDID w pliku binarnym:Wersja edid-decode dostarczana z Fedorą 27 (pakiet: xorg-x11-utils) jest za stara i nie działa idealnie. Użyłem najnowszej wersji .
źródło
W formie binarnej EDID jest dostępny pod adresem
/sys/class/drm/card%d-%s/edid
, gdzie%d
reprezentuje indeks urządzenia DRM (prawdopodobnie indeks GPU) i%s
jest identyfikatorem złącza widocznym naxrandr
wyjściu.Aby wyświetlić listę wszystkich dostępnych, uruchom
ls -1 /sys/class/drm/*/edid
Jeśli twój sterownik GPU nie obsługuje DRM, nie będziesz mógł uzyskać EDID w ten sposób.
Aby wyświetlić w formie szesnastkowej, uruchom
hexdump
na nim.Jeśli chcesz formy czytelnej dla ludzi, przekaż ją
edid-decode
np .:(może być konieczne zainstalowanie go za pomocą menedżera pakietów
sudo apt install edid-decode
w systemie Ubuntu)źródło
edid-decode
? Należy również pamiętać, że istnieją również podkatalogi dla odłączonych monitorów.