# Framebuffer

## Christoph Schnauß

hallo,

ich habe auf einem PentiumIV mit 2,6 GHz, 1024 MB RAM und einer Nvidia GeForce FX 5200 das Problem, daß ich die Framebuffer-Einstellungen absolut nicht eingerichtet bekomme, das heißt, es gibt im Geräteverzeichnis einfac hkein fb. Den Kernel habe ich auf 2.6.19_rc5 aktualisiert. Es handelt sich nicht um den Rechner, mit dem ich die in anderen Nachfragen der letzten Tage beschriebenen Probleme habe/hatte.

Ohne Framebuffer kriege ich auf der Konsole nur eine Auflösung von 800x600, und das bedeutet, die Schrift ist zu groß. Ich hätte schon gerne wenigstens 1024x768 und habe das auch in allen mir bekannten Konfigurationsdateien so angegeben. Der X-Server kriegt das auch einigermaßen hin. Aber ich bin es gewohnt, eine Menge Arbeit auf der Konsole zu erledigen und möchte dazu einfach eine passendere Auflösung haben. Wie kriege ich denn Framebuffer aktiviert (die Kerneleinstellungen unter "Device Drivers -> Graphics Support" sind mittlerweile ein paar dutzendmal verändert worden, was aber nie zu einer Problemlösung führte)?

Eventuell ist die Frage, was denn Framebuffer sind, eine Grundsatzfrage, die ein Moderator an eine andere Stelle verschieben mag.

----------

## deejay

Moin,

welchen Kernel verwendest du? CK-Sources?

Kann sein, dass du die ck-sources noch extra patchen musst, so war es glaube mal. Ob es allerdings

immer noch so ist, weiß ich nicht, ansonsten probier mal die gentoo-sources, damit funktioniert alles wunderbar.

Gruß

deejay

----------

## Christoph Schnauß

 *deejay wrote:*   

> welchen Kernel verwendest du? CK-Sources?

 

Nein, Vanilla-Sources.

----------

## franzf

 *Christoph Schnauß wrote:*   

>  *deejay wrote:*   welchen Kernel verwendest du? CK-Sources? 
> 
> Nein, Vanilla-Sources.

 

Auch die Vanilla-sources sind ungepatcht.

Schau mal hier, da steht einiges zur Einrichtung deines FrameBuffer.

Grüße

Franz

----------

## deejay

Oder nimm die gentoo-sources, da sind viele patches schon mit dabei  :Smile:  Unter anderem auch für framebuffer

----------

## Christoph Schnauß

 *franzf wrote:*   

> Schau mal hier, da steht einiges zur Einrichtung deines FrameBuffer.

 

Naja, da geht es um Hintergrundbilder. Das ist mir aber völlig wurscht, ich brauche keine bunten Bildchen, sondern möchte die Schrift kleiner haben. - Ich habe zur Kontrolle in einer virtuellen Maschine (VMware auf einem Windows-Host) mal exakt dieselbe Installation gemacht. Da habe ich zwar etwas andere virtuelle Hardware (keine nvidia), aber da gehts, auch wenn ich gar keine Framebuffer-Einstellung im Kernel habe.

----------

## ChrisJumper

Hi!

Also das Wiki erklärt aber auch wie man den Framebuffer einstellt um eine grössere Auflösung zu bekommen.

(Die Bunten Bildchen kommen ja in einer höheren Auflösung besser zur Geltung.)

Welchen Bootmanager benutzt du? Und übergibst du damit auch die richtigen Aufrufparameter?

Bei mir schaut das so aus:

```
kernel  /boot/kernel-2.6.18-gentoo-r1-c root=/dev/hdb6 video=vesafb:1024x768-32@75,mtrr,ywrap splash=silent,fadein,theme:MaiHoshino quiet CONSOLE=/dev/tty1
```

Weobei man den splash-Abschnitt weglasen kann wenn man keine Bildchen mag, aber der video-Abschnitt sollte schon irgendwie bei dir auftauchen.

