Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[TIP] Dual monitor, intel e xrandr
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Risorse italiane (documentazione e tools)
View previous topic :: View next topic  
Author Message
skypjack
l33t
l33t


Joined: 05 Aug 2006
Posts: 884
Location: Italia - Firenze

PostPosted: Thu Dec 13, 2007 3:28 pm    Post subject: [TIP] Dual monitor, intel e xrandr Reply with quote

Giusto per scansare ore e ore di vane ricerche a chi ha una scheda intel (nel mio caso intel 945gm) con supporto alle estensioni RandR 1.2, apro e chiudo una parentesi che spero possa evitare le pene dell'inferno a qualcuno.

Una piccola premessa per gli ignoranti (come ero io prima di documentarmi), nel senso che ignorano. Dalla documentazione ufficiale (http://gitweb.freedesktop.org/?p=xorg/proto/randrproto.git;f=randrproto.txt;a=blob), si legge che:
Quote:
The X Resize, Rotate and Reflect Extension, called RandR for short, brings the ability to resize, rotate and reflect the root window of a screen. It is based on the X Resize and Rotate Extension as specified in the Proceedings of the 2001 Usenix Technical Conference [RANDR].


In pratica, riassumendo un argomento che ho scoperto essere noto a pochi, le estensioni RandR permetto di agire, nel nostro caso, a caldo sul server X. Cosa vuol dire questo? Semplice: inutile perdere ore a configurare il proprio xorg.conf per avere il dual monitor all'avvio e perdere la testa per un monitor che (maledetto) non rispetta le nostre condizioni; inutile avere doppie configurazioni, doppio monitor, doppia sezione Screen e via dicendo; inutile tutto!
Configurate il vostro X in modalità mono-monitor e limitatevi ad associare una Virtual Size massimo di 2048x2048 (pena, la disabilitazione del DRI), come nel mio leggero e pulito xorg.conf:
Code:

Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen      0  "Laptop" 0 0
        InputDevice    "Mouse" "AlwaysCore"
        InputDevice "Touchpad" "CorePointer"
        InputDevice "Keyboard" "CoreKeyboard"
        Option "BlankTime" "10"
        Option "AIGLX" "true"
EndSection

Section "ServerFlags"
        Option  "AllowMouseOpenFail"    "on"
EndSection

Section "Files"
        RgbPath      "/usr/share/X11/rgb"
        ModulePath   "/usr/lib/xorg/modules"
        FontPath     "/usr/share/fonts/misc"
        FontPath     "/usr/share/fonts/75dpi"
        FontPath     "/usr/share/fonts/100dpi"
        FontPath     "/usr/share/fonts/Type1"
        FontPath     "/usr/share/fonts/corefonts"
        FontPath     "/usr/share/fonts/encodings"
        FontPath     "/usr/share/fonts/cyrillic"
        FontPath     "/usr/share/fonts/util"
        FontPath     "/usr/share/fonts/ttf-bitstream-vera"
EndSection

Section "Module"
        Load  "i2c"
        Load  "bitmap"
        Load  "ddc"
        Load  "int10"
        Load  "vbe"
        Load  "extmod"
        Load  "dbe"
        Load  "record"
        Load  "xtrap"
        Load  "dri"
        Load  "glx"
        Load  "freetype"
        Load  "type1"
        Load  "evdev"
EndSection

Section "InputDevice"
        Identifier "Keyboard"
        Driver "kbd"
        Option "CoreKeyboard"
        Option "AutoRepeat" "500 30"
        Option "XkbRules" "xorg"
        Option "XkbModel" "pc105"
        Option "XkbLayout" "it"
EndSection

Section "InputDevice"
        Identifier "Mouse"
        driver "mouse"
        Option "Protocol" "auto"
        Option "Device" "/dev/psaux"
        Option "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
        Identifier  "Touchpad"
        Driver      "synaptics"
        Option      "SendCoreEvents" "true"
        Option      "Device" "/dev/input/mouse0"
        Option      "Protocol" "auto-dev"
        Option      "LeftEdge" "1900"
        Option      "RightEdge" "5400"
        Option      "TopEdge" "1900"
        Option      "BottomEdge" "4000"
        Option      "FingerLow" "25"
        Option      "FingerHigh" "30"
        Option      "MaxTapTime" "180"
        Option      "MaxTapMove" "220"
        Option      "VertScrollDelta" "100"
        Option      "HorizScrollDelta" "100"
        Option      "MinSpeed" "0.02"
        Option      "MaxSpeed" "0.18"
        Option      "AccelFactor" "0.0010"
        Option      "EdgeMotionMinZ" "17"
        Option      "EdgeMotionMaxZ" "21"
        Option      "EdgeMotionMinSpeed" "30"
        Option      "EdgeMotionMaxSpeed" "35"
        Option      "LeftRightScrolling" "1"
        Option      "UpDownScrolling" "1"
        Option      "EmulatedMidButtonTime" "75"
        Option      "ZAxisMapping" "4 5"
        Option      "SHMconfig" "on"
EndSection

Section "Monitor"
        Identifier   "On Board"
        VendorName   "OnBoard"
        ModelName    "LCD"
        Modeline "1280x800"  83.46  1280 1344 1480 1680  800 801 804 828  -HSync +Vsync
        Modeline "1024x768"  64.11  1024 1080 1184 1344  768 769 772 795  -HSync +Vsync
        Modeline "800x600"  38.22  800 832 912 1024  600 601 604 622  -HSync +Vsync
        Modeline "640x480"  23.86  640 656 720 800  480 481 484 497  -HSync +Vsync
        Option "DPMS" "true"
EndSection

Section "Device"
        Identifier  "945GM"
        Driver  "i810"
        Option  "NoAccel"       "false"
        Option  "VBERestore"    "true"
        Option  "DRI"   "true"
        Option  "AccelMethod"   "exa"
        Option  "MonitorLayout" "CRT,CRT+LFP"
        Option  "XVideo"        "true"
        Option  "XvMCSurfaces"  "7"
        Option  "PageFlip"      "true"
        VideoRam        131072
        VendorName  "Intel Corporation"
        BoardName   "Mobile Integrated Graphics Controller"
        BusID       "PCI:0:2:0"
        Screen  0
EndSection

Section "Screen"
        Identifier "Laptop"
        Device  "945GM"
        Monitor "On Board"
        Option  "FlatPanelProperties"   "Scaling=Centered"
        DefaultDepth    24
        SubSection "Display"
                Depth   24
                Virtual 2048 2048
                Modes   "1280x800" "1024x768" "800x600" "640x480"
                Viewport        0 0
        EndSubSection
EndSection

Section "DRI"
        Mode    0666
EndSection

Section "Extensions"
        Option "Composite" "Enable"
EndSection


A questo punto, affidatevi al buon xrandr, un eseguibile i cui sviluppatori andrebbero ringraziati ogni volta che la nostra Gentoo splende su qualche proiettore o monitor esterno. In particolare, si nota quanto segue:
Code:

$ xrandr
Screen 0: minimum 320 x 200, current 1280 x 800, maximum 2048 x 2048
VGA disconnected (normal left inverted right)
LVDS connected 1280x800+0+0 (normal left inverted right) 303mm x 190mm
   1280x800       60.0*+
   1024x768       60.0 
   800x600        60.3 
   640x480        59.9 
TV disconnected (normal left inverted right)


Il monitor del laptop è denominato LVDS, l'uscita video VGA mentre è presente anche l'uscita TV che (onestamente) non ho avuto modo di provare.
Per attivare un monitor esterno portando la risoluzione di entrambi (laptop ed esterno) a 1024x768, clonando l'immagine, basta il comando:
Code:
xrandr --output VGA --mode 1024x768 --same-as LVDS --output LVDS --mode 1024x768


Ed ecco che l'inferno in un attimo diventa paradiso!
Vi assicuro che organizzando una serie di tasti ad-hoc associandoli ai diversi comandi per le risoluzioni e le combinazioni fra esse si ottine un risultato immediato senza doversi dannare alla ricerca del parametro sconosciuto. In ogni caso, gli argomenti sono intuitivi e non ho ancora incontrato alcun problema ad usare l'uscita VGA con nessun proiettore. Posso confermare il funzionamento con la funzione clone e con l'estensione del desktop (il right-of o left-of e via dicendo, per intenderci).

Sono stato breve, ma ora vado un po' di corsa. Se l'argomento interessa chiedete e approfondirò questo primo post.
Spero in ogni caso di aver dato utili suggerimenti a chi possiede le schede grafiche in questione.
Per ogni domanda, ovviamente, o in privato o su questa discussione.

Alla prossima.
Back to top
View user's profile Send private message
flocchini
Veteran
Veteran


Joined: 17 May 2003
Posts: 1124
Location: Milano, Italy

PostPosted: Thu Dec 13, 2007 8:37 pm    Post subject: Reply with quote

premesso che e' una settimana che ci impazzisco e ho trovato molti spunti che mi accingo a provare... Ti ringrazio in anticipo
Ma che driver stai usando x la intel? perche' i >2.0 (dichiarati compatibili con randr) non fanno vedere i video in XV e i 2.2.0 funzionano ma attraverso EXA che dire che e' instabile e' poco... ;)

EDIT: infatti non cambia nulla ahime'... Io ho il problema opposto al tuo, ossia uso stabilmente il pc in casa su dock station con monitor esterno. Io dovrei trovare il modo per switchare a caldo i 2 monitor in modo da "prendere, chiudere e andare" qdo devo uscire, senza stare a spegnere xorg e riavviarlo (soffro di sindrome da "in windows si puo' fare", mi rode). Il problema e' che il monitor del laptop e' 1280x800 e quello esterno e' 1680x1050. Ora, se io configuro i driver 1.7.4 con xorg differenti riesco a pilotarli entrambi uno alla volta, riavviando xorg. Con xrandr e 2.2.0 (inferiori non fanno vedere i video con XV) ho il problema che comunque secondo xorg il mio monitor e' 1280x800 e ad esempio se mando in full screen mplayer o xine me li manda max a 1280x800, che e' inaccettabile, nonostante i ldesktop di kde sia pero' correttamente settato a 1680 (anche secondo xrandr). Questo sorvolando sulle *pessime* prestazioni dei 2.2.0 che mi fanno scattare lo scrolling su firefox.

Idee? Soffro molto :lol:
_________________
~~ Per amore della rosa si sopportano le spine... ~~


Last edited by flocchini on Thu Dec 13, 2007 9:11 pm; edited 1 time in total
Back to top
View user's profile Send private message
skypjack
l33t
l33t


Joined: 05 Aug 2006
Posts: 884
Location: Italia - Firenze

PostPosted: Thu Dec 13, 2007 8:40 pm    Post subject: Reply with quote

vesafb-ng per il framebuffer, i810 su X
Back to top
View user's profile Send private message
flocchini
Veteran
Veteran


Joined: 17 May 2003
Posts: 1124
Location: Milano, Italy

PostPosted: Thu Dec 13, 2007 9:12 pm    Post subject: Reply with quote

scusami, ho editato dopo che tu hai risposto... rileggi il post su ;)
_________________
~~ Per amore della rosa si sopportano le spine... ~~
Back to top
View user's profile Send private message
skypjack
l33t
l33t


