Come rilevare e configurare un output con xrandr?


33

Ho un monitor DELL U2410 collegato a un desktop Compaq 100B dotato di una scheda grafica AMD / ATI integrata (AMD E-350). L'O / S installato è Ubuntu 10.04 LTS.

Il computer è collegato al monitor tramite la connessione DVI.

Il problema è che non riesco a impostare la risoluzione desktop sul 1920x1200 nativo. La risoluzione massima consentita è 1600x1200.

Facendo delle ricerche ho scoperto l' xrandrutilità. Sfortunatamente, quando provo ad usarlo non riesco a configurarlo sulla risoluzione richiesta. Innanzitutto, non riporta il nome dell'output (che avrebbe dovuto essere DVI-0), dicendo defaultinvece. Senza di essa non posso usare l' --fbopzione.

L'utilità EDID sembra identificare bene il monitor. Ecco l'output di get-edid:

    # EDID version 1 revision 3
Section "Monitor"
    # Block type: 2:0 3:ff
    # Block type: 2:0 3:fc
    Identifier "DELL U2410"
    VendorName "DEL"
    ModelName "DELL U2410"
    # Block type: 2:0 3:ff
    # Block type: 2:0 3:fc
    # Block type: 2:0 3:fd
    HorizSync 30-81
    VertRefresh 56-76
    # Max dot clock (video bandwidth) 170 MHz
    # DPMS capabilities: Active off:yes  Suspend:yes  Standby:yes

    Mode    "1920x1200" # vfreq 59.950Hz, hfreq 74.038kHz
        DotClock    154.000000
        HTimings    1920 1968 2000 2080
        VTimings    1200 1203 1209 1235
        Flags   "-HSync" "+VSync"
    EndMode
    # Block type: 2:0 3:ff
    # Block type: 2:0 3:fc
    # Block type: 2:0 3:fd
EndSection

ma il xrandr -qcomando restituisce:

Screen 0: minimum 640 x 400, current 1600 x 1200, maximum 1600 x 1200
default connected 1600x1200+0+0 0mm x 0mm
   1600x1200       0.0* 
   1280x1024       0.0  
   1152x864        0.0  
   1024x768        0.0  
   800x600         0.0  
   640x480         0.0  
   720x400         0.0  

Quando provo a impostare la risoluzione, ottengo:

$ xrandr --fb 1920x1200
xrandr: screen cannot be larger than 1600x1200 (desired size 1920x1200)

$ xrandr --output DVI-0 --auto
warning: output DVI-0 not found; ignoring

Come posso impostare la risoluzione dello schermo su 1920x1200? Perché non xrandridentifica l' DVI-0output?

Si noti che lo stesso computer che esegue Ubuntu versione successiva alla 10.04 rileva la risoluzione corretta senza problemi. Su questa macchina non riesco ad aggiornare a causa di alcuni problemi di compatibilità hardware legacy.

Inoltre, non vedo alcun driver dello schermo opzionale disponibile nella finestra di dialogo Driver hardware.

----

AGGIORNAMENTO :

seguendo la risposta a questa domanda , ho avuto qualche anticipo. Ora la modalità richiesta è elencata xrandr -qnell'elenco, ma non posso passare a quella modalità. Utilizzando l'applet Monitor (che ora mostra la nuova modalità), ottengo la risposta che:

The selected configuration for displays could not be applied. Could not set the configuration to CRTC 262.

Dalla riga di comando appare così:

$ cvt 1920 1200 60
# 1920x1200 59.88 Hz (CVT 2.30MA) hsync: 74.56 kHz; pclk: 193.25 MHz
Modeline "1920x1200_60.00"  193.25  1920 2056 2256 2592  1200 1203 1209 1245 -hsync +vsync

$ xrandr --newmode "1920x1200_60.00"  193.25  1920 2056 2256 2592  1200 1203 1209 1245 -hsync +vsync

$ xrandr -q
Screen 0: minimum 640 x 400, current 1600 x 1200, maximum 1600 x 1200
default connected 1600x1200+0+0 0mm x 0mm
   1600x1200       0.0* 
   1280x1024       0.0  
   1152x864        0.0  
   1024x768        0.0  
   800x600         0.0  
   640x480         0.0  
   720x400         0.0  
  1920x1200_60.00 (0x120)  193.0MHz
        h: width  1920 start 2056 end 2256 total 2592 skew    0 clock   74.5KHz
        v: height 1200 start 1203 end 1209 total 1245           clock   59.8Hz

