Miałem ostatnio naprawdę ciężkie przejścia z wgrywaniem Linuksa na nowym laptopie. Instalowałem wcześniej różne systemy tekstowo i graficznie, problemów ze sprzętem albo aktualizacjami w zainstalowanym „pingwinie” nie miałem od tak dawna, że uwierzyłem, że ten system okrzepł i dojrzał. Jak się okazało — dalej można źle trafić, na przykład tak, że żeby rozwiązać jeden problem, trzeba najpierw rozwiązać zupełnie inny.
Moim wyzwaniem był laptop HP Pavilion Power 15-bc402nw (kod producenta 5GV06EA) — sprzęt na tyle rzadki, że nie mogłem znaleźć jego zdjęć poza katalogowymi producenta (pełno jest zdjęć różnych pokrewnych modeli), ale z drugiej strony posiadający bardzo popularne komponenty. Na przykład kartę graficzną Nvidia GeForce GTX 1050, która jak się okazało była magnesem dla problemów i zmusiła mnie do zapoznania się z parametrem „nomodeset” jądra Linuksa.
Objawy: system dało się zainstalować z włączonym UEFI, nawet potem startował, ale umierał przy próbie zalogowania. Umierał też przy próbie przełączenia się w tryb tekstowy (Ctrl + Alt + F5 itp.). W obu przypadkach ekran zamrażał się, a komputer nie reagował na klawiaturę. Jeszcze lepiej było po wyłączeniu UEFI (czyli kroku zazwyczaj zalecanym, gdy nie korzysta się z Windows): instalator startował, ale pasek postępu zatrzymywał się, nigdy nie pokazując pierwszego kroku. Przeszedłem chwilę zwątpienia: że oto mam przed sobą złośliwie wadliwy pendrive (który od czasu do czasu nie daje się odczytać) albo uszkodzonego laptopa. Na szczęście Google podpowiedział problemy ludzi z podobnymi modelami laptopów HP.
Ask Ubuntu, czyli Stack Overflow dla tego systemu, podpowiada w wątku Installing Ubuntu 18.04 on HP Pavillion Power dodanie opcji nomodeset do GRUB-a. Pozwala to na pomyślne uruchomienie instalatora oraz na zalogowanie się do już zainstalowanie systemu. Żeby dowiedzieć się, dlaczego nomodeset rozwiązuje problem, musiałem prześledzić inne pytanie z tego serwisu. Otóż nowoczesne jądro Linuksa ładuje teraz domyślnie sterowniki graficzne, tak że możemy cieszyć się ładnym obrazem przeklikując instalator. Albo, jeśli opensource’owy sterownik nouveau źle radzi sobie z naszą kartą Nvidii, możemy cieszyć się zamrożonym ekranem bez możliwości żadnej reakcji.
„nomodeset” trzeba ustawić dwa razy: raz w GRUB-ie pendrive’a uruchamiającym instalator, drugi raz w GRUB-ie uruchamiającym zainstalowany system. Pierwsze jest łatwe: wystarczy przytrzymać Escape przy uruchamianiu systemu, pokazuje się menu GRUB-a, potem trzeba wcisnąć „e” i dopisać tylko „nomodeset”. Druga modyfikacja nie poszła tak łatwo: zamiast menu zobaczyłem terminal GRUB-a. Cały system musiałem załadować od zera, bez żadnych predefiniowanych opcji. Na szczęście Ask Ubuntu opisuje w innym miejscu, jak to zrobić, choć nie powiem, żebym potrafił powtórzyć to z pamięci.
Z opcją „nomodeset” da się zalogować do systemu (wyglądającego wtedy jak stary Windows w trybie awaryjnym), po zainstalowaniu własnościowych sterowników karty graficznej zamiast nouveau można usunąć z GRUB-a „nomodeset” i pracować normalnie. Nie zauważyłem dalszych problemów, na szczęście nie sprawdziły się zgłoszenia osób, którym nie działało np. złącze HDMI.
Zostawiam ten wpis na wypadek, gdyby ktoś jeszcze musiał zmierzyć się z tym modelem karty graficznej – choć mam nadzieję, że w przyszłości nikt nie będzie musiał przechodzić tych samych kroków, co ja.
Zdjęcie basibanget na licencji CC-BY 2.0.