اِنویدیا
| خلاصه مقاله |
|---|
| اطلاعاتی مربوط به نصب، پیکربندی و عیب یابی درایور اختصاصی NVIDIA. |
| موضوعات مرتبط |
| ATI |
| Intel |
| Nouveau |
| Xorg |
این نوشته در مورد نصب و راه اندازی درایورهای تجاری کارتهای NVIDIA می باشد.برای اطلاعات بیشتر درباره درایورهای اوپن سورس Nouveau را ببینید.
NVIDIA
این دستورالعمل برای کسانی است که از کرنل رسمی آرچ استفاده می کنند. برای نصب در کرنل سفارشی به بخش بعدی مراجعه کنید.
۱. از سایت NVIDIA برای دانلود درایور بازدید کنید تا درایور مناسبی برای کارت مربوطه بیابید.
۲. درایور کارت های جدید را نصب کنید. (تراشههای جدید،GeForce 6 و جدیدتر [NV40 و جدیدتر] )
# pacman -S nvidia nvidia-utils
- بسته nvidia-utils با بسته libgl در تضاد است و این طبیعی می باشد. اگر پکمن درخواستی مبنی بر حذف libgl داشت بگزارید حذف کند ولی اگه بعلت بی دقتی در وابستگی ها در حذف libgl بر روی سیستم های 64 بیتی ناموفق بود از دستور# pacman -Rdd libglاستفاده کنید.
۳. راه اندازی مجدد. بسته nvidia حاوی فایلی است که تمامی ماژولهای درایور nouveau را در فهرست سیاه قرار می دهد. راه اندازی مجدد برای تاثیرگذاری این فهرست سیاه لازم است.
زمانیکه درایور نصب شد از #پیکربندی کار را ادامه دهید:
نصب متناوب: کرنل سفارشی
اول از همه خوب است با مطالعه مقالاتی پیرامون موارد زیر از نحوه عملکرد سیستم ABS با خبر بشید:
- مقاله اصلی مربوط به ABS
- مقالهای در مورد makepkg
- مقالهای در مورد ایجاد بستهها
دستورات زیر آزمایشی کوتاه برای ایجاد یک بسته درایور سفارشی NVIDIA از طریق ABS است:
ABS را نصب کرده و فرمان TREE را ایجاد کنید:
# pacman -S abs # abs
بعنوان یک کاربر معمولی یک دایرکتوری موقت برای ایجاد بسته جدید بسازید:
$ mkdir -p ~/abs
یک کپی از دایرکتوری بسته nvidia ایجاد کنید:
$ cp -r /var/abs/extra/nvidia/ ~/abs/
به دایرکتوری موقت ساخت nvidia بروید:
$ cd ~/abs/nvidia
لازم است فایل های nvidia.install و PKGBUILD را ویرایش کنید بطوریکه شامل متغیرهای صحیحی از شماره نسخه کرنل باشد. هنگام اجرای کرنل سفارشی، نسخه های صحیح کرنل را دریافت کنید:
$ uname -r
- در nvidia-install، کد KERNEL_VERSION="2.6.xx-ARCH" را جایگزین شماره نسخه کرنل سفارشی کنید.(مثل:KERNEL_VERSION="2.6.22.6" یا KERNEL_VERSION="2.6.22.6-custom") (شماره نسخه کرنل را میتوانید از روی بسته نصب شده یا دانلود شده یا به صورت لوکال به دست آورید.) این کار را در مورد تمامی نمونههای نسخه درون فایل انجام دهید.
- در PKGBUILD، متغیر _kernver='2.6.xx-ARCH' را تغییر دهید تا با نسخه کرنل سفارشی متناسب باشد.
- اگر بیش از یک کرنل در سیستم نصب شده یا بصورت موازی وجود دارد (مثل کرنل پیشفرض آرچ)، متغیر "pkgname=nvidia" را در PKGBUILD به یک شناسه واحد تغییر دهید.مثل nvidia-2622 یا nvidia-custom این کار موجب می شود هر دو کرنل از یک ماژول nvidia استفاده کنند.همچنین باید سطر package() در فایل /etc/modprobe.d/nouveau_blacklist.conf اضافه و ویرایش کنید(وگرنه pacman موقع کامپایل با خطا مواجه می شود).
بعد از آن:
$ makepkg -ci
عملوند -c به makepkg می گوید تمامی فایلهای ساختاری را در بسته پاکسازی کند، در حالیکه -i مشخص می کند که makepkg باید بصورت خودکار pacman را برای نصب بسته کنونی اجرا کند.
پیکربندی
ممکن است پس از نصب درایور نیازی به ایجاد یک فایل پیکربندی سرور Xorg نداشته باشید. می توانید این آزمایش را اجرا کنید تا ببینید سرور Xorg بدون یک فایل پیکربندی بدرستی عمل میکند یا خیر. با این حال ممکن است لازم باشد تا یک فایل پیکربندی /etc/X11/xorg.conf نیز به منظور تنظیمات مختلف ایجاد کنید. این پیکربندی می تواند توسط یک ابزار پیکربندی NVIDIAXorg و یا بصورت دستی ایجاد شود. اگر بصورت دستی باشد یک پیکربندی شخصی بوده و شامل تنظیماتی است که می تواند Xorg را بهبود دهد و یا گزینه های پیش فرض را تغییر دهد.
پیکربندی خودکار
بسته NVIDIA شامل ابزار پیکربندی خودکار برای ایجاد یک فایل پیکربندی سرور Xorg (xorg.conf) است و می تواند بوسیله دستور زیر اجرا شود:
# nvidia-xconfig
این دستور ، پیکربندی xorg.conf را براساس سخت افزار فعلی شناسایی و ایجاد میکند.
اگر نمونههایی از DRI وجود داشته باشد، اطمینان داشته باشد که کدنویسی شده اند:
# Load "dri"
/etc/X11/xorg.conf را دوباره بررسی کنید تا عمق پیش فرض (default depth)، همگامی افقی (horizontal sync)، تازهسازی عمودی(vertical refresh) ورزولوشن ها(resolutions) قابلقبول باشند.
پیکربندی کمینه(Minimal)
برای ایجاد xorg.conf را بعنوان ریشه اجرا کنید:
# vi /etc/X11/xorg.conf
سپس درایور را اضافه نمایید:
/etc/X11/xorg.conf
Section "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA Corporation" EndSection
مانیتورهای چندگانه
- برای اطلاعات بیشتر Multihead را ببینید.
برای فعالسازی پشتیبانی از صفحه نمایش دوگانه باید فایل /etc/X11/xorg.conf.d/10-monitor.conf که قبلا آن را ایجاد نموده اید را ویرایش کنید.
به ازای هر مانیتور فیزیکی، یک Monitor, Device, and Screen Section entry, و یک بخش SERVERLAYOUT برای مدیریت اضافه کنید. هنگامیکه Xinerema فعال است درایور تجاری بصورت خودکار ترکیب سازی را غیرفعال میکند. اگر می خواهید ترکیب سازی فعال شود، باید سطر Xinerama را "ServerLayout" دستورنویسی کرده و از TwinView استفاده کنید.
/etc/X11/xorg.conf.d/10-monitor.conf
Section "ServerLayout"
Identifier "DualSreen"
Screen 0 "Screen0"
Screen 1 "Screen1" RightOf "Screen0" #Screen1 at the right of Screen0
Option "Xinerama" "1" #To move windows between screens
EndSection
Section "Monitor"
Identifier "Monitor0"
Option "Enable" "true"
EndSection
Section "Monitor"
Identifier "Monitor1"
Option "Enable" "true"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
Screen 0
EndSection
Section "Device"
Identifier "Device1"
Driver "nvidia"
Screen 1
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "TwinView" "0"
SubSection "Display"
Depth 24
Modes "1280x800_75.00"
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor1"
DefaultDepth 24
Option "TwinView" "0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
TwinView
شما بجای دو صفحه نمایش به یک صفحه بزرگ نیاز دارید. شناسه TwinView را روی 1 تنظیم کنید. این گزینه باید بجای Xinerema در صورت تمایل به ترکیب سازی جایگزین شود.
Option "TwinView" "1"
پیکربندی خودکار
NVIDIA بسته TwinView را ارائه می کند. این ابزار با پیکربندی خودکار تمامی مانیتورهای متصل به کارت ویدیویی به شما کمک می کند. این ابزار فقط در مانیتورهای چندگانه روی یک کارت واحد عمل می کند. برای اجرای Xorg server با TwinView دستور زیر را اجرا کنید:
# nvidia-xconfig --twinview
استفاده از تنظیمات NVIDIA
همچنین شما میتوانید از ابزارnvidia-settings استفاده کنید. با این روش از نرم افزار تجاری اِنویدیا nvidia-utils استفاده خواهید کرد که با درایورهای خود مهیا شده است. به سادگی nvidia-settings را بعنوان ریشه اجرا کنید. سپس همانطور که میخواستید پیکربندی را در /etc/X11/xorg.conf.d/10-monitor.conf انجام داده و آن را ذخیره کنید.
اتصال مانیتور
اگر درایور به درستی مانیتور دوم را تشخیص نداد میتوانید به صورت دستی درایور را وادار به شناخت مانیتور دوم کنید:
/etc/X11/xorg.conf
Section "Monitor"
Identifier "Monitor1"
VendorName "Panasonic"
ModelName "Panasonic MICRON 2100Ex"
HorizSync 30.0 - 121.0 # this monitor has incorrect EDID, hence Option "UseEDIDFreqs" "false"
VertRefresh 50.0 - 160.0
Option "DPMS"
EndSection
Section "Monitor"
Identifier "Monitor2"
VendorName "Gateway"
ModelName "GatewayVX1120"
HorizSync 30.0 - 121.0
VertRefresh 50.0 - 160.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device1"
Driver "nvidia"
Option "NoLogo"
Option "UseEDIDFreqs" "false"
Option "ConnectedMonitor" "CRT,CRT"
VendorName "NVIDIA Corporation"
BoardName "GeForce 6200 LE"
BusID "PCI:3:0:0"
Screen 0
EndSection
Section "Device" Identifier "Device2" Driver "nvidia"
Option "NoLogo"
Option "UseEDIDFreqs" "false"
Option "ConnectedMonitor" "CRT,CRT"
VendorName "NVIDIA Corporation"
BoardName "GeForce 6200 LE"
BusID "PCI:3:0:0"
Screen 1
EndSection
افزایش سرعت
رابط گرافیکی: nvidia-settings
بسته NVIDIA شامل برنامه nvidia-settings است که امکان تنظیم تنظیمات اضافی را فراهم می کند. برای آنکه تنظیمات هنگام لاگین راه اندازی شوند، دستور زیر را از ترمینال اجرا کنید:
$ nvidia-settings --load-config-only
یا آن را به روش auto-startup به محیط دسکتاپ بیافزایید.
برای افزایش چشمگیر عملکرد گرافیک دو بعدی برنامههای pixmap-intensive (به عنوان مثال فایرفاکس)، مقدار InitialPixmapPlacement را به 2 تغییر دهید.
$ nvidia-settings -a InitialPixmapPlacement=2
این پرونده در کد منبع nvidia-settings مستند شده است. اگر میخواهید دستورات بعد از ریستارت نیز حفظ شوند آنها را در ~/.nvidia-settings-rc بنویسید.
پیشرفته: 20-nvidia.conf
فایل /etc/X11/xorg.conf.d/20-nvidia.conf را ویرایش کنید، سپس گزینهای را به بخش section بیافزایید. سرور Xorg قبل از اعمال تغییرات باید ریستارت شود.
- برای اطلاعات بیشتر راهنمای نصب درایور گرافیکی لینوکس انویدیا را ببینید.
فعالسازی ترکیب دسکتاپ
از زمان انتشار درایور نسخه 180.44 انویدیا، پشتیبانی از GLX با افزونهها و ترکیب با X بصورت پیش فرض فعال شده است. برای دستورالعملهای دقیقتر به کامپوزیتها مراجعه کنید.
غیرفعالسازی لوگوی منوی startup
گزینه "NoLogo" را در بخش Device وارد کنید:
Option "NoLogo" "1"
فعالسازی افزایش سرعت سختافزار
گزینه "RenderAccel" را در بخش Device وارد کنید:
Option "RenderAccel" "1"
فعالکردن تشخیص مانیتور
گزینه "ConnectedMonitor" در بخش Device امکان فعالکردن تشخیص مانیتور را هنگام آغاز سرور X فراهم میکند. گزینههای موجود عبارتند از: "CRT" برای ارتباطات قیاسی، "DFP" برای مانیتورهای دیجیتال و "TV" برای تلویزیونها.
دستور زیر موجب میشود درایور انویدیا شروع به بررسی و تشخیص مانیتور بعنوان DFP میکند:
Option "ConnectedMonitor" "DFP"
فعالسازی بافرینگ سهگانه
کاربرد بافرینگ سهگانه را با افزودن گزینه "TripleBuffer" به بخش Device فعال کنید:
Option "TripleBuffer" "1"
اگر مقدار رم کارت گرافیکتان بیش از حد کافی است(۱۲۸ مگ یا بیشتر) از این تنظیم استفاده کنید.
استفاده از رخدادها در سطح سیستمعامل
برگرفته از README درایور انویدیا: "[...] برای آگاهی ساختن x به شکلی کارآمد هنگامی که یک کلاینت احتیاج به رندرینگ برای ترکیب کردن دارد از رخدادهایی که در سطح سیستمعامل به وجد میآیند استفاده میکند" این ممکن است به افزایش کارایی و پایین آمدن بار تراشه گرافیکی(GPU) کمک کند، اما در حال حاضر با SLI و مادهای چندپردازندهای (Multi-GPU) ناسازگار است.
دستور زیر را به بخش Device اضافه کنید:
Option "DamageEvents" "1"
فعالسازی ذخیره انرژی
دستور زیر را به بخش Monitor اضافه کنید:
Option "DPMS" "1"
فعالسازی کنترل درخشندگی
دستور زیر را به بخش Device اضافه کنید:
Option "RegistryDwords" "EnableBrightnessControl=1"
فعالسازی SLI
با استفاده از lspci اولین رابط گرافیکی کاربر PCI Bus ID را بیابید:
$ lspci | grep VGA
این کار چیزی مشابه مورد زیر را برمی گرداند:
03:00.0 VGA compatible controller: nVidia Corporation G92 [GeForce 8800 GTS 512] (rev a2) 05:00.0 VGA compatible controller: nVidia Corporation G92 [GeForce 8800 GTS 512] (rev a2)
Bus ID را در بخش Device وارد کنید:
BusID "PCI:3:0:0"
مقدار حالت تفسیری SLI مطلوب را به بخش Screen بیافزایید:
Option "SLI" "SLIAA"
جدول زیر حالت های تفسیر موجود را نشان میدهد.
| مقدار | طرز کار |
|---|---|
| 0, هیچ, خاموش, اشتباه, واحد | فقط از یک GPU هنگام تفسیر استفاده میکند. |
| 1, پایه, روشن, صحیح, خودکار | SLI را فعال کرده و اجازه دهید درایور بصورت خودکار حالت تفسیر مناسبی را انتخاب کند. |
| AFR |
SLI را فعال کنید و از حالت تفسیر فریم متناوب استفاده نمایید. |
| SFR |
SLI را فعال کنید و از حالت تفسیر فریم دوبخشی استفاده کنید. |
| SLIAA | SLI را فعال کنید و از antialiasing استفاده کنید. استفاده از این رابط با antialiasing باعث بهبود کیفیت بصری در خروجی میشود. |
می توانید بصورت تناوبی از برنامه سودمند nvidia-xconfig برای درج این تغییرات در xorg.conf با دستور زیر استفاده کنید:
# nvidia-xconfig --busid=PCI:3:0:0 --sli=SLIAA
برای بررسی اینکه حالت SLI فعال شده بدین صورت عمل کنید:
$ nvidia-settings -q all | grep SLIMode Attribute 'SLIMode' (arch:0.0): AA 'SLIMode' is a string attribute. 'SLIMode' is a read-only attribute. 'SLIMode' can use the following target types: X Screen.
بهینه کردن مصرف برق(برای لپتاپها)
دستور زیر را به بخش Device اضافه کنید:
# Force Powermizer to a certain level at all times # level 0x1=highest # level 0x2=med # level 0x3=lowest
# AC settings: Option "RegistryDwords" "PowerMizerLevelAC=0x3" # Battery settings: Option "RegistryDwords" "PowerMizerLevel=0x3"
تنظیمات بهتر درایور انویدیا برای X.org: برای عملکرد بهتر و صرفهجویی در مصرف برق.
اجازهدادن به پردازنده گرافیکی(GPU) جهت تعیین تنظیم سطح کارایی بر اساس دما
دستور زیر را به بخش Device اضافه کنید:
Option "RegistryDwords" "PerfLevelSrc=0x3333"
غیرفعالکردن وقفههای VBlank (برای لپتاپها)
هنگام اجرای ابزار شناسایی وقفه (powertop) مشاهده میشود که درایور انویدیا وقفهای را در هر VBlank ایجاد میکند. برای غیرفعالسازی دستور زیر را در بخش Device وارد کنید:
Option "OnDemandVBlankInterrupts" "1"
فعالسازی اورکلاکینگ
برای فعال کردن اورکلاک پردازنده گرافیکی و حافظه، سطر زیر را در بخش Device وارد کنید:
Option "Coolbits" "1"
برای فعال کردن اورکلاک برای جلسه x به صورت on-the-fly از تنظیمات اقدام کنید:
$ nvidia-settings
تنظیم ساعتهای دو بعدی و سه بعدی
سطر زیر را در بخش Device وارد کرده تا PowerMiczer با سطحبالایی از عملکرد فعال شود:
Option "RegistryDwords" "PerfLevelSrc=0x2222"
یکی ار دو رشته زیر را در بخش Device وارد کنید تا کنترل دستی فن GPU در nvidia-settings فعال شود.
Option "Coolbits" "4"
Option "Coolbits" "5"
چرخش صفحه را از طریق XRandR فعال کنید
سطر زیر را در بخش Device وارد کنید:
Option "RandRRotation" "True"
پس از ریستارت Xorg:
$ xrandr -o left
صفحه باید بچرخد. برای بازیابی دستور زیر را اجرا کنید:
$ xrandr -o normal
راهنمایی ها و ترفند ها
فعالسازی ویدیو HD به صورت خالص (VDPAU/VAAPI)
سخت افزار مورد نیاز:
حداقل یک کارت ویدیو با تولید PureVideo HD
نرم افزار مورد نیاز:
کارت های ویدیویی انویدیا با درایور تجاری نصب شده قابلیت ضیط ویدیوهای سطوح بالا را فراهم می کند.
همچنین میتوانید پکیج زیر را برای اطمینان از پشتیبانی صحیح نصب کنید:
# pacman -S vdpau-video
پشتیبانی از VA-API را به این صورت بررسی کنید:
$ vainfo
همچنین برای استفاده کامل از قابلیت رمزگشایی سختافزار کارت ویدیویی خود به مدیاپلیری که از VDPAU و VA-API پشتیبانی کند نیاز دارید.
برای فعالسازی افزایش سرعت سخت افزار در MPlayer فایل ~/.mplayer/config را ویرایش کنید:
vo=vdpau vc=ffmpeg12vdpau,ffwmv3vdpau,ffvc1vdpau,ffh264vdpau,ffodivxvdpau,
برای فعالسازی در VLC به مسیر زیر برید:
Tools -> Preferences -> Input & Codecs -> check Use GPU accelerated decoding
همچنین برای smplayer :
Options -> Preferences -> General -> Video Tab -> select vdpau as output driver
و برای فعالسازی در gnome-mplayer :
Edit -> Preferences -> set video output to vdpau
اجرای ویدیوهای HD در کارت هایی با حافظه کم
اگر کارت گرافیکی شما حافظه بالایی ندارد (کمتر از 512 مگ) و هنگام تماشای ویدیوهای 1080p یا حتی 720p مشکلاتی را تجربه کردهاید، برای اجتناب از مواردی این چنینی مدیر پنجرهتان را از قبیل TWM یا MWM اجرا کنید. علاوه بر این میتونید با افزایش سایز cach در mplayer این مشکل را تا حدی بهبود ببخشید،فایل تنظیمات در ~/.mplayer/config قرار دارد ولی به یاد داشته باشید با افزایش سایز کش موقع دیدن فیلم از هاردیسک شما بیشتر استفاده میشود.
استفاده از TV-out
مقالهی خوب در این خصوص را میتوانید در این صفحه بخوانید.
X به همراه تلویزیون به عنوان تنها نمایش موجود
سرور X در صورتیکه هیچ مانیتوری به صورت خودکار شناسایی نشود تغییر موضع میدهد. این می تواند هنگام استفاده از یک DVI متصل به تلویزیون بعنوان نمایش اصلی مشکلساز باشد و هنگامیکه تلویزیون خاموش بوده و ارتباطی برقرار نیست، X آغاز بکار کند.
برای اینکه انویدیا از DFP استفاده کند، یک کپی از EDID را جایی در فایل سیستم ذخیره کنید بطوریکه بتواند بجای خواندن EDID از TV/DFP، فایل را تجزیه کند.
برای بدست آوردن EDID شما باید nvidia-settings را اجرا کنید. اطلاعاتی در خصوص فرمت TREE به نمایش درمی آید. سایر تنظیمات را نادیده گرفته و GPU را انتخاب کنید. بر روی بخش DFP و سپس بر روی Acquire Edid کلیک کنید و آن را در جایی ذخیره نمایید. برای مثال /etc/X11/dfp0.edid.
دستور زیر را به بخش Device فایل xorg.conf اضافه کنید:
Option "ConnectedMonitor" "DFP" Option "CustomEDID" "DFP-0:/etc/X11/dfp0.edid"
گزینه ConnectedMonitor مجبور به شناسایی DFP متصل می گردد. گزینه CustomEDID اطلاعات EDID مربوط به دستگاه را ارائه می کند بدین معنا که به محض اتصال TV/DFP در طول فرایند X آغاز بکار خواهد کرد.
بدین ترتیب می توان بصورت خودکار نوعی مدیریت نمایش را در زمان راهاندازی (Boot) آغاز کرد و همچنان یک صفحه X در حال کار در هنگام روشن شدن تلویزیون داشت.
حالت انرژی را بررسی کنید
انویدیا درایور منبع انرژی Xorg را شناسایی کند. برای مشاهده حالت فعلی پارامترهای خواندنی "GPUPowerSource" را بررسی کنید(0 - AC, 1 - battery):
$ nvidia-settings -q GPUPowerSource -t 1
شما برای شناسایی باید acpid را نصب کنید و اطمینان یابید که دایمون در rc.conf باشد وگرنه با پیغام خطای زیر مواجه میشوید:
ACPI: failed to connect to the ACPI event daemon; the daemon may not be running or the "AcpidSocketPath" X configuration option may not be set correctly. When the ACPI event daemon is available, the NVIDIA X driver will try to use it to receive ACPI event notifications. For details, please see the "ConnectToAcpid" and "AcpidSocketPath" X configuration options in Appendix B: X Config Options in the README.
نمایش دمای GPU در برنامهها به صورت خروج موقت
روش ۱: NVIDIA-settings
برای نمایش فعالیت موقت GPU در برنامه به صورت خروج موقت از تنظیمات nvidia-settings به شرح زیر استفاده نمایید:
$ nvidia-settings -q gpucoretemp
این کار چیزی شبیه مورد زیر را تولید می کند:
Attribute 'GPUCoreTemp' (hostname:0.0): 41. 'GPUCoreTemp' is an integer attribute. 'GPUCoreTemp' is a read-only attribute. 'GPUCoreTemp' can use the following target types: X Screen, GPU.
دمای gpu در این برد 41 درجه سانتیگراد است. اگه میخواهید دمای GPU را در برنامههایی نظیر rrdtool یا conky داشته باشید از کد زیر استفاده کنید:
$ nvidia-settings -q gpucoretemp -t 41
روش ۲: nvidia-smi
از nvidia-smi استفاده کنید تا فایلهای فعالیت موقت را مستقیما از GPU و بدون نیاز به X بخوانید. این برای گروه کوچکی از کاربران که قابلیت اجرای X را در برنامههای خود ندارند بسیار مهم است. برای نمایش فایل موقت GPU در برنامه از nvidia-smi به شرح زیر استفاده کنید:
$ nvidia-smi
این کار چیزی شبیه مورد زیر را ایجاد میکند:
$ nvidia-smi Fri Jan 6 18:53:54 2012 +------------------------------------------------------+ | NVIDIA-SMI 2.290.10 Driver Version: 290.10 | |-------------------------------+----------------------+----------------------+ | Nb. Name | Bus Id Disp. | Volatile ECC SB / DB | | Fan Temp Power Usage /Cap | Memory Usage | GPU Util. Compute M. | |===============================+======================+======================| | 0. GeForce 8500 GT | 0000:01:00.0 N/A | N/A N/A | | 30% 62 C N/A N/A / N/A | 17% 42MB / 255MB | N/A Default | |-------------------------------+----------------------+----------------------| | Compute processes: GPU Memory | | GPU PID Process name Usage | |=============================================================================| | 0. ERROR: Not Supported | +-----------------------------------------------------------------------------+
فقط برای نمایش دما:
$ nvidia-smi -q -d TEMPERATURE
==============NVSMI LOG==============
Timestamp : Fri Jan 6 18:50:57 2012
Driver Version : 290.10
Attached GPUs : 1
GPU 0000:01:00.0
Temperature
Gpu : 62 C
به منظور بدست آوردن درجه حرارت به صورت همزمان برای استفاده در ابزارهای گروهی از قبیل rrdtool یا conky:
$ nvidia-smi -q -d TEMPERATURE | grep Gpu | cut -c35-36
62
رجوع شود به: http://www.question-defense.com/2010/03/22/gpu-linux-shell-temp-get-nvidia-gpu-temperatures-via-linux-cli
روش ۳: nvclock
از nvclock استفاده نمایید که در مخازن رسمی[extra] موجود است. توجه داشته باشید که nvclock نمی تواند در کارتهای NVIDIA از قبیل G210/220 به سنسورهای دما دست یابد.
تفاوت واضحی بین درجه حرارتهای گزارش شده توسط nvclock و nvidia-settings/nv-control میتواند وجود داشته باشد. با توجه به این پست از نویسنده(thunderbird) مقدار بازگتی nvclock دقیقتر است.
تنظیم سرعت فن هنگام لوگین
شما می توانید سرعت فن را در کارت گرافیکی خود با رابط کنسول nvidia-settings تنظیم کنید. ابتدا اطمینان یابید که پیکربندی Xorg گزینه Coolbits را بر روی ۴ یا ۵ تنظیم باشد سپس سطر زیر را به بخش Device اضافه کنید.
Option "Coolbits" "4"
سطر زیر را در فایل ~/.xinitrc وارد کرده تا هنگام اجرای Xorg فن را تنظیم کنید. <n> را با درصد فن مورد نظر خود جایگزین کنید.
nvidia-settings -a "[gpu:0]/GPUFanControlState=1" -a "[fan:0]/GPUCurrentFanSpeed=<n>"
همچنین می توانید با ارتقای GPU و تعداد فن یک GPU ثانویه را نیز پیکربندی کنید.
nvidia-settings -a "[gpu:0]/GPUFanControlState=1" \ -a "[gpu:1]/GPUFanControlState=1" \ -a "[fan:0]/GPUCurrentFanSpeed=<n>" \ -a [fan:1]/GPUCurrentFanSpeed=<n>" &
اگر از یک نرم افزار مدیریت لاگین از قبیل GDM یا KDM استفاده می کنید می توانید یک فایل ورودی دسکتاپ ایجاد کنید تا این تنظیمات را اجرا کند ~/.config/autostart/nvidia-fan-speed.desktop را ساخته و در آن کد زیر را وارد کنید. مجددا بجای <n> درصد سرعتی را که می خواهید قرار دهید.
[Desktop Entry] Type=Application Exec=nvidia-settings -a "[gpu:0]/GPUFanControlState=1" -a "[fan:0]/GPUCurrentFanSpeed=<n>" X-GNOME-Autostart-enabled=true Name=nvidia-fan-speed
دستور نصب/کنارگذاشتن برنامه برای تغییر درایورها
زمانی که درایور قدیمی nvidiaO و درایور جدید nvidiaN است:
remove nvidiaO install nvidia-utilsN install nvidiaN install lib32-nvidia-utils-N (if required)
سوئیچ بین درایورهای nouveau و nvidia
اگر شما نیاز به سوئیچ بین درایورهای nouveau و nvidia دارید می توانید از اسکریپت های زیر برای ساده تر کردن کار استفاده کنید:
#!/bin/bash
# nvidia -> nouveau
/usr/bin/sudo /bin/sed -i 's/#*options nouveau modeset=1/options nouveau modeset=1/' /etc/modprobe.d/modprobe.conf
/usr/bin/sudo /bin/sed -i 's/#*MODULES="nouveau"/MODULES="nouveau"/' /etc/mkinitcpio.conf
/usr/bin/sudo /usr/bin/pacman -Rdds --noconfirm nvidia-173xx{,-utils}
/usr/bin/sudo /usr/bin/pacman -S --noconfirm nouveau-dri xf86-video-nouveau
#/usr/bin/sudo /bin/cp {10-monitor,20-nouveau}.conf /etc/X11/xorg.conf.d/
/usr/bin/sudo /sbin/mkinitcpio -p linux
#!/bin/bash
# nouveau -> nvidia
/usr/bin/sudo /bin/sed -i 's/options nouveau modeset=1/#options nouveau modeset=1/' /etc/modprobe.d/modprobe.conf
/usr/bin/sudo /bin/sed -i 's/MODULES="nouveau"/#MODULES="nouveau"/' /etc/mkinitcpio.conf
/usr/bin/sudo /usr/bin/pacman -Rdds --noconfirm nouveau-dri xf86-video-nouveau libgl
/usr/bin/sudo /usr/bin/pacman -S --noconfirm nvidia-173xx{,-utils}
#/usr/bin/sudo /bin/rm /etc/X11/xorg.conf.d/{10-monitor,20-nouveau}.conf
/usr/bin/sudo /sbin/mkinitcpio -p linux
برای تکمیل کار به راهاندازی مجدد نیاز است.
تنظیم اسکریپت بر اساس درایورهای سری NVIDIA-173xx است، اگر شما از نسخههای دیگر استفاده میکنید باید آن را مطابق با نیازتان ویرایش کنید.
اگر شما از نسخههای قدیمیتر از 1.10.2-1 سرور X.org استفاده میکنید، خطهای کامنت خورده را از حالت کامنت خارج کنید و خطها را در فایلهای تنظیم {10-monitor,20-nouveau} کپی و باقی را پاک کنید. از نسخه 1.10.2-1، X.org وصلهای برای بارگذاری درایور nouveau به طور خودکار وجود دارد. همچنین فایلهای 10-monitor.conf و 20-nouveau.conf را نگه دارید و این اسکرپت را در همان دایرکتوری نگه دارید یا در صورت نیاز مسیراش را ویرایش کنید.
عیب یابی
عملکرد بد
بازی با استفاده از TwinView
در مواردی که شما می خواهید یک بازی تمام صفحه را با استفاده از TwinView اجرا کنید، متوجه خواهید شد که بازی دو صفحه نمایش را به بزرگی یکی شناسایی می کند. اگرچه این از نظر فنی صحیح است اما شاید شما نخواهید همزمان روی دو صفحه بازی را اجرا کنید.
برای تصحیح این مورد دستور زیر را اجرا کنید:
export SDL_VIDEO_FULLSCREEN_HEAD=1
در مورد Opengl پارامترهای زیر را به فایل Xorg.conf در بخش Device اضافه کنید و X را ریستارت کنید:
Option "Metamodes" "1680x1050,1680x1050; 1280x1024,1280x1024; 1680x1050,NULL; 1280x1024,NULL;"
همگام سازی عمودی با استفاده از TwinView
اگر شما در حال استفاده از TwinView و همگامسازی عمودی هستید، خواهید دید که فقط صفحه همگامسازی میشود، مگر در مواردی که شما دو مانیتور جزئی داشته باشید. اگرچه nvidia-settings گزینه ای برای تغییر صفحهای که همگام سازی شده است؛ ارائه می کند اما این مورد همیشه عمل نمی کند. یک راه حل خوب افزودن متغیرهای محیطی زیر به Startup است:
nano /etc/profile
در انتهای فایل اضافه کنید:
export __GL_SYNC_TO_VBLANK=1 export __GL_SYNC_DISPLAY_DEVICE=DFP-0 export __VDPAU_NVIDIA_SYNC_DISPLAY_DEVICE=DFP-0
می توانید DFP-0 را با صفحه مورد نظر خود جایگزین کنید.
تنظیمات Xorg قدیمی
هنگام بروزرسانی یک نصب قدیمی لطفا مسیرهای قدیمی موجود در /usr/X11R6/ را حذف کنید تا در طول نصب مشکل ساز نشود.
صفحه نمایش مشکلدار: مسئله "شش صفحه نمایش"
برخی از افراد که از کارت گرافیک Geforce GT 100 M استفاده میکنند این مشکل را گزارش کردهاند که پس از آغاز X صفحه تغییر میکند و به 6 بخش با رزولوشن محدود 640×480 درمیآید.
برای حل این مشکل باید مد Validation را با پارامتر NoTotalSizeCheck را در بخش Device به صورت زیر وارد کنید:
Section "Device" ... Option "ModeValidation" "NoTotalSizeCheck" ... EndSection
خطای ورودی/خروجی '/dev/nvidia0'
این خطا به چند دلیل پیش میآید و متداولترین راهحل آن بررسی دستورهای فایل/گروه است که تقریبا در تمام موارد مسئله مورد نظر نمی باشد. اسناد NVIDIA در خصوص تصحیح این مسئله جرفی نزده اند اما چندین روش وجود دارد که برای برخی مفید بوده است. این مشکل می تواند یک ناسازگاری IRQ با دستگاه دیگر و یا مسیریابی نامناسب توسط یک کرنل باشد. ابتدا سعی کنید دستگاه های دیگر از قبیل کارت های ویدیو کپچر را برداشته و ببینید مشکل حل می شود یا خیر. اگر پردازنده های ویدیویی زیادی در سیستم دارید می تواند منجر به این شود که کرنل نتواند آغاز بکار کند. بطور کلی در سیستم هایی با حافظه ویدیویی پایین این مسئله حتی در صورتیکه یک پردازنده ویدیویی هم موجود باشد، پیش می آید. در این مورد شما باید مقدار حافظه ویدویی سیستم را یافته و پارامترهای تخصیص را در کرنل وارد کنید. کار دیگری که می توانید انجام دهید تغییر مسیریابی BIOS IRQ از Operating system controlled به BIOS controlled است:
خطاهای '/dev/nvidiactl'
تلاش برای آغاز برنامه opengl ممکن است منجر به بروز خطای زیر شود:
Error: Could not open /dev/nvidiactl because the permissions are too restrictive. Please see the FREQUENTLY ASKED QUESTIONS section of /usr/share/doc/NVIDIA_GLX-1.0/README for steps to correct.
این مشکل را با افزودن شناسه مناسب به گروه "Video" و لوگین مجدد حذف کنید: برنامه های 32 بیتی کار نمی کنند نصب lib32-nvidia-utils در سیستم های 64 بیتی که با نسخه نصب شده مشابه درایور 64 بیتی مطابقت دارد مشکلاتی ایجاد می کند. خطایی که پس از بروزرسانی کرنل پیش می آیند اگر ساختار سفارشی ماژول NVIDIA بجای بسته بکار رفته باشد، یک کامپایل مجدد در زمان بروزرسانی کرنل لازم است. راه اندازی مجدد نیز معمولا پس از بروزرسانی کرنل و درایورهای گرافیکی توصیه می شود. خرابی های کلی - RenderAccel را در Xorg.conf غیرفعال کنید. - اگر ورودی های Xorg خطاهای "conflicting memory type" یا "failed to allocate primary" را می دهند، nopat را به آخر سطح کرنل در ................... اضافه کنید. - اگر کامپایل NVIDIA در خصوص نسخه های مختلف GCC بین مورد فعلی بکار رفته در کرنل شکایتی دارد، دستور زیر را اجرا کنید: - اگر Xorg با "signal 11" هنگام استفاده از درایورهای nvidia-96xx خراب می باشد، PAT را غیرفعال کنید. اطلاعاتی بیشتر در خصوص اشکال یابی درایور در اتاق های گفتگوی NVIDIA موجود می باشد. عملکرد پایین پس از نصب نسخه جدید درایور اگر FPS در مقایسه با درایورهای قدیمی افت پیدا کرده است ابتدا بررسی کنید آیا تفسیر مستقیم فعال است یا خیر: اگر دستور زیر نمایان شد: یک راه حل ممکن می تواند برگشتن به نسخه درایور نصب شده قبلی و راه اندازی مجدد آن باشد. اسپایک های CPU با کارت های سری 400 اگر متوجه اسپایک های CPU متناوبی با کارت های سری 400 شده اید خوب است بدانید که ممکن است ناشی از تغییر مداوم فرکانس ساعت GPU توسط PowerMizer باشد. دستور زیر را به بخش Device پیکربندی Xorg خود بیافزایید: لپ تاپ ها: X بر ادامه Login/out تاکید دارد، در حالیکه Ctrl +Alt+backspace همچنان عمل می کند. اگر هنگام استفاده از درایورهای NVIDIA، Xorg شروع به لوگین می کند (بویژه صفحه نمایش یه دو قسمت سفید و خاکستری تقسیم می شود) و لاگین همچنان از طریق Ctrl+Alt+Backspace امکان پذیر است، دستور زیر را اجرا کنید: این دستور برای تمام کاربران نتیجه خوبی داشته است: توجه داشته باشید که NVreg-Mobile باید براساس لپ تاپ تغییر کند: 1 برای لپ تاپ های Dell 2 برای لپ تاپ های توشیبا غیر کامپال 3 برای سایر لپ تاپ ها 4 برای لپ تاپ های توشیبا کامپال 5 برای لپ تاپ های Gateway نرخ تجدید صفحه بدرستی توسط خدمات وابسته XRandR شناسایی نشده است. افزونه XRandR در حال حاضر از دستگاه های نمایش چندگانه بر صفحه X آگاه نیست. این بعنی اگر Metamodes چندگانه جعبه اتصال مشابهی داشته باشند، XRandR نمی تواند بین آنها تمایز قایل شود. برای پشتیبانی از DynamicTwinView، درایور NVIDIA باید هر Metamode را در XRandR بصورت واحد نمایان سازد. از دستور..................... برای جستجوی نرخ تجدید صفحه در نمایش صفحه استفاده کنید: افزونه XRandR در حال حاضر با استفاده از Xorg مجددا طراحی شده است بطوریکه نرخ تجدید صفحه بتواند در آینده از نقطه نظر مشابهی حذف شود. هیچ صفحه ای بر روی لپ تاپ/ NVIDIA Optimus یافت نشده است اگر درایور NVIDIA هیچ صفحه ای بر روی لپ تاپ پیدا نکرد، باید تنظیمات NVIDIA Optimus را اجرا کنید: یک Intel chipset به صفحه و خروجی ویدیو متصل می شود و یک کارت NVIDIA که تمامی کارهای سخت را انجام داده و حافظه ویدیویی chipset را بازنویسی می کند، لازم است: بررسی کنید آیا....... خروجی به شرح زیر خواهد بود: متاسفانه NDIVIA هیچ برنامه ای برای پشتیبانی از درایوهای لینوکس خود ندارد. هیچ کنترل درخشندگی در لپ تاپ وجود ندارد سطر زیر را در 20-nvidia-conf وارد کنید: اگر عمل نکرد می توانید به شرح زیر وارد عمل شوید: قسمت های سیاه رنگ هنگام مشاده ویدیو فلش تمام صفحه با TwinView دستورالعمل های زیر را دنبال کنید: لینک های خارجی: - اتاق های گفتگوی NVIDIA - Readme رسمی درایورهای NVIDIA