Joined: 05 Aug 2006
Posts: 884
Location: Italia - Firenze

PostPosted: Thu Dec 13, 2007 9:42 pm    Post subject: Reply with quote

O sono fuso io o non ti sei siegato benissimo. Comunque, mi pare di aver capito che il problema lo hai impostando risoluzioni diverse sui due monitor. Al momento posso dirti che con alcuni software o guai del genere anche io. Ad esempio, laptop a 1280x800, proiettore a 1024x768. Se apro un pdf con acroread me lo espande a 1280x800 col risultato di un fuori schermo sul proiettore. Soluzione? non resta che portare entrambi a 1024x768.
Se trovo una soluzione alla cosa (o una motivazione, mi basterebbe) ti faccio sapere.
Propongo di usare questa discussione per riversare ogni commento o nuova scoperta che non esiterò ad integrare nel primo post, per i posteri.
Back to top
View user's profile Send private message
flocchini
Veteran
Veteran


Joined: 17 May 2003
Posts: 1124
Location: Milano, Italy

PostPosted: Fri Dec 14, 2007 12:29 am    Post subject: Reply with quote

la cosa e' complicata, cmq credo che ci siamo capiti: tu vuoi usare il laptop e ogni tanto accendere il monitor esterno, io voglio usare il monitor esterno e passare su quello del laptop qdo stacco l'altro, in soldoni e' la stessa cosa :)

