Nvidia 550 kernel panic Manjaero Arch Linux

Драйвер Nvidia 550 ломает стабильность системы Manjaro/Arch Linux

В край­нее вре­мя я стал заме­чать, что ноут (ASUS TUF Gaming A15) под управ­ле­ни­ем Manjaro Linux начал вести себя доволь­но неста­биль­но. Посто­ян­ные зави­со­ны, сбои, тор­мо­за я ещё как-то тер­пел, но когда ядро мне выка­ти­ло kernel panic – я понял, что нуж­но что-то делать. Конеч­но, вна­ча­ле я про­ве­рил желе­зо: про­гнал память Memtest’ом, смот­рел S.M.A.R.T. NVMe’ш­ки, сжи­мал мно­го­ги­го­вые архи­вы и про­ве­рял их на кор­рект­ность, и т.д. Ника­ких про­блем выяв­ле­но не было. Более того, на live-линук­сах с флеш­ки всё рабо­та­ло без про­блем! Это под­толк­ну­ло меня к мыс­ли, что что-то сло­ма­лось в самой систе­ме, а зна­чит её нуж­но пере­уста­но­вить. Забэка­пив все нуж­ные дан­ные, я решил нака­тить новень­кую, чистую ОС.

Выбор пал ради раз­но­об­ра­зия на EndeavourOS. Бут с флеш­ки – уста­нов­ка – запуск, всё про­шло как обыч­но без про­блем. Во вре­мя уста­нов­ки был выбран про­при­е­тар­ный видеодрай­вер Nvidia. Како­во же было моё удив­ле­ние, когда во вре­мя уста­нов­ки соф­та на чистую систе­му я сно­ва начал ловить те же самые глю­ки, что были на ста­рой Manjaro! Закон­чив офи­ги­вать, я полез искать реше­ние про­бле­мы в интер­не­ты. В рус­ско­языч­ном сег­мен­те ниче­го похо­же­го на свою про­бле­му я не нашёл, что ещё боль­ше убе­ди­ло меня в том, что про­бле­ма всё-таки может быть в желе­зе. Чистый дистр же выка­ты­ва­ет глю­ки! Но, решив не падать духом рань­ше вре­ме­ни, полез искать по англо­языч­ной части сети, и… нашёл то что искал.

Проблема

Объ­яс­не­ние и реше­ние про­бле­мы нашлось в одном из тре­дов на фору­ме Arch Linux. Поль­зо­ва­тель с ником mesaprotector напи­сал сле­ду­ю­щий пост (машин­ный пере­вод на рус­ский):

Это дей­стви­тель­но похо­же на обнов­ле­ние, кото­рое вызва­ло про­бле­мы. Обра­ти­те вни­ма­ние на упо­ми­на­ния оши­бок, свя­зан­ных с разы­ме­но­ва­ни­ем нуле­во­го ука­за­те­ля в Linux. Похо­же, Nvidia попы­та­лась испра­вить неко­то­рые уяз­ви­мо­сти и вме­сто это­го сло­ма­ла мно­гое.

(Я пере­клю­чил­ся на nvidia-open, но если это не помо­жет, я думаю, что я могу вер­нуть­ся к вер­сии 545 и оста­вать­ся там навсе­гда, ха-ха. К сча­стью, я не играю на Linux, поэто­му обнов­лен­ные драй­ве­ры не явля­ют­ся обя­за­тель­ны­ми.)

mesaprotector

Конеч­но же, после это­го я сра­зу понял что нуж­но делать – и про­бле­ма была реше­на! Так же ста­ло понят­но, поче­му у меня сыпа­ло глю­ка­ми на новой систе­ме – злое… счаст­ный про­при­е­тар­ный драй­вер был уста­нов­лен ещё в про­цес­се уста­нов­ки само­го дис­три­бу­ти­ва на ноут! Nvidia, луч орга­ни­ки тебе в лицо за это! 🤬 А поль­зо­ва­те­лю mesaprotector боль­шое спа­си­бо за под­сказ­ку 🤝

Временное решение проблемы

Теперь ясно что делать. Нуж­но уда­лить глюч­ный драй­вер Nvidia 550 и либо перей­ти на open-source драй­вер Nouveau, либо уста­но­вить видеодрай­вер преды­ду­щей вер­сии. Т.к. в рабо­те мне нуж­но GPU уско­ре­ние, я выбрал вто­рой вари­ант: драй­вер преды­ду­щей вер­сии.

В AUR лежит видеодрай­вер Nvidia 535 вер­сии, его и ста­вим с помо­щью любо­го AUR-хел­пе­ра:

yay -S nvidia-535xx-dkms nvidia-535xx-utils opencl-nvidia-535xx

Для тех, кому нуж­ны допол­ни­тель­но 32-бит­ные вари­ан­ты (напри­мер, для запус­ка неко­то­рых игр), добав­ля­ем их в спи­сок уста­нов­ки:

yay -S nvidia-535xx-dkms nvidia-535xx-utils opencl-nvidia-535xx lib32-nvidia-535xx-utils lib32-opencl-nvidia-535xx

Дожи­да­ем­ся завер­ше­ния уста­нов­ки, пере­за­гру­жа­ем­ся. Мож­но поль­зо­вать­ся ста­биль­ной систе­мой пока Nvidia пыта­ет­ся отло­вить и пофик­сить баг в сво­ём край­нем драй­ве­ре.

Ждём от Неви­дии исправ­ле­ния это­го позо­ра 😒

Дополнение 07.05.2024

Обнов­ле­ния глюч­но­го драй­ве­ра вер­сии 550.78–1 всё ещё нет. Поль­зо­ва­те­ли высме­и­ва­ют Nvidia.

Пользователи высмеивают Nvidia

