<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> <TITLE>Framebuffer HOWTO: Come posso convertire le "mode-line" di XFree86 nelle impostazioni</TITLE> <LINK HREF="Framebuffer-HOWTO-19.html" REL=next> <LINK HREF="Framebuffer-HOWTO-17.html" REL=previous> <LINK HREF="Framebuffer-HOWTO.html#toc18" REL=contents> </HEAD> <BODY> <A HREF="Framebuffer-HOWTO-19.html">Avanti</A> <A HREF="Framebuffer-HOWTO-17.html">Indietro</A> <A HREF="Framebuffer-HOWTO.html#toc18">Indice</A> <HR> <H2><A NAME="s18">18. Come posso convertire le "mode-line" di XFree86 nelle impostazioni</A>per il device framebuffer?</H2> <P> <P>Se hai XFree86 (X11) installato nella tua macchina, e lo puoi usare con successo, è un gioco da ragazzi convertire le "mode-line" del tuo XF86Config nelle impostazioni necessarie per il device framebuffer. <P>Il device framebuffer richiede i seguenti campi <UL> <LI>pixclock - il pixel clock in picosecondi</LI> <LI>left_margin - intervallo tra la sincronizzazione e l'immagine (a sinistra)</LI> <LI>right_margin - intervallo tra l'immagine e la sincronizzazione (a destra)</LI> <LI>upper_margin - intervallo tra la sincronizzazione e l'immagine (sopra)</LI> <LI>lower_margin - intervallo tra l'immagine e la sincronizzazione (sotto)</LI> <LI>hsync_len - lunghezza della sincronizzazione orizzontale</LI> <LI>vsync_len - lunghezza della sincronizzazione verticale</LI> </UL> <P> <P>Una "mode-line" di XFree86 ha i seguenti campi <P> <PRE> Modeline "1280x1024" DCF HR SH1 SH2 HFL VR SV1 SV2 VFL </PRE> <P> <P>Alcuni semplici calcoli son necessari per tradurre le "mode-line" di XF86 in una serie d'impostazioni per il device framebuffer. Come esempio, esamineremo come convertire una "mode-line" presa dal mio file XF86Config. <P> <PRE> Modeline "1280x1024" 110.00 1280 1328 1512 1712 1024 1025 1028 1054 </PRE> <P> <P>Prima, calcolare la velocità richiesta del pixclock. XFree86 usa megahertz mentre il framebuffer usa picosecondi (Perché, m'è ignoto). Dividi un milione per DCF. Ad esempio, 1.000.000 / 110,0 = 9090,9091 <P> <P>Quindi abbiam bisogno di calcolare le impostazioni orizzontali. <UL> <LI>left_margin = HFL - SH2 </LI> <LI>right_margin = SH1 - HR</LI> <LI>hsync_len = SH2 - SH1</LI> </UL> <P> <P>Nel nostro esempio, ciò sarà: <UL> <LI>left_margin = 1712 - 1512 = 200</LI> <LI>right_margin = 1328 - 1280 = 48</LI> <LI>hsync_len = 1512 - 1328 = 184</LI> </UL> <P> <P>Ed ora tocca alle impostazioni verticali. <UL> <LI>upper_margin = VFL - SV2</LI> <LI>lower_margin = SV1 - VR</LI> <LI>vsync_len = SV2 - SV1</LI> </UL> <P> <P>Che, nel nostro esempio, saranno: <UL> <LI>upper_margin = 1054 - 1028 = 26</LI> <LI>lower_margin = 1025 - 1024 = 1</LI> <LI>vsync_len = 1028 - 1025 = 3</LI> </UL> <P> <P>Ora possiamo usare queste informazioni per impostare il framebuffer alla modalità desiderata. Per esempio, per il framebuffer matroxfb, è richiesto: <P> <PRE> video=matrox:xres:<>,yres:<>,depth:<>,left:<>,right:<>,hslen:<>,upper:<>,lower:<>,vslen:<> </PRE> <P>Metterò nel mio /etc/lilo.conf la seguente riga: <PRE> append = "video=matrox:xres:1280,yres:1024,depth:32,left:200,right:48,hslen:184,upper:26,lower:0,vslen:3" </PRE> <P> <P>Da notare che in questo caso non è usato il pixclock. Diviene necessario solo se non ti piace la velocità predefinita del pixclock. Puoi anche indicare questo parametro. Come impostarlo è documentato in altre parti di questo HOWTO. <P> <HR> <A HREF="Framebuffer-HOWTO-19.html">Avanti</A> <A HREF="Framebuffer-HOWTO-17.html">Indietro</A> <A HREF="Framebuffer-HOWTO.html#toc18">Indice</A> </BODY> </HTML>