Il mio problema e' che pur settando il monitor esterno correttamente a 1680x1050, quando mando a fullscreen alcuni programmi l'infame xorg mi prende come fullscreen la 1280x800 del monitor del laptop e non quella del monitor esterno, anche qdo il monitor del laptop e' spento e anche settandogli un virtual spropositato. Ho provato l'opzione "flipprimary" ma senza successo, per lui qdo si va a fullscreen si va in 1280x800, non di piu' :(
_________________
~~ Per amore della rosa si sopportano le spine... ~~
Back to top
View user's profile Send private message
skypjack
l33t
l33t


Joined: 05 Aug 2006
Posts: 884
Location: Italia - Firenze

PostPosted: Fri Dec 14, 2007 10:00 am    Post subject: Reply with quote

Allora, per quanto riguarda spengere un monitor è semplice. Ad esempio, per tirare già quello del portatile basta:
Code:
xrandr --output LVDS --off


Ovviamente prima assicurati di aver risvegliato il monitor esterno o ti sei fregato con le tue mani!!
Per quanto riguarda le risoluzioni, ancora credo ci sia da lavorare perché impostandone due diverse sui due monitor ho riscontrato diversi problemi anche io. Se qualcuno ha la soluzione è invitato a rivelarcela. Da canto mio, se scopro qualcosa lo aggiungo in testa. Tu, notificami!
Back to top
View user's profile Send private message
lordalbert
l33t
l33t


