ddcutil(1) General Commands Manual ddcutil(1)

ddcutil - پرس‌وجو و تغییر تنظیمات نمایشگر

ddcutil [گزینه‌ها] دستور [آرگومان‌های-دستور] [گزینه‌ها]

گزینه‌ها را می‌توان پیش یا پس از دستور و آرگومان‌های آن نوشت.

دستور ddcutil برای پرس‌وجو و تغییر تنظیمات نمایشگر (مانیتور) استفاده می‌شود. تنظیماتی که توسط ddcutil قابل کنترل هستند، عموماً همان مواردی هستند که می‌توان با دکمه‌های روی مانیتور و منوی روی صفحه (OSD) تغییر داد. تنظیمات خاص از مانیتوری به مانیتور دیگر متفاوت است.

دستور ddcutil با نمایشگرهایی که مجموعه دستورات کنترل مانیتور (MCCS) را پیاده‌سازی کرده‌اند، از طریق پروتکل DDC/CI روی گذرگاه I2C ارتباط برقرار می‌کند. معمولاً درایور گرافیک برای مانیتور، گذرگاه I2C را به‌صورت دستگاه‌هایی به نام dev/i2c-n/ در دسترس قرار می‌دهد. همچنین ddcutil می‌تواند با نمایشگرهایی که از USB برای ارتباط MCCS استفاده می‌کنند نیز ارتباط برقرار کند، به شرطی که نمایشگر با مشخصات کلاس کنترل مانیتور USB مطابقت داشته باشد.

مجموعه دستورات کنترل مانیتور مجموعه‌ای از ویژگی‌های پنل کنترل مجازی (VCP) را توصیف می‌کند که یک مانیتور می‌تواند پیاده‌سازی کند. هر ویژگی با یک بایت مجزا مشخص می‌شود؛ برای مثال ویژگی x10 کنترل روشنایی است.

کاربردهای متداول شامل تغییر روشنایی و رنگ مانیتور است. با استفاده از اسکریپت‌ها، این تغییرات را می‌توان با کلیدهای میانبر یا بر اساس زمان روز اعمال کرد. یکی دیگر از کاربردهای متداول، تغییر منبع ورودی مانیتور است.

یک کاربرد پیچیده‌تر برای ddcutil به‌عنوان بخشی از مدیریت نمایه رنگ (Color Profile) است. کالیبراسیون مانیتور نسبت به تنظیمات رنگ فعلی مانیتور (مانند بهره رنگ قرمز) انجام می‌شود. دستور ddcutil امکان ذخیره تنظیمات مربوط به رنگ را در زمان کالیبراسیون مانیتور و سپس بازیابی آن‌ها در هنگام اعمال کالیبراسیون فراهم می‌کند.

این صفحه راهنما دستورات و گزینه‌هایی از ddcutil را که برای کاربر معمولی بیشترین اهمیت را دارند توصیف می‌کند. برای مستندات کامل از گزینه --help استفاده کنید یا به وب‌سایت http://www.ddcutil.com مراجعه فرمایید. اگر گزینه --verbose همراه با --help مشخص شود، راهنمای گسترده‌تری درباره آرگومان‌های گزینه‌ها نمایش داده می‌شود.

گزینه --hh تمامی گزینه‌های شناخته‌شده توسط ddcutil را نشان می‌دهد؛ از جمله نام‌های منسوخ‌شده گزینه‌ها، گزینه‌های آزمایشی و مواردی که فقط مورد توجه توسعه‌دهندگان است.

دستور ddcutil از نمایشگرهای لپ‌تاپ که DDC/CI را پیاده‌سازی نکرده‌اند پشتیبانی نمی‌کند.

این‌ها پرکاربردترین دستورات ddcutil هستند:

یافتن نمایشگرهایی که دارای پنل کنترل مجازی (VCP) هستند.
توصیف کدهای ویژگی VCP بر اساس مشخصات MCCS. برای دیدن مقادیر ویژگی‌های غیرپیوسته (Non-Continuous) از گزینه --verbose استفاده کنید.
پرس‌وجوی رشته قابلیت‌های مانیتور.
گزارش مقدار یک ویژگی VCP، یا گروهی از مقادیر ویژگی‌ها. می‌توان بیش از یک کد ویژگی مشخص کرد؛ اما کدهای ویژگی و گروه‌ها را نمی‌توان با هم ترکیب نمود.
تنظیم مقدار ویژگی VCP. اگر + یا - مشخص شود، باید با فاصله احاطه شده باشد و نشان‌دهنده تغییر نسبی مقدار یک ویژگی پیوسته VCP است. می‌توان چندین جفت ویژگی/مقدار را مشخص کرد.

این دستورات شرایط خاص را مدیریت می‌کنند:

ذخیره مقادیر ویژگی‌های VCP مرتبط با نمایه رنگ در یک پرونده. اگر نام پرونده مشخص نشود، نامی تولید شده و پرونده در HOME/.local/share/ddcutil$ ذخیره می‌شود.
تنظیم مقادیر ویژگی‌های VCP از یک پرونده. مانیتوری که مقادیر روی آن اعمال می‌شوند از روی مشخصات مانیتور ذخیره‌شده در پرونده تعیین می‌شود. اگر مانیتور در خط فرمان مشخص شود، باید با مانیتور تعیین‌شده در پرونده یکسان باشد. اگر مانیتور متصل نباشد، هیچ اتفاقی رخ نمی‌دهد.
ارسال درخواست ذخیره تنظیمات فعلی (Save Current Settings) از طریق DDC/CI. اکثر مانیتورها این دستور را پیاده‌سازی نکرده‌اند؛ اما برخی مانیتورها برای اعمال مقادیر تغییریافته با setvcp به آن نیاز دارند.
بررسی اینکه آیا یک دستگاه hiddev ممکن است مانیتور متصل با USB باشد یا خیر (برای استفاده در قواعد udev).
دور ریختن پرونده‌های کش‌شده که برای بهبود عملکرد استفاده می‌شوند.
فهرست کردن توابعی که می‌توان آن‌ها را با گزینه‌هایی مانند --trcfunc یا --trcfrom ردیابی کرد.
هیچ دستوری اجرا نمی‌شود؛ فقط گزینه‌ها پردازش می‌شوند.

این دستورات مشکلات پیکربندی سیستم که بر عملکرد ddcutil اثر می‌گذارند را شناسایی کرده و اطلاعات لازم را برای تشخیص از راه دور مشکلات جمع‌آوری می‌کنند:

بررسی محیط نصب ddcutil.
بررسی جنبه‌های USB محیط نصب ddcutil.
بررسی و کاوش قابلیت‌ها و ویژگی‌های یک مانیتور تکی.
جمع‌آوری حداکثر اطلاعات برای تشخیص مشکلات. شامل خروجی ddcutil environment --verbose برای هر مانیتور شناسایی‌شده، و خروجی ddcutil capabilities --verbose و ddcutil probe --verbose.

feature-code

کد ویژگی با عدد هگزادسیمال ۲ کاراکتری آن مشخص می‌شود، با یا بدون پیشوند "0x"؛ مانند 0x10 یا 10.

feature-group

موارد زیر مفیدترین گروه‌های ویژگی هستند. برای فهرست کامل از گزینه --help استفاده کنید:

تمامی کدهای ویژگی شناخته‌شده توسط ddcutil
پیمایش کدهای ویژگی مرتبط با رنگ
زیرمجموعه‌ای از کدهای ویژگی مرتبط با رنگ که توسط dumpvcp و loadvcp ذخیره و بازیابی می‌شوند
پیمایش تمام کدهای ویژگی ممکن از 0x00 تا 0xff، به جز مواردی که مشخصاً فقط‌نوشتنی هستند

نام گروه‌های ویژگی را می‌توان به ۳ کاراکتر اول خلاصه کرد. بزرگی و کوچکی حروف نادیده گرفته می‌شود؛ مانند "COL" یا "pro".

new-value

معمولاً این یک عدد ده‌دهی در محدوده 0..255 یا یک عدد شانزده‌شانزدهی (هگز) در محدوده x00..xff است. به طور کلی‌تر، این مقدار در واقع مقداری ۲ بایتی (یعنی x00..xffff) است و تعداد کمی از ویژگی‌ها در برخی مانیتورها از این محدوده گسترش‌یافته استفاده می‌کنند.

گزینه‌های کنترل مقدار و قالب خروجی:

نمایش جزئیات مختصر. برای دستور getvcp، خروجی به شکل قابل خواندن توسط ماشین است.
نمایش جزئیات گسترده

گزینه‌های اطلاعات برنامه:

نمایش نسخه برنامه.
گزارش تنظیمات گزینه‌های فعال.
نمایش راهنمای برنامه.
نمایش راهنمای برنامه همراه با گزینه‌های مخفی. گزینه‌های مخفی شامل نام‌های جایگزین، گزینه‌های آزمایشی، منسوخ‌شده و دیباگ است.