$ xrandr --addmode default 1920x1200_60.00

$ xrandr -q
Screen 0: minimum 640 x 400, current 1600 x 1200, maximum 1600 x 1200
default connected 1600x1200+0+0 0mm x 0mm
   1600x1200       0.0* 
   1280x1024       0.0  
   1152x864        0.0  
   1024x768        0.0  
   800x600         0.0  
   640x480         0.0  
   720x400         0.0  
   1920x1200_60.00   59.8  

$ xrandr --output default --mode 1920x1200_60.00
xrandr: Configure crtc 0 failed

Un'altra informazione (se aiuta qualcuno):

$ sudo lshw -c video
  *-display UNCLAIMED     
       description: VGA compatible controller
       product: ATI Technologies Inc
       vendor: ATI Technologies Inc
       physical id: 1
       bus info: pci@0000:00:01.0
       version: 00
       width: 32 bits
       clock: 33MHz
       capabilities: pm pciexpress msi bus_master cap_list
       configuration: latency=0
       resources: memory:c0000000-cfffffff(prefetchable) ioport:f000(size=256) memory:feb00000-feb3ffff

----

AGGIORNAMENTO 2 : Ecco l' lshwelenco aggiornato :

$ sudo lshw -numeric -c video
  *-display UNCLAIMED     
       description: VGA compatible controller
       product: ATI Technologies Inc [1002:9802]
       vendor: ATI Technologies Inc [1002]
       physical id: 1
       bus info: pci@0000:00:01.0
       version: 00
       width: 32 bits
       clock: 33MHz
       capabilities: pm pciexpress msi bus_master cap_list
       configuration: latency=0
       resources: memory:c0000000-cfffffff(prefetchable) ioport:f000(size=256) memory:feb00000-feb3ffff

Se l'ho verificato correttamente hai un monitor LED - ma il tuo software "xrandr" vuole configurare un "crtc" - che è un monitor catodico. Non so cosa fare ora, ma forse trovi alcune impostazioni che puoi modificare in modo che provi a parlare con il tuo monitor a LED. Spero che questo aiuti un po '. Scusate.
Peterling,

@Peterling - Ho notato che questo è un messaggio ricorrente per altri che riportano questo errore, ma è vero che è strano. Non ho idea di cosa fare al riguardo.

1
Ora un "crtc" è solo un termine. I pixel sono ancora sincronizzati in linee e pixel e il crtc è il meccanismo dell'orologio nella logica video che produce un tempismo corretto per una certa risoluzione. Quando fu introdotto il termine un "crtc" era un vero circuito integrato individuale e il display poteva essere solo un CRT.
John S Gruber,

Quale driver video stai usando?
John S Gruber,

@JohnSGruber - come puoi dirlo?

Risposte:


9

Penso che avrai ottenuto da qualche parte quando otterrai questo per aumentare:

Schermo 0: minimo 640 x 400, corrente 1600 x 1200, massimo 1600 x 1200    
                                                  ⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑
 

Quindi, penso, sarai in grado di ottenere xrandr per usare la modalità personalizzata che hai imparato a definire (se hai ancora bisogno dopo aver risolto il problema di base).

Aumenta le dimensioni dello schermo virtuale

[Questo] articolo [1] suggerisce di aggiungere una linea virtuale alla sezione Schermo di un file di configurazione xorg.conf per impostare la dimensione massima dello schermo. È di un paio d'anni fa. Durante il test non sono stato in grado di impostare la linea virtuale oltre la dimensione massima dello schermo fornita da xrandr -q, tuttavia. Tuttavia, con il mio driver e hardware quel valore era un 8192x8192 già abbastanza grande.

Puoi sperimentare aggiungendolo come /etc/X11/xorg.conf, ad esempio:

Sezione "Schermo"
    Identificatore "My Screen"
    Sottosezione "Display"
        Virtual 2048 2048
    EndSubSection
EndSection

Probabilmente non vedrai un /etc/X11/xorg.conf poiché i driver video di oggi tenteranno di determinare valori predefiniti ragionevoli per tutto e le moderne distribuzioni tralasceranno quel file. Sarà usato se presente, comunque.