Joined: 26 Nov 2006
Posts: 752
Location: Italy

PostPosted: Sun Dec 23, 2007 6:55 pm    Post subject: Reply with quote

per caso sai se è possibile anche con la intel i865 ?

L'uscita ce l'ha... però non sono mai riuscito a capire come funziona, neanche con windows....
Back to top
View user's profile Send private message
skypjack
l33t
l33t


Joined: 05 Aug 2006
Posts: 884
Location: Italia - Firenze

PostPosted: Sun Dec 23, 2007 11:36 pm    Post subject: Reply with quote

lordalbert wrote:
per caso sai se è possibile anche con la intel i865 ?


Posta il risultato di un:
Code:
xrandr

Lanciato da shell senza parametri e col cavo del monitor esterno attaccato. Poi ne riparliamo.
Back to top
View user's profile Send private message
fbcyborg
Advocate
Advocate


Joined: 16 Oct 2005
Posts: 3021
Location: ROMA

PostPosted: Fri Sep 25, 2009 6:11 am    Post subject: Reply with quote

Ciao a tutti,

ho letto questo thread e devo dire che è molto interessante perché anche io mi ritrovo con un notebook che ha una risoluzione di 1280x800, e devo dire che questa è davvero una risoluzione rompi scatole in questo caso.
Vorrei fare una domanda: perché se connetto lo stesso notebook con windows avviato, la schermata del notebook resta a 1280x800, mentre quella del video esterno (magari) va a 1024x768 e si autoregola senza problemi, mentre su Linux questo non succede?
Da qui, una seconda domanda: è possibile o no, avere un notebook connesso a un proiettore, il primo che mostra il desktop a 1280x800 e il secondo a 1024x768 contemporaneamente? Cosa che poi accade nel precedente caso.

Io al momento utilizzo la scheda video integrata della intel, e grazie a i810rotate riesco a switchare fra VGA->LCD ecc.

Quello che mi chiedo è la seguente cosa: tempo fa (anche più di un anno fa), quando collegavo il mio notebook al proiettore, bastava riavviare X con CTRL+ALT+BACKSPACE e la schermata si riadattava automaticamente al proiettore, disabilitando però al contempo la schermata del notebook. Perché questa cosa non funziona più ora?
_________________
[HOWTO] Come criptare la /home usando cryptsetup e luks
[HOWTO] Abilitare il supporto al dom0 XEN su kernel 3.X
Help answer the unanswered
Back to top
View user's profile Send private message
lucapost
Veteran
Veteran


Joined: 24 Nov 2005
Posts: 1412
Location: <ud|me|ts> - Italy

PostPosted: Fri Sep 25, 2009 8:10 am    Post subject: Reply with quote

ho lasciato perdere la configurazione di xorg da quando ho scoperto il tool nvidia-settings, disponibile per tutte le schede nvidia più recenti.
_________________
LP
Back to top
View user's profile Send private message
fbcyborg
Advocate
Advocate


Joined: 16 Oct 2005
Posts: 3021
Location: ROMA

PostPosted: Fri Sep 25, 2009 10:21 am    Post subject: Reply with quote

Sì lo so, anche io ho nvidia-settings, solo che a volte non riesco a sistemare lo stesso le cose.

Comunque il problema è sempre quello... 1280x800 è una risoluzione di cacca... e quando proietti all'esterno da di questi problemi.
Quindi sono costretto a portarla a 1024x768, e poi proiettare.
_________________
[HOWTO] Come criptare la /home usando cryptsetup e luks
[HOWTO] Abilitare il supporto al dom0 XEN su kernel 3.X
Help answer the unanswered
Back to top
View user's profile Send private message
fbcyborg
Advocate
Advocate


Joined: 16 Oct 2005
Posts: 3021
Location: ROMA

PostPosted: Sun Sep 27, 2009 6:59 am    Post subject: Reply with quote

Qualcuno sa darmi una mano con lo script che ho riportato in questo post?
_________________
[HOWTO] Come criptare la /home usando cryptsetup e luks
[HOWTO] Abilitare il supporto al dom0 XEN su kernel 3.X
Help answer the unanswered
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Risorse italiane (documentazione e tools) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum