انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


 خبرها، اتفاقات و تصاویر مربوط به مربوط به جشن انتشار را با هشتگ ufest1804 در شبکه‌های اجتماعی دنبال کنید

نویسنده موضوع: استفاده از درایور انحصاری nvidia در دبیان ( حل شد )  (دفعات بازدید: 529 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین geeksesi | javad

  • High Sr. Member
  • *
  • ارسال: 664
  • جنسیت : پسر
  • GeekSesi.xyz
سلام
من دبیان دارم + i3
مدل لپ تاپم lenovo z510 هست که ۲ تا کارت گرافیک داره ( اینتل و nvidia )
قصه از اونجایی شروع شد که خواستم cs:go روی دبیان بازی کنم ( با دوتا۲ مشکلی ندارم )
و از اونجاییکه دوتا۲ رو روی cpu بازی می کنم ( یعنی همون گرافیک intel ) و مشکلی نداشتم cs:go رو هم خواستم به همون طریق بازی کنم که خب مشکل مصرف زیاد منابع از طرف cs:go مواجه شدم...
تصمیم گرفتم درایور انحصاری nvidia رو روی سیستم نصب کنم...
این کار رو قبلا توی اوبونتو به راحتی انجام میدادم اونم فقط با نصب پکیج :
nvidia-364
اما توی دبیان ظاهرا یکم فرق می کرد و من دسترسی به چنین پکیجی نداشتم...
سرچ کردم...
توی ویکی دبیان نوشته بود که اگه ۲ تا چیپست گرافیک دارید ممکنه این صفحه به دردتون نخوره و باید bumblebee رو پیکربندی کنید.
Note: if this lspci command returns more than one line of output, you have an Optimus (hybrid) graphics chipset, and the instructions on this page do not apply to you. Check the Bumblebee page instead.
خب رفتیم سراغ bumblebee و خب طبق صفحه خود ویکی دبیان و یه صفحه دیگه که الان پیداش نمی کنم این پکیج رو به درستی پیکربندی کردم و خب کار می کنه...
از اونجاییکه با استیم بازی می کنم با دستور :
optirun steam
استیم رو از طریق این پکیج روی nvidia اجرا می کنم و خب هیچ مشکلی نداره تا وقتی که می خوام cs:go رو باز کنم... که یه سری ارور هایی می ده که نمی فهمم چی اند..

از اونجاییکه نمی خوام دیگه از bumblebee استفاده کنم بعید می دونم ارور ها به درد بخوره

اما وقتی از همین طریق dota2 رو ران می کنم..هیچ مشکلی نیست و nvidia کاملا روی nvidia اجرا میشه...

خب حالا می خوام سعی کنم درایور انحصاری nvidia رو روی کل سیستم ران کنم ( nvidia-setting این قابلیت رو بهم می ده که توسط این درایور انحصاری بین nvidia و intel سوییچ کنم) و از اونجاییکه زمانیکه  bumblebee رو نصب می کردم پکیج های انویدیا رو هم درست نصب کردم دیگه نیاز به نصب بسته انویدیا نبود ( دبیان بسته انویدیا رو بهم :  nvidia-driver معرفی می کنه )
با نصب بسته
nvidia-xconfig سعی کردم xorg رو مجبور به استفاده از این درایور انحصاری کنم.
و در زمان ورود ( از اونجاییکه dm ندارم با زدن دستور startx یه اروری دریافت می کنم. ) اون ارور اینه :
X.Org X Server 1.20.1
X Protocol Version 11, Revision 0
[  2729.113] Build Operating System: Linux 4.9.0-7-amd64 x86_64 Debian
[  2729.114] Current Operating System: Linux geeksesi 4.18.0-1-amd64 #1 SMP Debian 4.18.6-1 (2018-09-06) x86_64
[  2729.114] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.18.0-1-amd64 root=UUID=c7a4a95d-bda3-41ae-a556-fc9f1360418d ro quiet
[  2729.116] Build Date: 17 August 2018  08:05:00PM
[  2729.117] xorg-server 2:1.20.1-1 (https://www.debian.org/support)
[  2729.118] Current version of pixman: 0.34.0
[  2729.120] Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[  2729.120] Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[  2729.124] (==) Log file: "/home/geeksesi/.local/share/xorg/Xorg.0.log", Time: Fri Sep 28 10:20:30 2018
[  2729.124] (==) Using config file: "/etc/X11/xorg.conf"
[  2729.125] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[  2729.126] (==) No Layout section.  Using the first Screen section.
[  2729.126] (==) No screen section available. Using defaults.
[  2729.126] (**) |-->Screen "Default Screen Section" (0)
[  2729.126] (**) |   |-->Monitor "<default monitor>"
[  2729.126] (==) No device specified for screen "Default Screen Section".
Using the first device section listed.
[  2729.126] (**) |   |-->Device "nvidia"
[  2729.126] (==) No monitor specified for screen "Default Screen Section".
Using a default monitor configuration.
[  2729.126] (==) Automatically adding devices
[  2729.126] (==) Automatically enabling devices
[  2729.126] (==) Automatically adding GPU devices
[  2729.126] (==) Max clients allowed: 256, resource mask: 0x1fffff
[  2729.126] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[  2729.126] Entry deleted from font path.
[  2729.126] (==) FontPath set to:
/usr/share/fonts/X11/misc,
/usr/share/fonts/X11/100dpi/:unscaled,
/usr/share/fonts/X11/75dpi/:unscaled,
/usr/share/fonts/X11/Type1,
/usr/share/fonts/X11/100dpi,
/usr/share/fonts/X11/75dpi,
built-ins
[  2729.126] (==) ModulePath set to "/usr/lib/xorg/modules"
[  2729.126] (II) The server relies on udev to provide the list of input devices.
If no devices become available, reconfigure udev or disable AutoAddDevices.
[  2729.126] (II) Loader magic: 0x56206f6dede0
[  2729.126] (II) Module ABI versions:
[  2729.126] X.Org ANSI C Emulation: 0.4
[  2729.126] X.Org Video Driver: 24.0
[  2729.126] X.Org XInput driver : 24.1
[  2729.126] X.Org Server Extension : 10.0
[  2729.126] (++) using VT number 1

[  2729.128] (II) systemd-logind: took control of session /org/freedesktop/login1/session/_31
[  2729.129] (II) xfree86: Adding drm device (/dev/dri/card0)
[  2729.129] (II) systemd-logind: got fd for /dev/dri/card0 226:0 fd 11 paused 0
[  2729.131] (--) PCI:*(0@0:2:0) 8086:0416:17aa:3978 rev 6, Mem @ 0xb5000000/4194304, 0xc0000000/268435456, I/O @ 0x00006000/64, BIOS @ 0x????????/131072
[  2729.131] (--) PCI: (7@0:0:0) 10de:1292:17aa:380a rev 161, Mem @ 0xb3000000/16777216, 0xa0000000/268435456, 0xb0000000/33554432, I/O @ 0x00004000/128
[  2729.131] (II) "glx" will be loaded by default.
[  2729.131] (II) LoadModule: "modesetting"
[  2729.131] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so
[  2729.131] (II) Module modesetting: vendor="X.Org Foundation"
[  2729.131] compiled for 1.20.1, module version = 1.20.1
[  2729.131] Module class: X.Org Video Driver
[  2729.131] ABI class: X.Org Video Driver, version 24.0
[  2729.131] (II) LoadModule: "glx"
[  2729.131] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[  2729.132] (II) Module glx: vendor="X.Org Foundation"
[  2729.132] compiled for 1.20.1, module version = 1.0.0
[  2729.132] ABI class: X.Org Server Extension, version 10.0
[  2729.132] (II) LoadModule: "nvidia"
[  2729.132] (WW) Warning, couldn't open module nvidia
[  2729.132] (EE) Failed to load module "nvidia" (module does not exist, 0)
[  2729.132] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[  2729.132] (WW) Falling back to old probe method for modesetting
[  2729.132] (WW) Falling back to old probe method for modesetting
[  2729.132] (II) modeset(G0): using drv /dev/dri/card0
[  2729.132] (EE) No devices detected.
[  2729.132] (EE)
Fatal server error:
[  2729.132] (EE) no screens found(EE)
[  2729.132] (EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
 for help.
[  2729.132] (EE) Please also check the log file at "/home/geeksesi/.local/share/xorg/Xorg.0.log" for additional information.
[  2729.132] (EE)
[  2729.144] (EE) Server terminated with error (1). Closing log file.


البته این چیزی که گراشتم خروجی فایله که خود xorg گفته لاگ رو می زارم توش :
/home/geeksesi/.local/share/xorg/Xorg.0.log

و برای راه اندازی xorg باید فایل کانفیگی که nvidia-xconfig ساخته رو پاک کنم.


خب تا اینجا شرح واقعه بود حالا سوالمو بگم..

چجوری می تونم از درایور انحصاری nvidia رو دبیان استفاده کنم ؟
« آخرین ویرایش: 11 مهر 1397، 04:51 ب‌ظ توسط geeksesi | javad »
اگر اشتباه کردم راهنمایی کنید تا تکرار نکنم.

آفلاین فرهاد محمدی مجد

  • Hero Member
  • *
  • ارسال: 723
  • جنسیت : پسر
  • Debian stable + GNOME Shell
    • debian.org
اول یک برنامه DM مثل LightDM نصب و ری-بوت کن ببیبن این مشکل هنوز هست یا نه، اجرای نشست با فرمان startx یک روش خیلی استاندارد نیست.
نام کاربری اصلی و نخستم Fedora-Red Hat است ولی دیدم بهتره با نام حقیقیم فعالیت کنم. این اولین حساب من در این انجمن نیست! من در اوایل سال 1392 تصمیم به استفاده از گنو/لینوکس گرفتم و قبل از استفاده از آن در اینجا عضو شدم و تا 1-2 سال فعالیت میکردم ولی به دلیل جروبحث‌هایی که پیش اومد دیگه فعالیت نکردم.

آفلاین علی رزم دیده

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1202
  • جنسیت : پسر
  • ali76 سابق
سلام

موضوع خوبی رو مطرح کردین من چند سالی هستش که می خواستم توی این فروم نصب و راه اندازی درایور انویدیا تو دبیان رو بنویسم ولی هیچ وقت فرصت نمی کردم حالا که فرصتش پیش اومده بهتره یه بار کامل بنویسم تا کسایی که بعداً لازم داشتن هم بتونن از اون استفاده کنن.



نصب درایور :

این مراحل مربوط به دبیان sid هستش ولی برای دبیان stable هم تفاوت خاصی به جز قسمت مخازن نداره و از طریق همین مراحل قابل پیاده سازی هستش :

1.اول چک کنین که pci id مربوط به گرافیکتون به درستی شناخته می شه و و bus id رو یادداشت کنین :
lspci -nn | egrep -i "3d|display|vga"
2.مخازن non-free رو اضافه کنین (برای دبیان stable باید مخازن non-free مربوط به stretch-backports اضافه بشه) :
deb http://deb.debian.org/debian/ unstable main contrib non-free
3.حالا معماری 32 بیت رو به لیست معماری های قابل نصب سیستم اضافه کنین تا کتابخونه های 32 بیتی مورد نیاز هم نصب بشن :
sudo dpkg --add-architecture i386
4.حالا مخازن رو بروزرسانی کرده و درایور انویدیا رو نصب کنین :
sudo apt update
sudo apt install linux-headers-amd64 firmware-linux nvidia-driver

حالا برای استفاده از این درایور نصب شده دو راه وجود داره :


کانفیگ ثابت :

1.از نصب بودن پکیج زیر اطمینان حاصل کنین :
sudo apt install x11-xserver-utils
2.فایل /etc/X11/xorg.conf رو بسازین (برای این کار از nvidia-xconfig استفاده نکنین چون تو خیلی از سیستم ها به درستی کار نمی کنه و فایل کانفیگ مناسبی رو نمی سازه)

این فایل کانفیگ برای کارت گرافیک های مختلف می تونه متفاوت باشه و Option های مختلفی رو لازم داشته باشه ولی کانفیگ پایین برای اکثر سیستم ها جوابگو هستش و به درستی کار می کنه :

Section "Module"
    Load "modesetting"
EndSection

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "1:0:0"
    Option "AllowEmptyInitialConfiguration"
EndSection

فقط شما چک کنین که BusID مربوط به nvidia همونی باشه که توی مورد 1 یادداشت کردین. (عموماً همون 01:00.0 هستش) و اگه همون بود محتوی بالا رو توی فایل /etc/X11/xorg.conf بریزین.

3.حالا محتوی زیر رو هم توی فایل استارت آپ DM تون بریزین :
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto

اگه احساس کردین که محتوی dpi مورد نظر شما رو نداره و مثلاً آیکون ها ریزتر از حالت عادی به نظر می رسن این خط رو هم اضافه کنین :
xrandr --dpi 96
برای مثال استارت آپ sddm به صورت هستش :
$ cat /usr/share/sddm/scripts/Xsetup
#!/bin/sh
# Xsetup - run as root before the login dialog appears

xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
xrandr --dpi 96

اگه از DM خاصی استفاده نمی کنین هم می تونین از از فایل ~/.xinitrc کمک بگیرین و محتوی زیر رو توی اون قرار بدین :

xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
xrandr --dpi 96

یا اینکه از استارت آپ خود i3 کمک بگیرین. من از i3 استفاده نکردم و اطلاع دقیقی در موردش ندارم ولی فکر کنم قرار دادن محتوی زیر توی فایل کانفیگ ~/.i3/config جواب بده :

exec "xrandr --setprovideroutputsource modesetting NVIDIA-0"
exec "xrandr --auto"
exec "xrandr --dpi 96"


کانفیگ متغیر :

برای استفاده از تکنولوژی Optimus (سوییچ داینامیک بین گرافیک ها) می تونین از bumblebee استفاده کنین (دقت کنین که هیچ کدوم از فایل کافینگ های مورد قبل (کانفیگ ثابت) نباید وجود داشته باشه) :

1.پکیج های مورد نیاز رو نصب کنین :
sudo apt install bumblebee-nvidia primus primus-libs:i386
2.کاربر رو به گروه video و bumblebee اضافه کنین :
sudo adduser $USER bumblebee
sudo adduser $USER video

3.سرویس رو فعال کنین :
sudo systemctl enable bumblebeed.service
4.در صورت نیاز از پارامتر کرنل های زیر استفاده کنین (مواردی مثل freeze شدن X و یا مشکل مدیریت power) :
acpi_osi=! "acpi_osi=Windows 2009" pcie_port_pm=off
در مورد مشکل شما باید موارد قسمت اول (کانفیگ ثابت) رو انجام بدین.
« آخرین ویرایش: 06 مهر 1397، 07:03 ب‌ظ توسط علی رزم دیده »

آفلاین nixoeen

  • ناظر انجمن
  • *
  • ارسال: 3787
  • جنسیت : پسر
  • masoft قدیم
موضوع خوبی رو مطرح کردین من چند سالی هستش که می خواستم توی این فروم نصب و راه اندازی درایور انویدیا تو دبیان رو بنویسم ولی هیچ وقت فرصت نمی کردم حالا که فرصتش پیش اومده بهتره یه بار کامل بنویسم تا کسایی که بعداً لازم داشتن هم بتونن از اون استفاده کنن.
عالی میشه اگر توی ویکی وارد بشه. اینطوری کافیه فقط لینکش رو داد و جستجو و پیدا کردنش در ویکی راحت‌تر از داخل انجمن خواهد بود.

آفلاین علی رزم دیده

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1202
  • جنسیت : پسر
  • ali76 سابق
عالی میشه اگر توی ویکی وارد بشه. اینطوری کافیه فقط لینکش رو داد و جستجو و پیدا کردنش در ویکی راحت‌تر از داخل انجمن خواهد بود.
چشم معین جان ایشالا شب تو ویکی کامل ترشو می نویسم

آفلاین geeksesi | javad

  • High Sr. Member
  • *
  • ارسال: 664
  • جنسیت : پسر
  • GeekSesi.xyz
اول یک برنامه DM مثل LightDM نصب و ری-بوت کن ببیبن این مشکل هنوز هست یا نه، اجرای نشست با فرمان startx یک روش خیلی استاندارد نیست.

جدا این مشکل هیچ ربطی به داشتن یا نداشتن یه dm نداره :)

علی جان دستت درد نکنه راهنماییت کامله منم توی سرچ هام به این مواردی که گفتی رسیدم...
الان اون کانفیگ متغیری که گفتی برای من درست کار می کنه ( به جز cs:go که احتمالا مربوط میشه به ماژول های خود بازی )
برای کانفیگ ثابت من این راه هایی که گفته بودی رو یک بار رفته بودم و خب دوباره انجام دادم و ارور داره که می زارم قبلش خروجی این دستور رو ببین :

geeksesi@geeksesi:~$ lspci -nn | egrep -i "3d|display|vga"
00:02.0 VGA compatible controller [0300]: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller [8086:0416] (rev 06)
07:00.0 3D controller [0302]: NVIDIA Corporation GK208M [GeForce GT 740M] [10de:1292] (rev ff)

یعنی باید بخش BusID رو بزارم روی 7.0.0 ( این رو گزاشتم ببینی شاید من اشتباه متوجه شدم این بخش رو )

خب از اونجاییکه فایل لاگ یکم بهم ریخته بود عکس اروری که داد رو می زارم...
https://pasteboard.co/HFZvGRs.jpg
و خب اینجوری نمی تونم وارد بشم و مجبور میشم فایل کانفیگی که ساختم رو پاک کنم و دوباره startx رو بزنم....
اگر اشتباه کردم راهنمایی کنید تا تکرار نکنم.

آفلاین علی رزم دیده

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1202
  • جنسیت : پسر
  • ali76 سابق
خواهش می کنم جواد جان

یعنی باید بخش BusID رو بزارم روی 7.0.0 ( این رو گزاشتم ببینی شاید من اشتباه متوجه شدم این بخش رو )
نه به جای 7.0.0 بهتره از 7:0:0 استفاده کنین. یعنی این طوری باید باشه :

Section "Module"
    Load "modesetting"
EndSection

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID  "7:0:0"
    Option "AllowEmptyInitialConfiguration"
EndSection

در ضمن ایجاد ~/.xinitrc برای اجرای اون دستورات xrandr توی استارت آپ فراموش نشه.



ولی چیزی که باعث این خطا می شه علاوه بر مورد بالا این خط از خروجی هستش که توی پیام اولتون نوشتین :
[  2729.132] (EE) Failed to load module "nvidia" (module does not exist, 0)
در واقع X نمی تونه nvidia رو لود کنه و دلیل این مشکل bumblebee هستش. bumblebee موقع نصب این فایل رو می سازه :
/etc/modprobe.d/bumblebee.confکه توی اون چنین خطوطی وجود داره :
# Debian
blacklist nvidia
blacklist nvidia-current
blacklist nvidia-legacy-304xx
blacklist nvidia-legacy-340xx
این دستورات باعث می شن که درایور nvidia لود نشه و در نتیجه X هم نتونه اون رو فراخوانی کنه و Connection refused بشه.

پس bumblebee رو کامل پاک کنین (متوقف کردن سرویس کافی نیست چون همچنان modprobe کار خودش رو می کنه) :
sudo apt purge bumblebee* primus primus-libs:i386
sudo apt autoremove

حالا یه دور سیستم رو ری استارت کنین تا لود ماژول ها به درستی انجام بشه و حالا دستور startx رو امتحان کنین.
« آخرین ویرایش: 06 مهر 1397، 09:13 ب‌ظ توسط علی رزم دیده »

آفلاین geeksesi | javad

  • High Sr. Member
  • *
  • ارسال: 664
  • جنسیت : پسر
  • GeekSesi.xyz
علی جان دستت درد نکنه حل شد
اگر اشتباه کردم راهنمایی کنید تا تکرار نکنم.