Ati radeon: dilemma XINERAMA e drivers [RISOLTO]

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
algol
Linux 3.x
Linux 3.x
Messaggi: 969
Iscritto il: gio 7 set 2006, 1:19
Slackware: 12.1
Kernel: 2.6.26.1
Desktop: xfce4.4.2

Ati radeon: dilemma XINERAMA e drivers [RISOLTO]

Messaggio da algol »

Salve raghi,
ho di recente trovato una ATI radeon 9200, 128mb, dual head:

Codice: Seleziona tutto

ATI Technologies Inc RV280 [Radeon 9200 PRO] (rev 01) (prog-if 00 [VGA])
premetto le mie precedenti letture: :)

http://www.slacky.eu/wikislack/index.ph ... lackbuild.
http://www.slacky.eu/wikislack/index.ph ... pen_Source
viewtopic.php?t=18134&postdays=0&postor ... &start=120

La mia precedente configurazione era composta da 2 schede nvidia (agp 64mb e pci 16mb) con le quali potevo usare o xinerama ma non compiz (causa inattivazione Randr), oppure 1 schermo + compiz.

Ora, causa dipendenza da doppio schermo, il mio ingenuo scopo era quello di ottenere uno schermo xinerama "compiz-enabled"...
Ed ecco i problemi:

-- questione driver:
come duramente riassunto qui:
http://www.slacky.eu/wikislack/index.ph ... IMPORTANTE
con la mia schera NON posso usare i drivers proprietari, a meno di non downgradare X, e devo rivolgermi a quelli open

--questione xinerama
Sto usando i driver open (radeon), ma non riesco in alcun modo ad ottenere uno schermo unico tipo xinerama :banghead: ma solo un mero inutile cloning, pur avendo provato varie combinazioni di

Codice: Seleziona tutto

 Section "Device"
    Option     "MergedFB"     "true"
                    [i] oppure[/i]
    Option     "MergedXinerama"    "true"
    [...]

Section "ServerFlags"
    Option         "Xinerama" "true"
    [...]

Section "Extensions"
    Option         "Xinerama" "True"
    [...]
ecc...

DOMANDE RIASSUNTIVE:
Insomma, è possibile ottenere xinerama coi driver open :?:
Se sì, in modo accelerato:?:
Mi conviene downgradare X e usare i driver proprietari:?:
In tal caso, quanti problemi posso avere con il resto del sistema:?:
e, OT personale,

ma minchia alla ATI pare normale che per usare una scheda di tre o quattro anni fa debbo usare un sistema ugualmente vetusto????? :x
Cioè, perché la 9200 è discriminata e la 9500 no???? :evil:

Help, tanto help! :help:

Ciao e grazie.

[EDIT], molto [EDIT]

Dopo varie ricerche sulle opzioni del driver, sono riuscito ad ottenere una configurazione xinerama!!! Però il 3D è strano, chromium, ad es, funziona liscio, glxgears mi da circa 1000 fps ma le rotelle sono solcate da linee nere, glxinfo | grep direct mi da: direct rendering: No, e nexuiz va da schifissimo...

Al più presto posto le parti dello xorg.conf interessate a beneficio dei futuri lettori.
Ultima modifica di algol il lun 12 nov 2007, 2:39, modificato 1 volta in totale.

Avatar utente
nuitari
Linux 3.x
Linux 3.x
Messaggi: 777
Iscritto il: dom 14 ott 2007, 12:51
Slackware: 12.0
Località: San Colombano al Lambro
Contatta:

Messaggio da nuitari »

Scusa ma non stai confondendo le cose? Tu vuoi ottenere un unico display logico mi pare d'aver capito.

La modalità MergedFB permette di fare questo grazie al fatto che crea un unico grande framebuffer su cui poi applica due viewport.

Xinerama invece si basa sul codice presente nel driver radeon per la gestione del dual head, il quale codice realizza due framebuffer distinti che poi vengono uniti in un unico display logico da Xinerama stesso.

Quindi o usi MergedFB, disabilitando Xinerama (Option "NoMergedXinerama" "true"), o usi Xinerama lasciando perdere MergedFB.

Per quanto riguarda il resto, non sta caricando nel modo corretto il driver. Sei sicuro d'aver seguito le wiki? Se disattivi MergedFB ti fa lo stesso?

Avatar utente
algol
Linux 3.x
Linux 3.x
Messaggi: 969
Iscritto il: gio 7 set 2006, 1:19
Slackware: 12.1
Kernel: 2.6.26.1
Desktop: xfce4.4.2

