| xorg.conf(5) | File Formats Manual | xorg.conf(5) |
نام
xorg.conf, xorg.conf.d - پروندههای پیکربندی برای کارساز Xorg X
مقدمه
Xorg از چندین سازوکار برای ارائه یا دریافت پارامترهای پیکربندی و زمان اجرا پشتیبانی میکند: گزینههای خط فرمان، متغیرهای محیطی، پروندههای پیکربندی xorg.conf و xorg.conf.d، تشخیص خودکار، و مقادیر پیشفرض جایگزین. هنگامی که اطلاعات یکسانی به بیش از یک روش ارائه شود، سازوکاری با بالاترین اولویت به کار میرود. فهرست این سازوکارها بر اساس اولویت از بیشترین به کمترین مرتب شده است. توجه داشته باشید که تمام پارامترها را نمیتوان از طریق همه روشها مشخص کرد. گزینههای دردسترس خط فرمان و متغیرهای محیطی (و برخی مقادیر پیشفرض) در صفحات راهنمای Xserver(1) و Xorg(1) شرح داده شدهاند. بیشتر پارامترهای پروندهٔ پیکربندی به همراه پیشفرضهایشان در ادامه توضیح داده شدهاند. پارامترهای پیکربندی مختص راهاندازها و پیمانهها در صفحه راهنمای راهانداز یا پیمانه مربوطه آمده است.
شرح
Xorg برای راهاندازی اولیهاش از پروندهٔ پیکربندی به نام xorg.conf و پروندههایی با پسوند .conf از شاخهٔ xorg.conf.d استفاده میکند. هنگامی که کارساز به عنوان یک کاربر عادی اجرا شود، پروندهٔ پیکربندی xorg.conf در مکانهای زیر جستجو میشود:
/etc/X11/<cmdline> /usr/etc/X11/<cmdline> /etc/X11/$XORGCONFIG /usr/etc/X11/$XORGCONFIG /etc/X11/xorg.conf /etc/xorg.conf /usr/etc/X11/xorg.conf.<hostname> /usr/etc/X11/xorg.conf /usr/lib/X11/xorg.conf.<hostname> /usr/lib/X11/xorg.conf
که در آن <cmdline> یک مسیر نسبی (بدون مؤلفههای “..”) است که با گزینهٔ خط فرمان -config مشخص شده است، $XORGCONFIG مسیر نسبی (بدون مؤلفههای “..”) مشخصشده توسط آن متغیر محیطی است، و <hostname> نام میزبان دستگاه است که توسط gethostname(3) گزارش شده است.
هنگامی که کارساز Xorg توسط کاربر “root” اجرا شود، مکانهای جستجوی پروندهٔ پیکربندی به شرح زیر است:
<cmdline> /etc/X11/<cmdline> /usr/etc/X11/<cmdline> $XORGCONFIG /etc/X11/$XORGCONFIG /usr/etc/X11/$XORGCONFIG /etc/X11/xorg.conf /etc/xorg.conf /usr/etc/X11/xorg.conf.<hostname> /usr/etc/X11/xorg.conf /usr/lib/X11/xorg.conf.<hostname> /usr/lib/X11/xorg.conf
که در آن <cmdline> مسیر مشخصشده با گزینهٔ خط فرمان -config است (که میتواند مطلق یا نسبی باشد)، $XORGCONFIG مسیر مشخصشده توسط آن متغیر محیطی است (مطلق یا نسبی)، $HOME مسیر مشخصشده با آن متغیر محیطی است (معمولاً شاخهٔ خانگی)، و <hostname> نام میزبان دستگاه است که توسط gethostname(3) گزارش شده است.
هنگامی که کارساز به عنوان یک کاربر عادی اجرا شود، پروندههای پیکربندی اضافی در شاخههای زیر جستجو میشوند:
/etc/X11/<cmdline> /etc/X11/<cmdline> /etc/X11/xorg.conf.d /etc/X11/xorg.conf.d
که در آن <cmdline> یک مسیر نسبی (بدون مؤلفههای “..”) است که با گزینهٔ خط فرمان -configdir مشخص شده است.
هنگامی که کارساز Xorg توسط کاربر “root” اجرا شود، مکانهای جستجوی شاخهٔ پیکربندی به صورت زیر است:
<cmdline> /etc/X11/<cmdline> /etc/X11/<cmdline> /etc/X11/xorg.conf.d /etc/X11/xorg.conf.d
که در آن <cmdline> مسیر مشخصشده با گزینهٔ خط فرمان -configdir است (که میتواند مطلق یا نسبی باشد).
در نهایت، پروندههای پیکربندی در شاخهای که برای استفادهٔ سیستم رزرو شده است نیز جستجو میشوند. این کار برای جداسازی پروندههای پیکربندی ارائهدهنده یا بستههای شخص ثالث از پیکربندیهای مدیریت محلی است. این پروندهها در شاخهٔ زیر یافت میشوند:
/usr/share/X11/xorg.conf.d
پروندههای xorg.conf و xorg.conf.d از چندین بخش تشکیل شدهاند که میتوانند با هر ترتیبی حضور داشته باشند، یا حذف شوند تا از مقادیر پیشفرض پیکربندی استفاده شود. هر بخش ساختار زیر را دارد:
Section "SectionName"
SectionEntry
...
EndSection
نام بخشها عبارتند از:
Files مسیرهای پروندهها ServerFlags پرچمهای کارساز Module بارگذاری پویای پیمانهها Extensions فعالسازی افزونهها InputDevice شرح دستگاه ورودی InputClass شرح ردهٔ ورودی OutputClass شرح ردهٔ خروجی Device شرح دستگاه گرافیکی VideoAdaptor شرح آداپتور ویدیویی Xv Monitor شرح نمایشگر Modes شرح حالتهای ویدیویی Screen پیکربندی صفحهٔ نمایش ServerLayout چیدمان کلی DRI پیکربندی ویژهٔ DRI Vendor پیکربندی ویژهٔ فروشنده
نام بخشهای منسوخ زیر همچنان برای حفظ سازگاری شناخته میشوند. در پروندههای پیکربندی جدید، باید به جای آنها از بخش InputDevice استفاده شود.
Keyboard پیکربندی صفحهکلید Pointer پیکربندی اشارهگر/موشواره
بخش قدیمی XInput دیگر پشتیبانی نمیشود.
بخشهای ServerLayout در بالاترین سطح قرار دارند. آنها دستگاههای ورودی و خروجی مورد استفاده در یک نشست را به هم پیوند میدهند. دستگاههای ورودی در بخشهای InputDevice توصیف میشوند. دستگاههای خروجی معمولاً شامل چندین مؤلفهٔ مستقل هستند (برای نمونه، یک کارت گرافیک و یک نمایشگر). این مؤلفههای چندگانه در بخشهای Screen به هم پیوند داده میشوند و همین بخشها هستند که توسط بخش ServerLayout ارجاع داده میشوند. هر بخش Screen یک کارت گرافیک و یک نمایشگر را به هم پیوند میدهد. کارتهای گرافیک در بخشهای Device و نمایشگرها در بخشهای Monitor شرح داده شدهاند.
کلیدواژههای پروندهٔ پیکربندی به حروف بزرگ و کوچک حساس نیستند، و نویسههای “_” نادیده گرفته میشوند. بیشتر رشتهها (شامل نامهای Option) نیز به حروف بزرگ و کوچک، فاصلههای خالی و نویسههای “_” حساس نیستند.
هر ورودی پروندهٔ پیکربندی معمولاً یک خط کامل را اشغال میکند. آنها شامل یک کلیدواژه هستند که احتمالاً یک یا چند آرگومان به دنبال آن میآید، و تعداد و نوع آرگومانها به کلیدواژه بستگی دارد. انواع آرگومانها عبارتند از:
Integer یک عدد صحیح به مبنای ده، شانزده (هگز) یا هشت (اکتال)
Real یک عدد اعشاری با ممیز شناور
String یک رشته محصور در علامت نقلقول جفت (")
نکته: مقادیر صحیح هگزادسیمال باید دارای پیشوند “0x” و مقادیر اکتال با پیشوند “0” باشند.
یک کلیدواژهٔ خاص به نام Option ممکن است برای ارائهٔ دادههای فرمآزاد به بخشهای مختلف کارساز استفاده شود. کلیدواژهٔ Option یک یا دو آرگومان رشتهای میگیرد. اولی نام گزینه است، و آرگومان اختیاری دوم مقدار گزینه است. برخی از انواع پرکاربرد مقدار گزینه عبارتند از:
Integer یک عدد صحیح به مبنای ده، هگز یا اکتال Real یک عدد با ممیز شناور String دنبالهای از نویسهها Boolean یک مقدار بولی (در زیر ببینید) Frequency یک مقدار بسامد (در زیر ببینید)
توجه داشته باشید که همهٔ مقادیر Option، نه فقط رشتهها، باید داخل نقلقول قرار گیرند.
گزینههای بولی میتوانند به صورت اختیاری مقداری مشخص داشته باشند. هنگامی که مقداری تعیین نشود، مقدار گزینه TRUE خواهد بود. مقادیر بولی زیر به عنوان TRUE شناخته میشوند:
و مقادیر بولی زیر به عنوان FALSE شناخته میشوند:
اگر نام یک گزینه دارای پیشوند "No" باشد، مقدار آن گزینه معکوس (نفی) میشود.
مثال: ورودیهای گزینهٔ زیر معادل یکدیگر هستند:
Option "Accel" "Off" Option "NoAccel" Option "NoAccel" "On" Option "Accel" "false" Option "Accel" "no"
مقادیر گزینههای بسامد (فرکانس) شامل یک عدد حقیقی هستند که به صورت اختیاری یکی از واحدهای بسامد زیر به دنبال آن میآید:
هنگامی که نام واحد حذف شود، واحد مناسب از روی مقدار و محدودهٔ مورد انتظار آن مقدار تعیین میشود. توصیه میشود هنگام استفاده از مقادیر گزینههای بسامد، همیشه واحد را مشخص کنید تا از بروز خطا در تعیین مقدار جلوگیری شود.
بخش FILES
بخش Files برای مشخص کردن برخی نامهای مسیر مورد نیاز کارساز استفاده میشود. برخی از این مسیرها را میتوان از خط فرمان نیز تنظیم کرد (بنگرید به Xserver(1) و Xorg(1)). تنظیمات خط فرمان مقادیر مشخصشده در پروندهٔ پیکربندی را نادیده میگیرند و جایگزین میشوند. بخش Files اختیاری است، همچنین تمام ورودیهایی که ممکن است در آن بیایند.
ورودیهایی که میتوانند در این بخش ظاهر شوند عبارتند از:
- FontPath "path"
- مسیر جستجوی قلمها را تعیین میکند. این مسیر فهرستی جداشده با کاما از عناصر مسیر قلم است که کارساز Xorg در آنها پایگاههای دادهٔ قلم را جستجو میکند. چندین ورودی FontPath میتواند مشخص شود، و آنها برای ساخت مسیر قلم مورد استفادهٔ کارساز با یکدیگر ترکیب میشوند. عناصر مسیر قلم میتوانند مسیرهای دایرکتوری مطلق، دایرکتوریهای فهرستنما (کاتالوگ) یا شناسهٔ کارساز قلم باشند. قالبهای دو مورد اخیر در زیر شرح داده شدهاند:
که در آن <identifier> یک شناسهٔ حرفیعددی است، [attribute] ویژگیای است که به FPE زیرین فرستاده میشود و <priority> عددی است که برای مرتبسازی FPEهای پروندهٔ قلم استفاده میشود. مثالها:
75dpi:unscaled:pri=20 -> /usr/share/X11/fonts/75dpi gscript:pri=60 -> /usr/share/fonts/default/ghostscript misc:unscaled:pri=10 -> /usr/share/X11/fonts/misc
<trans>/<hostname>:<port-number>
که در آن <trans> نوع ترابری مورد استفاده برای اتصال به کارساز قلم است (برای نمونه، unix برای سوکتهای دامنهٔ یونیکس یا tcp برای اتصال TCP/IP)، <hostname> نام میزبان دستگاه اجراکنندهٔ کارساز قلم است، و <port-number> شماره درگاهی است که کارساز قلم روی آن گوش میدهد (معمولاً ۷۱۰۰).
هنگامی که این ورودی در پروندهٔ پیکربندی مشخص نشود، کارساز به مسیر پیشفرضِ درونساختِ قلم بازمیگردد که شامل عناصر مسیر قلم زیر است (که میتوان آنها را درون یک دایرکتوری فهرستنما تنظیم کرد):
/usr/share/fonts/X11/misc/ /usr/share/fonts/X11/TTF/ /usr/share/fonts/X11/OTF/ /usr/share/fonts/X11/Type1/ /usr/share/fonts/X11/100dpi/ /usr/share/fonts/X11/75dpi/
عناصر مسیر قلم که نامعتبر تشخیص داده شوند، هنگام شروع به کار کارساز از مسیر قلم حذف میشوند.
- ModulePath "path"
- مسیر جستجو برای پیمانههای بارگذاریپذیر کارساز Xorg را تعیین میکند. این مسیر فهرستی جداشده با کاما از شاخههایی است که کارساز Xorg در آنها پیمانههای بارگذاریپذیر را به ترتیبی که مشخص شده جستجو و بارگذاری میکند. چندین ورودی ModulePath میتواند مشخص شود، و برای ساخت مسیر جستجوی پیمانهٔ مورد استفادهٔ کارساز با یکدیگر ترکیب میشوند. مسیر پیشفرض پیمانهها به شرح زیر است:
- XkbDir "path"
- شاخهٔ پایه را برای پروندههای چیدمان صفحهکلید تعیین میکند. از گزینهٔ خط فرمان -xkbdir میتوان برای نادیدهگرفتن این مقدار استفاده کرد. شاخهٔ پیشفرض عبارت است از:
بخش SERVERFLAGS
علاوه بر گزینههای مختص این بخش (که در زیر آمده است)، بخش ServerFlags برای مشخص کردن برخی گزینههای سراسری کارساز Xorg استفاده میشود. تمام ورودیهای این بخش از نوع Options هستند، گرچه برای حفظ سازگاری برخی از ورودیهای سبک قدیم هنوز شناسایی میشوند. این ورودیهای سبک قدیم در اینجا مستند نشدهاند و استفاده از آنها توصیه نمیشود. بخش ServerFlags اختیاری است، همچنین ورودیهایی که میتوان در آن تعیین کرد.
Options مشخصشده در این بخش (به استثنای گزینهٔ "DefaultServerLayout") ممکن است توسط Options مشخصشده در بخش فعال ServerLayout نادیده گرفته و جایگزین شوند. گزینههایی که دارای معادل در خط فرمان هستند، در صورت استفاده از معادل خط فرمانشان نادیده گرفته میشوند. گزینههای شناختهشده توسط این بخش عبارتند از:
- Option "Debug" "string"
- این فهرست جداشده با کاما روشی را برای واپایش کلیدهای مختلف اشکالزدایی از طریق پروندهٔ پیکربندی فراهم میکند. در حال حاضر تنها مقدار تعریفشده dmabuf_capable است که به glamor دستور میدهد کدهای ناپایدار مدیریت بافر را فعال کند.
- Option "DefaultServerLayout" "layout-id"
- بخش پیشفرض ServerLayout را برای استفاده در غیاب گزینهٔ خط فرمان -layout تعیین میکند.
- Option "DontVTSwitch" "boolean"
- استفاده از توالی کلیدهای Ctrl+Alt+Fn (که در آن Fn به یکی از کلیدهای عملکردی شمارهدار اشاره دارد) را غیرفعال میکند. این توالی کلیدها معمولاً برای تغییر به یک پایانهٔ مجازی ("virtual terminal") دیگر در سیستمهای عاملی که این ویژگی را دارند استفاده میشود. هنگامی که این گزینه فعال باشد، این توالی کلید معنای خاصی نخواهد داشت و به کلاینتها فرستاده میشود. پیشفرض: غیرفعال (off).
- Option "DontZap" "boolean"
- استفاده از کنش XKB به نام Terminate_Server (معمولاً با کلیدهای میانبر Ctrl+Alt+Backspace، بسته به گزینههای XKB) را غیرفعال میکند. این کنش معمولاً برای پایان دادن به کارساز Xorg استفاده میشود. هنگامی که این گزینه فعال باشد، این کنش هیچ اثری نخواهد داشت. پیشفرض: غیرفعال (off).
- Option "DontZoom" "boolean"
- استفاده از توالی کلیدهای Ctrl+Alt+Keypad-Plus و Ctrl+Alt+Keypad-Minus را غیرفعال میکند. این توالیها به شما امکان میدهند بین حالتهای تصویری جابهجا شوید. هنگامی که این گزینه فعال باشد، این توالیهای کلید معنای خاصی نخواهند داشت و به کلاینتها فرستاده میشوند. پیشفرض: غیرفعال (off).
- Option "DisableVidModeExtension" "boolean"
- بخشهایی از افزونهٔ VidMode را که توسط کلاینت xvidtune برای تغییر حالتهای تصویری استفاده میشود غیرفعال میکند. پیشفرض: افزونهٔ VidMode فعال است.
- Option "AllowNonLocalXvidtune" "boolean"
- به کلاینت xvidtune (و سایر کلاینتهایی که از افزونهٔ VidMode استفاده میکنند) اجازه میدهد از میزبانی دیگر متصل شوند. پیشفرض: غیرفعال (off).
- Option "AllowMouseOpenFail" "boolean"
- به راهاندازهای mousedrv(4) و vmmouse(4) میگوید که در صورت عدم موفقیت در باز کردن یا مقداردهی اولیهٔ دستگاه موشواره، خطایی گزارش نکنند. این گزینه اثری روی evdev(4) یا سایر راهاندازها ندارد. پیشفرض: false.
- Option "BlankTime" "time"
- زمان مجاز عدم فعالیت برای مرحلهٔ blank (خالی/سیاه شدن) محافظ صفحهٔ نمایش را تنظیم میکند. time به دقیقه است. این گزینه معادل پرچم -s کارساز Xorg است، و مقدار آن را میتوان در زمان اجرا با دستور xset(1) تغییر داد. پیشفرض: ۱۰ دقیقه.
- Option "StandbyTime" "time"
- زمان مجاز عدم فعالیت برای مرحلهٔ standby (آمادهباش) حالت DPMS را تنظیم میکند. time به دقیقه است، و مقدار آن در زمان اجرا با xset(1) قابل تغییر است. پیشفرض: ۱۰ دقیقه. این گزینه تنها برای نمایشگرهای سازگار با VESA DPMS مناسب است، و ممکن است توسط همهٔ راهاندازهای گرافیکی پشتیبانی نشود. این گزینه تنها برای صفحههای نمایشی که گزینهٔ "DPMS" در آنها فعال باشد اعمال میشود (بخش MONITOR را در زیر ببینید).
- Option "SuspendTime" "time"
- زمان مجاز عدم فعالیت برای مرحلهٔ suspend (تعلیق) حالت DPMS را تنظیم میکند. time به دقیقه است، و مقدار آن در زمان اجرا با xset(1) قابل تغییر است. پیشفرض: ۱۰ دقیقه. این گزینه تنها برای نمایشگرهای سازگار با VESA DPMS مناسب است، و ممکن است توسط همهٔ راهاندازهای گرافیکی پشتیبانی نشود. این گزینه تنها برای صفحههای نمایشی که گزینهٔ "DPMS" در آنها فعال باشد اعمال میشود (بخش MONITOR را در زیر ببینید).
- Option "OffTime" "time"
- زمان مجاز عدم فعالیت برای مرحلهٔ off (خاموش شدن) حالت DPMS را تنظیم میکند. time به دقیقه است، و مقدار آن در زمان اجرا با xset(1) قابل تغییر است. پیشفرض: ۱۰ دقیقه. این گزینه تنها برای نمایشگرهای سازگار با VESA DPMS مناسب است، و ممکن است توسط همهٔ راهاندازهای گرافیکی پشتیبانی نشود. این گزینه تنها برای صفحههای نمایشی که گزینهٔ "DPMS" در آنها فعال باشد اعمال میشود (بخش MONITOR را در زیر ببینید).
- Option "MaxClients" "integer"
- حداکثر تعداد کلاینتهای مجاز برای اتصال به کارساز X را تعیین میکند. مقادیر قابل قبول عبارتند از ۶۴، ۱۲۸، ۲۵۶ یا ۵۱۲.
- Option "NoPM" "boolean"
- رویدادهای مربوط به مدیریت توان (Power Management) را غیرفعال میکند. پیشفرض: PM در سیستمهایی که از آن پشتیبانی میکنند فعال است.
- Option "Xinerama" "boolean"
- افزونهٔ XINERAMA را فعال یا غیرفعال میکند. پیشفرض غیرفعال است.
- Option "IndirectGLX" "boolean"
- زمینههای غیرمستقیم GLX را فعال یا غیرفعال میکند. زمینههای غیرمستقیم GLX بهطور پیشفرض غیرفعال هستند.
- Option "DRI2" "boolean"
- فعال یا غیرفعال کردن DRI2. مقدار پیشفرض غیرفعال است.
- Option "GlxVisuals" "string"
- این گزینه واپایش میکند که پیمانهٔ GLX چه تعداد visualهای GLX را راهاندازی کند. مقدار پیشفرض typical است، که زیرمجموعهای متداول از GLXFBConfigهای ارائهشده توسط راهانداز را به عنوان visualهای GLX تنظیم میکند. سایر گزینهها عبارتند از: minimal که حداقل مجموعهٔ مجاز توسط مشخصات GLX را تنظیم میکند، و all که visualهای GLX را برای تمام GLXFBConfigها آماده میکند.
- Option "UseDefaultFontPath" "boolean"
- شامل کردن مسیر پیشفرض قلمها حتی اگر مسیرهای دیگری در xorg.conf مشخص شده باشند. در صورت فعال بودن، سایر مسیرهای قلم نیز گنجانده میشوند. بهطور پیشفرض فعال است.
- Option "IgnoreABI" "boolean"
- اجازهٔ بارگذاری پیمانههایی که برای نسخهای متفاوت و بالقوه ناسازگار از کارساز X ساخته شدهاند. بهطور پیشفرض غیرفعال است.
- Option "AutoAddDevices" "boolean"
- اگر این گزینه غیرفعال باشد، هیچ دستگاهی از طریق پشتیبانهای HAL یا udev افزوده نخواهد شد. بهطور پیشفرض فعال است.
- Option "AutoEnableDevices" "boolean"
- اگر این گزینه غیرفعال باشد، دستگاهها افزوده میشوند (و رویداد DevicePresenceNotify ارسال میشود)، اما فعال نمیشوند؛ بنابراین تعیین خطمشی به کلاینت واگذار میشود. بهطور پیشفرض فعال است.
- Option "AutoAddGPU" "boolean"
- اگر این گزینه غیرفعال باشد، هیچ دستگاه GPU از طریق پشتیبان udev افزوده نخواهد شد. بهطور پیشفرض فعال است. (ممکن است برای راهاندازی Xinerama نیاز به غیرفعال کردن آن باشد).
- Option "AutoBindGPU" "boolean"
- در صورت فعال بودن، پردازندههای گرافیکی ثانویه بهطور خودکار به عنوان output-sink و offload-source تنظیم میشوند. برای نمونه خروجیهای لپتاپی که فقط به پردازندهٔ گرافیکی ثانویه متصل هستند، بدون نیاز به اجرای دستور "xrandr --setprovideroutputsource" مستقیماً در دسترس قرار میگیرند. بهطور پیشفرض فعال است.
- Option "Log" "string"
- این گزینه کنترل میکند که آیا پروندهٔ وقایعنگاری پس از هر پیام خالی (flush) یا روی دیسک همگامسازی (sync) شود یا خیر. مقادیر ممکن عبارتند از: flush یا sync. بهطور پیشفرض تنظیم نشده است.
- Option "AllowByteSwappedClients" "boolean"
- اجازه دادن به کلاینتهایی با ترتیب بایت (byte-order) متفاوت با کارساز. بهطور پیشفرض فعال است.
بخش MODULE
بخش Module برای مشخص کردن اینکه کدام پیمانههای کارساز Xorg باید بارگذاری شوند استفاده میشود. هنگامی که کارساز Xorg به شکل ایستا (static) کامپایل شده باشد، این بخش نادیده گرفته میشود. نوع پیمانههایی که معمولاً در این بخش بارگذاری میشوند، پیمانههای افزونهٔ کارساز Xorg هستند. بیشتر انواع دیگر پیمانهها هنگام نیاز بهطور خودکار از طریق سازوکارهای دیگر بارگذاری میشوند. بخش Module اختیاری است، همچنین تمام ورودیهایی که میتوان در آن تعیین کرد.
ورودیهای این بخش میتوانند به دو شکل باشند. شکل نخست و رایجتر، ورودیای است که از کلیدواژهٔ Load استفاده میکند، همانگونه که در اینجا شرح داده شده است:
- Load "modulename"
- این دستور به کارساز دستور میدهد تا پیمانهای با نام modulename را بارگذاری کند. نام پیمانهٔ ارائهشده باید نام استاندارد پیمانه باشد، نه نام پروندهٔ پیمانه. نام استاندارد به حروف بزرگ و کوچک حساس است، و شامل پیشوندهای “lib” یا “cyg”، یا پسوندهای “.so” یا “.dll” نمیشود.
- Disable "modulename"
- به کارساز دستور میدهد که پیمانهای به نام modulename را بارگذاری نکند. برخی از پیمانهها بهطور پیشفرض در کارساز بارگذاری میشوند، و این گزینه آن پیشفرض را لغو میکند. اگر دستور Load برای همان پیمانه داده شود، دستور Disable را لغو میکند و پیمانه بارگذاری میشود. نام پیمانهٔ دادهشده باید نام استاندارد پیمانه باشد، نه نام پروندهٔ پیمانه. همانند دستور Load، نام استاندارد به حروف بزرگ و کوچک حساس است و شامل پیشوند "lib" یا پسوندهای ".a"، ".o" یا ".so" نمیشود.
شکل دوم ورودی، یک SubSection (زیربخش) است که در آن نام زیربخش همان نام پیمانه است و محتوای SubSection شامل Options است که هنگام بارگذاری به پیمانه ارسال میشوند.
مثال: پیمانهٔ extmod (که شامل گروه متفرقهای از افزونههای کارساز است) را میتوان با غیرفعال کردن افزونهٔ XFree86-DGA با استفاده از ورودی زیر بارگذاری کرد:
SubSection "extmod" Option "omit XFree86-DGA" EndSubSection
پیمانهها در هر شاخهٔ مشخصشده در مسیر جستجوی ModulePath و در زیرشاخههای drivers، extensions، input، internal و multimedia هر یک از آن شاخهها جستجو میشوند. علاوه بر این، در صورت وجود زیرشاخههای ویژهٔ سیستمعامل در تمام موارد بالا، ابتدا آنها جستجو میشوند.
برای مشاهدهٔ اینکه چه پیمانههای افزونهای در دسترس هستند، زیرشاخهٔ extensions را در مسیر زیر بررسی کنید:
lib/xorg/modules
پیمانههای افزونهٔ “extmod”، “dbe”، “dri”، “dri2”، “glx” و “record”، در صورت وجود، بهطور خودکار بارگذاری میشوند، مگر آنکه با ورودیهای "Disable" غیرفعال شده باشند. توصیه میشود دستکم پیمانهٔ افزونهٔ “extmod” بارگذاری شود. اگر بارگذاری نشود، برخی از افزونههای پرکاربرد کارساز (مانند افزونهٔ SHAPE) در دسترس نخواهند بود.
بخش EXTENSIONS
بخش Extensions برای مشخص کردن اینکه کدام افزونههای پروتکل X11 باید فعال یا غیرفعال شوند به کار میرود. بخش Extensions اختیاری است، همچنین تمام ورودیهایی که ممکن است در آن قید شوند.
ورودیهای این بخش به صورت گزارههای Option فهرست میشوند که نام افزونه به عنوان آرگومان اول و مقدار بولی به عنوان آرگومان دوم است. نام افزونه به حروف بزرگ و کوچک حساس است و با شکلی که در خروجی "Xorg -extension ?" نشان داده میشود مطابقت دارد.
Section "Extensions"
Option "MIT-SHM" "Disable"
EndSection
بخش INPUTDEVICE
پروندهٔ پیکربندی میتواند چندین بخش InputDevice داشته باشد. کارسازهای جدید X از پشتیبانهای HAL یا udev برای شمارش دستگاههای ورودی و اتصال گرم (hotplugging) ورودی استفاده میکنند. معمولاً در صورتی که اتصال گرم در حال استفاده باشد (یعنی AutoAddDevices فعال باشد) نیازی به درج بخشهای InputDevice در xorg.conf نیست. اگر اتصال گرم فعال باشد، بخشهای InputDevice که از راهاندازهای mouse، kbd و vmmouse استفاده میکنند نادیده گرفته خواهند شد.
اگر اتصال گرم غیرفعال باشد، معمولاً دستکم دو بخش وجود خواهد داشت: یکی برای صفحهکلید اصلی (هستهای) و دیگری برای اشارهگر اصلی. اگر هر یک از این دو موجود نباشد، از یک پیکربندی پیشفرض برای موارد ناموجود استفاده خواهد شد. در غیاب یک دستگاه ورودی هستهای که صریحاً مشخص شده باشد، نخستین InputDevice که به عنوان CorePointer (یا CoreKeyboard) علامتگذاری شده باشد به کار میرود. اگر در آنجا موردی مطابقت نداشت، نخستین InputDevice که از راهانداز “mouse” (یا “kbd”) استفاده میکند به کار میرود. آخرین راهکار جایگزین، استفاده از پیکربندیهای پیشفرض درونساخت است. در حال حاضر پیکربندی پیشفرض ممکن است روی همهٔ پلتفرمها طبق انتظار کار نکند.
بخشهای InputDevice قالب زیر را دارند:
Section "InputDevice"
Identifier "name"
Driver "inputdriver"
options
...
EndSection
ورودیهای Identifier و Driver در تمامی بخشهای InputDevice الزامی هستند. سایر ورودیها اختیاری هستند.
ورودی Identifier نام یکتایی را برای این دستگاه ورودی تعیین میکند. ورودی Driver نام راهاندازی را که باید برای این دستگاه ورودی استفاده شود تعیین میکند. هنگام استفاده از کارساز با پیمانههای بارگذاریپذیر، پیمانهٔ راهانداز ورودی "inputdriver" برای هر بخش فعال InputDevice بارگذاری خواهد شد. یک بخش InputDevice زمانی فعال تلقی میشود که توسط یک بخش فعال ServerLayout ارجاع داده شده باشد، یا با گزینههای خط فرمان -keyboard یا -pointer ارجاع داده شود، و یا در غیاب چنین ارجاعات صریحی، به صورت تلویحی به عنوان دستگاه اشارهگر یا صفحهکلید هستهای انتخاب شود. رایجترین راهاندازهای ورودی عبارتند از evdev(4) در سیستمهای لینوکس، و kbd(4) و mousedrv(4) در سایر پلتفرمها.
بخشهای InputDevice برخی Options مستقل از راهانداز را شناسایی میکنند که در اینجا شرح داده شدهاند. برای شرح گزینههای مختص دستگاه، به صفحات راهنمای تکتک راهاندازهای ورودی مراجعه کنید.
- Option "AutoServerLayout" "boolean"
- همیشه دستگاه را به بخش ServerLayout استفادهشده توسط این نمونه از کارساز بیفزا. این کار روی چیدمانهای ضمنی و همچنین چیدمانهای صریح مشخصشده در پیکربندی و/یا خط فرمان تأثیر میگذارد.
- Option "CorePointer"
- منسوخ شده است، بنگرید به Floating
- Option "CoreKeyboard"
- منسوخ شده است، بنگرید به Floating
- Option "AlwaysCore" "boolean"
- منسوخ شده است، بنگرید به Floating
- Option "SendCoreEvents" "boolean"
- منسوخ شده است، بنگرید به Floating
- Option "Floating" "boolean"
- هنگامی که
فعال باشد،
دستگاه
ورودی به
صورت شناور
(floating)
راهاندازی
میشود و
رویدادها
را از طریق
هیچ دستگاه
اصلی (master)
گزارش
نمیکند و
کنترلی روی
مکاننما
ندارد.
دستگاه
تنها در
دسترس
کلاینتهایی
است که از API
افزونهٔ X Input
استفاده
میکنند.
این گزینه
بهطور
پیشفرض
غیرفعال
است.
گزینههای
CorePointer، CoreKeyboard، AlwaysCore
و SendCoreEvents عکس
گزینهٔ Floating
هستند (یعنی
SendCoreEvents "on"
معادل Floating "off"
است).
این گزینه تنها رفتار زمان راهاندازی را کنترل میکند، یک دستگاه ممکن است در زمان اجرا مجدداً متصل شود یا در حالت شناور قرار گیرد.
- Option "TransformationMatrix" "a b c d e f g h i"
- ماتریس تبدیل ۳×۳ را برای دستگاههای ورودی مطلق مشخص میکند. دستگاه ورودی به ناحیهٔ دادهشده در ماتریس مقید خواهد شد. در بیشتر پیکربندیها، "a" و "e" پهنا و بلندی ناحیهای را که دستگاه به آن مقید شده تعیین میکنند، و "c" و "f" جابهجاییهای x و y ناحیه را مشخص میکنند. دامنهٔ مقادیر ۰ تا ۱ است، که در آن ۱ بیانگر پهنا یا بلندی تمام پنجرههای ریشه با هم است، ۰٫۵ بیانگر نیمی از ناحیه است، و غیره. مقادیر یک ماتریس ۳×۳ را نشان میدهند، که در آن گروههای سهتایی اول، دوم و سوم مقادیر به ترتیب سطر اول، دوم و سوم ماتریس را نشان میدهند. ماتریس همانی "1 0 0 0 1 0 0 0 1" است.
شتابدهی اشارهگر
برای دستگاههای اشارهگر، گزینههای زیر چگونگی شتاب یا کاهش سرعت اشارهگر را نسبت به حرکت فیزیکی دستگاه کنترل میکنند. بیشتر این موارد را میتوان در زمان اجرا تنظیم کرد؛ برای جزئیات به صفحهٔ راهنمای xinput(1) مراجعه کنید. در اینجا تنها به مهمترین گزینههای شتاب پرداخته شده است.
- Option "AccelerationProfile" "integer"
- نمایه (پروفایل) را انتخاب میکند. به زبان ساده، این نمایه "حس" شتاب را شکل میدهد. به صورت رسمیتر، این نمایه تعیین میکند که تابع انتقال (شتاب واقعی به عنوان تابعی از سرعت فعلی دستگاه و کنترلهای شتاب) چگونه ساخته میشود. این امر عمدتاً به سلیقهٔ شخصی بستگی دارد.
0 کلاسیک (عمدتاً سازگار) -1 هیچ (تنها کاهش سرعت ثابت اعمال میشود) 1 وابسته به دستگاه 2 چندجملهای (تابع چندجملهای) 3 خطی نرم (زانویی ملایم، سپس خطی) 4 ساده (در سرعت کم عادی، در غیر این صورت شتابیافته) 5 توانی (تابع توانی) 6 خطی (سرعت بیشتر، شتاب بیشتر) 7 محدود (شبیه خطی، اما در آستانه به حداکثر میرسد)
- Option "ConstantDeceleration" "real"
- باعث میشود اشارهگر به اندازهٔ ضریب deceleration کندتر از حد معمول حرکت کند. برای دستگاههای با وضوح بالا بیشترین کاربرد را دارد. مقداری بین ۰ و ۱ سرعت اشارهگر را افزایش میدهد.
- Option "AdaptiveDeceleration" "real"
- امکان میدهد سرعت اشارهگر هنگام حرکت آهسته واقعاً کاهش یابد. حداکثر به میزان ضریب adaptive deceleration آهستهتر خواهد شد. امکان قرارگیری دقیق اشارهگر را بدون فدا کردن سرعت فراهم میآورد.
- Option "AccelerationScheme" "string"
- طرح را که همان الگوریتم زیرین است انتخاب میکند.
predictable الگوریتم پیشفرض (رفتار قابلپیشبینیتر) lightweight کد قدیمی شتابدهی (همانگونه که در مشخصات پروتکل X آمده) none بدون شتاب یا کاهش سرعت
- Option "AccelerationNumerator" "integer"
- Option "AccelerationDenominator" "integer"
- صورت و مخرج ضریب شتاب را تنظیم میکند. ضریب شتاب یک عدد کسری است که همراه با آستانه میتواند برای تنظیم دقیق نمایهها متناسب با نیاز کاربر استفاده شود. نمایههای simple و limited مستقیماً از آن استفاده میکنند (یعنی با همان ضریب شتاب میدهند)، برای سایر نمایهها باید برقرار باشد که ضریب شتاب بالاتر به اشارهگر سریعتری منجر شود. معمولاً مقدار ۱ بدون شتاب است و مقادیر تا ۵ منطقی هستند.
- Option "AccelerationThreshold" "integer"
- آستانه را تنظیم میکند، که تقریباً همان سرعتی است (معمولاً بر حسب واحدهای دستگاه در هر ۱۰ میلیثانیه) که برای فعال شدن شتاب لازم است. با این حال اثر دقیق آن با نمایه تغییر میکند.
بخش INPUTCLASS
پروندهٔ پیکربندی میتواند چندین بخش InputClass داشته باشد. این بخشها اختیاری هستند و برای ارائهٔ پیکربندی برای یک رده (کلاس) از دستگاههای ورودی هنگام افزوده شدن خودکار آنها استفاده میشوند. یک دستگاه ورودی میتواند با بیش از یک بخش InputClass مطابقت داشته باشد. هر رده میتواند تنظیمات ردهٔ قبلی را بازنویسی کند، بنابراین بهتر است بخشها طوری چیده شوند که مطابقتهای کلیتر در ابتدا قرار گیرند.
بخشهای InputClass قالب زیر را دارند:
Section "InputClass"
Identifier "name"
entries
...
options
...
EndSection
ورودی Identifier در تمامی بخشهای InputClass الزامی است. سایر ورودیها اختیاری هستند.
ورودی Identifier نام یکتایی را برای این ردهٔ ورودی مشخص میکند. ورودی Driver نام راهاندازی را برای استفاده جهت این دستگاه ورودی تعیین میکند. پس از بررسی همهٔ ردهها، هنگام استفاده از کارساز با پیمانههای بارگذاریپذیر، پیمانهٔ "inputdriver" از نخستین ورودی Driver فعال خواهد شد.
هنگامی که یک دستگاه ورودی بهطور خودکار افزوده میشود، مشخصات آن در برابر تمام بخشهای InputClass بررسی میشود. هر بخش میتواند شامل ورودیهای اختیاری برای محدود کردن دامنهٔ تطابق آن رده باشد. اگر هیچیک از ورودیهای اختیاری وجود نداشته باشد، بخش InputClass جنبهٔ عمومی خواهد داشت و با هر دستگاه ورودی مطابقت مییابد. اگر بیش از یکی از این ورودیها وجود داشته باشد، همهٔ آنها باید تطابق داشته باشند تا پیکربندی اعمال شود.
دو نوع ورودی تطابق در بخشهای InputClass استفاده میشود. نوع اول امکان میدهد نشانههای مختلف در برابر ویژگیهای دستگاه مطابقت داده شوند. یک ورودی میتواند طوری ساخته شود که با جدا کردن آرگومانها با نویسهٔ '|' با ویژگیهای دستگاههای مختلف مطابقت داشته باشد. چندین ورودی از یک نوع را میتوان برای افزودن چندین شرط تطابق روی همان ویژگی قید کرد. برای نمونه:
Section "InputClass"
Identifier "My Class"
# رشته محصول باید شامل example باشد و
# همچنین یا شامل gizmo یا gadget
MatchProduct "example"
MatchProduct "gizmo|gadget"
NoMatchDriver "drivername"
...
EndSection
- MatchProduct "matchproduct"
- این ورودی میتواند برای بررسی وجود زیررشتهٔ "matchproduct" در نام محصول دستگاه استفاده شود.
- MatchVendor "matchvendor"
- این ورودی میتواند برای بررسی وجود زیررشتهٔ "matchvendor" در نام سازندهٔ دستگاه به کار رود.
- MatchDevicePath "matchdevice"
- این ورودی میتواند برای بررسی مطابقت پروندهٔ دستگاه با الگوی مسیر "matchdevice" استفاده شود.
- MatchOS "matchos"
- این ورودی میتواند برای بررسی مطابقت سیستمعامل با رشتهٔ حساسنبودن به حروف "matchos" استفاده شود. این ورودی تنها روی سیستمهایی پشتیبانی میشود که فراخوانی سیستمی uname(2) را ارائه میدهند.
- MatchPnPID "matchpnp"
- شناسهٔ وصل و اجرا (PnP ID) دستگاه میتواند با الگوی عام شل (wildcard) "matchpnp" بررسی شود.
- MatchUSBID "matchusb"
- شناسهٔ USB دستگاه میتواند در برابر الگوی عام شل "matchusb" بررسی شود. این شناسه به صورت اعداد هگزادسیمال با حروف کوچک ساخته شده که با ':' از هم جدا شدهاند. این قالب مشابه قالب برنامهٔ lsusb(8) است.
- MatchDriver "matchdriver"
- رشتهٔ حساس به حروف "matchdriver" را با راهانداز فعلی پیکربندیشده برای دستگاه بررسی میکند. ترتیب بخشهایی که از این ورودی استفاده میکنند مهم است زیرا تطابق تنها زمانی برقرار میشود که راهانداز توسط پشتیبان پیکربندی یا بخش InputClass پیشین تنظیم شده باشد.
- MatchTag "matchtag"
- این ورودی میتواند برای بررسی اینکه آیا برچسبهای تخصیصیافته توسط پشتیبان پیکربندی با الگوی "matchtag" تطابق دارند یا خیر استفاده شود. در صورتی که دستکم یکی از برچسبهای دادهشده در "matchtag" با حداقل یکی از برچسبهای تخصیصیافته توسط پشتیبان مطابقت داشته باشد، تطابق برقرار است.
- MatchLayout "matchlayout"
- رشتهٔ حساس به حروف "matchlayout" را در برابر بخش فعال ServerLayout بررسی میکند. رشتهٔ خالی "" با چیدمان تلویحی که در صورت عدم وجود بخشهای نامگذاریشدهٔ ServerLayout ظاهر میشود مطابقت دارد.
دستورات فوق دارای معادلهایی برای تطابق منفی هستند که با دستورات NoMatchProduct، NoMatchVendor، NoMatchDevicePath، NoMatchOS، NoMatchPnPID، NoMatchUSBID، NoMatchDriver، NoMatchTag و NoMatchLayout مشخص میشوند. این دستورات NoMatch زمانی تطابق دارند که شرط تطابق بعدی توسط دستگاه برآورده نشود.
نوع دوم ورودی برای مطابقت دادن نوع دستگاه استفاده میشود. این ورودیها یک آرگومان بولی شبیه ورودیهای Option میگیرند.
- MatchIsKeyboard "bool"
- MatchIsPointer "bool"
- MatchIsJoystick "bool"
- MatchIsTablet "bool"
- MatchIsTabletPad "bool"
- MatchIsTouchpad "bool"
- MatchIsTouchscreen "bool"
هنگامی که یک دستگاه ورودی با بخش InputClass مطابقت پیدا کرد، هرگونه ورودی Option به دستگاه اعمال میشود. یک Option مختص InputClass شناخته شده است. برای شرح سایر ورودیهای Option به بخش InputDevice در بالا مراجعه کنید.
- Option "Ignore" "boolean"
- این ورودی اختیاری تعیین میکند که دستگاه باید کاملاً نادیده گرفته شود و به کارساز افزوده نشود. این مورد زمانی کاربرد دارد که دستگاه توسط برنامهٔ دیگری مدیریت میشود و نباید هیچ رویداد X تولید شود.
بخش OUTPUTCLASS
پروندهٔ پیکربندی میتواند چندین بخش OutputClass داشته باشد. این بخشها اختیاری هستند و برای ارائهٔ پیکربندی جهت یک رده از دستگاههای خروجی هنگام افزوده شدن خودکار آنها به کار میروند. یک دستگاه خروجی میتواند با بیش از یک بخش OutputClass مطابقت داشته باشد. هر رده میتواند تنظیمات ردهٔ پیشین را لغو کند و جایگزین شود، بنابراین بهتر است بخشها طوری سازماندهی شوند که کلیترین مطابقتها در آغاز قرار گیرند.
بخشهای OutputClass قالب زیر را دارند:
Section "OutputClass"
Identifier "name"
entries
...
EndSection
ورودی Identifier در تمامی بخشهای OutputClass الزامی است. سایر ورودیها اختیاری هستند.
ورودی Identifier نام یکتایی را برای این ردهٔ خروجی تعیین میکند. ورودی Driver نام راهاندازی را برای استفاده جهت این دستگاه خروجی مشخص میکند. پس از بررسی همهٔ ردهها، هنگام استفاده از کارساز با پیمانههای بارگذاریپذیر، پیمانهٔ "outputdriver" از نخستین ورودی Driver فعال خواهد شد.
هنگامی که یک دستگاه خروجی بهطور خودکار افزوده میشود، مشخصات آن در برابر تمام بخشهای OutputClass بررسی میشود. هر بخش میتواند شامل ورودیهای اختیاری برای محدود کردن دامنهٔ تطابق آن رده باشد. اگر هیچیک از ورودیهای اختیاری وجود نداشته باشد، بخش OutputClass جنبهٔ عمومی خواهد داشت و با هر دستگاه خروجی مطابقت پیدا میکند. اگر بیش از یکی از این ورودیها وجود داشته باشد، همهٔ آنها باید تطابق داشته باشند تا پیکربندی اعمال شود.
فهرست نشانههای زیر میتواند در برابر ویژگیهای دستگاه مطابقت داده شود. یک ورودی را میتوان طوری نوشت که با جدا کردن آرگومانها با نویسهٔ '|' با ویژگیهای دستگاههای مختلف مطابقت داشته باشد.
برای نمونه:
Section "OutputClass"
Identifier "My Class"
# راهانداز هسته باید foo یا bar باشد
MatchDriver "foo|bar"
...
EndSection
- MatchDriver "matchdriver"
- رشتهٔ حساس به حروف "matchdriver" را با راهانداز کرنل دستگاه بررسی میکند.
هنگامی که یک دستگاه خروجی با بخش OutputClass مطابقت پیدا کرد، هرگونه ورودی Option به دستگاه اعمال میشود. یک Option مختص OutputClass شناخته شده است. برای شرح سایر ورودیهای Option به بخش Device در زیر مراجعه کنید.
- Option "PrimaryGPU" "boolean"
- این گزینه مشخص میکند که دستگاه مطابق باید به عنوان GPU اصلی تلقی شود، و انتخاب GPU استفادهشده به عنوان خروجی توسط میانافزار (فریمور) را نادیده بگیرد و جایگزین آن شود. اگر چندین دستگاه خروجی با یک بخش OutputClass با گزینهٔ تنظیمشدهٔ PrimaryGPU مطابقت داشته باشند، نخستین دستگاه شمارششده به GPU اصلی تبدیل میشود.
یک بخش OutputClass میتواند شامل ورودیهای ModulePath باشد. هنگامی که یک دستگاه خروجی با یک بخش OutputClass مطابقت مییابد، هرگونه ورودی ModulePath در آن OutputClass به ابتدای مسیر جستجوی پیمانههای بارگذاریپذیر کارساز Xorg پیشافزوده میشود. برای اطلاعات بیشتر ModulePath را در بخش Files ببینید.
بخش DEVICE
پروندهٔ پیکربندی میتواند چندین بخش Device داشته باشد. دستکم باید یکی برای کارت ویدیویی مورد استفاده وجود داشته باشد.
بخشهای Device قالب زیر را دارند:
Section "Device"
Identifier "name"
Driver "driver"
entries
...
EndSection
ورودیهای Identifier و Driver در تمامی بخشهای Device الزامی هستند. سایر ورودیها اختیاری هستند.
ورودی Identifier نام یکتایی را برای این دستگاه گرافیکی مشخص میکند. ورودی Driver نام راهاندازی را برای استفاده جهت این دستگاه گرافیکی تعیین میکند. هنگام استفاده از کارساز با پیمانههای بارگذاریپذیر، پیمانهٔ راهانداز "driver" برای هر بخش فعال Device بارگذاری خواهد شد. یک بخش Device زمانی فعال تلقی میشود که توسط یک بخش فعال Screen ارجاع داده شده باشد.
بخشهای Device برخی ورودیها و Options مستقل از راهانداز را شناسایی میکنند که در اینجا شرح داده شدهاند. همهٔ راهاندازها از این ورودیهای مستقل از راهانداز استفاده نمیکنند، و بسیاری از آنها که استفاده میکنند نیازی به تعیین آنها ندارند زیرا اطلاعات بهطور خودکار تشخیص داده میشوند. برای اطلاعات بیشتر در این مورد و شرح گزینههای مختص دستگاه، به صفحات راهنمای تکتک راهاندازهای گرافیکی مراجعه کنید. توجه داشته باشید که بیشتر Options فهرستشده در اینجا (اما نه سایر ورودیها) را میتوان به جای اینجا در بخش Device ، در بخش Screen تعیین کرد.
- BusID "bus-id"
- مکان گذرگاه کارت گرافیک را مشخص میکند. برای کارتهای PCI/AGP، رشتهٔ bus-id شکلی به صورت PCI:bus@domain:device:function دارد (برای نمونه، “PCI:1@0:0:0” ممکن است برای یک کارت AGP مناسب باشد). بخش "@domain" را میتوان برای دامنهٔ صفر PCI حذف کرد. این فیلد معمولاً در پیکربندیهای تکنمایشگره (single-head) هنگام استفاده از کارت گرافیک اصلی اختیاری است. در پیکربندیهای چندنمایشگره (multi-head)، یا هنگام استفاده از کارت گرافیک ثانویه در یک پیکربندی تکنمایشگره، این ورودی الزامی است. هدف اصلی آن ایجاد اتصالی بدون ابهام بین بخش دستگاه و سختافزاری است که نشان میدهد. این اطلاعات معمولاً با اجرای ابزار pciaccess به نام scanpci یافت میشود.
- Screen number
- این گزینه برای کارتهایی که یک موجودیت PCI واحد میتواند بیش از یک نمایشگر را راهاندازی کند (یعنی چندین CRTC که یک شتابدهندهٔ گرافیکی و حافظهٔ ویدیویی مشترک دارند) الزامی است. برای هر خروجی (head) یک بخش Device لازم است، و این پارامتر مشخص میکند که هر یک از بخشهای Device به کدام خروجی اعمال میشود. مقادیر مجاز number از ۰ تا یکی کمتر از تعداد کل خروجیها در هر موجودیت است. بیشتر راهاندازها نیازمند وجود صفحهٔ اصلی (۰) هستند.
- Chipset "chipset"
- این ورودی که معمولاً اختیاری است، مجموعه تراشهٔ (chipset) استفادهشده روی برد گرافیک را مشخص میکند. در بیشتر موارد این ورودی لازم نیست زیرا راهاندازها سختافزار را برای تعیین نوع تراشه کاوش میکنند. آن را مشخص نکنید مگر اینکه مستندات ویژهٔ راهانداز این کار را به شما توصیه کرده باشد.
- Ramdac "ramdac-type"
- این ورودی اختیاری نوع RAMDAC استفادهشده روی برد گرافیک را مشخص میکند. این گزینه تنها توسط تعداد اندکی از راهاندازها استفاده میشود، و در بیشتر موارد لازم نیست زیرا راهاندازها در صورت امکان سختافزار را برای تعیین نوع RAMDAC کاوش میکنند. آن را مشخص نکنید مگر اینکه مستندات ویژهٔ راهانداز آن را توصیه کرده باشد.
- DacSpeed speed
- DacSpeed speed-8 speed-16 speed-24 speed-32
- این ورودی اختیاری درجهبندی سرعت RAMDAC را مشخص میکند (که معمولاً روی تراشهٔ RAMDAC چاپ شده است). سرعت بر حسب مگاهرتز (MHz) است. هنگامی که یک مقدار داده شود، برای تمام اندازههای پیکسل بافر فریم اعمال میشود. هنگامی که چندین مقدار داده شود، به ترتیب برای اندازههای پیکسل بافر فریم ۸، ۱۶، ۲۴ و ۳۲ اعمال خواهند شد. این گزینه توسط بسیاری از راهاندازها استفاده نمیشود، و تنها زمانی نیاز به قید آن است که درجهٔ سرعت RAMDAC با پیشفرضهای درون راهانداز متفاوت باشد، یا راهانداز نتواند پیشفرضهای درست را بهطور خودکار تشخیص دهد. آن را تعیین نکنید مگر اینکه مستندات ویژهٔ راهانداز این کار را توصیه کرده باشد.
- Clocks clock ...
- ساعتهای پیکسلی را که روی برد گرافیک شما قرار دارند مشخص میکند. ساعتها بر حسب مگاهرتز (MHz) هستند و میتوانند به صورت عدد اعشاری ممیز شناور مشخص شوند. مقدار در داخل به نزدیکترین کیلوهرتز ذخیره میشود. ترتیب ساعتها حائز اهمیت است. این ترتیب باید با ترتیبی که روی برد گرافیک انتخاب میشوند مطابقت داشته باشد. چندین خط Clocks میتواند قید شود، و هر یک برای تشکیل فهرست با هم ترکیب میشوند. بیشتر راهاندازها از این ورودی استفاده نمیکنند، و تنها برای برخی بردهای قدیمیتر با ساعتهای غیرقابل برنامهریزی لازم است. این ورودی را مشخص نکنید مگر اینکه مستندات ویژهٔ راهانداز صریحاً آن را توصیه کرده باشد.
- ClockChip "clockchip-type"
- این ورودی اختیاری برای مشخص کردن نوع تراشهٔ ساعت روی بردهای گرافیکی دارای مولد ساعت قابل برنامهریزی استفاده میشود. تنها تعداد کمی از راهاندازهای Xorg از تراشههای ساعت قابل برنامهریزی پشتیبانی میکنند. برای جزئیات بیشتر به صفحهٔ راهنمای راهانداز مربوطه مراجعه کنید.
- VideoRam mem
- این ورودی اختیاری مقدار حافظهٔ ویدیویی (RAM) نصبشده روی برد گرافیک را مشخص میکند. این مقدار بر حسب کیلوبایت (kByte) اندازهگیری میشود. در بیشتر موارد این ورودی لازم نیست چرا که کارساز Xorg برای تعیین این مقدار برد گرافیک را کاوش میکند. مستندات ویژهٔ راهانداز باید نشان دهد چه زمانی ممکن است به آن نیاز باشد.
- MemBase baseaddress
- این ورودی اختیاری نشانی پایهٔ حافظهٔ بافر فریم خطی برد گرافیک را مشخص میکند. این ورودی توسط راهاندازهای زیادی استفاده نمیشود، و تنها در صورتی باید تعیین شود که مستندات ویژهٔ راهانداز آن را توصیه کند.
- IOBase baseaddress
- این ورودی اختیاری نشانی پایهٔ ورودی/خروجی (IO) را مشخص میکند. این ورودی توسط راهاندازهای زیادی استفاده نمیشود، و تنها در صورتی باید تعیین شود که مستندات ویژهٔ راهانداز آن را توصیه کند.
- ChipID id
- این ورودی اختیاری یک شناسهٔ عددی را که نوع تراشه را مشخص میکند تعیین میکند. برای کارتهای PCI، این معمولاً همان شناسهٔ دستگاه (device ID) است. این مورد میتواند برای لغو تشخیص خودکار استفاده شود، اما تنها باید زمانی انجام گیرد که مستندات ویژهٔ راهانداز آن را توصیه کند.
- ChipRev rev
- این ورودی اختیاری شمارهٔ بازنگری (تجدیدنظر) تراشه را مشخص میکند. میتوان از آن برای لغو تشخیص خودکار استفاده کرد، اما تنها باید زمانی انجام شود که مستندات ویژهٔ راهانداز آن را توصیه کند.
- MatchSeat seat-id
- تنها در صورتی این بخش Device را اعمال کن که کارساز X با گزینهٔ -seat seat-id اجرا شده باشد.
- Option "ModeDebug" "boolean"
- چاپ اطلاعات اشکالزدایی اضافی دربارهٔ تنظیم حالت (modesetting) را در گزارش کارساز فعال میکند.
- Option "NoOutputInitialSize" "width height"
- بهطور معمول، کارساز X اندازهٔ اولیهٔ صفحه را بر اساس هر خروجی متصل استنباط میکند. اما اگر هیچ خروجی متصلی وجود نداشته باشد، کارساز X اندازهٔ صفحهٔ پیشفرض ۱۰۲۴ در ۷۶۸ را برمیگزیند. این گزینه اندازهٔ صفحهٔ پیشفرض را برای زمانی که هیچ خروجی متصل نیست بازنویسی میکند. برخلاف ورودی زیربخش "Virtual" در بخش Display که بدون قید و شرط اعمال میشود، گزینهٔ "NoOutputInitialSize" تنها زمانی به کار میرود که هنگام شروع به کار کارساز X هیچ خروجی تشخیص داده نشود.
- Option "PreferCloneMode" "boolean"
- در صورت فعال بودن، مانیتورهای یک صفحه (screen) را بهطور پیشفرض به جای چینش افقی گسترشیافته (horizontal extended)، در حالت همسانسازی (clone mode) راهاندازی میکند. (بهطور پیشفرض غیرفعال است؛ درایور ویدیو میتواند مقدار پیشفرض را تغییر دهد، اما این گزینه همیشه میتواند آن را بازنویسی کند)
- Options
- پرچمهای گزینهها (Options) میتوانند در بخشهای Device مشخص شوند. این موارد شامل گزینههای وابسته به درایور و گزینههای مستقل از درایور هستند. موارد نوع اول در مستندات مربوط به درایور توصیف شدهاند. برخی از موارد نوع دوم در زیر در بخش مربوط به بخش Screen توضیح داده شدهاند و میتوان آنها را در اینجا نیز گنجاند.
بخش VIDEOADAPTOR
کسی مایل نیست نحوه کار این بخش را توضیح دهد. شاید هیچکس نمیداند ...
بخش MONITOR
فایل پیکربندی ممکن است دارای چندین بخش Monitor باشد. بهطور معمول باید دستکم یکی برای مانیتور مورد استفاده وجود داشته باشد، اما هنگامی که هیچ موردی مشخص نشده باشد، یک پیکربندی پیشفرض ایجاد خواهد شد.
بخشهای Monitor دارای قالب زیر هستند:
Section "Monitor"
Identifier "name"
مدخلها
...
EndSection
تنها مدخل اجباری در یک بخش Monitor مدخل Identifier است.
مدخل Identifier نام یکتای این مانیتور را مشخص میکند. بخش Monitor میتواند برای ارائه اطلاعات درباره مشخصات مانیتور، Options ویژه مانیتور، و اطلاعات درباره حالتهای ویدیویی (video modes) قابل استفاده با مانیتور به کار رود.
در درایورهای پشتیبانیکننده از RandR 1.2، بخشهای مانیتور میتوانند به خروجیهای خاصی از کارت گرافیک متصل شوند. با استفاده از نام خروجی تعریفشده توسط درایور ویدیو به همراه شناسه یک بخش مانیتور، با افزودن گزینهای به بخش Device با قالب زیر میتوان یک بخش مانیتور را به یک خروجی پیوند داد:
Option "Monitor-outputname" "monitorsection"
(برای نمونه، Option "Monitor-VGA" "VGA monitor" برای یک خروجی VGA)
در صورت نبود پیوند مشخص میان بخشهای مانیتور و خروجیها، چنانچه یک بخش مانیتور وجود داشته باشد، سرور برای حفظ سازگاری با پیکربندیهای تکنمایشگره (single-head) پیشین، آن را به یک خروجی اختصاص میدهد.
مشخص کردن حالتهای ویدیویی اختیاری است، زیرا سرور از DDC یا سایر اطلاعات ارائهشده توسط مانیتور برای پیکربندی خودکار فهرست حالتهای موجود استفاده خواهد کرد. هنگامی که حالتها بهطور صریح در بخش Monitor (با کلیدواژههای Mode، ModeLine یا UseModes) مشخص شوند، حالتهای توکار (built-in) با همان نامها دیگر گنجانده نمیشوند. با این حال، حالتهای توکار با نامهای متفاوت، در صورتی که با مشخصات مانیتور همخوانی داشته باشند، همچنان بهطور ضمنی گنجانده میشوند.
مدخلهایی که میتوانند در بخشهای Monitor به کار روند، در زیر توصیف شدهاند.
- VendorName "vendor"
- این مدخل اختیاری، سازنده مانیتور را مشخص میکند.
- ModelName "model"
- این مدخل اختیاری، مدل مانیتور را مشخص میکند.
- HorizSync horizsync-range
- محدوده(های) بسامدهای همگامسازی افقی (horizontal sync) پشتیبانیشده توسط مانیتور را مشخص میکند. horizsync-range میتواند فهرستی از مقادیر مجزا یا محدودهای از مقادیر باشد که با کاما جدا شدهاند. محدودهای از مقادیر بهصورت دو مقدار است که با خط تیره از هم جدا میشوند. بهطور پیشفرض مقادیر بر حسب کیلوهرتز (kHz) هستند. اگر MHz یا Hz به انتهای خط اضافه شود، میتوان آنها را بر حسب مگاهرتز یا هرتز مشخص کرد. دادههای ارائهشده در اینجا توسط سرور Xorg برای تعیین اینکه آیا حالتهای ویدیویی در محدوده مشخصات مانیتور قرار دارند یا خیر استفاده میشود. این اطلاعات باید در کتابچه راهنمای مانیتور موجود باشد. اگر این مدخل حذف شود، محدوده پیشفرض 28-33kHz استفاده میشود.
- VertRefresh vertrefresh-range
- محدوده(های) بسامدهای نوسازی عمودی (vertical refresh) پشتیبانیشده توسط مانیتور را مشخص میکند. vertrefresh-range میتواند فهرستی از مقادیر مجزا یا محدودهای از مقادیر باشد که با کاما جدا شدهاند. محدودهای از مقادیر بهصورت دو مقدار است که با خط تیره از هم جدا میشوند. بهطور پیشفرض مقادیر بر حسب هرتز (Hz) هستند. اگر MHz یا kHz به انتهای خط اضافه شود، میتوان آنها را بر حسب مگاهرتز یا کیلوهرتز مشخص کرد. دادههای ارائهشده در اینجا توسط سرور Xorg برای تعیین اینکه آیا حالتهای ویدیویی در محدوده مشخصات مانیتور قرار دارند یا خیر استفاده میشود. این اطلاعات باید در کتابچه راهنمای مانیتور موجود باشد. اگر این مدخل حذف شود، محدوده پیشفرض 43-72Hz استفاده میشود.
- DisplaySize width height
- این مدخل اختیاری، عرض و ارتفاع ناحیه نمایش مانیتور را بر حسب میلیمتر مشخص میکند. در صورت تعیین، برای محاسبه گام افقی و عمودی (DPI) صفحه استفاده میشود.
- Gamma gamma-value
- Gamma red-gamma green-gamma blue-gamma
- این یک مدخل اختیاری است که میتواند برای مشخص کردن تصحیح گاما (gamma correction) مانیتور استفاده شود. میتوان آن را بهصورت یک مقدار واحد یا سه مقدار مجزای RGB مشخص کرد. مقادیر باید در محدوده 0.1 تا 10.0 باشند و مقدار پیشفرض 1.0 است. همه درایورها قادر به استفاده از این اطلاعات نیستند.
- UseModes "modesection-id"
- مجموعه حالتهای فهرستشده در بخش Modes به نام modesection-id را میگنجاند. این کار تمامی حالتهای تعریفشده در آن بخش را برای استفاده توسط این مانیتور دردسترس قرار میدهد.
- Mode "name"
- این یک مدخل چندخطی اختیاری است که میتواند برای تعریف حالتهای ویدیویی مانیتور استفاده شود. در بیشتر موارد نیازی به این کار نیست، زیرا مجموعه پیشفرض حالتهای استاندارد VESA کافی خواهد بود. کلیدواژه Mode نشاندهنده آغاز توصیف یک حالت ویدیویی چندخطی است. توصیف حالت با کلیدواژه EndMode پایان مییابد. توصیف حالت شامل مدخلهای زیر است:
- DotClock clock
- نرخ کلاک نقطه (پیکسل) مورد استفاده برای این حالت است.
- HTimings hdisp hsyncstart hsyncend htotal
- زمانبندیهای افقی را برای حالت مشخص میکند.
- VTimings vdisp vsyncstart vsyncend vtotal
- زمانبندیهای عمودی را برای حالت مشخص میکند.
- Flags "flag" ...
- مجموعهای اختیاری از پرچمهای حالت را مشخص میکند که هر کدام رشتهای جداگانه در گیومه دوتایی هستند. "Interlace" نشان میدهد که حالت بهصورت درهمبافته (interlaced) است. "DoubleScan" نشاندهنده حالتی است که در آن هر خط اسکن دو برابر میشود. "+HSync" و "-HSync" میتوانند برای تعیین قطبیت سیگنال HSync به کار روند. "+VSync" و "-VSync" میتوانند برای تعیین قطبیت سیگنال VSync به کار روند. "Composite" میتواند برای مشخص کردن همگامسازی ترکیبی (composite sync) در سختافزارهایی که از آن پشتیبانی میکنند استفاده شود. علاوه بر این، در برخی سختافزارها، "+CSync" و "-CSync" میتوانند برای تعیین قطبیت همگامسازی ترکیبی به کار روند.
- HSkew hskew
- تعداد پیکسلهایی (به سمت لبه راست صفحه) را مشخص میکند که سیگنال فعالسازی نمایش باید متمایل (skew) شود. همه درایورها از این اطلاعات استفاده نمیکنند. این گزینه ممکن است برای بازنویسی مقدار پیشفرض ارائهشده توسط سرور (در صورت وجود) لازم شود. خطوط افقی متحرک (roving) نشان میدهند که این مقدار باید افزایش یابد. اگر چند پیکسل انتهایی یک خط اسکن در سمت چپ صفحه ظاهر شوند، این مقدار باید کاهش یابد.
- VScan vscan
- تعداد دفعاتی که هر خط اسکن روی صفحه کشیده میشود را مشخص میکند. همه درایورها از این اطلاعات استفاده نمیکنند. مقادیر کمتر از 1 بهصورت 1 در نظر گرفته میشوند که مقدار پیشفرض است. بهطور کلی، پرچم "DoubleScan" Flag که در بالا ذکر شد، این مقدار را دو برابر میکند.
- ModeLine "name" mode-description
- این مدخل نسخه فشردهتری از مدخل Mode است و همچنین میتواند برای مشخص کردن حالتهای ویدیویی مانیتور استفاده شود. این قالبی تکخطی برای تعیین حالتهای ویدیویی است. در بیشتر موارد این مدخل لازم نیست، زیرا مجموعه توکار حالتهای استاندارد VESA کافی خواهد بود.
- Option "DPMS" "bool"
- این گزینه کنترل میکند که آیا سرور باید افزونه DPMS را برای مدیریت توان مصرفی این صفحه فعال کند یا خیر. حالت پیشفرض، فعالسازی افزونه است.
- Option "SyncOnGreen" "bool"
- این گزینه کنترل میکند که آیا کارت گرافیک باید سیگنال همگامسازی را روی پایه رنگ سبز هدایت کند یا خیر. همه کارتها از این گزینه پشتیبانی نمیکنند و بیشتر مانیتورها نیز به آن نیازی ندارند. مقدار پیشفرض غیرفعال است.
- Option "Primary" "bool"
- این مدخل اختیاری مشخص میکند که مانیتور باید بهعنوان مانیتور اصلی در نظر گرفته شود. (تنها در درایورهای پشتیبانیکننده از RandR 1.2)
- Option "PreferredMode" "name"
- این مدخل اختیاری، حالتی را مشخص میکند که بهعنوان حالت اولیه ترجیحی مانیتور علامتگذاری شود. (تنها در درایورهای پشتیبانیکننده از RandR 1.2)
- Option "ZoomModes" "name name ..."
- این مدخل اختیاری حالتهایی را مشخص میکند که بهعنوان حالتهای بزرگنمایی علامتگذاری شوند. امکان جابهجایی به حالت بعدی و قبلی از طریق Ctrl+Alt+Keypad-Plus و Ctrl+Alt+Keypad-Minus وجود دارد. تمامی این حالتهای در دسترس در بخش کلیدهای عددی از فهرست حالتهای صفحه انتخاب میشوند. این فهرست رونوشتی از فهرست حالتهای مانیتور خروجی سازگاری (compatibility output) است. از آنجا که این خروجی، خروجی متصل به مانیتور با کمترین مساحت نقطه (dot-area) است (که از بزرگترین اندازه حالت آن تعیین میشود)، آن مانیتور حالتهای بزرگنمایی موجود را مشخص میکند. (تنها در درایورهای پشتیبانیکننده از RandR 1.2)
- Option "Position" "x y"
- این مدخل اختیاری موقعیت مانیتور را درون صفحه X مشخص میکند. (تنها در درایورهای پشتیبانیکننده از RandR 1.2)
- Option "LeftOf" "output"
- این مدخل اختیاری مشخص میکند که مانیتور باید در سمت چپ خروجی (نه مانیتور) با نام دادهشده قرار گیرد. (تنها در درایورهای پشتیبانیکننده از RandR 1.2)
- Option "RightOf" "output"
- این مدخل اختیاری مشخص میکند که مانیتور باید در سمت راست خروجی (نه مانیتور) با نام دادهشده قرار گیرد. (تنها در درایورهای پشتیبانیکننده از RandR 1.2)
- Option "Above" "output"
- این مدخل اختیاری مشخص میکند که مانیتور باید بالای خروجی (نه مانیتور) با نام دادهشده قرار گیرد. (تنها در درایورهای پشتیبانیکننده از RandR 1.2)
- Option "Below" "output"
- این مدخل اختیاری مشخص میکند که مانیتور باید زیر خروجی (نه مانیتور) با نام دادهشده قرار گیرد. (تنها در درایورهای پشتیبانیکننده از RandR 1.2)
- Option "Enable" "bool"
- این مدخل اختیاری مشخص میکند که آیا مانیتور در زمان راهاندازی باید روشن شود یا خیر. بهطور پیشفرض، سرور تلاش میکند همه مانیتورهای متصل را فعال کند. (تنها در درایورهای پشتیبانیکننده از RandR 1.2)
- Option "Disable" "bool"
- این مدخل اختیاری مشخص میکند که آیا مانیتور در زمان راهاندازی باید خاموش شود یا خیر. بهطور پیشفرض، سرور تلاش میکند همه مانیتورهای متصل را فعال کند. (تنها در درایورهای پشتیبانیکننده از RandR 1.2)
- Option "DefaultModes" "bool"
- این مدخل اختیاری مشخص میکند که آیا سرور باید حالتهای پیشفرض پشتیبانیشده را به فهرست حالتهای ارائهشده در این مانیتور اضافه کند یا خیر. بهطور پیشفرض، سرور حالتهای پیشفرض را اضافه میکند؛ شما فقط در صورتی باید این را غیرفعال کنید که بتوانید تضمین نمایید EDID در همه حال در دسترس خواهد بود، یا اینکه خطوط حالت سفارشی (custom modelines) اضافه کرده باشید که سرور بتواند از آنها استفاده کند. (تنها در درایورهای پشتیبانیکننده از RandR 1.2)
- Option "MinClock" "frequency"
- این مدخل اختیاری حداقل کلاک نقطه پشتیبانیشده توسط مانیتور را بر حسب کیلوهرتز (kHz) مشخص میکند.
- Option "MaxClock" "frequency"
- این مدخل اختیاری حداکثر کلاک نقطه پشتیبانیشده توسط مانیتور را بر حسب کیلوهرتز (kHz) مشخص میکند.
- Option "Ignore" "bool"
- این مدخل اختیاری مشخص میکند که مانیتور باید بهطور کامل نادیده گرفته شود و از طریق RandR گزارش نشود. این مورد زمانی کاربرد دارد که سختافزار وجود خروجیهایی را گزارش دهد که در واقعیت وجود ندارند. (تنها در درایورهای پشتیبانیکننده از RandR 1.2)
- Option "Rotate" "rotation"
- این مدخل اختیاری چرخش اولیه مانیتور دادهشده را مشخص میکند. مقادیر معتبر برای چرخش عبارتند از "normal"، "left"، "right" و "inverted". (تنها در درایورهای پشتیبانیکننده از RandR 1.2)
بخش MODES
فایل پیکربندی ممکن است چندین بخش Modes یا هیچ بخشی از این نوع نداشته باشد. این بخشها راهکاری برای تعریف مجموعهای از حالتهای ویدیویی مستقل از بخشهای Monitor فراهم میکنند. بخشهای Monitor میتوانند تعاریف ارائهشده در این بخشها را با استفاده از کلیدواژه UseModes بگنجانند. در بیشتر موارد بخشهای Modes ضروری نیستند زیرا مجموعه توکار حالتهای استاندارد VESA کافی خواهد بود.
بخشهای Modes قالب زیر را دارند:
Section "Modes"
Identifier "name"
مدخلها
...
EndSection
مدخل Identifier نام یکتای این مجموعه از توصیفهای حالت را مشخص میکند. سایر مدخلهای مجاز در بخشهای Modes شامل مدخلهای Mode و ModeLine هستند که در بالا در بخش Monitor توضیح داده شدند.
بخش SCREEN
فایل پیکربندی ممکن است چندین بخش Screen داشته باشد. دستکم باید یکی برای “صفحه” (screen) مورد استفاده وجود داشته باشد. یک “صفحه” نشاندهنده اتصال یک دستگاه گرافیکی (بخش Device) و یک مانیتور (بخش Monitor) است. یک بخش Screen در صورتی “فعال” در نظر گرفته میشود که توسط یک بخش فعال ServerLayout یا توسط گزینه خط فرمان -screen مورد ارجاع قرار گرفته باشد. اگر هیچیک از این موارد حاضر نباشد، نخستین بخش Screen یافتشده در فایل پیکربندی بهعنوان بخش فعال در نظر گرفته میشود.
بخشهای Screen دارای قالب زیر هستند:
Section "Screen"
Identifier "name"
Device "devid"
GPUDevice "devid"
Monitor "monid"
مدخلها
...
SubSection "Display"
مدخلها
...
EndSubSection
...
EndSection
مدخل Identifier اجباری است. سایر موارد همگی اختیاری هستند.
مدخل Identifier نام یکتای این صفحه را مشخص میکند. بخش Screen اطلاعات مختص کل صفحه را فراهم میکند، از جمله Options مربوط به صفحه. در پیکربندیهای چندنمایشگره (multi-head)، چندین بخش فعال Screen وجود خواهد داشت، یکی برای هر نمایشگر (head). مدخلهای موجود برای این بخش عبارتند از:
- Device "device-id"
- این مدخل بخش Device مورد استفاده برای این صفحه را مشخص میکند. هنگامی که چندین کارت گرافیک وجود دارد، این مدخل همان چیزی است که یک کارت مشخص را به یک صفحه متصل میکند. device-id باید با Identifier یک بخش Device در فایل پیکربندی مطابقت داشته باشد.
- GPUDevice "device-id"
- این مدخل بخش Device را برای استفاده بهعنوان دستگاه GPU ثانویه برای این صفحه مشخص میکند. هنگامی که چندین کارت گرافیک وجود دارد، این مدخل کارت ثانویه خاصی را به یک صفحه پیوند میدهد. device-id باید با Identifier یک بخش Device در فایل پیکربندی همخوانی داشته باشد. این گزینه میتواند تا ۴ بار برای یک صفحه واحد مشخص شود.
- Monitor "monitor-id"
- مشخص میکند کدام توصیف مانیتور برای این صفحه استفاده شود. اگر نام Monitor مشخص نشود، از یک پیکربندی پیشفرض استفاده میشود. در حال حاضر پیکربندی پیشفرض ممکن است روی همه پلتفرمها طبق انتظار عمل نکند.
- VideoAdaptor "xv-id"
- توصیف آداپتور ویدیویی اختیاری Xv را برای استفاده با این صفحه مشخص میکند.
- DefaultDepth depth
- عمق رنگی را که سرور باید بهطور پیشفرض استفاده کند مشخص میکند. گزینه خط فرمان -depth میتواند برای بازنویسی این مقدار استفاده شود. اگر هیچکدام مشخص نشوند، عمق پیشفرض وابسته به درایور است، اما در بیشتر موارد 8 میباشد.
- DefaultFbBpp bpp
- قالب فریمبافر مورد استفاده بهطور پیشفرض را مشخص میکند. گزینه خط فرمان -fbbpp میتواند برای بازنویسی این مقدار استفاده شود. در بیشتر موارد، درایور بهترین مقدار پیشفرض را برای آن انتخاب میکند. تنها حالتی که در انتخاب این مقدار حق انتخابی وجود دارد برای عمق 24 است، که در آن برخی سختافزارها هم از چیدمان فریمبافر فشرده ۲۴ بیتی و هم چیدمان فریمبافر تُنک (sparse) ۳۲ بیتی پشتیبانی میکنند.
- MatchSeat seat-id
- این بخش Screen تنها در صورتی اعمال میشود که سرور X با گزینه -seat seat-id راهاندازی شده باشد.
- Options
- پرچمهای مختلف Option میتوانند در بخش Screen مشخص شوند. برخی وابسته به درایور بوده و در مستندات درایور توضیح داده شدهاند. برخی دیگر مستقل از درایور هستند و در نهایت در اینجا توضیح داده خواهند شد.
- Option "Accel"
- شتابدهی سختافزاری دوبعدی را فعال میکند. این گزینه بهطور پیشفرض روشن است، اما در صورت وجود اشکال (bug) در درایور، ممکن است خاموش کردن آن لازم باشد. گزینههای متعددی برای غیرفعال کردن عملیات شتابیافته خاص وجود دارند که در زیر فهرست شدهاند. توجه داشته باشید که غیرفعال کردن یک عملیات در صورتی که آن عملیات شتابیافته نباشد (چه به دلیل عدم پشتیبانی سختافزار یا درایور) هیچ تاثیری نخواهد داشت.
- Option "GlxVendorLibrary" "string"
- این گزینه فهرستی از کتابخانههای فروشنده OpenGL را که با فاصله جدا شدهاند برای استفاده در این صفحه مشخص میکند. این میتواند برای انتخاب یک پیادهسازی جایگزین به منظور توسعه، اشکالزدایی یا استفاده از مجموعههای ویژگیهای دیگر به کار رود. پیشفرض: mesa.
- Option ®enderingAPI" "string"
- این گزینه یک رابط برنامهنویسی رندرینگ (API) را برای استفاده همراه با روش شتابدهی Glamor مشخص میکند. میتوانید OpenGL را با مقدار "gl" و OpenGL ES را با مقدار "es" مشخص کنید، و حالت پیشفرض هر دو است، هنگامی که اگر GL 2.1 در دسترس نباشد، Glamor به GLES تنزل مییابد (fallback). این ممکن است برای کارتهای تعبیهشده (embedded) و قدیمی که مجموعه ویژگیهای GL ES در آنها سریعتر از مجموعه ویژگیهای GL عمل میکند، مفید باشد. پیشفرض: gl.
- Option "InitPrimary" "boolean"
- استفاده از ماژول Int10 برای مقداردهی اولیه کارت گرافیک اصلی. بهطور معمول، تنها کارتهای ثانویه با استفاده از ماژول Int10 بهصورت نرمافزاری بوت میشوند، زیرا کارت اصلی قبلاً در زمان بوت توسط BIOS مقداردهی اولیه شده است. پیشفرض: false.
- Option "NoInt10" "boolean"
- ماژول Int10 را غیرفعال میکند؛ ماژولی که از فراخوانی int10 به BIOS کارت گرافیک برای مقداردهی اولیه آن استفاده میکند. پیشفرض: false.
هر بخش Screen میتواند بهطور اختیاری شامل یک یا چند زیربخش Display باشد. این زیربخشها اطلاعات پیکربندی ویژه عمق/fbbpp را ارائه میدهند، و زیربخش انتخابشده بستگی به عمق و/یا fbbpp مورد استفاده برای صفحه دارد. قالب زیربخش Display در بخش زیر توضیح داده شده است.
زیربخش DISPLAY
هر بخش Screen میتواند دارای چندین زیربخش Display باشد. زیربخش Display “فعال”، نخستین موردی است که با مقادیر عمق و/یا fbbpp در حال استفاده مطابقت داشته باشد، یا در غیر این صورت، نخستین موردی است که هیچ مقدار عمق یا fbbpp برای آن مشخص نشده باشد. زیربخشهای Display اختیاری هستند. هنگامی که هیچ زیربخشی با مقادیر عمق و/یا fbbpp در حال استفاده مطابقت نداشته باشد، تمام پارامترهایی که میتوان در اینجا مشخص کرد به مقادیر پیشفرض خود برمیگردند.
زیربخشهای Display دارای قالب زیر هستند:
SubSection "Display"
Depth depth
مدخلها
...
EndSubSection
- Depth depth
- این مدخل مشخص میکند که زیربخش Display برای چه عمق رنگی باید استفاده شود. این مدخل معمولاً مشخص میشود، اما میتوان آن را برای ایجاد یک زیربخش Display همهمنظوره (match-all) یا زمانی که تمایل دارید فقط با پارامتر FbBpp مطابقت داده شود، حذف کرد. محدوده مقادیر مجاز depth بستگی به درایور دارد. بیشتر درایورها از 8، 15، 16 و 24 پشتیبانی میکنند. برخی نیز از 1 و/یا 4 پشتیبانی میکنند و برخی ممکن است از مقادیر دیگری (مانند 30) نیز پشتیبانی کنند. توجه: depth به معنای تعداد بیتهایی در یک پیکسل است که در عمل برای تعیین رنگ پیکسل استفاده میشوند. مقدار 32 یک مقدار depth معتبر نیست. بیشتر سختافزارهایی که از 32 بیت در هر پیکسل استفاده میکنند، تنها از 24 بیت آن برای نگهداری اطلاعات رنگ بهره میبرند، که به این معنی است که عمق رنگ 24 است، نه 32.
- FbBpp bpp
- این مدخل قالب فریمبافری را که این زیربخش Display باید برای آن استفاده شود مشخص میکند. این مدخل تنها زمانی مورد نیاز است که پیکربندیهای عمق 24 ارائه میشوند که امکان انتخاب بین قالب فریمبافر فشرده ۲۴ بیت بر پیکسل (24 bpp packed) و قالب فریمبافر تنک ۳۲ بیت بر پیکسل (32bpp sparse) را فراهم میکنند. در بیشتر موارد نباید از این مدخل استفاده شود.
- Weight red-weight green-weight blue-weight
- این مدخل اختیاری وزن نسبی RGB را برای صفحهای که در عمق 16 برای درایورهای دارای قابلیت پشتیبانی از چندین قالب استفاده میشود، مشخص میکند. این مقدار را میتوان از خط فرمان با گزینه -weight نیز مشخص کرد (نگاه کنید به Xorg(1)) .
- Virtual xdim ydim
- این مدخل اختیاری وضوح صفحه مجازی (virtual screen resolution) را مشخص میکند. xdim برای بیشتر درایورها باید مضربی از 8 یا 16 باشد، و هنگام اجرا در حالت تکرنگ (monochrome) مضربی از 32 باشد. در صورتی که اینگونه نباشد، مقدار دادهشده به سمت پایین گرد میشود. حالتهای ویدیویی که برای اندازه مجازی مشخصشده بیش از حد بزرگ باشند، رد خواهند شد. اگر این مدخل وجود نداشته باشد، وضوح صفحه مجازی به گونهای تنظیم میشود که همه حالتهای ویدیویی معتبر دادهشده در مدخل Modes را در بر گیرد. برخی از ترکیبهای درایور/سختافزار از صفحههای مجازی پشتیبانی نمیکنند. برای جزئیات به مستندات ویژه درایور مربوط مراجعه کنید.
- ViewPort x0 y0
- این مدخل اختیاری گوشه بالا سمت چپ تصویر اولیه را تنظیم میکند. این مورد تنها زمانی کاربرد دارد که وضوح صفحه مجازی با وضوح حالت ویدیویی اولیه متفاوت باشد. اگر این مدخل داده نشود، نمایشگر اولیه در مرکز ناحیه نمایش مجازی قرار میگیرد.
- Modes "mode-name" ...
- این مدخل اختیاری فهرست حالتهای ویدیویی مورد استفاده را مشخص میکند. هر mode-name مشخصشده باید درون گیومه دوتایی باشد. آنها باید با حالتهای مشخصشده یا ارجاعدادهشده در بخش مربوطه Monitor مطابقت داشته باشند (شامل حالتهای استاندارد VESA توکار که بهطور ضمنی ارجاع داده شدهاند). سرور حالتهایی را از این فهرست که الزامات گوناگون را برآورده نمیکنند، حذف خواهد کرد. نخستین حالت معتبر در این فهرست، حالت نمایش پیشفرض در هنگام راهاندازی خواهد بود. فهرست حالتهای معتبر در درون برنامه به یک فهرست چرخشی تبدیل میشود. امکان جابهجایی به حالت بعدی با Ctrl+Alt+Keypad-Plus و به حالت قبلی با Ctrl+Alt+Keypad-Minus وجود دارد. هنگامی که این مدخل حذف شود، حالتهای معتبر ارجاع دادهشده توسط بخش مربوطه Monitor استفاده خواهند شد. اگر بخش Monitor شامل هیچ حالتی نباشد، گزینش از میان حالتهای استاندارد توکار VESA انجام خواهد شد.
- Visual "visual-name"
- این مدخل اختیاری نوع دیداری (visual type) ریشه پیشفرض را تنظیم میکند. این مقدار را میتوان از خط فرمان نیز مشخص کرد (به صفحه راهنمای Xserver(1) مراجعه کنید). انواع دیداری موجود برای عمق 8 عبارتند از (پیشفرض PseudoColor است):
StaticGray GrayScale StaticColor PseudoColor TrueColor DirectColor
TrueColor DirectColor
همه درایورها از DirectColor در این عمقها پشتیبانی نمیکنند.
انواع دیداری موجود برای عمق 4 عبارتند از (پیشفرض StaticColor است):
StaticGray GrayScale StaticColor PseudoColor
نوع دیداری موجود برای عمق 1 (تکرنگ) StaticGray است.
- Black red green blue
- این مدخل اختیاری امکان مشخص کردن رنگ “سیاه” را فراهم میکند. این مورد تنها در عمق 1 پشتیبانی میشود. مقدار پیشفرض، سیاه است.
- White red green blue
- این مدخل اختیاری امکان مشخص کردن رنگ “سفید” را فراهم میکند. این مورد تنها در عمق 1 پشتیبانی میشود. مقدار پیشفرض، سفید است.
- Options
- پرچمهای گزینه (Option flags) میتوانند در زیربخشهای Display مشخص شوند. اینها ممکن است شامل گزینههای وابسته به درایور و گزینههای مستقل از درایور باشند. گزینههای وابسته به درایور در مستندات درایور توضیح داده شدهاند. برخی از گزینههای مستقل از درایور در بالا در بخش مربوط به بخش Screen توضیح داده شدند و میتوان آنها را در اینجا نیز گنجاند.
بخش SERVERLAYOUT
فایل پیکربندی ممکن است دارای چندین بخش ServerLayout باشد. یک “چینش سرور” (server layout) نشاندهنده پیوند یک یا چند صفحه (بخشهای Screen) و یک یا چند دستگاه ورودی (بخشهای InputDevice) برای تشکیل یک پیکربندی کامل است. در پیکربندیهای چندنمایشگره، این بخش همچنین چینش نسبی نمایشگرها را مشخص میکند. یک بخش ServerLayout زمانی “فعال” در نظر گرفته میشود که توسط گزینه خط فرمان -layout یا توسط یک مدخل Option "DefaultServerLayout" در بخش ServerFlags مورد ارجاع قرار گرفته باشد (اولی بر دومی تقدم دارد). اگر از آن گزینهها استفاده نشود، نخستین بخش ServerLayout یافتشده در فایل پیکربندی بهعنوان بخش فعال در نظر گرفته میشود. اگر هیچ بخش ServerLayout وجود نداشته باشد، صفحه فعال تکی و دو دستگاه ورودی فعال (اصلی) مطابق با آنچه در بخشهای مربوطه در بالا توضیح داده شد، انتخاب میشوند.
بخشهای ServerLayout دارای قالب زیر هستند:
Section "ServerLayout"
Identifier "name"
Screen "screen-id"
...
InputDevice "idev-id"
...
گزینهها
...
EndSection
هر بخش ServerLayout باید دارای یک مدخل Identifier و دستکم یک مدخل Screen باشد.
مدخل Identifier نام یکتای این چینش سرور را مشخص میکند. بخش ServerLayout اطلاعات مربوط به کل نشست (session) را فراهم میکند، از جمله Options مختص نشست. گزینههای ServerFlags (توضیح داده شده در بالا) میتوانند در اینجا مشخص شوند، و مواردی که در اینجا داده شوند، گزینههای دادهشده در بخش ServerFlags را بازنویسی (override) میکنند.
مدخلهایی که میتوانند در این بخش استفاده شوند، در اینجا توضیح داده شدهاند.
- Screen screen-num "screen-id" position-information
- یکی از این مدخلها باید برای هر صفحهای که در یک نشست استفاده میشود داده شود. فیلد screen-id اجباری است و بخش Screen مورد ارجاع را مشخص میکند. فیلد screen-num اختیاری است و میتواند برای مشخص کردن شماره صفحه در پیکربندیهای چندنمایشگره به کار رود. هنگامی که این فیلد حذف شود، صفحهها به ترتیبی که فهرست شدهاند شمارهگذاری میشوند. شمارهگذاری از 0 شروع میشود و باید متوالی باشد. فیلد position-information نحوه قرارگیری چندین صفحه را نسبت به هم توصیف میکند. روشهای گوناگونی برای ارائه این اطلاعات وجود دارد:
- x y
- Absolute x y
- هر دوی اینها مشخص میکنند که مختصات گوشه بالا سمت چپ برابر با (x,y) است. کلیدواژه Absolute اختیاری است. برخی از نسخههای قدیمیتر XFree86 (نسخه ۴.۲ و پیش از آن) کلیدواژه Absolute را شناسایی نمیکنند، بنابراین امنترین کار تعیین مختصات بدون آن است.
- RightOf "screen-id"
- LeftOf "screen-id"
- Above "screen-id"
- Below "screen-id"
- Relative "screen-id" x y
- اینها مکان صفحه را نسبت به صفحهای دیگر تعیین میکنند. چهار مورد اول، صفحه را دقیقاً در سمت راست، چپ، بالا یا پایین صفحه دیگر قرار میدهند. هنگام قرارگیری در راست یا چپ، لبههای بالایی همتراز میشوند. هنگام قرارگیری در بالا یا پایین، لبههای چپ همتراز میشوند. شکل Relative آفست مبدا صفحه (گوشه بالا سمت چپ) را نسبت به مبدا صفحه دیگر مشخص میکند.
- InputDevice "idev-id" "option" ...
- یکی از این مدخلها باید برای هر دستگاه ورودی مورد استفاده در نشست داده شود. بهطور معمول دستکم دو مورد مورد نیاز است، یکی برای دستگاه اشارهگر اصلی (core pointer) و دیگری برای صفحهکلید اصلی. اگر هر یک از آنها وجود نداشته باشد، مدخلهای مناسب InputDevice با استفاده از روش شرح داده شده در بخش INPUTDEVICE در بالا جستجو میشوند. فیلد idev-id اجباری است و نام بخش InputDevice مورد ارجاع را مشخص میکند. چندین فیلد option میتواند مشخص شود که هر کدام درون گیومه دوتایی قرار میگیرند. گزینههای مجاز در اینجا هر گزینهای است که در بخشهای InputDevice نیز قابل تعیین باشد. بهطور معمول تنها گزینههای دستگاه ورودی مختص نشست در اینجا استفاده میشوند. پرکاربردترین گزینهها عبارتند از:
"CorePointer" "CoreKeyboard" "SendCoreEvents"
- MatchSeat seat-id
- این بخش ServerLayout تنها در صورتی اعمال میشود که سرور X با گزینه -seat seat-id راهاندازی شده باشد.
- Options
- علاوه بر موارد زیر، هر گزینهای که در بخش ServerFlags مجاز است میتواند در اینجا نیز مشخص شود. هنگامی که گزینه یکسانی در هر دو جا وجود داشته باشد، مقدار دادهشده در اینجا مقدار ارائهشده در بخش ServerFlags را بازنویسی میکند.
- Option "IsolateDevice" "bus-id"
- بازنشانیهای دستگاه را به bus-id مشخصشده محدود میکند. برای اطلاع از قالب پارامتر bus-id به گزینه BusID (توضیح داده شده در بخش DEVICE در بالا) مراجعه کنید. این گزینه در صورت تعیین، SingleCard را بازنویسی میکند. در حال حاضر، تنها دستگاههای PCI را میتوان به این روش ایزوله کرد.
- Option "SingleCard" "boolean"
- همانند IsolateDevice، با این تفاوت که از شناسه گذرگاه (bus ID) نخستین دستگاه در چینش استفاده میشود.
در اینجا نمونهای از یک بخش ServerLayout برای یک پیکربندی دونمایشگره با دو ماوس آورده شده است:
Section "ServerLayout"
Identifier "Layout 1"
Screen "MGA 1"
Screen "MGA 2" RightOf "MGA 1"
InputDevice "Keyboard 1" "CoreKeyboard"
InputDevice "Mouse 1" "CorePointer"
InputDevice "Mouse 2" "SendCoreEvents"
Option "BlankTime" "5"
EndSection
بخش DRI
این بخش اختیاری برای ارائه اطلاعاتی پیرامون زیرساخت رندرینگ مستقیم (Direct Rendering Infrastructure) به کار میرود. جزئیات مربوط به قالب این بخش را میتوان بهصورت برخط در https://dri.freedesktop.org/ یافت.
بخش VENDOR
بخش اختیاری Vendor میتواند برای ارائه اطلاعات پیکربندی ویژه سازنده/فروشنده استفاده شود. چندین بخش Vendor میتواند وجود داشته باشد و آنها میتوانند شامل یک مدخل Identifier و چندین پرچم Option باشند. دادههای موجود در آن در این نگارش استفاده نمیشوند.
همچنین ببینید (SEE ALSO)
عمومی: X(7)، Xserver(1)، Xorg(1)، cvt(1)، gtf(1).
همه ماژولها یا رابطها در تمامی پلتفرمها در دسترس نیستند.
درایورهای نمایش: apm(4)، ati(4)، chips(4)، cirrus(4)، cyrix(4)، fbdev(4)، glide(4)، glint(4)، i128(4)، i740(4)، imstt(4)، intel(4)، mga(4)، neomagic(4)، nv(4)، openchrome(4)، r128(4)، radeon(4)، rendition(4)، savage(4)، s3virge(4)، siliconmotion(4)، sis(4)، sisusb(4)، sunbw2(4)، suncg14(4)، suncg3(4)، suncg6(4)، sunffb(4)، sunleo(4)، suntcx(4)، tdfx(4)، trident(4)، tseng(4)، vesa(4)، vmware(4)، voodoo(4)، wsfb(4)، xgi(4)، xgixp(4).
درایورهای ورودی: acecad(4)، citron(4)، elographics(4)، evdev(4)، fpit(4)، joystick(4)، kbd(4)، libinput(4)، mousedrv(4)، mutouch(4)، penmount(4)، synaptics(4)، vmmouse(4)، void(4)، wacom(4).
سایر
ماژولها و
رابطها:
exa(4)، fbdevhw(4)، v4l(4).
نویسندگان (AUTHORS)
این صفحه راهنما عمدتاً توسط David Dawes بازنویسی شده است <dawes@xfree86.org>.
| xorg-server 21.1.24 | X Version 11 |