Virgool - ویرگول

نمایشگر دوم در فدورا ۳۲

by
https://files.virgool.io/upload/users/178040/posts/gkplh8vlkbwt/gs6sotcqjsoi.jpeg

یکی از بهترین کارها واسه یه برنامه‌نویس موفق اینه که مانیتور دوم روی سیستم‌اش داشته باشه. خب این کار توی ویندوز بخاطر قبضه بودن بازار درایورها توسط مایکروسافت و خب کلوزسورس بودن nvidia که من ازش گرافیک گرفتم‌، حداقل روی لینوکس کار خیلی سختیه. اما خب ما مثلا برنامه‌نویس هستیم و یه راه‌هایی هست برای انجامش.
اولین نکته اینه که ممکنه مانیتور روشن باشه، اتصالات برقرار باشن اما تصویری دیده نشه، خب منطقیه. چون شما درایور nvidia رو نصب کردید. یه راهش اینه که قید گرافیک قدرتمندتونو بزنید و ازچیپ آن‌بورد استفاده کنید یا کاری که من کردم رو انجام بدید. من برای حل مشکل، تنظیم کردم گرافیک nvidia بای‌دیفالت استفاده بشه، حمله درستی نیست اما بهرحال فارسی رو واسه تکنولوژی استفاده کردن کمی سخته. خب اول بنظرم گرافیک nvidia رو نصب کنید (حال ندارم یه پست جدا بذارم واسه نصب گرافیک):

$  sudo dnf update

$ sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
$ sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

-- For recent GeForce/Quadro/Tesla execute:
$ sudo dnf install akmod-nvidia
-- For Legacy GeForce 400/500 execute:
$ sudo dnf install xorg-x11-drv-nvidia-390xx akmod-nvidia-390xx
-- For Legacy GeForce 8/9/200/300 execute:
$ sudo dnf install xorg-x11-drv-nvidia-340xx akmod-nvidia-340xx

$ sudo reboot

حالا که نصب گرافیک تموم شد و ریبوت کردید می‌بینید که دیگه مانیتور دوم شناسایی نمی‌شه. حالا باید کاری کنیم nvidia گرافیک پرایمری‌مون بشه، یا همچین چیزی:

$  sudo cp -p /usr/share/X11/xorg.conf.d/nvidia.conf /etc/X11/xorg.conf.d/nvidia.conf

بحالا همون فایل nvidi.conf رو باز می‌کنیم و عبارت Option "PrimaryGPU" "yes" رو توی سکشن OutputClass بهش اضافه می‌کنیم تا چیزی شبیه به این بشه:

Section &quotOutputClass&quot
Identifier &quotnvidia&quot
MatchDriver &quotnvidia-drm&quot
Driver &quotnvidia&quot
Option &quotAllowEmptyInitialConfiguration&quot
Option &quotSLI&quot &quotAuto&quot
Option &quotBaseMosaic&quot &quoton&quot
Option &quotPrimaryGPU&quot &quotyes&quot
EndSection

Section &quotServerLayout&quot
Identifier &quotlayout&quot
Option &quotAllowNVIDIAGPUScreens&quot
EndSection

ریبوت کنید و بهتون تبریک می‌گم مانیتور دوم شما شناخته شد. اما ممکنه همین الان یه مشکل دیگه پیش اومده باشه، مثل چیزی که توی کیس من اتفاق افتاد، بهش می‌گن ScreenTearing که باعث می‌شه توی رزولوشن خیلی بالا و سرعت بالا، مثلا موقع اسکرول کردن یه تصویر ۱۰۸۰، تصویر یه مقداری شکسته شکسته بشه. این مقاله رو بخونین اگر نمی‌دونید چیه.

https://files.virgool.io/upload/users/178040/posts/gkplh8vlkbwt/4mom35b48imk.jpeg

خب قطعا چنین چیزی من بی‌اعصاب رو از کوره به در می‌کرد، در واقع nvidia x server با یه قابلیت میاد به نام Force Full Composition Pipeline که اینجا به درد من خورد، اول با دسترسی sudo بازش کردم ستینگ گرافیکم رو، توی قسمت X Server Display Config مونیتورم رو انتخاب کردم، اون پایین زدم روی Advanced و تیک Force full... رو زدم و هورا!
گویا دلایل زیادی واسه این اتفاق حال به‌هم‌زن Screen Tearing گفته می‌شه، یکی‌اش، که بنظر من منطقی‌ترین هست، ناهماهنگی Refresh Rate مانیتور پرایمریو سکندری هست، بهرحال توی لپ‌تاپ من کهگیمینگ محسوب می‌شه ریفرش ریت بالاتری نسبت به مانیتور ایرانی-چینی‌ام داره. احتمالا اگر بالای ۱۰ تومن هزینه می‌کردم این مشکل پیش نمی‌اومد. ((؛
ممنون که تا اینجا رو خوندید. می‌تونید این مطلب رو توی بلاگم هم بخونید.