Parametrul nomodeset
Dacă ai întâmpinat vreodată un ecran negru la pornirea unui sistem Linux - fie la instalare, fie după - șansele sunt mari că soluția a implicat cuvântul nomodeset. Acest articol explică ce este, ce face și cum se folosește.
Ce este nomodeset?
nomodeset este un parametru de kernel (kernel parameter sau boot option) care poate fi transmis la pornirea sistemului prin intermediul bootloader-ului GRUB.
În mod normal, kernel-ul Linux preia controlul plăcii grafice încă din primele etape ale boot-ului, activând KMS (Kernel Mode Setting) - mecanismul prin care rezoluția, ratele de refresh și registrele hardware ale plăcii video sunt configurate direct de kernel, fără a depinde de serverul X sau Wayland. Acest lucru permite, printre altele, afișarea corectă a splash screen-ului și tranziții line între boot și ecranul de login.
Când adaugi nomodeset, îi spui kernel-ului să nu încarce driverele video și să folosească în schimb modurile BIOS, până când serverul X este pornit. Pe unele plăci grafice, KMS nu funcționează corect și rezultatul este un ecran negru - nomodeset ocolește această problemă.
Atenție: Multe drivere open-source au eliminat suportul pentru modul fără KMS. În aceste cazuri, cu nomodeset activ, sistemul va folosi driverul VESA de bază - generic, neaccelerat și fără funcții avansate. Prin urmare, nomodeset este o soluție temporară sau de diagnostic, nu una permanentă.
Când este necesar?
- Ecran negru la instalare - imaginea ISO pornește, dar după splash apare un ecran negru
- Ecran negru după instalare - sistemul bootează, dar nu ajunge la interfața grafică
- Probleme cu drivere proprietare NVIDIA - mai ales imediat după instalarea unui driver nou sau după un update de kernel
- Hardware grafic vechi sau neobișnuit - unde KMS nu este bine implementat
- Testarea compatibilității GPU - dacă sistemul pornește cu
nomodeset, confirmă că problema vine din incompatibilitatea KMS cu placa grafică, nu din altceva; pasul următor este instalarea driverului corespunzător
Cum accesezi meniul GRUB
Indiferent de metodă, primul pas este să ajungi la meniul GRUB:
- BIOS: Imediat după splash-ul BIOS/UEFI, apasă și ține apăsat tasta Shift
- UEFI: Apasă tasta Esc de mai multe ori după pornire
Uneori splash-ul producătorului face parte din bootloader-ul Windows, iar sistemul ajunge direct la meniul GRUB - în acest caz nu mai este nevoie de Shift sau Esc.
Adăugare temporară (o singură sesiune)
De pe un USB live Ubuntu
Ubuntu oferă o metodă simplificată direct din meniul de boot al imaginii ISO:
- Pornește de pe USB-ul live Ubuntu
- La apariția ecranului mov Ubuntu, apasă
F6 - Din meniul popup, navighează la
nomodesetși apasăEnter- va apărea unxîn stânga opțiunii - Apasă
Escpentru a închide meniul (selecțiile sunt păstrate) - Selectează „Install Ubuntu„ și apasă
Enter
De pe disk (sistem instalat)
- La apariția meniului GRUB, apasă
epe intrarea dorită - Găsește linia care începe cu
linuxsaulinuxefi - Navighează la șirul
root=UUID=…și înlocuieștero quiet splashcunomodeset quiet splash
linux /boot/vmlinuz-... root=UUID=bcf15ef2-... nomodeset quiet splash $vt_handoff
- Apasă
Ctrl+XsauF10pentru a porni cu parametrul aplicat - Dacă ai greșit, apasă
Escpentru a reveni la ecranul anterior
Modificarea se aplică doar pentru această pornire. La următorul reboot, GRUB revine la configurația normală.
Safe Graphics Mode (Ubuntu 19.04+)
Începând cu Ubuntu 19.04, meniul GRUB include o opțiune dedicată „Safe Graphics Mode“ care pornește automat cu nomodeset activ. Dacă o vezi în meniu, o poți folosi direct fără a edita manual parametrii de boot.
Adăugare permanentă
Dacă ai nevoie de nomodeset la fiecare pornire, editează configurația GRUB.
0. Fă un backup înainte de orice modificare:
sudo cp /etc/default/grub /etc/default/grub.backup
1. Deschide fișierul de configurare GRUB:
sudo nano /etc/default/grub
2. Găsește linia GRUB_CMDLINE_LINUX_DEFAULT și adaugă nomodeset:
# Înainte: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" # După: GRUB_CMDLINE_LINUX_DEFAULT="nomodeset quiet splash"
3. Aplică modificările regenerând configurația GRUB:
# Pe Ubuntu, Debian, Linux Mint și derivate: sudo update-grub # Pe Fedora, openSUSE, Arch și altele: sudo grub2-mkconfig -o /boot/grub2/grub.cfg # Pe sisteme cu UEFI (cale alternativă): sudo grub2-mkconfig -o /boot/efi/EFI/*/grub.cfg
4. Repornește sistemul.
Eliminarea parametrului
Odată ce ai instalat driverele grafice corespunzătoare și sistemul pornește corect fără nomodeset, este recomandat să îl elimini. KMS activ aduce avantaje reale: tranziție mai fluidă la interfața grafică, rezoluție corectă în terminal, suport mai bun pentru suspend/resume.
Procedura este identică cu adăugarea - editezi /etc/default/grub, scoți nomodeset din linie și rulezi din nou update-grub sau grub2-mkconfig.
De asemenea, uneori problemele de display se rezolvă printr-un simplu update de kernel sau drivere, fără a fi nevoie de nomodeset permanent. Merită verificat înainte de a-l adăuga definitiv în configurație.
Relația cu driverele NVIDIA
Un caz particular și frecvent: instalarea driverelor proprietare NVIDIA. Procesul necesită adesea nomodeset temporar tocmai pentru că driverul nouveau (open-source, activ implicit) intră în conflict cu driverul proprietar în timpul instalării sau imediat după.
Fluxul tipic arată astfel:
- Adaugi
nomodesetpermanent în GRUB - Instalezi driverul NVIDIA proprietar
- Reporneşti
- Verifici că driverul funcționează (
nvidia-smisau Setări sistem) - Elimini
nomodesetdin GRUB - Reporneşti din nou
Pe unele distribuții (Pop!_OS, de exemplu) driverele NVIDIA sunt integrate în imaginea ISO și toată această procedură este evitată din start.
Pentru probleme mai complexe legate de NVIDIA pe Linux (suspend/resume, Optimus, Secure Boot, Wayland), vezi Problemele NVIDIA pe Linux și rezolvarea lor.