linux user group brescia

immagine del castello

Archivio della mailing list

Visual overlay in Xfree 4.x

Luca Giuzzi giuzzi a lugbs.linux.it
Lun 20 Gen 2003 16:36:41 UTC
On Mon, Jan 20, 2003 at 05:17:55PM +0100, marco ghidinelli wrote:
> 
> On Mon, Jan 20, 2003 at 12:09:10PM +0100, Alfredo Quartini wrote:
> > 
> > Ciao,
> > 
> > stavo cercando di capire se è possibile configurare XFree in modo che 
> > permetta di avere quello che viene chiamto Visual Overlay, cioè la 
> > capacità di visualizzare applicazioni che richiedo lo PseudoColor (8 
> > bit) in un ambiente true color. Tipicamente questa opzione viene svolta 
> > a livello hardware (per esempio sulle schede grafiche delle Sun U60).... 
Si'... il problema e' che il visual overlay e' per sua natura qualchecosa
di hardware, nel senso che la scheda deve gestire le mappe di colori in
modo diverso...

Nel truecolor, i colori sono determinati solamente dall'applicazione
 e vengono mappati "direttamente" in valori per i pixels
 [modulo, nel caso in cui il server sia a 16bpp e i valori a 24, ignorare
 i valori meno significativi]; nelle PseudoColor la scheda video (o chi 
 per essa) deve mantenere una tabella di look-up fra i valori presentati
 dalle applicazioni e quelli effettivamente visualizzati (permettendo,
 nel caso estremo, una rimappatura del tutto).
 Risultato: lo PseudoColor a 24/32 bpp non e' proponibile a causa degli
 sprechi di memoria; corollario: alcune schede video consentono di
 usare una visuale che e' in realta' 24+8 ove il "+8" corrisponde all'overlay
 in PseudoColor [si tratta, in pratica, di avere due modalita' video sovrapposte]

> > Sembra che qualcosa sia disponibile per le schede grafiche Matrox , ma 
> > ancora non ho capito come funziona la cosa.

Prova a vedere se la scheda supporta una modalita' a 32 bpp... in quel
 caso e' possibile che tu riesca ad ottenere quanto ti serve...
 xdpyinfo e' tuo amico :))

L'estensione che ti interessa e' la Xv (originariamente disegnata per
 supportare i vari tipi di BES e la conversione hardware YUV->RGB),
 ma, nella stragrande maggioranza dei casi non riesce a gestire quanto
 detto sopra (semplicemente NON SUPPORTA overlays RGB).

> > Dipende dal driver oppure è una feature disponibile di X ? In questo 
> > caso qualcuno sa come si attiva ?
> > La possibilità di avere due Xserver in esecuzione (ciascuno con 
> > ColorDpeth diverse) su due VT diversi non mi piace granche', cosi' anche 
> > l'uso di Xnest.
> 
> prova a dare un'occhiata a xrandr, non so se il cambio di bitplane e'
> contemplato (anche se dubito, visto come e' fatto X).
> 
Non mi pare che RANDR faccia questo (supporta rotazione/ridimensionamento)
... pero' viene fatto dall'estensione
RENDER, che si occupa, fra le altre cose, del postprocessing, anti-aliasing,
 etc. etc. (tutte e due le estensioni non sono presenti in XFree 4.2, ma
 allegramente supportate da XFree "4.2.99" (una prerelease)

Il cambio di bitplane puo' essere fatto mediante la XFree86-VidModeExtension
ma non e' quello che vuoi...

> 
> l'inizializzazione dei colori non viene determinata dal numero di colori
> disponibili in fase di apertuna di una nuova finestra?
> 
No... sono due cose distinte:
 il problema delle visuali non ha a che fare con la gestione dei colori
 da parte delle applicazioni ma sul COME i colori vengono mappati dal
 server relativamente le richieste dei programmi.

> (ricordo bene gimp e xv che cambiavano la palette quando il mouse finiva
> sopra di loro)
> 
questo e' equivalente ad avere una visuale di tipo PseudoColor
 (in cui il sistema `traduce' da valori in palette) con "private color map"...
nel caso TrueColor/DirectColor non c'e' proprio "color map" questa e'
la ragione dei problemi...

ciao,
 lg



Maggiori informazioni sulla lista Lug