/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Kernebygning og vesafb
Fra : Rander


Dato : 05-04-05 01:42

Jeg er ved at bygge min egen kerne (Debian testing), og den virker sådan
set udemærket, bortset fra at bogstaverne i konsollen er alt for store!

Debian installeren kastede en 2.4-kerne ind, og booter jeg den med vga=791
får jeg de små bogstaver jeg vil have (132x50?). Gør jeg det samme med min
selv-byggede 2.6-kerne får jeg den almindelig 80x25-font...

Jeg har valgt at indbygge VESA i kernen, og jeg går ud fra at den virker
som den skal, da jeg får en fin lille pingvin i toppen af skærmen under
boot. Jeg har prøvet at sætte vga=ask og valgt opløsning under boot, og fik
også en lækker font-størrelse - i ca. 1½ sekund, så skiftede den til 80x25
igen...

Hvad mangler jeg at smide ind i kernen?

--
Lars Rander ** Pil ikke ved min adresse ** :(){ :&:& };:
http://rander.dk (temporarily down!) Do not try this on Linux!

Det er ikke spor sjovt at være ung og lovende når man er 60. (Ukendt)


 
 
Kent Friis (05-04-2005)
Kommentar
Fra : Kent Friis


Dato : 05-04-05 18:36

Den Tue, 05 Apr 2005 02:41:41 +0200 skrev Rander:
> Jeg er ved at bygge min egen kerne (Debian testing), og den virker sådan
> set udemærket, bortset fra at bogstaverne i konsollen er alt for store!
>
> Debian installeren kastede en 2.4-kerne ind, og booter jeg den med vga=791
> får jeg de små bogstaver jeg vil have (132x50?). Gør jeg det samme med min
> selv-byggede 2.6-kerne får jeg den almindelig 80x25-font...
>
> Jeg har valgt at indbygge VESA i kernen, og jeg går ud fra at den virker
> som den skal, da jeg får en fin lille pingvin i toppen af skærmen under
> boot. Jeg har prøvet at sætte vga=ask og valgt opløsning under boot, og fik
> også en lækker font-størrelse - i ca. 1½ sekund, så skiftede den til 80x25
> igen...

Den opløsning man vælger med vga= er en tekst-mode opløsning, det
kunne lyde som om vesafb ikke bruger den til noget... Du skal nok ikke
forvente at have så mange fonte at vælge imellem i grafik-mode, men
hvis du kan justere på opløsningen (fx 1024x768) burde bogstav-
størrelsen umiddelbart følge med pixelstørrelsen ned.

Den eneste gang jeg har prøvet med en framebuffer driver (på en Sparc
der ikke har en rigtig tekstmode) var der plads til masser af bogstaver,
men den kunne også kun køre 1280x1024 - jeg fandt i hvert fald ikke ud
af at ændre det.

Alternativt kan du jo slå VESA fra (så kan den heller ikke konflikte med
X), og køre med vga=...

Mvh
Kent
--
Hard work may pay off in the long run, but lazyness pays off right now.

Thomas S. Iversen (05-04-2005)
Kommentar
Fra : Thomas S. Iversen


Dato : 05-04-05 18:50

> Den opløsning man vælger med vga= er en tekst-mode opløsning, det

Det er ikke korrekt. Fra /usr/src/linux/Documentation/fb/vesafb.txt

"Switching modes is done using the vga=... boot parameter. Read
Documentation/svga.txt for details.

You should compile in both vgacon (for text mode) and vesafb (for
graphics mode). Which of them takes over the console depends on
whenever the specified mode is text or graphics."

vga=XXX kan bruges til begge dele. Afhænger af framebufferdriveren.

Thomas

Rander (05-04-2005)
Kommentar
Fra : Rander


Dato : 05-04-05 22:05

05 Apr 2005 17:50:15 GMT brugte Thomas S. Iversen 14 linier på at fortælle
dette til dk.edb.system.unix:

>> Den opløsning man vælger med vga= er en tekst-mode opløsning, det
>Det er ikke korrekt. Fra /usr/src/linux/Documentation/fb/vesafb.txt
> You should compile in both vgacon (for text mode) and vesafb (for
> graphics mode). Which of them takes over the console depends on
> whenever the specified mode is text or graphics."
>vga=XXX kan bruges til begge dele. Afhænger af framebufferdriveren.

Betyder det at jeg kan nøjes med vgacon og glemme alt om vesafb, når boxen
udelukkende kører text-mode?

--
Lars Rander ** Pil ikke ved min adresse ** :(){ :&:& };:
http://rander.dk (temporarily down!)

Et menneske burde aldrig skamme sig over, at han har taget fejl. Det er jo blot
med andre ord at sige, at man er klogere i dag end i går. (Jonathan Swift)


Thomas S. Iversen (05-04-2005)
Kommentar
Fra : Thomas S. Iversen


Dato : 05-04-05 22:28

> Betyder det at jeg kan nøjes med vgacon og glemme alt om vesafb, når boxen
> udelukkende kører text-mode?

vgacon er for de indbyggede fontstørrelser der findes i VGA biosen. Der er
oftest ikke særlig meget at vælge imellem (80x25 og 80x50 og lidt mere).

Hvis du virklig vil op og slå til søren med mange tegn pr. linie, så skal du
have f.eks. vesafb compileret ind, vælge en høj opløsning med vga=

Derudover skal du have Framebuffer console support og evt. vælge nogle små
fonte.

Slutteligt skal du have fjernet det script der sætter consolfonten under
opstarten af din debian maskine. Jeg kan ikke lige huske hvad og hvor det
sker, men kig lidt på opstartsfilerne

Thomas

Thomas S. Iversen (05-04-2005)
Kommentar
Fra : Thomas S. Iversen


Dato : 05-04-05 22:31

> Slutteligt skal du have fjernet det script der sætter consolfonten under
> opstarten af din debian maskine. Jeg kan ikke lige huske hvad og hvor det
> sker, men kig lidt på opstartsfilerne

Et skud fra hoften: console-screen.sh i /etc/init.d

Thomas

Rander (05-04-2005)
Kommentar
Fra : Rander


Dato : 05-04-05 23:43

05 Apr 2005 21:28:29 GMT brugte Thomas S. Iversen 17 linier på at fortælle
dette til dk.edb.system.unix:

>vgacon er for de indbyggede fontstørrelser der findes i VGA biosen. Der er
>oftest ikke særlig meget at vælge imellem (80x25 og 80x50 og lidt mere).
>Hvis du virklig vil op og slå til søren med mange tegn pr. linie, så skal du
>have f.eks. vesafb compileret ind, vælge en høj opløsning med vga=
>Derudover skal du have Framebuffer console support og evt. vælge nogle små
>fonte.

Done that...

>Slutteligt skal du have fjernet det script der sætter consolfonten under
>opstarten af din debian maskine. Jeg kan ikke lige huske hvad og hvor det
>sker, men kig lidt på opstartsfilerne

Jam... Hvordan kan det have noget med sagen at gøre, når det hele virker
fint med standard 2.4 kernen? Det kører gladeligt vga=791..?

--
Lars Rander ** Pil ikke ved min adresse ** :(){ :&:& };:
http://rander.dk (temporarily down!)

Når en politiker dør, kommer mange kun til begravelsen for at være sikker på,
at man virkelig begraver ham. (Georges Clemenceau)


Thomas S. Iversen (06-04-2005)
Kommentar
Fra : Thomas S. Iversen


Dato : 06-04-05 00:07

>>Slutteligt skal du have fjernet det script der sætter consolfonten under
>>opstarten af din debian maskine. Jeg kan ikke lige huske hvad og hvor det
>>sker, men kig lidt på opstartsfilerne
>
> Jam... Hvordan kan det have noget med sagen at gøre, når det hele virker
> fint med standard 2.4 kernen? Det kører gladeligt vga=791..?

