Indice:BRTableOfContents |
Introduzione
Questa guida è pensata per quanti di voi abbiano problemi con la risoluzione o la frequenza di aggiornamento dell schermo (flickering), indipendentemente da quale ne sia la causa. Uno dei motivi è ad esempio il fatto che l'hardware (scheda grafica/monitor) potrebbe non essere stato riconosciuto correttamente.
Una soluzione può funzionare per qualcuno, mentre una soluzione diversa funzionerà per qualcun altro. Spero di riuscire a fornire in questa guida svariate soluzioni, disposte in ordine discendente da quelle che ho visto essere le più diffuse e valide a quelle che si sono rivelate utili soltanto a pochi. In questo modo spero di poter fornire una risposta per tutti. Iniziamo con la soluzione più diffusa.
Per chi utilizza ATI consiglio di leggere la sezione ATI - Frequenza di aggiornamento & Regolazione veloce della risoluzione in fondo a questa pagina.
Impostazione desktop
Il primo passo che molti dimenticano è quello di utilizzare 'Sistema', 'Preferenze', 'Risoluzione schermo'. Assicurarsi di selezionare la risoluzione e la frequenza di aggiornamento più adatte al proprio desktop. Da qui selezionare l'opzione 'Make default for desktop only'. Ora riavviare il computer e rieffettuare il login. Se questo non funziona, continuare con la guida.
Eseguire nuovamente individuazione automatica script
Non sono sicuro che questa sia effettivamente la soluzione che funziona per la maggior parte della gente, ma è quasi sicuramente la più rapida e semplice. Tutto quello che c'è da fare è eseguire lo stesso script che ha cercato di individuare l'hardware video al momento dell'installazione iniziale. A volte questa procedura aiuta, specialmente se la scheda grafica o il monitor sono stati cambiati da quando si è installato Ubuntu. Eseguire i seguenti comandi:
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.custom md5sum /etc/X11/xorg.conf |sudo tee /var/lib/x11/xorg.conf.md5sum sudo dpkg-reconfigure xserver-xorg
Apparirà una pagina di configurazione dove verrà chiesto se si vuole individuare automaticamente il video hardware. Selezionare yes, e dovrebbe solamente essere sufficiente premere Invio qualche volta per accettare le configurazioni individuate automaticamente. Dopo il completamento dell'operazione, chiudere tutte le finestre aperte e i programmi in esecuzione e premere CTRL-ALT-Backspace per riavviare X. Verrà chiesto di effettuare nuovamente il login alla sessione di GNOME e con un po' di fortuna tutto si sarà sistemato. Se non è così, provate la prossima soluzione.
Caratteristiche monitor non rilevate
Aprire il file /etc/X11/xorg.conf con l'editor di testo preferito. Supponiamo di utilizzare nano come editor poiché è piuttosto semplice:
sudo nano /etc/X11/xorg.conf
Adesso occorre cercare la sezione del file chiamata Section "Monitor". Una volta trovata, osservare le righe di testo tra Section "Monitor" e EndSection. Ci dovrebbero essere due righe che iniziano con le parole HorizSync e VertRefresh. Se quelle righe non sono presenti, nessun problema. C'è un'alta probabilità che si sia individuato il problema!
Ora sarà necessario raccogliere qualche informazione riguardo al proprio monitor, dal manuale d'uso del monitor, oppure tramite riga di comando o su internet. Per ottenere questi dati di solito è sufficiente cercare su [http://www.google.it Google] il modello del proprio monitor. Una lunga lista è presente sul [http://forum.linux-sevenler.org/index.php/topic,866.0.html?PHPSESSID=238b3fe295b404d31020ac23777c8a6f Lapis forum]
Quello che serve è la frequenza di sincronizzazione orizzontale (solitamente misurata in kHz) e la velocità di aggiornamento verticale (solitamente misurato in Hz). Entrambi i valori solitamente variano da "30-98 kHZ" o da "50-160 Hz".
In alternativa, se il monitor lo supporta si può semplicemente eseguire il seguente comando (installare il pacchetto 'xresprobe' se il comando non è disponibile):
sudo ddcprobe | grep monitorrange
I primi due valori dati in risposta riguardano la velocità di sincronizzazione orizzontale, il secondo paio di valori riguarda la velocità di aggiornamento verticale.
Ci sono due modi per inserire i valori del proprio monitor all'interno del file. Uno è quello di eseguire i seguenti comandi, che ricreeranno il file e chiederanno di inserire i valori durante il procedimento:
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.custom md5sum /etc/X11/xorg.conf |sudo tee /var/lib/xfree86/xorg.conf.md5sum sudo dpkg-reconfigure -plow xserver-xorg
Il secondo modo è semplicemente quello di aggiungere i valori al proprio file /etc/X11/xorg.conf con un editor di testo. Prima però è bene fare un backup del file nel caso si commettano degli errori:
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup
Per modificare il file in modo che funzioni bisogna aggiungere due righe alla sezione Section "Monitor" del file. Per esempio, la mia è mostrata qui sotto.
Section "Monitor" Identifier "FLATRON 995F" Option "DPMS" HorizSync 30-96 VertRefresh 50-160 EndSection
attachment:IconsPage/PicDocs.png |
Non modificare nulla di quello che è scritto nel file per ora. Aggiungere solo le due linee. La sezione riportata dal mio file è soltanto un esempio e potrebbe non essere adatta al vostro hardware. Oltretutto, se il vostro monitor non è identificabile, l'Identifier si chiamerà Generic Monitor. In questo caso, non modificare assolutamente l'Identifier o X non sarà in grado di caricarsi e riferirà che è impossibile trovare il Monitor. |
Ora salvare il file, chiudere tutte le applicazioni in esecuzione e premere CTRL-ALT-Backspace per riavviare X. Supponendo che tutto vada bene, vi verrà chiesto di effettuare nuovamente il login alla sessione.
(Nota: Se non si vuole chiudere le applicazioni correnti e allo stesso tempo optare per un metodo più sicuro per mettere alla prova la nuova configurazione, si può provare il consiglio presente su questa pagina: http://ubuntuforums.org/showthread.php?p=4211618)
attachment:IconsPage/PicDocs.png |
Se si sta usando XFree86 allora bisognerà modificare /etc/X11/XF86Config-4. |
(Leggere questo [https://bugs.launchpad.net/ubuntu/+source/xorg/+bug/3731 bug riportato su launchpad riguardo alle risoluzioni basse quando le frequenze di sincronizzazione orizzontale/verticale sono errate/mancanti] per dettagli sul perché questo può succedere e lavori futuri in corso per prevenire questo problema nelle prossime versioni di Ubuntu)
Inoltre, se si presentasse il problema per cui nel menu a cascata della risoluzione schermo fosse disponibile solamente 800x600, si può risolvere modificando la riga Modes all'interno della sezione del file chiamata Section "Monitor" e inserendo la risoluzione desiderata.
SubSection "Display" Depth 24 Modes "1024x768" "800x600" "640x480" EndSubSection
Persa decorazione finestre con effetti desktop
Riconfigurando il server X viene creato un nuovo fila di configurazione, quindi se si ha "Effetti Desktop" attivi si potrebbero perdere righe importanti.
Se la Decorazione finestre non compare e/o le finestre trasparenti rimangono solide è necessario aggiungere queste due righe alla Section "Screen":
Option "AddARGBVisuals" "true" Option "AddARGBGLXVisuals" "true"
Il driver Intel Graphics (i810) non supporta risoluzioni schermo elevate
Vi è un problema comune con il driver Intel graphics per il quale le risoluzioni schermo non sono disponibili nemmeno dopo essere state aggiunte al file xorg.conf. Questo succede con i driver video i810, ma i drive intel più recenti non presentano questo tipo di problema.
Installare driver video modesetting Intel più recenti
Sfortunatamente i driver più recenti sono disponibili soltanto dalla versione 6.10 in poi (Edgy, Feisty, ecc.), ma non nella 6.06.1 (Dapper). Se si possiede Edgy o una versione successiva allora è possibile installare i driver video intel più recenti con:-
sudo apt-get install xserver-xorg-video-intel
Poi modificare il proprio file /etc/X11/xorg.conf e cambiare
Driver "i810"
in
Driver "intel"
E' possibile modificare il file xorg.conf da riga di comando usando
sudo nano /etc/X11/xorg.conf
In alternativa con l'interfaccia grafica usando
ALT+F2 gksudo gedit /etc/X11/xorg.conf
O in Kubuntu {{ALT+F2 kdesu kate /etc/X11/xorg.conf }}}
Usare 915resolution con i driver i810 meno recenti
Questo problema compare talvolta su portatili con una risoluzione schermo "non-standard", combinata a certi chip grafici Intel. Dettagli: sembra che il Video Bios (vBios) debba ripotare la risoluzione corretta per lo schermo lcd, per poter abilitare la configurazione automatica per impostare questa risoluzione. Comunque talvolta la risoluzione corretta non viene riportata e di conseguenza non può essere implementata.
La soluzione migliore è fornita dal software "915resolution". Vedere [https://help.ubuntu.com/community/i915Driver i915Driver]
E' possibile risolvere il problema sovrascrivendo le impostazioni del vBios nella RAM utilizzando un programma chiamato 915resolution. Utilizzando questo programma non si apporteranno cambiamenti permanenti al proprio computer -- gli effetti del suo utilizzo vengono eliminati al riavvio del sistema.
Questa è la descrizione dello sviluppatore di 915resolution: "915resolution è uno strumento per modificare il BIOS video delle serie di chipset grafici Intel 800 e 900" Per installare 915resolution su Ubuntu assicurarsi di aver aggiunto i repository "universe" e digitare (sostituendo "915resolution" con "855resolution" su Breezy):
sudo apt-get install 915resolution
Una volta installato il programma lo si può usare per elencare tutte le modalità vBios disponibili:
sudo 915resolution -l
Il risultato dovrebbe essere qualcosa di simile a:
Intel 800/900 Series VBIOS Hack : version 0.5.2 Chipset: 845G BIOS: TYPE 1 Mode Table Offset: $C0000 + $269 Mode Table Entries: 27 Mode 30 : 640x480, 8 bits/pixel Mode 32 : 800x600, 8 bits/pixel Mode 34 : 1024x768, 8 bits/pixel Mode 38 : 1280x1024, 8 bits/pixel Mode 3a : 1600x1200, 8 bits/pixel Mode 3c : 1920x1440, 8 bits/pixel Mode 41 : 640x480, 16 bits/pixel Mode 43 : 800x600, 16 bits/pixel Mode 45 : 1024x768, 16 bits/pixel Mode 49 : 1280x1024, 16 bits/pixel Mode 4b : 1600x1200, 16 bits/pixel Mode 4d : 1920x1440, 16 bits/pixel Mode 50 : 640x480, 32 bits/pixel Mode 52 : 800x600, 32 bits/pixel Mode 54 : 1024x768, 32 bits/pixel Mode 58 : 1280x1024, 32 bits/pixel Mode 5a : 1600x1200, 32 bits/pixel Mode 5c : 1920x1440, 32 bits/pixel
Se la risoluzione del proprio schermo non è presente, allora è possibile sovrascrivere una nuova modalità inserendo i valori del proprio schermo. Poiché i risultati dell'utilizzo di 915resolution sono temporanei, è necessario fare in modo che venga avviato assieme all'avvio di Ubuntu. Per fare questo si deve modificare il file /etc/default/915resolution. Per esempio, se si vuole sovrascrivere la modalità 41 per ottenere la risoluzione 2400x1600:
sudo nano /etc/default/915resolution
Il file dovrebbe essere simile a:
# # 915resolution default # # find free modes by /usr/sbin/915resolution -l # and set it to MODE or set to 'MODE=auto' # MODE=41 # # and set resolutions for the mode. XRESO=2400 YRESO=1600
Questo assicurerà che la modalità vBios 41 sia sovrascritta nella RAM all'avvio del sistema, prima di inizializzare X-windows. Poiché la risoluzione è ora disponibile nel vBios il sistema dovrebbe essere automaticamente in grado di impostare la risoluzione corretta dopo il riavvio.
Impostazione predefinita colori errata
Talvolta la configurazione automatica di X imposta i colori a un valore più alto di quello che certi hardware possono effettivamente supportare. Per verificare se questo è il proprio caso, per prima cosa eseguire un backup del file /etc/X11/xorg.conf:
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup
Ora aprire il file con il proprio editor di testo preferito. Supponiamo di utilizzare nano per ora poché è relativamente semplice da usare, ma si può utilizzare qualsiasi editor di testi si voglia.
sudo nano /etc/X11/xorg.conf
Cercare la parola DefaultDepth (notare che si tratta di una parola unica) nel file. Il valore predefinito per i colori impostato da Hoary è normalmente "24", ma come si è detto prima alcuni hardware potrebbero non essere in grado di supportare un valore così alto. E' abbastanza sicuro modificarlo in un valore di circa "16" per fare una prova e verificare se questa operazione serve a risolvere i propri problemi video oppure no. Se questo cambiamento non risolvesse nulla, non si deve far altro che ripristinare il valore predefinito.
Una volta che il valore di DefaultDepth viene modificato, salvare il file, chiudere tutte le finestre aperte, e premere CTRL-ALT-Backspace per riavviare X. Supponendo che tutto vada per il meglio, verrà chiesto di effettuare nuovamente il login a GNOME, e a una risouzione maggiore.
ATI - Frequenza di aggiornamento & Regolazione veloce della risoluzione
Per quanti di voi abbiano una scheda video ATI con il driver fglrx, cercate di eseguire (nel Terminale):
sudo aticonfig
Seguire le istruzioni a schermo. Questo dovrebbe risolvere il problema, dopo il riavvio di GDM. Per fare un esempio nel caso di queste caratteristiche:
- 1 Monitor CRT
- No TV-Out
Io eseguirei questi comandi:
sudo aticonfig --initial --input=/etc/X11/xorg.conf sudo aticonfig --resolution=1600x1200,1280x1024,1024x768 sudo aticonfig --force-monitor=crt1,notv
Dopo aver eseguito i propri comandi aticonfig, è necessario riavviare GDM. Per riavviare GDM usare il seguente comando:
/etc/init.d/gdm restart
Questo dovrebbe risolvere il problema sicuramente! Se viene utilizzata per GDM una Risoluzione differente da quella usata per il Desktop, scorrere in fondo a questa pagina a: "GDM usa una risoluzione diversa da quella del mio desktop" per risolvere il problema.
GDM sembra a posto, ma Gnome no
Questo problema si è verificato su una installazione vanilla di 5.10 che -- stranamente -- girava su VirtualPC. Poichè non si trattava di una macchina normale, ho impostato la macchina su VESA e la risoluzione a 1024x768 nel configuration manager con:
sudo dpkg-reconfigure xserver-xorg
ovviamente assicurarsi di configurare queste impostazioni in maniera adeguata al proprio hardware.
Queste impostazioni hanno permesso a GDM di presentare una schermata di login normale. Comunque, una volta completato il login il display non funzionava.
Fix this by running the gconf-editor tool as a normal user and altering the screen settings within Gnome's XML configuration registry to equal the /etc/X11/xorg.conf settings:
startx gconf-editor
Browse the editor to /desktop/gnome/screen/default/%d where %d will probably be 0. Select this node and change the resolution to your resolution of choice, and make sure rate is something functional for your display device as well.
Exit the editor, and try logging in through GDM again.
GDM usa una risoluzione diversa da quella del mio desktop
This problem is easily solvable; to fix it do the following:
1) Make a Backup of your xorg.conf
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak
2) Open xorg.conf
sudo nano /etc/X11/xorg.conf
3) Locate your Screen Entry
Section "Screen"
You will find multiple entries similar to:
SubSection "Display" Depth 24 Modes "1280x1024" "1024x768" EndSubSection
The First Entry in the "Modes" Line is what GDM will use, so change it to something lower/higher (Please make sure you know that your monitor and Graphic Card BOTH support this Resolution). Save the file.
Close all running applications, restart GDM (/etc/init.d/gdm restart). Another way is just to log out your ubuntu session and press Ctrl-Alt-Backspace in the login screen. Look if everything went fine.
If the specified display resolution - "1280x1024" in the case above - differs from the used virtual screen resolution, add a respective line in the Display subsection of xorg.conf:
Virtual 1280 1024
If these changes did not help, you can always use:
sudo cp /etc/X11/xorg.conf.bak /etc/X11/xorg.conf
to restore your system to the previous state.
Se si usano i driver "nvidia" (driver binari)
It would seem that xorg cannot detect the possible resolutions when using the "nvidia" driver. For me, the only resolution I could use was my LCD's native resolution (1680x1050).
Here's how you fix this:
1) Make a backup of your /etc/X11/xorg.conf as shown in the previous examples
2) Open /etc/X11/xorg.conf as shown in the previous examples
3) Add the following line to your existing "Screen" section:
Option "UseEdidFreqs" "false"
If all else fails, try running the following command:
sudo nvidia-settings
Under Video Configuration set your resolution and refresh rate, click apply, then save X Config.
Beh, ha funzionato, per me: Feisty, Intel i810 video & LCD Widescreen
Added by TonyS, 12 May 07
I impulsively bought a ViewSonic VG1930WM 19" widescreen LCD (at a distinctly newfangled 1440x900 native resolution) without considering the possible pain in making the low powered Intel i810 (82845G/GL) graphics in my old Compaq EVO desktop (and Feisty) talk to it...
It really was a hassle, but I've solved it and thought someone, somewhere, sometime might benefit from knowing how.
Just a wee note first that the "915resolution" solution described in the wiki above did NOT work. After fiddling for ages I got the mode installed and the GUI would come up OK, but the display was corrupt, with the left edge missing in action off the edge of the window, the top inch or so blank and the right hand side two inches peculiarly munted. Hopeless.
OK, here's what solved it for me...
If (like me) you've already broken X at this point and are staring at a blank screen you need to reboot (I had to use the power button hold-for-5-seconds trick), hit "escape" at the first mention of Grub on reboot, and choose to boot in Safe Mode. This boots to a command prompt. Scary for many for sure, but its not TOO painful from here, so stay brave.
First, install the newer Intel drivers. I'm not sure why these aren't installed by default, sure should be. I think you'll need Universe enabled:-
sudo apt-get install xserver-xorg-video-intel
It asks if you want to replace the old drivers. Yep, you sure do.
Then run the xserver video autodetect thingy:-
sudo dpkg-reconfigure xserver-xorg
Choose all the autodetected and default settings it offers, with these exceptions:
1. At one point it asks about allocating system memory to the video card, making specific mention of the the i810. I'm not sure if it made any difference, but I set this to 64000 KB.
2. When it lists the resolutions you want enabled MAKE SURE your monitors native solution (in my case 1440 x 900) is checked.
Now you must reboot. You can do this by typing (wait for it...) "reboot". Nice.
This time let it boot as normal. With any luck it'll pop back up beautifully. In my case it came up 1024x768, so I went to System | Preferences | Screen Resolution and chose 1440x900, which worked perfectly.
GDM 1440x900 @ 75Hz con Viewsonic VG1930WM e Intel 946GZ
Added by VivekKapoor, 10 November 2007
Update: The following method worked, but when I logged out, I couldn't see the gdm screen. I had to switch to Virtual Terminal by pressing CTRL+ALT+1 and then restart the machine. But YMMV. I got a nVidia GeForce 7300 GT to solve the problem and it works smooth!
I bought a new VG1930WM monitor and spent a few days getting 1440x900 in GDM. I was successfully able to get 1440x900 @ 75Hz in my desktop as I was able to change it via the "System -> Preferences -> Screen Resolution". However in GDM it was using 60Hz. Due to this there was around 150-200 pixel blank space on the left of the screen. The motherboard is Asus P5B-MX WIFI-AP and the graphics chipset is Intel 946GZ. The Operating System is Ubuntu Gutsy Gibbon 7.10.
The solution was to use 915resolution and i810 driver instead of the stock intel driver and 16 bit resolution. Here's what I did.
- Got the hsync and vsync from
sudo ddcprobe | grep monitorrange
Got the Modeline for xorg.conf from
root@Marqus:~# gtf 1440 900 75 # 1440x900 @ 75.00 Hz (GTF) hsync: 70.50 kHz; pclk: 136.49 MHz Modeline "1440x900_75.00" 136.49 1440 1536 1688 1936 900 901 904 940 -HSync +Vsync root@Marqus:~#
Added it in xorg.conf. The relevant sections from xorg.conf are
Section "Module" Load "i2c" Load "bitmap" #Load "ddc" Load "dri" Load "extmod" Load "freetype" Load "glx" Load "int10" Load "vbe" EndSection Section "Device" Identifier "Intel Corporation 82946GZ/GL Integrated Graphics Controller" Driver "i810" BusID "PCI:0:2:0" EndSection Section "Monitor" Identifier "VG1930wm" Option "DPMS" HorizSync 30-82 VertRefresh 50-75 # 1440x900 @ 75.00 Hz (GTF) hsync: 70.50 kHz; pclk: 136.49 MHz Modeline "1440x900_75.00" 136.49 1440 1536 1688 1936 900 901 904 940 -HSync +Vsync EndSection Section "Screen" Identifier "Default Screen" Device "Intel Corporation 82946GZ/GL Integrated Graphics Controller" Monitor "VG1930wm" DefaultDepth 16 SubSection "Display" Depth 16 Modes "1440x900_75.00" EndSubSection EndSection
Installed 915resolution through
apt-get install 915resolution
Configured 915resolution
- Listed the available resolution on the screen
915resolution -l
Chose the mode 5c
Edited /etc/default/915resolution and put the following entries
# # 915resolution default # # find free modes by /usr/sbin/915resolution -l # and set it to MODE or set to 'MODE=auto' # # With 'auto' detection, the panel-size will be fetched from the VBE # BIOS if possible and the highest-numbered mode in each bit-depth # will be overwritten with the detected panel-size. MODE=5c # # and set resolutions for the mode. # e.g. use XRESO=1024 and YRESO=768 XRESO=1440 YRESO=900 # # We can also set the pixel mode. # e.g. use BIT=32 # Please note that this is optional, # you can also leave this value blank. BIT=16
Edited /etc/init.d/915resolution and put two extra variables VALHSYNC and VALVSYNC and added them as parameters while starting 915resolution
PATH=/sbin:/bin:/usr/sbin:/usr/bin PROG=/usr/sbin/915resolution NAME=915resolution DESC=915resolution VBETOOL=/usr/sbin/vbetool VALHSYNC=30-82 VALVSYNC=50-75
From /etc/init.d/915resolution (Modified Line 7 below and added $VALHSYNC and $VALVSYNC
case "$1" in start|restart|force-reload) echo -n "Starting $DESC: " if [ "$MODE" = "auto" ] ; then auto_select_modes else $PROG $MODE $XRESO $YRESO $BIT $VALHSYNC $VALVSYNC fi echo "$NAME." ;; stop)
- Listed the available resolution on the screen
That's all, I restarted the machine and it worked!
Regolare solamente le impostazioni di risoluzione su un portatile Dell
1. All I needed to do was get my laptop to display a higher resolution than 800x600. When I went to Syestem -> Preferences -> Screen Resolution, it was only showing me 800x600.
2. MAKE a backup of your /etc/X11/xorg.conf.
3. Open up terminal and type: sudo dpkg-reconfigure -phigh xserver-xorg.
4. I left mine on vesa (since I knew that driver was working) and select "ok".
5. This is the fun part, go through and select the screen resolutions you want enabled by default. Whatever you check here should end up in the dropdown list in Syestem -> Preferences -> Screen Resolution,
6. Restart X server (CNTRL+Alt+Backspace).
7. It started up in the highest resolution that I had selected (1440x900). No need (for me) to install nvidia drivers.
Fine
So far, this is all of the possible solutions I've collected for this problem. If none of the above corrected your situation, consider posting your question in the Ubuntu Support Forum or in the #ubuntu IRC support channel on the irc.freenode.net network.