Portál AbcLinuxu, 30. dubna 2025 22:25
Tak jsem zase zpátky, tentokrát s novou utilitkou. Utilitka se jmenuje eilin a slouží k ovládání monitorů EIZO pod GNU/Linuxem. eilin vznikl reverzním inženýrstvím ovladačů pro Windows za pomoci Drátožraloka.
Ve zkratce, co to umí. Umí měnit módy (Text, Picture, Movie, sRGB, Custom), jas, kontrast, odstín, sytost, teplotu barev a jednotlivé složky RGB.
Co to zatím neumí – uvařit kafe, vyvenčit psa a spoustu dalších věcí.
Nevýhodou eilin je nutnost zápisu na USB rozhraní. Jinak řečeno musíte ho spouštět buď pod rootem nebo ho náležitě opatlat pomocí sticky bitu (od verze 1.1 se nastaví při make install).
Pokud vlastníte některý z monitorů EIZO, prosím o nějaké to otestování. Osobně jsem eilin mohl zkoušet jen na monitoru EIZO S2031W. Pokud eilin funguje, nezapomeňte se zmínit, s jakým monitorem jste ho zkoušeli, abych ho mohl zařadit mezi otestované a podporované monitory. Problémy buď pište sem, nebo do bugzilly případně na mail, co mám v profilu.
Narychlo spláclá domovská stránka s downloadem.
Něco pro ArchLinuxáky
PS: Pokud by byl zájem, můžu zkusit spáchat nějaké to making-of.
Tiskni
Sdílej:
Konkrétně EIZO používá ovládání po USB vlastní speciální utilitou (používá se kabel, kterým se připojuje k počítači USB hub v monitoru).
finn eilin-1.0 # ./eilin -R 99 finn eilin-1.0 # ./eilin -G 43 finn eilin-1.0 # ./eilin -B 74 finn eilin-1.0 # ./eilin -t Unknown temperature finn eilin-1.0 # ./eilin -g Unknown gamma finn eilin-1.0 # ./eilin -s -66 finn eilin-1.0 # ./eilin -h 158 finn eilin-1.0 # ./eilin -c 90 finn eilin-1.0 # ./eilin -b 47 finn eilin-1.0 # ./eilin -m Unknown mode
finn eilin-1.0 # ./eilin -R usb_set_debug: Setting debugging level to 255 (on) USB error: error sending control message: Device or resource busy 24
# grep USB_HID /boot/kernel-2.6.35.4.config CONFIG_USB_HID=y CONFIG_USB_HIDDEV=yJenže bez toho mi nefunguje klávesnice, takže to nevyzkouším.
finn eilin-1.0 # ./eilin -m sRGB finn eilin-1.0 # ./eilin -b 2 finn eilin-1.0 # ./eilin -c 0 finn eilin-1.0 # ./eilin -h -30 finn eilin-1.0 # ./eilin -s -128 finn eilin-1.0 # ./eilin -g Unknown gamma F0000h finn eilin-1.0 # ./eilin -t 6500 finn eilin-1.0 # ./eilin -R 0 finn eilin-1.0 # ./eilin -G 0 finn eilin-1.0 # ./eilin -B 0U gammy je navíc přidané tohle:
# diff eilin.orig.c eilin.c 198a199 > fprintf(stderr, "%Xh\n", threeBytesDataToInt(data));
No, teď zkouším zjistit, jak to přepsat jako ovladač HID, abys to mohl používat zároveň s klávesnicí.Asi to bude krapet drsnější než jsem čekal. Dokumentace totiž veškerá žádná.
finn eilin-1.1 # ./eilin -m sRGB finn eilin-1.1 # ./eilin -b 2 finn eilin-1.1 # ./eilin -c 0 finn eilin-1.1 # ./eilin -h -30 finn eilin-1.1 # ./eilin -s -128 finn eilin-1.1 # ./eilin -g Unknown gamma finn eilin-1.1 # ./eilin -t 6500 finn eilin-1.1 # ./eilin -R 0 finn eilin-1.1 # ./eilin -G 0 finn eilin-1.1 # ./eilin -B 0
eilin -b50
pro nastavení jasu na 50%.
PS: teď budu tři dny mimo, takže nebudu moci okamžitě odpovídat.
Hodnota | eilin | skutečnost |
---|---|---|
Mode | Custom | Custom |
Brightness | 2 | 1% |
Contrast | 0 | 50% |
Hue | -30 | 0 |
Saturation | -128 | 0 |
Gamma | Unknown gamma | 2.2 |
Temperature | 6500 | 6500 |
Red | 0 | 97% |
Green | 0 | 97% |
Blue | 0 | 99% |
Mode: Custom (Custom) Brightness: 2 (0) Contrast: 50 (50) Hue: 0 (0) Saturation: 0 (0) Gamma: 2.2 (2.2) Temperature: 6500 (6500) Red: 97 (97) Green: 0 (97) Blue: 0 (99)Další data zkusím dodat zítra.
finn eilin-1.1 # ./eilin -b 1 finn eilin-1.1 # ./eilin -b5 finn eilin-1.1 # ./eilin -b 5Přitom hodnota brightness je v monitoru pořád na nule. Zkusil jsem i vypnout Auto Ecoview, ale to nepomáhá. Zkuším ještě nasbírat nějaká data.
Co je jinak:
--hue 96, mám 0Stáhl se mi eilin-1.1.tar.gz ale soubor byl typu TAR.
Díky, zapomněl jsem na parametr c, když jsem to balil. Reupnuto.
V README bych přidal do požadavků C++.
Proč? Kromě toho, že to bylo původně v C++ a pak jsem to předělal do C to nemá s C++ nic společného. Akorát libusb je zbastleno v GNU C 99.
Nastavit se mi nic nepodařilo, správně čte jen část parametrů.Otázka je, jestli to, že je to čte správně není spíš náhoda.
Co je jinak:
--hue 96, mám 0
--saturation 110, mám 0
--gamma Unknown gamma, mám 2.2
Jako u finna. Tam jsou tyhle hodnoty taky evidentně špatně. Bohužel teď nemám čas ani možnost to řešit. Zkusím napsat Eizu, jestli mi nedají specifikace. Jinak budu potřebovat pomoct s nachytáním nějaké té komunikace.
Taky by nebylo špatné zmínit, co to je za monitor.
Pardon, už to vidím.Taky by nebylo špatné zmínit, co to je za monitor.
Proč? Kromě toho, že to bylo původně v C++ a pak jsem to předělal do C to nemá s C++ nic společného. Akorát libusb je zbastleno v GNU C 99.CMake Error: your CXX compiler: "CMAKE_CXX_COMPILER-NOTFOUND" was not found. Please set CMAKE_CXX_COMPILER to a valid compiler path or name. yum install gcc-c++ pomohl, neřeším proč
Nastavit se mi nic nepodařilo, správně čte jen část parametrů.Nenapsal jsi náhodou mezeru mezi volbu a parametr? Getopt ten parametr jinak zahodí. Tzn.
eilin -m text
nefunguje, eilin -mtext
už ano. Při použití delších voleb se musí použít rovnítko: eilin --contrast=60
.
Nenapsal jsi náhodou mezeru mezi volbu a parametr? Getopt ten parametr jinak zahodí. Tzn.Nebyla to náhoda, ale úmysl. Bez mezer nastavení pracuje dobře. Nejisté parametry jsem nezkoušel. Dík.eilin -m text
nefunguje,eilin -mtext
už ano. Při použití delších voleb se musí použít rovnítko:eilin --contrast=60
.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.