Av ja, god pointe. Jeg kører selv med 791 og det funker fint. Jeg mener bare
jeg skulle ændre noget under opstarten, men det er flere år siden jeg
rettede det så det kan jeg da ikke huske længere :-/ KØrer på en
hjemmebrygget 2.6.8 kerne.

Thomas

Rander (05-04-2005)
Kommentar
Fra : Rander


Dato : 05-04-05 22:04

05 Apr 2005 17:35:59 GMT brugte Kent Friis 32 linier på at fortælle dette
til dk.edb.system.unix:

[...]
>> Jeg har valgt at indbygge VESA i kernen, og jeg går ud fra at den virker
>> som den skal, da jeg får en fin lille pingvin i toppen af skærmen under
>> boot. Jeg har prøvet at sætte vga=ask og valgt opløsning under boot, og fik
>> også en lækker font-størrelse - i ca. 1œ sekund, så skiftede den til 80x25
>> igen...
[...]
>Alternativt kan du jo slå VESA fra (så kan den heller ikke konflikte med
>X), og køre med vga=...

Øhm... Nu kører jeg overhovedet ikke X på den (GUI har intet at gøre med en
server).

Men som jeg forstår det skal man netop have VESA understøttelse for at
kunne lave vga= tricket? Som jeg forstod det virker det slet ikke uden
VESA?

--
Lars Rander ** Pil ikke ved min adresse ** :(){ :&:& };:
http://rander.dk (temporarily down!)

En dronnings mand er en oberst med fast ansættelse, som skal adlyde de
ordrer, der bliver udstedt af generalen, hans kone. (Prins Henrik)


Kent Friis (05-04-2005)
Kommentar
Fra : Kent Friis


Dato : 05-04-05 22:27

Den Tue, 05 Apr 2005 23:03:32 +0200 skrev Rander:
> 05 Apr 2005 17:35:59 GMT brugte Kent Friis 32 linier på at fortælle dette
> til dk.edb.system.unix:
>
> [...]
>>> Jeg har valgt at indbygge VESA i kernen, og jeg går ud fra at den virker
>>> som den skal, da jeg får en fin lille pingvin i toppen af skærmen under
>>> boot. Jeg har prøvet at sætte vga=ask og valgt opløsning under boot, og fik
>>> også en lækker font-størrelse - i ca. 1œ sekund, så skiftede den til 80x25
>>> igen...
> [...]
>>Alternativt kan du jo slå VESA fra (så kan den heller ikke konflikte med
>>X), og køre med vga=...
>
> Øhm... Nu kører jeg overhovedet ikke X på den (GUI har intet at gøre med en
> server).
>
> Men som jeg forstår det skal man netop have VESA understøttelse for at
> kunne lave vga= tricket? Som jeg forstod det virker det slet ikke uden
> VESA?

Så har du misforstået noget... Muligvis blot forskellen på VESA og
vesafb. VESA er en gammel standard for grafikkort, og hvis du skal
køre andet end EGA/VGA modes, skal kortet være så nyt at det supporter
disse modes (dvs ikke et ISA-kort). vesafb derimod er framebufferen,
altså vesa grafikmodes. Den har du kun brug for hvis du vil have en
pingvin i hjørnet, eller har et grafikkort der ikke kan VGA tekstmode
(fx på en SUN maskine, men så er det nok en af de andre *fb).

vga= virkede længe før vesafb blev opfundet.

Mvh
Kent
--
Hard work may pay off in the long run, but lazyness pays off right now.

Rander (05-04-2005)
Kommentar
Fra : Rander


Dato : 05-04-05 23:42

05 Apr 2005 21:26:34 GMT brugte Kent Friis 35 linier på at fortælle dette
til dk.edb.system.unix:

