اِن‌ویدیا

از ویکی آرچ لینوکس ایران
پرش به: ناوبری, جستجو
خلاصه مقاله
اطلاعاتی مربوط به نصب، پیکربندی و عیب یابی درایور اختصاصی NVIDIA.
موضوعات مرتبط
ATI
Intel
Nouveau
Xorg

این نوشته در مورد نصب و راه اندازی درایورهای تجاری کارتهای NVIDIA می باشد.برای اطلاعات بیشتر درباره درایور‌های اوپن سورس Nouveau را ببینید.

اخطار: درایور اختصاصی NVIDIA *ممکن است* با سیستم EFI کار نکند. شما ممکن است برای اجرای آن نیاز به اجرا با BIOS داشته باشید.

محتویات

NVIDIA

این دستورالعمل برای کسانی است که از کرنل رسمی آرچ استفاده می کنند. برای نصب در کرنل سفارشی به بخش بعدی مراجعه کنید.

نکته: نصب درایور NVIDIA از طریق پکمن نسبت به بسته ای که توسط سایت NVIDIA ارائه شده است، مزایای بیشتری داشته و موجب می شود درایور هنگام ارتقای سیستم بروزرسانی شود.

۱. از سایت NVIDIA برای دانلود درایور بازدید کنید تا درایور مناسبی برای کارت مربوطه بیابید.

توجه: درایورهای فعلی NVIDIA-173XX، NVIDIA-96XX و NVIDIA-71XX از Xorg نسخه 1.11 پشتیبانی نمی کنند و لذا برای مصارف اداری مناسب نیستند. شما می توانید از درایورهایی با منبع آزاد بجای آنها استفاده کنید.

۲. درایور کارت های جدید را نصب کنید. (تراشه‌های جدید،GeForce 6 و جدیدتر [NV40 و جدیدتر] )

# pacman -S nvidia nvidia-utils
بسته nvidia-utils با بسته libgl در تضاد است و این طبیعی می باشد. اگر پکمن درخواستی مبنی بر حذف libgl داشت بگزارید حذف کند ولی اگه بعلت بی دقتی در وابستگی ها در حذف libgl بر روی سیستم های 64 بیتی ناموفق بود از دستور# pacman -Rdd libglاستفاده کنید.
توجه: برای کارت‌های جدید می‌توانید بسته nvidia-beta و nvidia-utils-beta را از AUR نصب کنید.ولی یادتان باشد در اولین فرصت بعد از ورود به مخازن آن‌ها را پاک کنید.
توجه: برای آنکه بتوان برنامه های 32 بیتی را با موفقیت در سیستم های 64 بیتی اجرا کرد باید بسته مشابه lib32-nvidia-utils را نصب کنید.(برای مثال lib32-nvidia-utils-beta).

۳. راه اندازی مجدد. بسته nvidia حاوی فایلی است که تمامی ماژول‌های درایور nouveau را در فهرست سیاه قرار می دهد. راه اندازی مجدد برای تاثیرگذاری این فهرست سیاه لازم است.

زمانیکه درایور نصب شد از #پیکربندی کار را ادامه دهید:

نصب متناوب: کرنل سفارشی

اول از همه خوب است با مطالعه مقالاتی پیرامون موارد زیر از نحوه عملکرد سیستم ABS با خبر بشید:

توجه: بسته‌ی nvidia-all در AUR باعث ساخت و نصب آسان درایور NVIDIA برای کرنل سفارشی و کرنل‌های چندگانه می شود.

دستورات زیر آزمایشی کوتاه برای ایجاد یک بسته درایور سفارشی 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
  1. در nvidia-install، کد KERNEL_VERSION="2.6.xx-ARCH" را جایگزین شماره نسخه کرنل سفارشی کنید.(مثل:KERNEL_VERSION="2.6.22.6" یا KERNEL_VERSION="2.6.22.6-custom") (شماره نسخه کرنل را می‌توانید از روی بسته نصب شده یا دانلود شده یا به صورت لوکال به دست آورید.) این کار را در مورد تمامی نمونه‌های نسخه درون فایل انجام دهید.
  2. در PKGBUILD، متغیر _kernver='2.6.xx-ARCH' را تغییر دهید تا با نسخه کرنل سفارشی متناسب باشد.
  3. اگر بیش از یک کرنل در سیستم نصب شده یا بصورت موازی وجود دارد (مثل کرنل پیش‌فرض آرچ)، متغیر "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 را بهبود دهد و یا گزینه های پیش فرض را تغییر دهد.

توجه: آخرین نسخه Xorg از فایل های /etc/X11/xorg.conf.d استفاده می‌کند. بخش پیکربندی پیشرفته را بررسی کنید.

پیکربندی خودکار

بسته NVIDIA شامل ابزار پیکربندی خودکار برای ایجاد یک فایل پیکربندی سرور Xorg (xorg.conf) است و می تواند بوسیله دستور زیر اجرا شود:

# nvidia-xconfig

این دستور ، پیکربندی xorg.conf را براساس سخت افزار فعلی شناسایی و ایجاد میکند.

اگر نمونه‌هایی از DRI وجود داشته باشد، اطمینان داشته باشد که کدنویسی شده اند:

#    Load        "dri"

/etc/X11/xorg.conf را دوباره بررسی کنید تا عمق پیش فرض (default depth)، همگامی افقی (horizontal sync)، تازه‌سازی عمودی(vertical refresh) ورزولوشن ها(resolutions) قابل‌قبول باشند.

اخطار: این موارد ممکن است با Xorg-server 1.8 بدرستی کار نکنند.

پیکربندی کمینه(Minimal)

برای ایجاد xorg.conf را بعنوان ریشه اجرا کنید:

# vi /etc/X11/xorg.conf

سپس درایور را اضافه نمایید:

/etc/X11/xorg.conf
Section "Device"
   Identifier     "Device0"
   Driver         "nvidia"
   VendorName     "NVIDIA Corporation"
EndSection
نکته: اطمینان یابید که به منظور داشتن قابلیت‌های چندگانه درایورهای داخلی Xorg نصب شده باشند.
نکته: هنگام بروزرسانی درایورهای nouveau اطمینان یابید که nouveau را از /etc/mkinitcpio.conf حذف کرده اید. همچنین می توانید از این اسکریپت برای سوییچ کردن بین درایور انحصاری و اپن سورس استفاده کنید.

مانیتورهای چندگانه

برای اطلاعات بیشتر 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 بنویسید.

نکته: در موارد نادر ممکن است ~/.nvidia-settings-rc خراب شده باشد. اگر این اتفاق افتاد احتمالا نسخه سرور X.org با داریور در تضاد است، برای حل این مشکل فایل را پاک و دوباره تنظیم کنید.

پیشرفته: 20-nvidia.conf

فایل /etc/X11/xorg.conf.d/20-nvidia.conf را ویرایش کنید، سپس گزینه‌ای را به بخش section بیافزایید. سرور Xorg قبل از اعمال تغییرات باید ریستارت شود.

فعالسازی ترکیب دسکتاپ

از زمان انتشار درایور نسخه 180.44 انویدیا، پشتیبانی از GLX با افزونه‌ها و ترکیب با X بصورت پیش فرض فعال شده است. برای دستورالعمل‌های دقیق‌تر به کامپوزیت‌ها مراجعه کنید.

غیرفعالسازی لوگوی منوی startup

گزینه "NoLogo" را در بخش Device وارد کنید:

Option "NoLogo" "1"

فعال‌سازی افزایش سرعت سخت‌افزار

توجه: RenderAccel بصورت پیش فرض در درایورهای نسخه 97.46xx فعال شده است.

گزینه "RenderAccel" را در بخش Device وارد کنید:

Option "RenderAccel" "1"

فعال‌کردن تشخیص مانیتور

گزینه "ConnectedMonitor" در بخش Device امکان فعال‌کردن تشخیص مانیتور را هنگام آغاز سرور X فراهم میکند. گزینه‌های موجود عبارتند از: "CRT" برای ارتباطات قیاسی، "DFP" برای مانیتورهای دیجیتال و "TV" برای تلویزیون‌ها.

دستور زیر موجب می‌شود درایور ان‌ویدیا شروع به بررسی و تشخیص مانیتور بعنوان DFP می‌کند:

Option "ConnectedMonitor" "DFP"
توجه: از "CRT" برای تمامی ارتباطات آنالوگ 15pin VGA استفاده کنید حتی اگر نمایش بصورت صفحه ای پهن باشد.

فعالسازی بافرینگ سه‌گانه

کاربرد بافرینگ سه‌گانه را با افزودن گزینه "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

اخطار: شما از تاریخ شنبه ۱۷/ارديبهشت/۱۳۹۰ (۷ می ۲۰۱۱) عملکرد کند ویدیو را در GNOME3 پس از فعالسازی 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"
توجه: فرمت بسیار مهم است. مقدار Bus ID باید همانند "PCI:<BusID>: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


توجه: سری GTX 4xx/5xx از هسته فرمی بهره می‌برند که در حال حاضر با روش کول‌بیت‌ها نمی‌توان اورکلاکشان کرد. روش جایگزین، ویرایش کردن و دوباره فلش کردن بایوس پردازنده گرافیکی به یکی از دو شکل ترجیحا تحت داس و یا بهوسیل‌ی nvflash یا NiBiTor 6.0 در محیطی ویندوزی(win32) است. مزیت فلش کردن از طریق بایوس این است که نه تنها محدودیت ولتاژ را میتوان افزالیش داد، بلکه پایداری هم در روش‌های اورکلاک نرم‌افزاری نظیر کول‌بیت‌ها عموما افزایش مییابد.
تنظیم ساعت‌های دو بعدی و سه بعدی

سطر زیر را در بخش Device وارد کرده تا PowerMiczer با سطح‌بالایی از عملکرد فعال شود:

Option "RegistryDwords" "PerfLevelSrc=0x2222"

یکی ار دو رشته زیر را در بخش Device وارد کنید تا کنترل دستی فن GPU در nvidia-settings فعال شود.

Option "Coolbits" "4"
Option "Coolbits" "5"

چرخش صفحه را از طریق XRandR فعال کنید

توجه: این بخش که با ۳۰۲.۱۷ شروع می‌شود، قدیمی شده است. ان‌ویدیا در حال حاظر از randr 1.2 و 1.3 پشتیبانی می‌کند

سطر زیر را در بخش Device وارد کنید:

Option "RandRRotation" "True"

پس از ریستارت Xorg:

$ xrandr -o left

صفحه باید بچرخد. برای بازیابی دستور زیر را اجرا کنید:

$ xrandr -o normal
توجه: زمانیکه چرخش صفحه بصورت پیش‌فرض باید فعال شود ویرایش xorg.conf ضروری است که در حالت ایده‌آل توسط ابزار DE از قبیل systemsettings در KDE ایجاد می شود.

راهنمایی ها و ترفند ها

فعالسازی ویدیو 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

توجه: این روش مستلزم آن است که شما از X استفاده کنید. در غیر این صورت روش های ۲و۳ را بکار ببرید. همچنین توجه داشته باشید که روش ۳ در حال حاضر با کارت های جدید ان‌ویدیا از قبیل GR10/220 کار نمی‌کند.

برای نمایش فعالیت موقت 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"
توجه: در حال حاظر سرعت فن را در کارت‌های سری GTX 4xx/5xx موقع ورود به سیستم با استفاده از این روش نمی توان تنظیم کرد. تنها روش برای تنظیم سرعت فن این است که در جلسه X فعال از طریق nvidia-settings در صورت اجازه اقدام به تنظیم فن کنید.

سطر زیر را در فایل ~/.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

زبان‌های دیگر