- Szerkesztve
A gépemre egy nvidia GTX 1060-ra két darab BenQ GW2255 monitor csatlakozik.
Mostanában sokat dolgoztam este is, és elég macerás két monitoron lejjebb venni a fényerőt, nappal meg följebb.
Szerencsére van egy olyanunk, hogy ddcutil.
Viszont a beröffentéséhez kicsit utána kellett olvasni, végül is minden megvolt készen, de nem egy helyen
Tehát:
Ahhoz, hogy működjön, szükséges az i2c-dev modul betöltése. Ezt rendszerindításkor szeretném automatikusan megtenni, ennek a legegyszerűbb módja, hogy létrehozok egy fájlt/etc/modules-load.d/i2c-dev.conf
néven (bármi lehetne a neve, csak .conf-ra végződjön), és beleírom, hogy
i2c-dev
Telepítenem kellett a ddcutil csomagot (apt install ddcutil
).
Amikor telepítek/eltávolítok, vagy csak a rendszeren piszkálok valamit, azt mindig root-ként teszem, emiatt nem írkálok sok sudo
kezdetű parancsot.
Szóval, ddcutil települt, de a
ddcutil detect
azt mondta, nem talál monitort. Ellenőriztem, mindkét monitoromon be van kapcsolva a DDC/CI opció.
Elolvastam, hogy nvidia kártyák esetében további beállításokra van szükség.
Az /etc/modprobe.d/nvidia-kernel-common.conf
fájlhoz hozzácsaptam:
options nvidia NVreg_RegistryDwords=RMUseSwI2c=0x01;RMI2cSpeed=100
Majd reboot...
Most már a ddcutil szépen megtalálja a monitorokat:
#ddcutil detect
Display 1
I2C bus: /dev/i2c-8
EDID synopsis:
Mfg id: BNQ
Model: BenQ GW2255
Serial number: T5D03192019
Manufacture year: 2013
EDID version: 1.3
VCP version: 2.1
Display 2
I2C bus: /dev/i2c-10
EDID synopsis:
Mfg id: BNQ
Model: BenQ GW2255
Serial number: T5D03200019
Manufacture year: 2013
EDID version: 1.3
VCP version: 2.1
Viszont gyalogjúzerként (= nem root ) még nem működik, hozzá kell adnom a felhasználómat az i2c csoporthoz:
usermod <felhasználó> -aG i2c
Ki/bejelentkezés, és innetől minden rendben működik gyalgjúzerként is
/opt alatt elhelyeztem két rettentő bonyolult szkriptet, az egyik világosít, a másik sötétít:
/opt/brightnessup:
#!/bin/sh
if [ ! -f /tmp/brgght ]; then
touch /tmp/brgght
ddcutil -d 1 setvcp 10 + 10
ddcutil -d 2 setvcp 10 + 10
rm /tmp/brgght
fi
/opt/brightnessdown:
#!/bin/sh
if [ ! -f /tmp/brgght ]; then
touch /tmp/brgght
ddcutil -d 1 setvcp 10 - 10
ddcutil -d 2 setvcp 10 - 10
rm /tmp/brgght
fi
Mindkettő futtathatóvá lett téve természetesen.
Ezután kiválasztottam két nem használt billentyűkombinációt (Fn-F8, Fn-F6), amik eredetileg multimédia gombok a billentyűzeten, de sosem használom. A MATE gyorsbillentyűi között hozzáadtam, hogy ezekre a fenti szkriptek fussanak le.
Most úgy tudom állítani a monitoraim fényerejét (mindkettőt együtt, egy mozdulattal!), mint egy laptop kijelzőét.
Csak lassabban, a gomb megnyomása után 1 másodperccel lép az első monitor, 2 másodperccel a másik monitor fénye. De SOKKAL gyorsabb, mintha a monitorok menüjéből nyomkodnám ki a fényerő állítást!
Nagyon klassz, meg vagyok elégedve
Szerk.: úgy tűnik, ha gyorsan nyomkodom a "fényerő" gombokat, a szkriptek egymásra futnak, az előző még nem fejezte be, de már indul az újabb. Ez okozhatja a kavarodást, hogy a két monitor fénye elcsúszik egymástól. Ezért kiegészítettem a szkripteket egy feltétellel, hogy ha már fut az egyik, ne induljon rá a másik.