Установил Ubuntu 22.04, и у меня частые зависания и сбои (при использовании видеокарты NVIDIA)
Я использую старый рабочий стол Windows (материнская плата Asus, процессор i5, твердотельный накопитель на 120 ГБ, возраст около 8 лет) для запуска моего сервера Home Assistant без проблем в течение нескольких месяцев. Я решил, что хочу переключиться на Ubuntu, чтобы запустить DHCP-сервер Ad Guard.
Сначала я установил Ubuntu 22.04 вместе с Windows. Я постоянно сталкивался с зависанием после использования Ubuntu в течение максимум 5 минут. Это часто случалось, когда я открывал папку, а иногда это происходило даже без прикосновения к мыши. Экран оставался включенным, а иногда на нем отображалось искаженное сообщение об ошибке или вообще не отображалось сообщение об ошибке. Если было сообщение об ошибке, оно говорило: «Извините, в Ubuntu произошла внутренняя ошибка. Если вы заметите дальнейшую проблему, попробуйте перезагрузить компьютер». Экран полностью переставал меняться, и все входы не реагировали.
Я пришел к выводу, что это должно быть проблемой с моей двойной загрузкой, настроенной с Windows, тем более что я выделил только 25 ГБ для Ubuntu. Поэтому я переустановил Ubuntu (та же версия), но на этот раз я избавился от раздела Windows. Я все еще испытываю ту же проблему с зависанием.
Я пробовал запускать sudo apt update и sudo apt upgrade. /var/crash полностью пуст. Я попытался запустить memtest86 (после нескольких проходов ошибок не обнаружено). Я использовал самопроверку SMART для дисковой утилиты Gnome, чтобы проверить работоспособность моего SSD. В итоге SSD в порядке. Теперь я думаю, может ли это быть проблемой с моей материнской платой?
Самое странное для меня то, что Windows работала нормально, но Ubuntu не может работать и 5 минут без сбоев. Мы будем очень признательны за любые советы. Спасибо.
4 ответа
Оказывается, проблема заключалась в драйвере графического процессора с открытым исходным кодом для моей видеокарты NVIDIA. Переключение на проприетарный исправил.
Решение, которое сработало для меня в Ubuntu 22.04:
На экране входа в систему в правом нижнем углу нажмите маленький значок шестеренки и выберите Ubuntu на Xorg вместо просто Ubuntu (я думаю, там по умолчанию используется оконный менеджер Wayland).
Полезная ссылка:https://itsfoss.com/switch-xorg-wayland/
Я пришел к этому решению, потому что использовал дополнительный SSD для хранения игр, но даже после того, как я его размонтировал, зависание снова произошло, поэтому я исключил SSD как источник проблемы. А позже, читая в Интернете, так как многие пользователи жалуются на проблемы с Wayland, я решил попробовать xorg, и пока все хорошо :) Также я хотел бы отметить, что моя система Ubuntu теперь намного более отзывчива.
Это беспокоило меня довольно долго, и я решил опубликовать это здесь в надежде, что это может помочь кому-то еще.
Обновление от 25 января 2023 г.: Ubuntu продолжал отменять мою ручную установку драйвера, когда он запускал автоматические обновления (см. мои примечания в конце варианта 2 ниже), поэтому моя окончательная конфигурация такова: выберите самую последнюю возможную версию версия драйвера ядра NVIDIA, предоставляемая Ubuntu, которая работает правильно, заставляет работать внешние мониторы и по-прежнему позволяет регулировать яркость экрана ноутбука с помощью функциональных клавиш. Для меня это версия nvidia-driver-515 (собственная) . Вы можете увидеть это на изображении ниже в моем графическом интерфейсе «Программное обеспечение и обновления» как «Использование метапакета драйверов NVIDIA из nvidia-driver-515 (проприетарный»):
Обновление от 22 декабря 2022 г. Я нашел вариант 2 ниже лучшим (я думаю... пока).
Примечание для себя: будущая вещь, которую нужно попробовать в следующий раз, вместо того, чтобы делать все ниже:
Смотрите также:
- Можете ли вы отменить «автоустановку драйверов ubuntu»?
- https://www.linuxcapable.com/install-nvidia-drivers-on-ubuntu-linux/ — это действительно полезно!
- Порт HDMI не распознан (NVidia Geforce RTX 3060, Xubuntu 22.04, ноутбук Dell)
# Do NOT run this now if you've already got your drivers working! # This is just a note to myself to try this *first* next time is all, # and then only try the manual steps below if this doesn't work. # - Supposedly this will fix the NVIDIA issue I first experienced on # Ubuntu 22.04 where my external monitor would not work when I # plugged it in. sudo ubuntu-drivers autoinstall reboot
Как установить правильный графический драйвер NVIDIA, чтобы избежать зависаний
Я пытаюсь следовать принятому ответу OP , но не знаю, какой «собственный» использовать, чтобы исправить это. У меня есть 8 вариантов проприетарных драйверов на выбор. На вкладке «Программное обеспечение и обновления» -> «Дополнительные драйверы» вот то, что я использую сейчас (нижний «сервер X.Org X» в списке ниже — с большим количеством зависаний):
Я планирую выбрать верхний вариант в этом списке, чтобы посмотреть, работает ли он, а затем двигаться вниз по списку.
Я также могу перейти на веб-сайт NVIDIA напрямую, чтобы узнать, есть ли у них какие-либо загрузки драйверов, которые я могу получить прямо у них.
В моей компьютерной литературе говорится, что моя видеокарта - «NVIDIA RTX A2000 4 ГБ GDDR6». Это, кажется, совпадает с тем, что показывает, что это хорошо. Уведомление говорит, что у меня естьNVIDIA Corporation GA107GLM [RTX A2000 Mobile] (rev a1)
:
$ lspci | grep -i nvidia
01:00.0 VGA compatible controller: NVIDIA Corporation GA107GLM [RTX A2000 Mobile] (rev a1)
01:00.1 Audio device: NVIDIA Corporation Device 2291 (rev a1)
Во-первых (требуется для совместимости с проприетарными графическими драйверами NVIDIA, возможно, независимо от того, какой вариант вы выберете ниже): включите «Дискретную графику» в BIOS/UEFI.
Следуйте инструкциям в моем ответе здесь: включите «Дискретную графику» в BIOS/UEFI . В документации NVIDIA, которую я цитирую здесь и ниже, также говорится, что требуется отключение «гибридной»/«интегрированной» графики, а это означает, что вместо этого вы должны выбрать опцию «Дискретная графика».
Изменение настройки с «Гибридной» на «Дискретную» графику, вероятно, потребуется, поскольку производитель вашего компьютера, вероятно, поставил его с установленным параметром «Гибридная графика», поскольку гибридная графика немного более энергоэффективна.
Вариант 1: используйте первый драйвер в списке на изображении выше
Прежде чем использовать эту опцию, сначала включите «Дискретную графику» в BIOS/UEFI, как описано выше, чтобы следовать указаниям NVIDIA и быть совместимым с их драйверами.
Итак, после выбора первого драйвера в списке «Программное обеспечение и обновления» -> «Дополнительные драйверы» небольшая реклама вверху теперь говорит:
Это устройство использует рекомендуемый драйвер.
... что хорошо, вместо:
Это устройство использует альтернативный драйвер.
Вот новое выделение и этот текст:
Итак, «рекомендуемый драйвер» кажется хорошим вариантом. :) Посмотрим, насколько хорошо этот работает сейчас.
Обновление 4 часа. позже: Нет! Плохой вариант! 2 важных совета:
- Подключите внешний монитор и проверяйте его каждый раз, когда вы меняете обновление графического драйвера! Некоторые драйверы вообще не поддерживают или не работают с внешними драйверами! Но сначала вы этого не заметите, если не проверите.
- Перезагрузитесь сразу после смены графического драйвера, даже если это не будет предложено! Перезагрузка гарантирует, что вы на самом деле тестируете только что установленный драйвер, а не тот, который был у вас до этого.
Итак, после того, как я перешел на драйвер выше, он, казалось, работал нормально в течение 15 минут или около того (потому что на самом деле все еще работал предыдущий драйвер), затем он случайным образом выдал это изображение только на мой основной монитор и завис (примечание: извините за ужасное качество изображения; я загружаю высококачественное изображение, и этот сайт продолжает ужасно сжимать его несколько дней спустя):
Когда я перезагрузился, еще до того, как появился экран загрузки, он также напечатал эти сообщения об ошибках. «Ошибка ACPI BIOS» уже была, но последние несколько строк, начиная со строки с надписью «[nvidia_drm]», все новые!:
И этот новый драйвер вообще не работал с внешним монитором! Внешний монитор был пуст.
Итак, я вернулся к драйверу «X.Org X server», который ранее использовался выше (который иногда зависает), и после перезагрузки он вернулся, и мой внешний монитор снова заработал. Давайте теперь перейдем к варианту 2.
(Рекомендуется) Вариант 2: загрузите и установите драйвер прямо с сайта NVIDIA.
Прежде чем использовать эту опцию, сначала включите «Дискретную графику» в BIOS/UEFI, как описано выше, чтобы следовать указаниям NVIDIA и быть совместимым с их драйверами.
(Вот краткая ссылка на страницу NVIDIA «Расширенный поиск драйверов» , если вам нужно быстро попробовать установить несколько драйверов, чтобы увидеть, какой из них не нарушает работу функциональных клавиш яркости экрана.)
Если указанный выше вариант по-прежнему имеет много зависаний или иным образом не работает (например, с внешними мониторами, как я видел здесь ), вам следует загрузить драйвер прямо у производителя, здесь: https://www.nvidia.com/ Скачать/index.aspx?lang=en-us#
Помните, что вы можете найти версию своей видеокарты NVIDIA в выходных данныхlspci
с помощьюlspci | grep -i nvidia
, как я показываю выше.
Чтобы найти драйвер для этой карты, я перешел по ссылке выше и выбрал эти варианты. Я выделил строку «Продукт», которая показывает «Графический процессор для ноутбука NVIDIA RTX A000», которая, похоже, является моей картой:
Как только я нажал кнопку «Поиск», я попал на эту страницу: https://www.nvidia.com/Download/driverResults.aspx/196723/en-us/:
Вот информация. для этого водителя. Обратите внимание, насколько он новый (с 28 ноября 2022 г., когда сегодня 20 декабря 2022 г.):
Драйвер дисплея Linux X64 (AMD64/EM64T)
Версия: 525.60.11
Дата выпуска: 2022.11.28
Операционная система: 64-разрядная версия Linux
Язык: английский (США)
Размер файла: 394,72 МБ
Сначала я проверяю, поддерживается ли моя карта. На вкладках «Поддерживаемые продукты» я выполняю поиск с помощью Ctrl+ Fв своем браузере и вижу, чтоNVIDIA RTX A2000 Laptop GPU
есть в списке.
В «Дополнительной информации» есть ценная информация и помощь по установке от NVIDIA:
Обратите внимание, что многие дистрибутивы Linux предоставляют свои собственные пакеты графического драйвера NVIDIA Linux в собственном формате управления пакетами дистрибутива. Это может лучше взаимодействовать с остальной частью вашего дистрибутива, и вы можете использовать его, а не официальный пакет NVIDIA.
Также обратите внимание, что пользователи SuSE должны прочитать HOWTO SuSE NVIDIA Installer перед загрузкой драйвера.
Инструкции по установке: После загрузки драйвера перейдите в каталог, содержащий пакет драйвера, и установите драйвер, запустив от имени пользователя root
sh ./NVIDIA-Linux-x86_64-525.60.11.run
На одном из последних шагов установки будет предложено обновить файл конфигурации X. Либо примите это предложение, либо отредактируйте файл конфигурации X вручную, чтобы использовался драйвер NVIDIA X, либо запустите
Обратите внимание, что список поддерживаемых продуктов графических процессоров предоставляется для указания того, какие графические процессоры поддерживаются конкретной версией драйвера. Некоторые конструкции, включающие поддерживаемые графические процессоры, могут быть несовместимы с драйвером NVIDIA Linux: в частности, конструкции для ноутбуков и настольных ПК «все в одном» с переключаемой (гибридной) графикой или графикой Optimus не будут работать, если средства отключения встроенной графики в аппаратном обеспечении недоступны. . Конструкция оборудования зависит от производителя, поэтому проконсультируйтесь с производителем системы, чтобы определить, совместима ли эта конкретная система.
См. README для получения более подробных инструкций.
Для получения дополнительной информации посетите наш форум https://forums.developer.nvidia.com/c/gpu-unix-graphics/linux/148 .
При необходимости см. их README или форум выше.
Затем я ищу на вкладке «Release Highlights» слово «ошибка», чтобы узнать, есть ли в этом новом драйвере какие-либо соответствующие исправления ошибок. Конечно же, они делают! Вот некоторые из них, которые выглядят особенно важными:
Исправлена ошибка, из-за которой Dynamic Boost не работал на некоторых ноутбуках с AmpereGPU.
Исправлена ошибка, приводившая к заиканию при перемещении окон в GNOME.
Исправлена ошибка, которая приводила к сбою приостановки в системах, использующих GNOME 3 в качестве компоновщика Wayland с включенным NVreg_PreserveVideoMemoryAllocations.
Исправлена ошибка в драйвере Vulkan, которая могла привести к повреждению шейдеров управления геометрией и тесселяцией.
и т. д.
В любом случае, этот драйвер, предоставленный производителем, выглядит корректно и полезно, так что давайте попробуем!
Нажмите «Скачать» --> «Принять и скачать». Это довольно большой файл, 414 МБ.
Установите драйвер:
Если вам нужна помощь по установке NVIDIA, обратитесь к их файлу readme здесь: http://us.download.nvidia.com/XFree86/Linux-x86_64/525.60.11/README/installdriver.html .
Во-первых, мы должны отключить драйвер графического процессора Nouveau с открытым исходным кодом, чтобы продолжить. Подробнее об этом читайте здесь, если вам нужна справочная информация. или выполнить дополнительную отладку позже: http://us.download.nvidia.com/XFree86/Linux-x86_64/525.60.11/README/commonproblems.html#nouveau .
Чтобы отключить драйвер Nouveau NVIDIA, следуйте этим инструкциям здесь: https://linuxconfig.org/how-to-disable-blacklist-nouveau-nvidia-driver-on-ubuntu-22-04-jammy-jellyfish-linux:
# create the file to disable Nouveau sudo bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf" sudo bash -c "echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf" # Verify its contents cat /etc/modprobe.d/blacklist-nvidia-nouveau.conf # It should now contain this: # blacklist nouveau # options nouveau modeset=0 # Update the kernel initramfs file system. # Don't quote me on this, but I *think* this is a RAM-loaded file system # which helps the system boot. sudo update-initramfs -u # reboot reboot
Включите загрузочное меню grub, если необходимо, в качестве инструмента, позволяющего загружаться из командной строки без предварительной загрузки графических драйверов.
См.: Как попасть в меню GRUB во время загрузки?. Суммируя:
# edit the grub file sudo gedit /etc/default/grub
Закомментировать
GRUB_TIMEOUT_STYLE=hidden
добавив#
в начале этой строки. Затем изменитеGRUB_TIMEOUT=0
кGRUB_TIMEOUT=5
чтобы дать ему 5-секундную задержку перед автоматической загрузкой ОС. Затем:# apply the grub changes sudo update-grub # reboot to the grub menu reboot
Теперь вы не можете войти в систему графически, так как мы собираемся обновить графические драйверы. Итак, на показанном здесь экране Grub выберите «Дополнительные параметры для Ubuntu»:
Затем выберите параметр «режим восстановления», как показано здесь:
Он начнет выводить на экран кучу загрузочного текста, и, если ваш раздел зашифрован с помощью LUKS, он попросит вас ввести пароль:
Начало: Монтирование корневой файловой системы... Начало: Запуск /scripts/local-top... Разблокируйте диск nvme0n1p5_crypt: _
Введите пароль для шифрования, если это применимо.
На экране «Меню восстановления» выберите параметр «root» для «Drop to root shell prompt»:
Он скажет:
Нажмите Enter для обслуживания
(или нажмите Control-D, чтобы продолжить): _Нажмите Enter, чтобы войти в командную строку от имени пользователя root. Теперь вы увидите подсказку, подобную этой:
root@my_computer_name:~#
Вы готовы идти! Просто имейте в виду, что когда
cd
вход в каталог,~
не приведет вас к домашнему каталогу вашего пользователя, так как вы вошли в систему какroot
, а не как ваш пользователь. Переход к домашнему каталогу вашего пользователя будет выглядеть так:cd /home/username
(Необязательно, я думаю, но я все равно сделал это) Установите некоторые 32-битные библиотеки совместимости:
sudo apt update sudo apt install pkg-config # Install cmd source: https://zoomadmin.com/HowToInstall/UbuntuPackage/libglvnd-dev sudo apt install libglvnd-dev
Запустите программу установки.
# cd to where you saved it; ex: cd /home/my_username/Downloads/Install_Files/NVIDIA # start the installer sudo sh ./NVIDIA-Linux-x86_64-525.60.11.run
Он извлечет файл и запустит установщик.
При появлении запроса выберите «Продолжить установку», выбрав его с помощью клавиш со стрелками и нажав Enter.
Затем он скажет «Сборка модулей ядра» и будет иметь зеленую полосу, которая прогрессирует до 100%.
Если вы выбрали установку вышеперечисленных 32-битных библиотек совместимости (я так и сделал), то когда он говорит это:
Установить 32-битные библиотеки совместимости NVIDIA?
Выберите «Да».
Когда он говорит:
Хотели бы вы запустить
nvidia-xconfig
утилита для автоматического обновления файла конфигурации X, чтобы драйвер NVIDIA X использовался при перезапуске X?"С помощью клавиш со стрелками переместите белый селектор и выберите «Да».
Когда он скажет, что установка завершена, выберите «ОК».
Прохладный. Это была боль. Я рад, что это закончилось :). Теперь перезагрузитесь.
reboot
Войдите в систему и протестируйте внешний монитор с вашей настройкой. Проверьте функциональные клавиши яркости экрана. Они работают? Если да, отлично! Готово! Если нет, следуйте моим инструкциям здесь: Яркость не работает после установки драйвера NVIDIA . Вам придется несколько раз загружать и устанавливать самый старый драйвер NVIDIA, пока не найдете драйвер с работающими кнопками яркости. В моем случае последний драйвер на момент написания статьи 525.60.11 не работал, а 5.15.86.01 работал.
- Переустановка графического драйвера на самом деле очень быстрая и может быть выполнена менее чем за 5 минут, если вы знаете, как это сделать. Просто перезагрузитесь в корневой терминал через загрузочное меню Grub и установите следующий драйвер NVIDIA, как вы только что сделали выше.
НЕ ПОЗВОЛЯЙТЕ UBUNTU СЛУЧАЙНО ОБНОВЛЯТЬ ВАШ ГРАФИЧЕСКИЙ ДРАЙВЕР NVIDIA В БУДУЩЕМ: в будущем при запуске автоматических обновлений Ubuntu внимательно прочитайте и снимите флажки со всех вариантов установки или обновления графических драйверов NVIDIA. Очевидно, я не обращал внимания и случайно позволил ему автоматически установить какой-то графический драйвер NVIDIA, предоставленный Ubuntu, лишив меня возможности иметь внешний монитор и снова контролировать яркость экрана, поэтому мне просто пришлось переустановить версию 5.15. .86.01 снова вручную, несколько минут назад (8 января 2023 г.). Я не замечал изменений, пока не перезагрузился, и мой внешний монитор не работал, яркость экрана была на 100% (слишком ярко), и я не мог уменьшить ее с помощью Fn+BrightnessDownкнопка. Это раздражало. Так что следите за этим. Если кто-нибудь знает, как заблокировать автоматические обновления Ubuntu от попыток автоматического обновления графического драйвера после ручной установки NVIDIA, дайте мне знать, пожалуйста.
Обновление от 18 января 2023 г.: снова получилось. :( Я только что перезагрузился, и мой драйвер был таинственным образом изменен. Поскольку я вручную установил драйвер 5.15.86.01, который отлично работал, на этот раз я выбрал вариант 5.15, предоставленный Ubuntu, и перезагрузился, и, похоже, он тоже работает нормально, в том числе позволяя мне регулировать яркость экрана с помощью функциональных клавиш моего ноутбука Вот вариант, который я только что выбрал:
Раздражает то, что мой установленный вручную драйвер продолжает изменяться Ubuntu, поэтому я попытаюсь исследовать это дальше, чтобы остановить его. Между тем, версия 5.15, предоставленная Ubuntu (та же версия, которую я установил вручную), работает просто отлично.
Вот мой дополнительный вопрос по этому поводу: Ubuntu продолжает отменять установленный вручную графический драйвер NVIDIA после перезагрузки каждые пару недель.
Последний совет для более плавной работы, особенно при наборе текста в Chrome, используйте оконный сервер X11 вместо Wayland!
X11 на удивление намного быстрее и удобнее, особенно в Chrome.
Wayland кажется более глючным, глючным и медленным. Я особенно замечаю это при наборе текста в Chrome, например, при редактировании этого ответа прямо сейчас в Ask Ubuntu. X11 работает намного плавнее, в то время как Wayland дергается и снова чувствует себя немного невосприимчивым, даже при наборе текста.
Чтобы использовать X11, когда вы перезагружаетесь и попадаете на экран входа в систему (при условии, что ваш компьютер не входит в систему автоматически), после того, как вы вводите или выбираете только свое имя пользователя , в правом нижнем углу экрана появится значок шестеренки. экран входа в систему. Нажмите на нее и выберите опцию «Ubuntu», а не опцию Ubuntu 22.04 по умолчанию «Ubuntu с Wayalnd». Опция «Ubuntu» запускает традиционный сервер оконного менеджера X11, тогда как опция «Ubuntu с Wayland» запускает более новый (и, по моему опыту, более глючный) сервер оконного менеджера Wayland.
Примечание для себя: другие вещи, на которые стоит обратить внимание в будущем
- Смотрите также мои новые заметки о
sudo ubuntu-drivers autoinstall
в самом верху этого ответа. - Какой дисплей-менеджер (dm) использовать?
Это то, что помогло решить мои проблемы. Ubuntu 20.04 работал нормально, обновите его до Ubuntu 22.04 и получите 2 или 3 зависания в день без ошибок в журналах. Для этого может быть много причин... это просто мое решение проблемы.
Происходило то, что мой диск nvme отключался. Вы можете легко проверить, есть ли у вас та же проблема, что и у меня. Когда он зависает, нажмите alt + print screen и, удерживая эти клавиши, введите reiusb, когда вы нажмете b, он перезагрузится, и вы должны увидеть логотип вашего компьютера, если он просто застревает. логотип компьютера и в конечном итоге приведет вас к биосу, и ваш накопитель исчез, и вам нужно отключить питание, чтобы он снова загрузился, тогда у вас есть моя проблема. Добавьте это в /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT="nvme_core.default_ps_max_latency_us=0" sudo update-grubreboot Решил мои проблемы