امروزه به طور عمده دو راهاندازه پردازندههای گرافیکی Nvidia در لینوکس وجود دارد. یکی Nouveau که متن باز است و دومی راهاندازی که Nvidia منتشر میکند و کد بستهاست. این دو درایور خالی از مشکل نیستند، Nouveau دربسیاری از مدلها کارایی لازم را ندارد و درایور Nvidia هم به خاطر متن بسته بودن به خوبی در اکوسیستم آزاد لینوکس قرار نمیگیرد و مشکلات ریز و درشت فراوانی دارد.
یکی از این مشکلات درایور منبع بسته Nvidia که بیشتر روی لپتاپهای VAIO و برخی مدلهای Lenovo دیده میشود، ناتوانی در تنظیم نور نمایشگر با استفاده از روشهای رایج و معمول است. این مشکل مدتها برای لپتاپ VPCCW من وجود داشت تا آن که ماژول nvidiabl را پیدا کردم (مخفف nvidia backlight).
من این ماژول را بر روی لپتاپ Sony تست کردم و بنابراین برای این نوع لپتاپ توضیح میدهم ولی برای بقیه هم باید مشابه باشه. قبل از هرچیزی باید ماژول sony_laptop که به نظر من یک ماژول بدردنخور هست را حذف کنید (در صورتی که این کار رو نکنید، همچنان این ماژول مسئول کنترل Fnها، brightness و غیره خواهد بود و فرصت به ماژول nvidiabl داده نمیشه). برای حذف این ماژول (به صورت موقتی) این دستور را وارد کنید:
# modprobe -r sony_laptop
و برای لپتاپهای Lenovo باید دستور زیر را برای غیرفعال کردن ماژول وارد کنید:
# modprobe -r thinkpad_acpi
حالا لازمه ماژول جدید را نصب کنید. برای اوبونتو یا توزیعهای دیگر مبتنی بر دبیان این فایل رو بگیرید و با دستور
# dpkg -i nvidiabl-dkms_0.79_all.deb
آن را نصب کنید. برای آرچ اینجا را ببینید. در صورتی که میخواهید از سورس کامپایل کنید، این فایل رو بگیرید. این ماژول مبتنی بر DKMS هست اغلب توزیعها ازجمله اوبونتو از آن پشتیبانی میکنند.
با بارگذاری ماژول میتونید تست کنید که آیا برای سیستم شما جواب میدهد یا نه :
# modprobe nvidiabl
اگر نور نمایشگر شما کم شد به این معنی است که کار میکند. اگر نور نمایشگر شما خیلی خیلی کم شد، بایستی فایل زیر را ویرایش کنید و آخرین خط را از حالت توضیحات خارج کنید (uncomment کنید یعنی # اول آن را بردارید)
/etc/modprobe.d/nvidiabl.conf
همچنین در صورتی که میخواهید به صورت دائمی ماژولهای مزاحم sony_laptop یا thinkpad_acpi را حذف کنید تا بارگذاری نشوند، در همین فایل بالا خط blacklist sony_laptop یا blacklist thinkpad_acpi رو باتوجه به نوع لپتاپ خود وارد کنید.
برای اینکه مطمئن شوید این ماژول به خوبی کار میکند، میتوانید با استفاده از ابزار مدیریت توان میزکار خود (مانند GNOME یا KDE) اقدام به کم یا زیاد کردن نور نمایشگر کنید. اگر میزکار شما چنین امکانی ندارد لازم است آن را به صورت دستی انجام دهید. ابتدا به مسیر زیر بروید :
# cd /sys/class/backlight/nvidia_backlight
حالا مقدار حداکثر نور زمینه مانیتور خود را با وارد کردن دستور cat max_brightness بدست آورید. حالا عدد میانه این حداکثر رو بدست بیاورید. برای مثال برای من عدد حداکثر ۶۳ است و بنابراین ۳۰ رو بدست میارم و حالا اون رو به فایل brightness وارد میکنیم و باید نمایشگر مقداری تاریک شود :
# echo 30 > brightness
هرچند برای من بدون اینکه تنظیم خاصی انجام بدهم و فقط با حذف sony_laptop به صورت دائمی و بارگذاری پیشفرض nvidiabl خود KDE میتواند brightness را با استفاده از این ماژول تغییر بدهد، ولی اگر برای محیط شما به صورت پیشفرض کار نمیکند، میتوانید از اسکریپت oBacklight استفاده کنید. نحوهی نصب این اسکریپت به همراه ماژول را میتوانید در این آدرس پیدا کنید.
برای من که بعد از مدتها میتونم میزان نور نمایشگرم رو تغییر بدم بسیار هیجان انگیزه، امیدوارم به درد شما هم بخوره
پینوشت : ماژول دیگری با اسم بسیار مشابه nvidia-bl برای اوبونتو در اینجا و آرچ در اینجا قرار داره که تغییراتی نسبت به ماژول nvidiabl داره هرچند من مستندات یا سایت رسمی خاصی براش پیدا نکردم که تغییراتش رو توضیح بده ولی اگه ماژول nvidiabl روی سیستم شما کار نمیکنه، این ماژول را امتحان کنید. روش نصبش همان مراحل توضیح داده شده است تنها به جای بسته deb از PPA موجود آن کمک بگیرید یا اینکه سورس را از اینجا دریافت و کامپایل کنید. تفاوتهای دیگر اینکه فایل تنظیمات اسمش nvidia_bl.conf هست و در دایرکتوری modprobe.d قرار دارد، همچنین اسم ماژول هم nvidia_bl هست نه nvidiabl.