Messaggio da algol »

Allora......

ora mi funziona buona parte di quello che volevo: \:D/

schermo tipo xinerama, ovvero due monitor uniti;
accelerazione 3d decente.

Ecco il fatidico xorg.conf:

Codice: Seleziona tutto

 Section "ServerLayout"
      Identifier     "X.org Configured"
      Screen   0      "Screen0"
#      Screen   1     "Screen1" RightOf "Screen0"
      InputDevice    "Mouse0" "CorePointer"
      InputDevice    "Keyboard0" "CoreKeyboard"

 #	Option "Xinerama" "on"
	Option "Clone" "off"  
	Option  "AIGLX"  "true"
EndSection

  Section "ServerFlags"
  #    Option         "Xinerama" "true"
    Option       "RandR" "on"  
    Option         "DefaultServerLayout" "X.org Configured"
  EndSection

  Section "Files"
RgbPath "/usr/share/X11/rgb"
      FontPath       "/usr/share/fonts/TTF,/usr/share/fonts/OTF,/usr/share/fonts/Type1,/usr/share/fonts/misc,/usr/share/fonts/75dpi/:unscaled"
      FontPath       "/usr/share/fonts/75dpi/:unscaled"
      ModulePath     "/usr/lib/xorg/modules"
  EndSection

Section "Module"
      Load           "glx"
      Load           "extmod"
   SubSection  "extmod"
     Option    "omit xfree86-dga"   # don't initialise the DGA extension    
   EndSubSection
      Load           "xtrap"
      Load           "record"
      Load           "GLcore"
      Load           "dbe"
      Load           "dri"
      Load           "freetype"
      Load           "type1"
     Load		"drm"  
EndSection

  Section "InputDevice"
      Identifier     "Keyboard0"
      Option         "XkbModel" "pc101"
    Option         "XkbLayout" "it"
	Driver         "kbd"
  EndSection

  Section "InputDevice"
      Identifier     "Mouse0"
      Driver         "mouse"
      Option         "Protocol" "auto"
      Option         "Device" "/dev/input/mice"
      Option         "ZAxisMapping" "4 5 6 7"
  EndSection

  Section "Device"
	Option   "DRI" "true"
	Option  "AGPFastWrite" "yes"# abilita il Fast Write
	Option  "AGPMode" "4" # Mettete la vostra velocitè di AGP
	Option  "EnablePageFlip" "on"

#	Option  "RenderAccel" "true"

	Option  "DynamicClocks" "true"
#	Option  "MergedFB" "false"
	Option  "CRT2Position" "RightOf"
	#Option  "CRT2Hsync" "30-80" # Usate le vostre frequenze
	#Option  "CRT2VRefresh" "56-75" # Usate le vostre frequenze
	Option  "MetaModes" "1024x768-1024x768"
	Option  "MergedNonRectangular" "true"
 #       Option   "MergedXinerama"    "true"        # [<bool>]
	
	Option  "TripleBuffer"   "true"
	Option "AccelMethod" "XAA"
	Option "GARTSize" "64"
	Option "ColorTiling" "1"
	Option "SWcursor" "on" #Faster than default (on)
#	Option "HWcursor" "on" 	


# Option "RenderAccel"             "true"
 Option "AllowGLXWithComposite"   "true"
 Option "XAANoOffscreenPixmaps"   "true"
 Option "AddARGBGLXVisuals"       "true"

      Identifier     "Card0"
      Driver         "radeon"
      VendorName     "ATI Technologies Inc"
      BoardName      "RV280 [Radeon 9200 PRO]"
	VideoRam    131072
	BusID "PCI:1:0:0"
screen 0
  EndSection

 Section "Device"
	Option "DRI" "true"
     # Option     "MergedFB"     "true" 
	Option     "MergedXinerama"    "true"
	Identifier     "Card1"
      Driver         "radeon"
	#Card "** ATI (generic) [ati]"
	VendorName     "ATI Technologies Inc"
      BoardName      "RV280 [Radeon 9200 PRO]"	
	BusID "PCI:1:0:1"
	VideoRam    131072
	screen 1
  EndSection


  Section "Monitor"
      Identifier     "Monitor0"
      VendorName     "API"
      Option         "DPMS"
Gamma 1.00 1.00 1.00 
      ModeLine       "1024x768_60.00" 64.11 1024 1080 1184 1344 768 769 772 795 -HSync +Vsync
  EndSection

  Section "Monitor"
      Identifier     "Monitor1"