Se hai già un file /etc/X11/xorg.conf puoi provare ad aggiungere la linea virtuale sopra alla sottosezione Display della sua sezione Schermo

Ti suggerisco di provarlo con un editor da riga di comando poiché c'è qualche possibilità che confonderà la tua capacità di accedere con la GUI di Ubuntu e potrebbe essere necessario eseguire Alt-Ctrl-F1, accedere e modificare (o rimuovere) il file utilizzando gli strumenti da riga di comando. Eventuali errori dovrebbero essere in /var/log/Xorg.0.log o /var/log/Xorg.1.log.

In effetti, potresti e dovresti testarlo accedendo a un altro userid sul tuo sistema (senza disconnetterti dal tuo solito userid) e controllando dalla nuova sessione, in questo modo puoi usare Alt-Ctrl-F7 per tornare al tuo lavoro GUI in caso di problemi. Nel caso in cui si stia utilizzando un ID utente aggiuntivo per accedere senza disconnettersi dal primo, il log appropriato sarà /var/log/Xorg.1.log. Non disconnettersi dalla sessione di lavoro o avviare fino a quando non si dispone di un xorg.conf funzionante o non è stato rimosso di nuovo.


Utilizzare un driver grafico diverso

Un altro articolo che ho letto ha risolto questo problema cambiando driver, ma vedo dalla tua domanda che il programma Driver aggiuntivi non ti offre alternative. (Suppongo che sia ciò che intendi sopra quando menzioni la "finestra di dialogo Driver hardware". A meno che tu non cambi driver con il programma Driver aggiuntivi utilizzerai un driver che il kernel ritiene appropriato per la tua scheda video o la logica video sulla tua scheda madre.

Per l'OP, da quanto descritto nei commenti precedenti sembra che il sistema debba utilizzare il driver radeon, ma non lo è. Uso il driver radeon e di solito imposto la mia risoluzione orizzontale su 1920 (il massimo per il driver / scheda sembra essere 8192). I driver vesa e fb sono driver di base per hardware vecchio - abbastanza vecchi da non avere monitor molto grandi sui monitor di quell'epoca.


Aggiorna Ubuntu

Se stai utilizzando un computer più recente della versione di Ubuntu che hai installato e, in particolare, il suo kernel Linux è del tutto possibile che il kernel non riconosca la tua scheda grafica. In tal caso, è necessario aggiornare il software Ubuntu che contiene il supporto per le apparecchiature.

Dal momento che non riesce a far funzionare fglrx, questo è purtroppo il caso di ysap. A causa della novità di questa apparecchiatura rispetto al rilascio di ysap, non esiste supporto per [1002.9802] nel kernel Linux Lucid (o Maverick). Il primo supporto per questa apparecchiatura è apparso nel kernel Natty 2.6.38. Per verificare il supporto di un determinato dispositivo nei moduli del kernel, è possibile accedere al file / lib / modules / kernel-version /module.alias e cercare il valore dell'adattatore. Per tale attrezzatura:

grep v00001002d00009802 /lib/modules/2.6.38-10-generic/modules.alias

Per controllare il supporto del kernel di Natty. Risponde:

alias pci:v00001002d00009802sv*sd*bc*sc*i* radeon

Come test, puoi provare ad avviare un CD live sul sistema e provare a impostare la risoluzione che desideri in quell'ambiente (fai clic su Prova Ubuntu, piuttosto che Installa).

Ottenere il supporto appropriato per i driver può anche abilitare moderne strutture grafiche come il rendering diretto e il supporto OpenGL, migliorando notevolmente le prestazioni e l'estetica.

Per un personal computer potresti anche essere in grado di usare un kernel aggiornato se è disponibile uno compatibile per la tua versione di Ubuntu. Per un computer di produzione potrebbe essere necessario aggiornare Ubuntu a una versione più recente, se disponibile, per motivi di affidabilità e robustezza.


1
La cosa strana è che non ho un xorg.confposto nel file system. Ma, se la mia comprensione è giusta, nel gnomo moderno questo file è obsoleto e non è richiesto. Ho trovato il xorg.conf.dprogramma e la relativa pagina man.

/etc/X11/xorg.conf non è più necessario per l'hardware della maggior parte dei sistemi, ma non è obsoleto: è possibile fornirne uno per impostare i dettagli necessari. È così che ho provato quanto sopra. Questi dettagli possono anche essere inseriti in un file che aggiungi alla directory /etc/X11/xorg.conf.d/. Aggiungerò un esempio.
John S Gruber,

Vediamo se è più chiaro. Per favore fatemi sapere se no.
John S Gruber,

Grazie John. Ho testato il file xorg.conf che hai pubblicato e in effetti ha rovinato il mio display quando ho cambiato account, quindi ho dovuto rimuoverlo.

Su Ubuntu 10.04 è presente un'applet "Hardware Drives" nel menu Sistema / Amministrazione. In questa applet non sono elencati driver alternativi. Tuttavia , mi sono appena reso conto che il PC in questione non è attualmente connesso a Internet (siamo in una demo in questo momento), quindi è possibile che una volta tornati in ufficio vedremo un'alternativa al driver ATI. Ricordo vagamente da quel passato che i driver proprietari non hanno risolto il problema e non sono mai riuscito a ottenere quella risoluzione con 10.04.

15

Ho riscontrato anche questo problema (usato per avere uno schermo Dell 23 ")

Innanzitutto, determina quale interfaccia è connessa al tuo display:

$ xrandr -q

L'output del comando sarà:

mukolla@pk:~$ xrandr -q

Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192

LVDS connected (normal left inverted right x axis y axis)
   1366x768       60.0 +
   1280x720       59.9  
   1152x768       59.8  
   1024x768       59.9  
   800x600        59.9  
   848x480        59.7  
   720x480        59.7  
   640x480        59.4  

HDMI-0 disconnected (normal left inverted right x axis y axis)

VGA-0 connected ......

   1024x768       75.1     60.0  
   800x600        75.0     60.3  
   640x480        75.0     60.0  
   720x400        70.1  

Il display esterno è collegato alla porta VGA-0 . Questo è importante da notare.

Ora aggiungi una nuova modalità per visualizzare:

$ xrandr --newmode "1920x1080_60.00"  172.80  1920 2040 2248 2576  1080 1081 1084 1118  -HSync +Vsync
$ xrandr --addmode VGA-0 1920x1080_60.00
$ xrandr --output VGA-0 --mode 1920x1080_60.00

Questo non funziona per cambiare lo schermo integrato, giusto?
KhoPhi,

Errore BadMatch con es .: xrandr --addmode "DVI-I-1" "1280x800_60.00"qualche idea? (DVI-I-1 è il collegato)
Aquarius Power

@AquariusPower Prova DVI-1-1invece diDVI-I-1
WinEunuuchs2Unix il

6

Buongiorno a tutti. Ho avuto questo problema durante la connessione a un sistema Ubuntu che non ha uno schermo (usato per avere uno schermo Dell da 24 ", ma era necessario altrove). Non sono abbastanza brillante da sapere perché funziona, ma ecco una serie di comandi che funziona per me - non è richiesta la modifica dei file.

Nota: al riavvio è necessario eseguirli nuovamente. Suggerisco uno script di shell.

gtf 1920 1200 60 -x
xrandr --newmode "1920x1200_60.00"  193.16  1920 2048 2256 2592  1200 1201 1204 1242  -HSync +Vsync
xrandr --addmode VGA1 1920x1200_60.00
xrandr --output VGA1 --mode 1920x1200_60.00

Funziona incredibilmente bene!
Folkert van Heusden,

4

Ho aggiunto le righe precedenti (ho ottenuto un output leggermente diverso dal comando gtf) al file .xprofile nella mia home directory. Ha funzionato come un sogno. Vedi sotto.

gtf 1920 1080 60 -x

xrandr --newmode "1920x1080_60.00"  172.80  1920 2040 2248 2576  1080 1081 1084 1118  -HSync +Vsync

xrandr --addmode Virtual1 1920x1080_60.00

xrandr --output Virtual1 --mode 1920x1080_60.00

Sto usando Vmware Player, da cui il nome dell'output.


2

prova a installare arandr per configurare la tua configurazione xrandr con una GUI .

sudo apt install arandr

quindi imposta la risoluzione, l'orientamento e la posizione dei display e infine salva la configurazione.

puoi vedere che il suo output è uno script di shell (.sh) di solito su ~ / .screenlayout

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.