Perché le mie console virtuali sono completamente vuote?


19

Quando passo dalla mia sessione grafica a una console virtuale di Ctrl+ Alt+F i (con i in 1-7 e 9-12) vedo una schermata completamente nera. Solo su F8 vedo la GUI. Neanche un cursore lampeggiante sugli altri. Quando entro in qualcosa, non riesco a vedere nulla.

Qual è il problema e come posso risolverlo?

Il mio sistema

$ uname -a
Linux pc09 3.13.0-36-generic #63-Ubuntu SMP Wed Sep 3 21:30:07 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/issue
Linux Mint 17 Qiana \n \l
$ lspci | grep VGA
01:00.0 VGA compatible controller: NVIDIA Corporation GK110B [GeForce GTX Titan Black] (rev a1)
$ lspci -k | grep -A 2 -i "VGA"
01:00.0 VGA compatible controller: NVIDIA Corporation GK110B [GeForce GTX Titan Black] (rev a1)
Subsystem: NVIDIA Corporation Device 1066
Kernel driver in use: nvidia

modifica: ho provato i primi passi suggeriti su http://forums.linuxmint.com/viewtopic.php?f=42&t=168108 e il problema sembra essere il framebuffer.

L'ho fatto:

Questo è stato un problema che ha infastidito i driver proprietari di Nvidia per due o tre anni e mi ha tenuto lontano dalle distribuzioni basate su Ubuntu per qualche tempo. Alla fine, sul forum Nvidia, ho trovato la soluzione alternativa che stavo cercando. Il problema sorge con i driver proprietari di Nvidia (Nouveau non mostra questo comportamento): quando si preme ctrl-alt-F1, si ottiene solo una schermata nera o, nella migliore delle ipotesi, un cursore lampeggiante che non fa nulla. Apparentemente il problema ha a che fare con il modo in cui il framebuffer è implementato e questo deve essere disabilitato. Per vedere se questo è il problema, prima devi fare un paio di piccole modifiche a / etc / default / grub - ma prima fai un backup!

$ sudo cp /etc/default/grub /etc/default/grub.bak

Ora modifica il file inserendo

$ sudo pluma /etc/default/grub

nell'editor, decommenta le righe

#GRUB_TERMINAL=console
#GRUB_GFXMODE=640x480

rimuovendo il #. Salvare il file ed eseguire undate-grub per implementare le modifiche

sudo update-grub

Ora ho (a bassa risoluzione) tty di nuovo funzionante :-)


Scheda video e driver? KMS è abilitato e funzionante?
Jasonwryan,

Ho aggiunto l'output di lspci | grep VGA. Come posso controllare le vostre domande sul KMS?
Martin Thoma,

Stai usando il blob o il nouveau? Con il driver proprietario, potresti aver bisogno di un framebuffer come uvesafb. Il popolo di Mint dovrebbe averlo documentato da qualche parte ...
Jasonwryan,

Risposte:


10

Questo perché stai utilizzando il driver proprietario NVidia.

Quando ero OpenSUSE con il driver proprietario anche le mie console sarebbero state nere, ora che sto usando di nuovo Ubuntu ottengono un effetto ancora più "cool": (Non preoccuparti, lo schermo va bene!) Altre cose interessanti che il driver NVidia può fare

La ragione sembra essere il driver del kernel NVidia che, una volta inizializzato dal driver DDX (= dispositivo dipendente X11), non è in grado di far fronte alle richieste di qualsiasi altro sottosistema video (come fbdev, VESA, console Linux , ...).

La console verrà comunque attivata quando si passa ad essa. Per verificarlo, prova ad accedere ciecamente alla console e inserisci qualcosa che sarà facile notare, come wallo reboot:

<Your username>
<Your password>
echo "Test message" >/tmp/message; wall </tmp/message

Dopo essere tornato dalla console, dovresti vedere qualcosa del genere in qualsiasi finestra del terminale:

Broadcast message from <Your username>@<Hostname>
        (/dev/tty2) at 23:38 ...

Test message