گزینه‌های انتخاب مانیتور. اگر گزینه‌ای مشخص نشود، پیش‌فرض اولین مانیتور شناسایی‌شده است. گزینه‌های --mfg، --model و --sn را می‌توان با هم مشخص کرد.

display-number شماره منطقی نمایشگر (شروع از ۱)
bus-number شماره گذرگاه I2C
device number شماره دستگاه hiddev
شماره‌های گذرگاه و دستگاه USB
کد ۳ حرفی سازنده
نام مدل
شماره سریال (این فیلد "serial ascii" از EDID است، نه شماره سریال باینری)
نمایش ۲۵۶ کاراکتر هگز از EDID با حجم ۱۲۸ بایت (برای استفاده برنامه‌ها)

فیلترهای انتخاب ویژگی:

به طور معمول getvcp هنگام پرس‌وجوی گروه ویژگی، ویژگی‌های پشتیبانی‌نشده را گزارش نمی‌کند. این گزینه خروجی آن‌ها را اجباری می‌کند.
به طور معمول getvcp ویژگی‌های نوع Table را گزارش نمی‌کند. گزینه --show-table نمایش آن‌ها را اجباری می‌کند. گزینه --no-table پیش‌فرض است.
محدود کردن خروجی getvcp یا vcpinfo به ویژگی‌های خواندنی-نوشتنی، فقط‌خواندنی، یا (برای vcpinfo) فقط‌نوشتنی.

گزینه‌های خروجی عیب‌یابی:

گزارش خطاهای پروتکل DDC. این خطاها ممکن است نشان‌دهنده خطاهای گذرگاه I2C یا انحراف مانیتور از مشخصات MCCS باشد (قبلاً به نام --ddc شناخته می‌شد).
گزارش آمارهای اجرا. ارتباط گذرگاه I2C ذاتاً غیرقابل اعتماد است. وظیفه برنامه (یعنی ddcutil) مدیریت تلاش‌های مجدد در صورت شکست است. این گزینه تعداد تلاش‌های مجدد و آمارهای عملکردی گوناگون را گزارش می‌دهد. اگر آرگومانی مشخص نشود یا ALL تعیین شود، همه آمارها چاپ می‌شوند. ELAPSED مترادف TIME است و CALLS شامل TIME می‌شود. می‌توان این گزینه را چندین بار برای گزارش چند گروه آماری تکرار کرد.
مشابه --stats، اما شامل آمارهای تفکیکی به ازای هر نمایشگر است.
مشابه --vstats، اما شامل اطلاعات داخلی اضافی است.
نوشتن پیام‌های سطح مشخص‌شده یا بالاتر در لاگ سیستم. پیش‌فرض ddcutil برابر با WARN و پیش‌فرض libddcutil برابر با NOTICE است.

گزینه‌های بهینه‌سازی اجرا:

فعال یا غیرفعال کردن کش رشته‌های قابلیت‌ها جهت بهبود عملکرد. پیش‌فرض --enable-capabilities-cache است.
تنظیم پویای ضریب خواب (sleep-multiplier) در طول فراخوانی‌های مکرر ddcutil جهت بهبود عملکرد. پیش‌فرض --enable-dynamic-sleep است.
اصلاح الگوریتم خواب پویا به‌گونه‌ای که ضریب خواب هرگز کمتر از این مقدار نشود. این گزینه به کاهش نوسانات شدید در مقادیر ضریب خواب کمک می‌کند.
تعدیل مدت زمان انتظار مشخص‌شده در استاندارد DDC/CI با این ضریب برای تعیین زمان انتظار واقعی. مانیتورهای استاندارد با مقادیر کمتر از ۱.۰ کار می‌کنند، در حالی که مانیتورهایی با پیاده‌سازی ضعیف DDC ممکن است به مقادیر بالاتر از ۱.۰ نیاز داشته باشند. به‌طور کلی گزینه جدیدتر --enable-dynamic-sleep عملکرد بهتری ارائه می‌دهد.
فرض بر این گذاشته می‌شود که ارتباط DDC کار می‌کند و مانیتورها به درستی از فلگ ویژگی نامعتبر در بسته پاسخ DDC/CI برای نشان دادن ویژگی پشتیبانی‌نشده استفاده می‌کنند؛ این امر سرعت شناسایی نمایشگر را افزایش می‌دهد.
دور ریختن اطلاعات کش‌شده نمایشگر یا داده‌های خواب پویا.

گزینه‌های اصلاح رفتار:

تنظیم تعداد تلاش‌های مجدد. مقدار "." یا "0" تنظیم نوع تلاش مجدد را بدون تغییر باقی می‌گذارد.
اعتبارسنجی یا عدم اعتبارسنجی مقادیر تنظیم‌شده با setvcp یا loadvcp. گزینه --noverify پیش‌فرض است.
تطبیق ورودی و خروجی دستور با یک نسخه مشخص از MCCS، مانند 2.1.
فعال یا غیرفعال کردن پشتیبانی از تعاریف ویژگی ارائه‌شده توسط کاربر. پیش‌فرض --enable-udf است.
فعال یا غیرفعال کردن پشتیبانی از مانیتورهایی که ارتباط USB با پنل کنترل مجازی را پیاده‌سازی می‌کنند (تنها در صورتی در دسترس است که ddcutil با پشتیبانی USB کامپایل شده باشد). پیش‌فرض --disable-usb است.
نادیده گرفتن یک دستگاه USB خاص بر اساس شناسه سازنده (vendor id) و شناسه محصول (product id) چهار رقمی شانزده‌شانزدهی.
نادیده گرفتن یک دستگاه USB خاص بر اساس شماره دستگاه در dev/usb/hiddev/.
وادار کردن ddcutil به استفاده از رابط ()write()/read یا رابط ioctl درایور dev-i2c جهت ارسال و دریافت بسته‌های I2C. به طور پیش‌فرض ddcutil از رابط ioctl استفاده می‌کند. درایور اختصاصی انویدیا به شکلی ساخته شده که ممکن است رابط ioctl در آن شکست بخورد؛ در این حالت ddcutil به رابط پرونده‌ای (file io) تغییر وضعیت می‌دهد.
در دست گرفتن کنترل آدرس‌های برده (slave) روی گذرگاه I2C حتی در صورت استفاده بودن آن‌ها (تنها با file-io کاربرد دارد).
هماهنگ‌سازی دسترسی به دستگاه dev/i2c/ میان نمونه‌های متعدد ddcutil و libddcutil. پیش‌فرض --enable-cross-instance-locks است.
اجبار ddcutil به خواندن تعداد بایت مشخص در هنگام خواندن EDID (راهکاری برای رفع باگ‌های برخی درایورها). پیش‌فرض ۲۵۶ است.
استفاده از این مقدار به‌عنوان آدرس مبدأ در بسته DDC به جای مقدار عادی (برای دسترسی به عملکردهای کنترلی در برخی مانیتورها به‌ویژه LG).
اجازه دادن به اجرای setvcp روی ویژگی‌های ناشناخته.

متفرقه:

نادیده گرفتن مانیتورهای دارای این monitor-model-id. برای دیدن این شناسه از دستور ddcutil --verbose استفاده کنید.
عدم پردازش پرونده پیکربندی.

برخی از کارت‌های گرافیک Nvidia که از درایور اختصاصی انویدیا استفاده می‌کنند، برای فعال‌سازی صحیح پشتیبانی I2C نیازمند تنظیمات خاصی هستند. ببینید: http://www.ddcutil.com/nvidia

درایورهای ویدیویی مجازی در VMWare و VirtualBox شبیه‌سازی I2C ارائه نمی‌دهند. استفاده از درایورهای ویدیویی معمولی با PCI passthrough امکان‌پذیر است.

ddcutil detect

شناسایی تمام مانیتورهای متصل.

ddcutil getvcp all

نمایش تمام تنظیماتی که مانیتور پیش‌فرض پشتیبانی می‌کند و ddcutil آن‌ها را درک می‌کند.

ddcutil getvcp 10 --display 2
پرس‌وجوی مقدار روشنایی مانیتور دوم.

ddcutil setvcp 10 30 --bus 4

تنظیم مقدار روشنایی برای مانیتور روی گذرگاه dev/i2c-4/.

ddcutil vcpinfo --verbose

نمایش اطلاعات دقیق درباره ویژگی‌های VCP که ddcutil می‌شناسد.

ddcutil interrogate > ~/ddcutil.out

جمع‌آوری حداکثر اطلاعات درباره قابلیت‌های مانیتور و محیط اجرا، و هدایت خروجی به پرونده.

در صورت موفقیت مقدار 0 و در صورت شکست مقدار 1 برمی‌گرداند. درخواست راهنما موفقیت محسوب می‌شود.

صفحه اصلی پروژه: http://www.ddcutil.com

Sanford Rockowitz (rockowitz at minsoft dot com)
Copyright 2015-2023 Sanford Rockowitz

2024-01-11