Gamma 0.00 0.00 0.00 
      VendorName     "API"
      ModeLine       "1024x768_60.00" 64.11 1024 1080 1184 1344 768 769 772 795 -HSync +Vsync
	Option         "DPMS"
  EndSection

  Section "Screen"
      Identifier     "Screen0"
      Device         "Card0"
      Monitor        "Monitor0"

         SubSection "Display"
            Viewport        0 0
            Depth           24
        Modes       "1024x768"  "800x600" "640x480" 
	EndSubSection
  EndSection

  Section "Screen"
      Identifier     "Screen1"
      Device         "Card1"
      Monitor        "Monitor1"

SubSection "Display"
            Viewport        0 0
            Depth           24
        Modes      "1152x864" "1024x768"  "800x600" "640x480"
        EndSubSection

  EndSection

Section "DRI"
    Group   0
    Mode    0666
EndSection

  Section "Extensions"
#      Option         "Xinerama" "True"
      Option         "Composite" "enable"
  EndSection
Sì, lo so, è disordinato e stracommentato, ma ci stavo lavorando sopra alacremente; spero sia utile a qualcun altro.
Ora devo vedere come è messo compiz coi driver open, ma a naso la vedo male....

Ciao.

P.S.

@nuitari

Mi fai capire meglio come stanno le cose a cui accennavi? sono molto interessato... grazie![/u]

Avatar utente
nuitari
Linux 3.x
Linux 3.x
Messaggi: 777
Iscritto il: dom 14 ott 2007, 12:51
Slackware: 12.0
Località: San Colombano al Lambro
Contatta:

Messaggio da nuitari »

figurati :) Mi spiego meglio:

Esistono 2 modi principali di utilizzo di più dispositivi "fisici" di visualizzazione.

La prima è la modalità "clone", in cui il contenuto dello stesso schermo "logico" o virtuale viene replicato su più dispositivi fisici.

La seconda è la modalità normalmente detta Xinerama (in quanto viene gestita da un estensione di X che si chiama così) che permette di creare un grosso display logico e visualizzarlo su più display fisici.

Ad esempio, con questa modalità uno schermo di 2048x768 può essere visualizzato su due monitor a risoluzione 1024x768.

E fin qui, immagino sapessi già tutto.

Il fatto è che Xinerama ha diverse limitazioni. Una di queste è che l'accellerazione 3D è disponibile solo su un display, così come l'overlay.
Questo è a causa del fatto che xinerama gestisce la visualizzazione dello schermo in zone di memoria (framebuffer) separate, che vengono gestite "come se fossero lo stesso schermo", ma che a conti fatti non lo sono. Xinerama "da l'impressione" che lo schermo sia grande come due monitor, ma in realtà si tratta di due schermi separati uniti.

La modalità MergedFB, sulle schede radeon, permette di ovviare a questi problemi, in quanto gestisce lo spazio di visualizzazione in unico framebuffer, che poi viene visualizzato su monitor differenti (viewport). In questo modo realizzi veramente un unico schermo, trattato come tale, per cui ad esempio l'accelerazione 3D è disponibile su ogni viewport.
D'altro canto MergedFB ha altre limitazioni, come la dimensione massima dello schermo realizzabile.

Quindi, per visualizzare un display esteso, devi scegliere fra Xinerama e MergedFB. O usi l'uno, o usi l'altro.
Ancora di più, se usi MergedFB devi disattivare Xinerama (con il parametro che ti avevo indicato), perchè MergedFB usa delle estensioni proprie che si sostituiscono a Xinerama.

Questo parlando dei driver open source. Sui driver propietari il discorso è ancora diverso.

Avatar utente
algol
Linux 3.x
Linux 3.x
Messaggi: 969
Iscritto il: gio 7 set 2006, 1:19
Slackware: 12.1
Kernel: 2.6.26.1
Desktop: xfce4.4.2

Messaggio da algol »

Ah ok, grazie mille!

Beh, sì, capisco, xinerama lo si usa anche e soprattutto per unire schede totalmente diverse, come facevo io prima.

comunque, a quanto pare, io ora non sto utilizzando né l'una né l'altra!!
Bens', commentando entrambe, si è attivato uno "pseudo xinerama"...

Codice: Seleziona tutto

(II) RADEON(0): Initialized Radeon Pseudo-Xinerama extension
(II) RADEON(0): Pseudo-Xinerama: CRT1 (Screen 0) (0,0)-(1023,767)
(II) RADEON(0): Pseudo-Xinerama: CRT2 (Screen 1) (1024,0)-(2047,767)
Bah, comunque ora funzia tutto ok.

Rispondi