Sfortunatamente non conosco alcun modo per risolvere questo problema, tranne per l'uso del driver OpenSource ("nouveau"). La commutazione VT funziona bene usando quel driver, ma quel driver crea altri problemi (crash spontanei e generalmente meno prestazioni nel mio caso). Non sono nemmeno uno sviluppatore del kernel né uno sviluppatore NVidia, quindi non posso fare molto di più che analizzare i sintomi da solo.


Questo è solo un problema nella console framebuffer. Se non lo usi, le console virtuali funzionano bene.
Casey,

@ alexander255 vedi la mia modifica nella domanda: ho ottenuto (parzialmente) di funzionare nuovamente. Non capisco davvero cosa stia succedendo qui e quale sia una buona soluzione, quindi apprezzerei se qualcuno potesse scrivere una buona risposta.
Martin Thoma,

@casey: proponi di fare affidamento sulla configurazione del video all'avvio? O hai eseguito correttamente SVGATextMode con una moderna scheda nvidia e il suo driver proprietario?
Incnis Mrsi,

@IncnisMrsi Afaik il driver proprietario nvidia è incompatibile con il framebuffer. Usa noveau se vuoi entrambi.
Casey,

@casey: quando era incompatibile? Nel 2014, forse, ma l'attuale pilota mi ha mostrato una TUI di bell'aspetto (anche se non sono del tutto sicuro fbdev). Ī̲ ha espulso il nvidiamodulo dalla mia nuova scatola solo dopo che mi ha appeso . A proposito, sto parlando in particolare delle modalità di testo hardware .
Incnis Mrsi,

1

Non conosco troppo bene il sistema Ubuntu, ma normalmente ttysvengono generati agettydurante il processo di avvio. Forse gli sviluppatori di Ubuntu hanno deciso di non farlo? Ad ogni modo puoi provare come root /sbin/agetty 38400 tty2 linuxe vedere se qualcosa è cambiatotty2 .

Normalmente questo comando è presente in alcuni file di configurazione nella /etccartella. Ad esempio sulla mia scatola gentoo in /etc/inittabho

# TERMINALS
c1:12345:respawn:/sbin/agetty --noclear 38400 tty1 linux
c2:2345:respawn:/sbin/agetty 38400 tty2 linux
c3:2345:respawn:/sbin/agetty 38400 tty3 linux
c4:2345:respawn:/sbin/agetty 38400 tty4 linux
c5:2345:respawn:/sbin/agetty 38400 tty5 linux
c6:2345:respawn:/sbin/agetty 38400 tty6 linux

Puoi grep getty /etc/*vedere se esiste un file con linee simili.


Innanzitutto, se non viene creata una console virtuale, non è possibile accedervi e, se esiste, il cursore (normalmente) lampeggia lì. In secondo luogo, gettynon ha nulla a che fare con le modalità video, soprattutto su tty1ciò che è sempre presente. Downvote.
Incnis Mrsi,

1

Ugh. Quindi, questo problema mi aveva infastidito probabilmente per 18 mesi. L'ho risolto oggi finalmente.

Ho dovuto impostare una partizione di avvio UEFI e ottenere il sistema in grado di avviarsi da esso. Ho abilitato efifb, simplefb e il generico gestore fb nelle opzioni pci (molte altre combinazioni non funzionavano). Ho uefi che avvia direttamente un kernel, non viene utilizzato alcun bootloader intermedio.

Nessuna combinazione di schifezze che utilizza la modalità compatibile con bios (simplefb, uvesafb, vesafb ecc.) Potrebbe riavere i miei VT una volta caricato X11. Ora posso passare avanti e indietro felicemente quando rompo roba :)


1
Come hai potuto passare i parametri del kernel direttamente dall'UEFI?
Sherrellbc,

0

Ho avuto anche questo problema e la mia soluzione era di passare alla modalità di recupero e lì scegliere l'opzione "Riprendi". Quando ho visto la schermata di accesso e premuto STRG + ALT + F1ho potuto vedere il testo di accesso e interagire con il sistema (per me è importante installare i driver NVIDIA proprietari, ironico non è vero?). Spero che la mia soluzione alternativa funzioni anche per te :)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.