دليل صغير لمساعدتك في تثبيت وإدارة برنامج تشغيل NVIDIA GPU على نظام (أنظمة) Ubuntu الخاص بك
أنا شخصيًا أحد مستخدمي Ubuntu 24.04.1 في الوقت الحالي، لذلك هذا هو ما ينطبق عليه هذا الدليل في الغالب (على الرغم من أنني أعتقد أنه يجب أن يعمل بشكل جيد على الإصدارات الأحدث، وكذلك على الإصدارات الأقدم التي ليست قديمة جدًا [something like Ubuntu 20.04+]
)
️ تحذيريرجى متابعة وقراءة كل جزء من هذا الدليل بعناية فائقة لتجنب حدوث أي مشاكل.
لا تقلق أيضًا إذا بدا النظام عالقًا أثناء أي خطوة لإعادة التشغيل. انها في الواقع ليست عالقة! يرجى الانتظار لمدة تصل إلى دقيقتين حتى تكتمل عملية إعادة التشغيل.
graphics-drivers
[موصى به]أسلوب التثبيت هذا هو الأسلوب الموصى به، وهو في الواقع الطريقة التي أستخدمها للحفاظ على تثبيت برنامج التشغيل على النظام (الأنظمة) الخاص بي.
تأكد من أنك قمت بإلغاء تثبيت أي برامج تشغيل NVIDIA مثبتة مسبقًا:
sudo apt-get remove --purge '^nvidia-.*'
sudo apt autoremove
reboot
.run
): إلغاء تثبيت برنامج التشغيلقم بتثبيت هذه التبعيات لضمان دعم DKMS وعملية تثبيت خالية من المشاكل:
sudo apt install pkg-config libglvnd-dev dkms build-essential libegl-dev libegl1 libgl-dev libgl1 libgles-dev libgles1 libglvnd-core-dev libglx-dev libopengl-dev gcc make
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-driver-555
reboot
ملاحظة: في وقت آخر تحديث لهذا الدليل، كان الإصدار 555 هو أحدث إصدار تم اختباره من برنامج التشغيل المتوفر في المستودع.
انتقل إلى https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa للتحقق من أحدث إصدار من برنامج التشغيل، ثم استبدل الجزء driver-555
بالإصدار الذي ترغب في تثبيته.
nvidia-smi
للتأكد من تثبيت برنامج التشغيل دون أي مشاكل.هذا الإجراء أكثر تقدمًا ولا يُنصح به غالبًا. ومع ذلك، يجب أن تسير الأمور على ما يرام طالما أنك تتبع كل خطوة بصبر وعناية :)
تأكد من أنك قمت بإلغاء تثبيت أي برامج تشغيل NVIDIA مثبتة مسبقًا:
sudo apt-get remove --purge '^nvidia-.*'
sudo apt autoremove
reboot
.run
): إلغاء تثبيت برنامج التشغيل تأكد من عدم وجود إصدار مثبت يدويًا من libnvidia-egl-wayland1
(خاصة إذا كنت ستقوم بتثبيت الإصدار 555+ من برنامج تشغيل Nvidia). يتضمن برنامج التشغيل بالفعل كما هو مذكور @ https://us.download.nvidia.com/XFree86/Linux-x86_64/555.42.02/README/installedcomponents.html
sudo apt remove libnvidia-egl-wayland1
sudo apt install pkg-config libglvnd-dev dkms build-essential libegl-dev libegl1 libgl-dev libgl1 libgles-dev libgles1 libglvnd-core-dev libglx-dev libopengl-dev gcc make
انتقل إلى https://www.nvidia.com/Download/index.aspx?lang=en-us وقم بتنزيل برنامج التشغيل المناسب لبنية GPU وLinux لديك. يجب أن يوفر لك موقع الويب ملفًا ينتهي بامتداد الملف .run
.
قم بالتبديل إلى العرض الطرفي لنظامك بالضغط على Ctrl + Alt + F3
(إذا لم يتحول هذا من وضع واجهة المستخدم الرسومية إلى الوضع الطرفي بالنسبة لك، فجرّب Ctrl + Alt + F1
أو Ctrl + Alt + F2
بدلاً من ذلك للحصول على tty مختلف)
إيقاف خدمة GDM:
sudo systemctl stop gdm
sudo systemctl stop gdm3
إذا فشل ذلك بالنسبة لك، فجرّب sudo systemctl stop lightdm
بدلاً من ذلك.
يرجى ملاحظة أنه من المهم إيقاف خدمة GNOME Display Manager (GDM) طوال عملية تثبيت/إلغاء تثبيت برنامج التشغيل لأنها قد تسبب مشاكل بخلاف ذلك.
قم بالتغيير إلى مسار الدليل الذي يتضمن ملف .run
الذي تم تنزيله باستخدام cd
قم بتشغيل المثبت:
chmod +x NVIDIA-Linux-x86_64-555.42.02.run
sudo sh ./NVIDIA-Linux-x86_64-555.42.02.run
(تأكد من استبدال اسم الملف بالاسم الفعلي الذي حصلت عليه من موقع Nvidia)
ملاحظة: إذا طلب منك برنامج التثبيت تعطيل Nouveau، فاسمح له بتعطيله نيابةً عنك. قد تحتاج إلى إلغاء برنامج التثبيت بعد ذلك، ثم تشغيل sudo update-initramfs -u && reboot
، ثم البدء مجددًا من الخطوة 5 بمجرد انتهاء النظام من إعادة التشغيل.
sudo update-initramfs -u
لتحديث initramfs./etc/default/grub
باستخدام sudo nano /etc/default/grub
nvidia-drm.modeset=1
و nvidia-drm.fbdev=1
داخل GRUB_CMDLINE_LINUX
(أي GRUB_CMDLINE_LINUX="nvidia-drm.modeset=1 nvidia-drm.fbdev=1"
)sudo update-grub
nvidia-smi
لتأكيد ذلك). graphics-drivers
يجري:
sudo apt-get remove --purge '^nvidia-.*'
sudo apt autoremove
reboot
sudo rm -rf /lib/modprobe.d/nvidia-installer-*
sudo rm -rf /etc/modprobe.d/nvidia-installer-*
sudo rm -rf /usr/lib/modprobe.d/nvidia-installer-*
nvidia-drm.modeset
، nvidia-drm.fbdev
، إلخ) من ملف /etc/default/grub
الخاص بك. ( وهذا مهم ).sudo update-grub
sudo nvidia-installer --uninstall
sudo update-initramfs -u
graphics-drivers
).يبدو أن هذا خطأ تم الإبلاغ عنه على https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-535/+bug/2063222
الحل البديل هو:
[ Workaround ]
1. sudo rm /dev/dri/card0
2. Log in again.
/etc/gdm3/custom.conf
باستخدام sudo nano /etc/gdm3/custom.conf
WaylandEnable=true
في هذا الملف وتأكد من عدم التعليق عليه (لا يبدأ بـ #
)sudo ln -s /dev/null /etc/udev/rules.d/61-gdm.rules
قد يحدث هذا لأسباب كثيرة. منذ فترة، من المعروف أن NVIDIA لديها مشكلات مع نظام نوافذ Wayland. ومع ذلك، تعمل NVIDIA على تحسين هذا الأمر. وقد أصبح هذا بالفعل أفضل بكثير بدءًا من برنامج تشغيل NVIDIA 555.42.02 الذي أضاف دعمًا صريحًا للمزامنة.
لذا تأكد أولاً من توفر ما يلي:
ثم تابع القراءة أدناه لتجعل التجربة أكثر سلاسة:
ربما يستخدم نظامك برنامج تشغيل Mesa بدلاً من برنامج تشغيل NVIDIA في جلسات Wayland. يمكنك تأكيد ذلك عن طريق كتابة glxinfo | egrep "OpenGL vendor|OpenGL renderer*"
من أجل حل هذا:
/etc/default/grub
باستخدام sudo nano /etc/default/grub
nvidia-drm.modeset=1
و nvidia-drm.fbdev=1
داخل GRUB_CMDLINE_LINUX
(أي GRUB_CMDLINE_LINUX="nvidia-drm.modeset=1 nvidia-drm.fbdev=1"
)sudo update-grub
ربما تم تمكين البرنامج الثابت GSP الخاص بـ Nvidia، ومن المعروف أن هذا يسبب بعض مشكلات الأداء على الإصدار التجريبي 555.42.02 من برنامج التشغيل. ربما سيتم إصلاح هذه المشكلة في المستقبل، ولكن في الوقت الحالي، يمكننا تعطيل البرنامج الثابت لنظام GSP إذا لزم الأمر.
يمكنك التحقق مما إذا كان البرنامج الثابت لـ GSP ممكّنًا أم لا عن طريق كتابة nvidia-smi -q | grep "GSP Firmware"
- إذا كانت الرسالة N/A
، فهذا يعني أن البرنامج الثابت غير ممكّن. إذا كان الأمر خلاف ذلك (يظهر إصدار البرنامج الثابت لـ GSP)، فسيتم تمكين البرنامج الثابت.
لتعطيل البرنامج الثابت لـ GSP، يرجى اتباع الخطوات التالية:
/etc/default/grub
باستخدام sudo nano /etc/default/grub
nvidia.NVreg_EnableGpuFirmware=0
داخل GRUB_CMDLINE_LINUX
الخاص بكsudo update-grub
راجع https://forums.developer.nvidia.com/t/major-kde-plasma-desktop-frameskip-lag-issues-on-driver-555/293606 لمزيد من المعلومات حول هذه المشكلة.
ربما تفتقد الحزمة libnvidia-egl-wayland1
(والتي يوصى بها غالبًا). حاول تثبيت الحزمة باستخدام sudo apt install libnvidia-egl-wayland1
( يرجى عدم القيام بذلك إذا قمت بتثبيت الإصدار 555+ من برنامج تشغيل Nvidia نظرًا لأن مثبت برنامج التشغيل قام بتثبيته بالفعل لك. كما تقوم حزم PPA repo بتثبيته افتراضيًا. ).
بالنسبة إلى Google Chrome (والمتصفحات المستندة إلى Chromium بشكل عام)، قد تحتاج إلى تبديل علامة "منصة الأوزون المفضلة" إلى "Wayland" أو "تلقائي". اتبع الخطوات أدناه لتطبيق ذلك:
بالنسبة لبعض تطبيقات Electron، قد تحتاج إلى تمرير نفس علامة منصة Ozone كما فعلنا أعلاه. على سبيل المثال code --enable-features=UseOzonePlatform,WaylandWindowDecorations --ozone-platform-hint=auto
لـ Visual Studio Code
ربما لم يتم تمكين معلمة وحدة تخصيص ذاكرة الفيديو للحفاظ على الفيديو، وقد يتسبب ذلك في حدوث مشكلات خاصة عند تعليق النظام واستئنافه، عادةً في شكل عناصر رسومية أو بيئة سطح مكتب معطلة.
يمكنك التحقق مما إذا كانت معلمة الوحدة ممكّنة أم لا عن طريق كتابة sudo cat /proc/driver/nvidia/params | grep "PreserveVideoMemoryAllocations"
. إذا كانت القيمة 0
أو مفقودة، فلن يتم تمكين المعلمة.
لتمكين معلمة الحفاظ على وحدة تخصيص ذاكرة الفيديو، يرجى اتباع الخطوات التالية:
/etc/default/grub
باستخدام sudo nano /etc/default/grub
nvidia.NVreg_PreserveVideoMemoryAllocations=1
داخل GRUB_CMDLINE_LINUX
sudo update-grub
sudo cat /proc/driver/nvidia/params | grep "PreserveVideoMemoryAllocations"
للتحقق من تعيين المعلمة الآن إذا كنت لا تزال تواجه مشكلات تتعلق بالتعليق/الاستئناف بعد تمكين معلمة الوحدة هذه، فقد ترغب في إلقاء نظرة على وثائق إدارة الطاقة الخاصة بـ Nvidia للتأكد مرة أخرى من تثبيت خدمات systemd
ذات الصلة وتمكينها.