Обсуж­де­ние на фору­ме раз­ра­бот­чи­ков здесь.

Дополнение 10.06.2024

Вме­сто даун­грей­да на ста­рую вер­сию видеодрай­ве­ра мож­но собрать и уста­но­вить beta-вер­сию open-source вер­сии драй­ве­ра Nvidia. Для это­го нуж­но пол­но­стью уда­лить про­при­е­тар­ный видеодрай­вер (паке­ты nvidia-*, lib32-nvidia-*, opencl-nvidia*, lib32-opencl-nvidia*, nvidia-utils*, lib32-nvidia-utils*), после чего собрать откры­тый драй­вер с помо­щью AUR-хел­пе­ра:

yay -S nvidia-open-beta-dkms

Систе­ма будет вести себя ста­биль­но, и иметь послед­нюю вер­сию драй­ве­ра.

В обсуж­де­нии на фору­ме раз­ра­бот­чи­ков Nvidia вро­де бы нашли рабо­чий костыль как заста­вить кор­рект­но рабо­тать про­при­е­тар­ный драй­вер край­ней вер­сии, но это не реше­ние про­бле­мы. Nvidia, «вто­рая по сто­и­мо­сти кор­по­ра­ция в мире», ты серьёз­но не можешь решить про­бле­му с под­держ­кой соб­ствен­но­го обо­ру­до­ва­ния на Linux уже чет­вёр­тый месяц?!

Дополнение 16.06.2024

В вер­сии 555.52 про­бле­му вро­де испра­ви­ли, по край­ней мере я на ней уже вто­рой день и про­блем не заме­тил. Уста­нав­ли­ва­ет­ся из AUR:

yay -S nvidia-beta-dkms nvidia-utils-beta opencl-nvidia-beta lib32-opencl-nvidia-beta lib32-nvidia-utils-beta

Кому не нуж­ны lib32-* и OpenCL, мож­но не ста­вить.

В этой вер­сии видеодрай­ве­ра исправ­ле­на про­бле­ма с некор­рект­ным рен­де­рин­гом 3D, но драй­вер Nvidia по преж­не­му лома­ет систе­му! 🤬

Спу­стя несколь­ко дней после уста­нов­ки дан­ной вер­сии драй­ве­ра систе­ма нача­ла намерт­во зави­сать при пере­за­груз­ке, а при обнов­ле­нии паке­тов pacman уже зна­ко­мо стал ругать­ся на то, что фай­лы паке­тов уже суще­ству­ют в систе­ме, вро­де вот тако­го:

libreoffice-fresh: '/usr/share/templates/.source/soffice.odp' существует в файловой системе
libreoffice-fresh: '/usr/share/templates/.source/soffice.ods' существует в файловой системе
libreoffice-fresh: '/usr/share/templates/.source/soffice.odt' существует в файловой системе
libreoffice-fresh: '/usr/share/templates/soffice.odg.desktop' существует в файловой системе
libreoffice-fresh: '/usr/share/templates/soffice.odp.desktop' существует в файловой системе
libreoffice-fresh: '/usr/share/templates/soffice.ods.desktop' существует в файловой системе
libreoffice-fresh: '/usr/share/templates/soffice.odt.desktop' существует в файловой системе

Такую кар­ти­ну я уже видел, в про­шлый раз когда чёр­тов видеодрай­вер Nvidia поло­мал мне преды­ду­щую уста­нов­ку Manjaro 🤬 Мож­но ска­зать что если вы уви­де­ли такое, зна­чит систе­ма уже кон­крет­но раз­би­та, и луч­ше будет её пере­уста­но­вить начи­стую. Ну а вре­мен­но установить/обновить паке­ты, на кото­рые так руга­ет­ся pacman мож­но доба­вив в кон­це коман­ды –overwrite ‘*’, напри­мер:

sudo pacman -S libreoffice-fresh --overwrite '*'

Не зря поль­зо­ва­те­ли Linux сове­ту­ют исполь­зо­вать гра­фи­ку AMD, где нико­гда ника­ких про­блем с под­держ­кой обо­ру­до­ва­ния на Linux нет и не было.

Напом­ню, един­ствен­ным более-менее нор­маль­ным вари­ан­том исполь­зо­ва­ния гра­фи­ки Nvidia в Manjaro/Arch Linux на дан­ный момент явля­ет­ся уста­нов­ка откры­той вер­сии видеодрай­ве­ра из AUR:

yay -S nvidia-open-beta-dkms

Дополнение 06.07.2024

Яко­бы, в вер­сии 555.58 про­бле­му испра­ви­ли, и видеодрай­вер Nvidia боль­ше не будет уби­вать систе­му до kernel panic.

Толь­ко что зашёл в тред на фору­ме раз­ра­бот­чи­ков Nvidia, и неко­то­рые пишут что про­бле­ма у них оста­лась, так что осто­рож­но!

Я испы­ты­вать уда­чу боль­ше не буду, и оста­нусь на бета-вер­сии откры­то­го драй­ве­ра, кото­рый я уже про­ве­рил в рабо­те. Напом­ню, бета вер­сия откры­то­го видеодрай­ве­ра Nvidia в Manjaro/Arch Linux с под­держ­кой Vulkan и OpenCL, а так же их 32-бит­ные вер­сии (коро­че, что­бы систе­ма была гото­ва для запус­ка любых гра­фи­че­ских при­ло­же­ний и игр) уста­нав­ли­ва­ет­ся так:

yay -S nvidia-open-beta-dkms nvidia-utils-beta lib32-nvidia-utils-beta opencl-nvidia-beta lib32-opencl-nvidia-beta

Где yay мож­но заме­нить любым дру­гим вашим люби­мым AUR-helper’ом.