kmscon sostituisce fbcon: la nuova console virtuale di Fedora 45
Con Fedora 45 la console virtuale smette di appoggiarsi al driver kernel fbcon, che disegnava il framebuffer, gestiva i font e il layout di tastiera, e passa a kmscon, un’utility in userspace. Lo scrive Fedora Magazine in un articolo di Jocelyn Falempe del 19 ottobre 2026: la nuova console sostituisce quella predefinita su tty1-6. Chi usa le console virtuali per lavoro, cioè sviluppatori e amministratori, dovrà verificare script e configurazioni; per gli altri, osserva l’autore, l’impatto dovrebbe essere nullo.

Perché fbcon viene messo da parte
Il motivo di fondo, secondo l’articolo, è che fbcon gira nello spazio kernel. Le ragioni elencate:
- sicurezza: ogni bug di
fbconè sfruttabile direttamente nel kernel e ogni crash si traduce in un kernel panic; - tastiera: i layout supportati dal kernel differiscono da quelli dello userspace, tanto che in anaconda si cerca il layout kernel più vicino a quello scelto dall’utente;
- font:
fbconusa solo font bitmap, piccoli sugli schermi HiDPI, non ridimensionabili a runtime e con un supporto Unicode limitato, mentrekmsconusa freetype e rende qualsiasi font monospace; - scrolling:
fbconnon lo supporta più a causa di una CVE; - mouse:
fbconnon lo gestisce (si può aggiungere congpm, in modo un po’ goffo), mentrekmsconusa un cursore hardware trasparente, quando disponibile, e offre un supporto di base; - fbdev:
fbcondipende dalla vecchia interfaccia fbdev, benché tutti i driver GPU usino ormai drm, e abbandonarlo consente di togliere dal kernel lo strato di emulazione fbdev.

Cosa si rompe e cosa cambia per chi amministra
Dato che kmscon si basa su dispositivi pseudo-tty, il comando tty restituisce /dev/pts/0 invece di /dev/tty1, come accade in un terminale grafico: gli script o le configurazioni che si affidano a quel valore vanno aggiornati.
Cambia anche il rapporto con la GPU. kmscon usa l’interfaccia drm in modo esclusivo; fbcon, stando nel kernel, lasciava che qualunque applicazione prendesse la GPU, mentre il nuovo programma non può farlo e va istruito a rilasciarla con lo script kmscon-launch-gui. Esempi: kmscon-launch-gui startx e kmscon-launch-gui kmscube -c 100.
- Messaggi del kernel: per default errori e warning compaiono su tty1 e possono mescolarsi a ciò che si digita. Si leggono con
dmesg -w. - Font:
setfontnon ha effetto.kmsconusa unifont integrato o freetype, se presente, e può leggere font psf per ottenere lo stesso aspetto difbcon. - Layout di tastiera:
loadkeysnon ha effetto, perchékmsconseguelocalectlvia dbus. Il layout si cambia conlocalectl set-keymap us.
Come tenere fbcon su un tty
Chi vuole conservare una console tradizionale può farlo su un singolo terminale. L’esempio dell’articolo riguarda tty5: sudo systemctl mask kmsconvt@tty5 && sudo systemctl enable --now getty@tty5. Dopo il comando, Ctrl+Alt+F5 porta alla vecchia console basata su fbcon.
Configurazione e pacchetti
Il programma è diviso in sottopacchetti, così che i server possano avere un’installazione minima senza dipendenze grafiche o di font:
kmscon: pacchetto principale, con il font unifont per un buon supporto Unicode senza altre dipendenze;kmscon-freetype: rendering dei font con freetype;kmscon-pango: rendering con pango, indicato come deprecato a favore di freetype;kmscon-gl: renderer OpenGL, forse più veloce ma un po’ sfocato, che richiedehwaccelnel file di configurazione.
La configurazione sta in /etc/kmscon/kmscon.conf; si parte copiando l’esempio con sudo cp /etc/kmscon/kmscon.conf.example /etc/kmscon/kmscon.conf. Tra le opzioni principali:
font-engine: freetype se disponibile, altrimenti unifont; sono ammessi anche pango e psf;font-nameefont-size: per default la dimensione cerca di ottenere circa 120×40 caratteri;multi-monitor:scaledè il valore predefinito, in alternativacloneelargest;dpms-timeout: 600 secondi di default, 0 per disattivarlo;no-mousedisabilita il mouse, utile per escludere il touchpad su alcuni portatili;verbose: più log, consultabili conjournalctl -u kmsconvt*.
Poiché kmscon gira come root, i font devono stare in /usr/share/fonts e non nella home; il nome esatto si ricava con fc-list. Per chi vuole i simboli Nerd Fonts, nei repository Fedora è disponibile cascadia-code-nf-fonts, una variante di Cascadia Code con quei simboli.
Scorciatoie e cosa resta aperto
Tra le scorciatoie predefinite: zoom con Ctrl++ o Ctrl più rotella, scorrimento con Shift+Freccia, Shift+PagSu/PagGiù o rotella, copia selezionando col mouse e incolla con il clic centrale. Per riavviare il programma su un terminale si usa sudo systemctl restart kmsconvt@ttyX, mentre echo $XDG_VTNR indica il VT in uso.
Rispondendo a un lettore nei commenti, l’autore spiega che Fedora 45 è un primo passo: per Fedora 46 l’obiettivo sarebbe usare kmscon anche per la password LUKS e per la console di rescue del ramdisk, e poi passare al driver kernel drm_log per i messaggi precoci. È un intento espresso nei commenti, non un impegno ufficiale. Per bug e contributi, il repository upstream è github.com/kmscon/kmscon.