Edit:

What is a Fram-BufferLast edited by ChrisJumper on Mon Nov 13, 2006 2:06 pm; edited 1 time in total

----------

## deejay

Man muss ja nicht zwingend ein Bild benutzen, wenn man Framebuffer einsetzt.

Das macht ja dann der bootsplash, oder die splashutils.

Aber Framebuffer benötigst du glaube schon, wenn du die Auflösung der konsole ändern möchtest.

----------

## Christoph Schnauß

hallo,

 *ChrisJumper wrote:*   

> Also das Wiki erklärt aber auch wie man den Framebuffer einstellt um eine grössere Auflösung zu bekommen.

 

Das ist schon richtig, ja.

 *ChrisJumper wrote:*   

> Welchen Bootmanager benutzt du? Und übergibst du damit auch die richtigen Aufrufparameter?

 

Hier ist es grub. Die entsprechende Eintragung sieht so aus:

```
title  Gentoo

root (hd1,0)

kernel /boot/kernel root=/dev/hdb1 video=vesafb:1024x768-32@75,mtrr,ywrap
```

 *deejay wrote:*   

> Aber Framebuffer benötigst du glaube schon, wenn du die Auflösung der konsole ändern möchtest.

 

Ja, das ist leider so. Im Syslog (/var/log/messages) müßte eigentlich an dieser Stelle

```
Nov 13 15:27:39 pc1 FDC 0 is a post-1991 82077

Nov 13 15:27:39 pc1 RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize

Nov 13 15:27:39 pc1 loop: loaded (max 8 devices)

Nov 13 15:27:39 pc1 8139too Fast Ethernet driver 0.9.28

Nov 13 15:27:39 pc1 ACPI: PCI Interrupt 0000:02:0d.0[A] -> GSI 21 (level, low) -> IRQ 16

Nov 13 15:27:39 pc1 eth0: RealTek RTL8139 at 0xf8804800, 00:50:bf:91:2a:24, IRQ 16

Nov 13 15:27:39 pc1 eth0:  Identified 8139 chip type 'RTL-8139C'
```

irgendwo "fb0: VESA VGA frame buffer device" dazwischenstehen. So ist es jedenfalls bei der zum Vergleich installierten virtuellen Maschine. Hier aber nicht, und es fehlt in /dev auch der zugehörige Eintrag.

Ich werde es noch mit einem anderen Kernel probieren.

----------

## ChrisJumper

Ich denke du hast 2 Probleme:

1. Der Framebuffer ist irgendwie nicht richtig im Kernel.

(Weil dir das Framebuffer-Device fehlt)

2. Du musst CONSOLE=/dev/tty1 angeben

(Damit er die Auflösung - bzw. den Framebufferdevice - beim entsprechenden tty verwendet.)

Vielleicht hilft dir ein Auszug aus meiner Kernel-Config irgendwie weiter:

```
$ cat /usr/src/linux/.config | grep 'FRAME'

CONFIG_FRAMEBUFFER_CONSOLE=y

# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set

$ cat /usr/src/linux/.config | grep 'VESA'

CONFIG_FB_VESA=y

# CONFIG_FB_VESA_STD is not set

CONFIG_FB_VESA_TNG=y

CONFIG_FB_VESA_DEFAULT_MODE="1024x768@75"
```

----------

## Christoph Schnauß

 *ChrisJumper wrote:*   

> Vielleicht hilft dir ein Auszug aus meiner Kernel-Config irgendwie weiter

 

Nicht unmittelbar. Das sah bei mir fast genauso aus, mit dem Unterschied, daß es bei mir 

```
pc1 ~ # cat /usr/src/linux/.config |grep VESA

CONFIG_FB_VESA=y

pc1 ~ #

```

heißt.

Ich habs jetzt aber doch noch hingekriegt. Letzten Endes wars die Idee, mit grep mal die Konfigurationsdatei durchzugehen. Also war dein Hinweis indirekt doch hilfreich. Es muß noch folgendes rein - jedenfalls bei mir (gekürzt):

```
# I2C support

CONFIG_I2C=y

CONFIG_I2C_CHARDEV=m

# I2C Algorithms

CONFIG_I2C_ALGOBIT=y

CONFIG_I2C_ALGOPCF=m

CONFIG_I2C_ALGOPCA=m

# I2C Hardware Bus support

CONFIG_I2C_AMD756=m

CONFIG_I2C_I801=y

CONFIG_I2C_PIIX4=y

CONFIG_I2C_NFORCE2=y
```

----------

## musv

 *Christoph Schnauß wrote:*   

> Es muß noch folgendes rein - jedenfalls bei mir (gekürzt):
> 
> ```
> # I2C support
> 
> ...

 

Wieso muß gleichzeitig der Bus-Support für Intel (PIIX4), nochmal Intel (I801) und Nvidia (NFORCE2) rein? Oder hast du 3 verschiedene Chipsätze auf Deinem Motherboard?   :Shocked: 

Und die Module kannst du auch getrost rausnehmen, wenn es Dir darum geht, das Framebuffer-Device schon beim Bootvorgang zu aktivieren. Und zwar einfach aus dem Grund, da Module ohne Extra-Ramdisk beim Booten einfach nicht geladen werden können, weil das Root-Laufwerk noch gar nicht eingebunden ist. 

Halte Dich lieber an das oben genannte Wiki. Denn das funktioniert. Die Option mit dem Splash kannst du ja rauslassen, aber die Kernelparameter sind bis auf diesen Punkt identisch. 

Gutgemeinter Ratschlag: 

Kernelbauen ist viel Probieren, viel Arbeit und viel Mühe bis er so funktioniert, wie man ihn gern haben möchte. ABER: Zu jeder Kerneloption (oder zumindest fast jeder) gibt es eine Erklärung. Und falls Dir die Erklärung nicht ausreichen sollte, dann ist auch Google noch Dein Freund. Du solltest Dir die Zeit nehmen - auch wenn es ein paar Stunden in Anspruch nimmt - und versuchen, den Kernel auf Deine Rechnerkonfiguration abzustimmen.

----------

## Christoph Schnauß

 *musv wrote:*   

> Wieso muß gleichzeitig der Bus-Support für Intel (PIIX4), nochmal Intel (I801) und Nvidia (NFORCE2) rein? Oder hast du 3 verschiedene Chipsätze auf Deinem Motherboard?

 

Nein, es sind nur zwei. Intel(801) kann wieder raus.

 *musv wrote:*   

> da Module ohne Extra-Ramdisk beim Booten einfach nicht geladen werden können, weil das Root-Laufwerk noch gar nicht eingebunden ist. 

 

Deswegen gibts auch eine RAM-Disk

 *musv wrote:*   

> Halte Dich lieber an das oben genannte Wiki. Denn das funktioniert. 

 

Wenn es wirklich funktioniert hätte, hätte ich nicht nachfragen brauchen.

 *musv wrote:*   

> Kernelbauen ist viel Probieren, viel Arbeit und viel Mühe bis er so funktioniert, wie man ihn gern haben möchte. 

 

Das ist mir nach ein paar Jahren Bastelei ganz gut bekannt ;-)

----------

## Child_of_Sun_24

Hi @all

Kann es vielleicht sein das du vesafb benutzt und nicht vesafb-tng ? Wenn ja dann bringt die Zeile video=vesafb:1024x768-32@75.... nichts, richtig müsste es heißen video=vesafb:vga=792,mtrr:3,ywrap,pmipal... usw. in der grub.conf.

Wenn du ne 1280x1024er auflösung haben möchtest dann nimmst du vga=795, höher geht glaube ich auch mit dem normalen vesafb nicht.

CoS24

----------