>> Men som jeg forstår det skal man netop have VESA understøttelse for at
>> kunne lave vga= tricket? Som jeg forstod det virker det slet ikke uden
>> VESA?
>Så har du misforstået noget... Muligvis blot forskellen på VESA og
>vesafb. VESA er en gammel standard for grafikkort, og hvis du skal
>køre andet end EGA/VGA modes, skal kortet være så nyt at det supporter
>disse modes (dvs ikke et ISA-kort). vesafb derimod er framebufferen,
>altså vesa grafikmodes. Den har du kun brug for hvis du vil have en
>pingvin i hjørnet, eller har et grafikkort der ikke kan VGA tekstmode
>(fx på en SUN maskine, men så er det nok en af de andre *fb).

Right, så havde jeg ikke misforstået noget...

>vga= virkede længe før vesafb blev opfundet.

Så fatter jeg ikke rigtig noget alligevel. vgacon er vel, som navnet siger,
VGA. VGA er 640*480. Men når jeg nu vil have konsollen til at køre 1024*768
(vga=791) er jeg vel nødt til at køre vesafb!?

--
Lars Rander ** Pil ikke ved min adresse ** :(){ :&:& };:
http://rander.dk (temporarily down!)

Jeg har en hund der tror på Gud. (Ida, 5 år)


Carsten Holck (05-04-2005)
Kommentar
Fra : Carsten Holck


Dato : 05-04-05 23:06

Rander said the following on 05-04-2005 23:03:
> 05 Apr 2005 17:35:59 GMT brugte Kent Friis 32 linier på at fortælle dette
> til dk.edb.system.unix:
....
> Øhm... Nu kører jeg overhovedet ikke X på den (GUI har intet at gøre med en
> server).

Joda, så kan man have flere konsoller på skærmen af gangen...

/carsten

Thomas S. Iversen (05-04-2005)
Kommentar
Fra : Thomas S. Iversen


Dato : 05-04-05 23:12

> Joda, så kan man have flere konsoller på skærmen af gangen...

Det kan man også i tekstmode. Værktøjet hedder emacs

Thomas

Rander (06-04-2005)
Kommentar
Fra : Rander


Dato : 06-04-05 02:54

Tue, 05 Apr 2005 02:41:41 +0200 brugte Rander 21 linier på at fortælle
dette til dk.edb.system.unix:

>Hvad mangler jeg at smide ind i kernen?

Tjah, if all else fails, read the logs!

Opdagede lige i sysloggen, at når min kerne bootede startede den rivafb
(som jeg havde slået til, fordi jeg har et nVidia Riva TNT2-kort i
maskinen), og det fejlede, fordi den åbenbart ikke kunne få fat i den
hukommelse den havde brug for - alt det stod der ikke når den bootede
2.4-kernen der blev lagt ind under install...

Så jeg manglede ikke at putte noget IND i kernen - jeg hev
Riva-understøttelsen UD, og nu kører det nøjagtig som det skal - go
figure...

Så nu er mit gæt at Riva-tingen kun behøver være der hvis man vil køre X i
vesa-modes.

--
Lars Rander ** Pil ikke ved min adresse ** :(){ :&:& };:
http://rander.dk (temporarily down!)

Det venstre ben er ca. 2 cm kortere end andet, som jeg er født med. (Skadesanmeldelse)


Thomas S. Iversen (06-04-2005)
Kommentar
Fra : Thomas S. Iversen


Dato : 06-04-05 07:24

> Så nu er mit gæt at Riva-tingen kun behøver være der hvis man vil køre X i
> vesa-modes.

Ikke helt. rivafb er accelereret i forhold til vesafb. Den er accelereret på
4 punkter:

1. modeskift
2. bitblit copy
3. bitblit fills
4. bitblit imagefills

Det er klart at man kan køre X oven på framebufferen med X's framebuffer
driver. Den vil så gøre brug af disse 4 accelerationer for at få en rimelig
performance ud af dette arrangement.

MEN man kan f.eks. også køre diretcfb (directfb.org) oven på framebufferen
og ad den vej køre gnome/gtk applikationer uden at behøve X. Kan være en god
ide ved lowmemorysystems.

Mvh Thomas

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste