# [SOLVED][GRUB]problem z ustawieniem framebuffer'a

## tichodroma

Witam,

po zainstalowaniu i uruchomieniu Gentoo, konsola jest wyswietlana w malej rozdzielczosci, postanowilem wiec wlaczyc framebuffera. Przegladnalem google, jak i strone HOWTO (http://gentoo-wiki.com/HOWTO_Framebuffer_Support). Wlaczylem w jadrze nastepujace elementy(na stale, nie jako moduly):

```
Device Drivers ->

 Graphics support ->

  [*] Support for frame buffer devices

  <*>   VESA VGA graphics support

  Console display driver support ->

   [*] Video mode selection support

   <*> Framebuffer Console support
```

Mam, GeForce4 MX440, ale wylaczylem wsparce nVidi dla framebuffera, jako ze gdzies slyszalem, ze nie dziala najlepiej. Zrekompilowalem jadra, przenioslem nowy obraz, do /boot i zaczalem konfigurowac grub'a. Zgodnie z opisem dalem:

```
video=vesa:ywrap,mtrr vga=0x318
```

Po restarcie nic sie nie zmienilo, rozdzielczosc jaka byla, taka jest. Sprobowalem wiec roznych parametrow, przy 'video' ale to tez nie poskutkowalo. Mam wiec pytanie, gdzie moze byc blad?Last edited by tichodroma on Sat Oct 08, 2005 2:30 pm; edited 1 time in total

----------

## rofro

mi działa gensplash

```
genkernel --menuconfig --gensplash all
```

plik /boot/grub.conf

```
title=Gentoo Linux 2.6.12-gentoo-r10 bootsplash

root (hd0,4)

kernel (hd0,4)/boot/kernel-genkernel-x86-2.6.12-gentoo-r10 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda5 udev video=vesafb:ywrap,mtrr,800x600-16@75

initrd (hd0,4)/boot/initramfs-genkernel-x86-2.6.12-gentoo-r10
```

----------

## tichodroma

Z tym, ze ja nie uzywalem genkernela. Moja linijka 'kernel' w grub'ie wyglada tak:

```
kernel (hd0,0)/boot/kernel-2.6.11-gentoo-r3 video=vesafb:ywrap,mtrr vga=0x318
```

----------

## Bako

u mnie linijka z framebufferem + splashem wyglada tak:

```
kernel /vmlinuz root=/dev/hda3 video="radeonfb:1024x768-32@85" splash=silent,theme:livecd-2005.1 quiet CONSOLE=/dev/tty1

```

zamien u siebie radeonfb na vesafb i wywal wszystko po splash jak nie uzywasz  :Smile: 

----------

## tichodroma

 *Bako wrote:*   

> zamien u siebie radeonfb na vesafb i wywal wszystko po splash jak nie uzywasz 

 

Przeciez nigdy nie uzywalem radeonfg, a caly czas vesafb, pisalem ze mam nVidie. Wiec co mam zamienic?

----------

## rofro

nie pytaj, po prostu zmień   :Wink: 

----------

## tichodroma

Moze jeszcze raz, bo chyba jestem jakis nie-ten-tego. Bako napisal, bym zmienil radeonfb na vesafb. Ale jak mam zamienic radeonfb na cokolwiek, skoro go nie uzywam. Po drugie, napisalem wyraznie, ze uzylem wlasnie vesafb, wiec nie rozumiem postu Baka. Tego dotyczylo moje pytanie.

Chwilowo mam cos takiego:

```
video=vesafb:ywrap,mtrr,1024x768-16@75 
```

Dalej nie dziala wiec jestem zupelnie zdezorientowany. Ktos ma jakies pomysly?

----------

## Raku

Bako napisał też na początku: u mnie linijka z framebufferem + splashem wyglada tak:

a to co masz teraz działać nie będzie, poniewaz masz starę vesafb, gdzie podaje się w postaci 0xcośtam. Najlepiej połataj jadro łatą vesa-tng - wtedy notacja 1024x768@85 będzie możliwa do ustawienia już na poziomie konfiguracji kernela (w menuconfig)

----------

## tichodroma

 *Quote:*   

> a to co masz teraz działać nie będzie, poniewaz masz starę vesafb, gdzie podaje się w postaci 0xcośtam. Najlepiej połataj jadro łatą vesa-tng - wtedy notacja 1024x768@85 będzie możliwa do ustawienia już na poziomie konfiguracji kernela (w menuconfig)

 

Juz mam vesa-tng, w miedzy czasie sprobowalem i tez nie dziala. Starej vesy uzywalem z opcja 0x318, tak jak napisalem w drugim poscie. Acha, ustawilem sobie w jadrze automatyczne 1024x768, ale to tez nie zaskakuje  :Sad:  . Trace wiare...

----------

## Bako

majac stara vese wpisz tak:

```
video=vesafb,vga=0x318
```

maja nowa, tak:

```
video=vesafb:1024x768-32@75
```

u mnie tylko radeonfb wyciaga 85Hz  :Smile: 

Najlepiej to przesiadz sie na jakies bezpieczne podrasowane jajko (czyt. gento-sources) i nie bedziesz musial nic recznie latac (masz juz dodane latki dla framebuffera oraz splasha)

----------

## tichodroma

Dalej nic  :Crying or Very sad:  . Moze sprobojmy inaczej. Jak Wy skonfigurowalisbyscie tego gruba? Mam gentoo-sources 2.6.12-r10, z wlaczonymi wszystkimi flagami, (patrz post1). Korzystam z vesafb-tng.

----------

## Padre

Moj wpis w kernelu:

```

 <*>   VESA VGA graphics support                         

                 VESA driver type (vesafb-tng)  --->      

         (1024x768-32@75) VESA default mode

```

Moj wpis w grub'ie:

```

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

```

Mam nadzieje ze pomoze. 

GL

----------

## sebad

Sprobuj zmienic ta opcja w jajku (choc mozna to zmienic w lilo.conf)

```
VESA driver type (vesafb-tng)  --->  (1024x768-32@75) VESA default mode
```

Wazne jest aby aby bylo 1024x768-32@75 a nie 1024x768@75 ,poniewaz wtedy bedziesz mial palete kolorow 8 bitowa i framebuffer nie bedzie mogl wyswietlic motywow ,ktore sa w 16 lub 32 bitach. Chociaz nie wiem czy nie dzialalyby motywy 8 bitowe. Aha ,daj:

```
rc-update add splash boot
```

i lilo uruchomic z parametrem -v (nie wiem jak w grubie).

Pozdrawiam

----------

## tichodroma

Dobra, udalo sie. Poniewaz zadne wpisy nie dzialaly, przeinstalowalem system, za wczasu wszystko ustawiajac, i teraz jest ok(czego sie nie robi dla wymarzonego systemu  :Very Happy:  ). Dzieki wszystkim za pomoc

----------

## BeteNoire

Kurcze, co za rozwiązanie... Dla mnie ten problem wcale SOLVED nie jest.

Szukam jak ustawić u siebie splash, żeby zadziałał i znajduję taką bzdurę... przeinstalować system :/

Wszystko mi gra... prócz fbsplasha. W /var/log/messages mam taką linijkę:

```
fbsplash: console 0 using theme 'livecd-2005.1'
```

i nic więcej. Żadnego errora, nic. 

Edit: Problem polegał na tym, że temat livecd w ogóle się nie ładował, podczas gdy inne (emergence, gentoo) się ładowały. Próbowałem ustawiać temat poprzez splash_manager. Rozwiązanie problemu znalazłem w innym wątku: zmieniłem vesafb-tng na vesafb i mam tego splasha co chciałem.

Tylko dlaczego to ustawienie wpływa na jeden temat a na inne nie?

----------

## karaluch

Z uwagi na to, ze temat nadal zyje dolacze sie zezwoim problemem :)

/boot/grub/grub.conf

```
default 0

timeout 3

splashimage=(hd0,0)/grub/splash.xpm.gz

title=Gentoo Linux (2.6.20)

root (hd0,0)

kernel /boot/kernel-2.6.20-gentoo root=/dev/hda3

#video=i810fb:vram:4,xres:1024,yres:768,bpp:16,hsync1:30,hsync2:55,vsync1:50,vsync2:85,accel

video=vesafb:1024x768-16@60,ywrap,mtrr:2

splash=silent,fadein,theme:livecd-2006.1 quiet CONSOLE=/dev/tty1

fbcon=scrollback:256K

initrd (hd0,0)/boot/fbsplash-livecd-2006.1-1024x768
```

/var/log/messages:

```
Console: switching to colour frame buffer device 80x30

I810FB: fb0         : Intel(R) 815 (Internal Graphics with AGP) Framebuffer Device v0.9.0

I810FB: Video RAM   : 4096K

I810FB: Monitor     : H: 29-30 KHz V: 60-60 Hz

I810FB: Mode        : 640x480-8bpp@60Hz

[drm] Initialized drm 1.1.0 20060810

[drm] Initialized i810 1.4.0 20030605 on minor 0

...

fbsplash: console 0 using theme 'livecd-2006.1'
```

Juz mowie jak mam jajko zrobione:

```
<*>   VESA VGA graphics support 

             VESA driver type (vesafb-tng)  ---> 

(1024x768-16@60) VESA default mode

<M> Intel 810/815 support (EXPERIMENTAL)

[ ]   use VESA Generalized Timing Formula

< > Intel 830M/845G/852GM/855GM/865G/915G/945G support (EXPERIMENTAL)
```

Ten shashowany wpis w grubie pochodzi z http://gentoo-wiki.com/HOWTO_fbsplash#Intel_i810 ale nie dziala wiec wrocilem do podstawy i tez nie dziala. Juz nawet nie zastanawiam sie nad dalszymi krokami, teraz chce po prostu zrozumiec dlaczego nie moge wbic wiekszje rozdzielczosci... wiem wiem 4mb to nie wiele ale kurcze jak sobie policze to styka na 800x600-16 i tez nie wchodzi - WTF

-- UPDATE !! --

Udalo mi sie wbic do konsoli taka rozdzielczosc jaka chcialem ale to dopiero pierwszy krok.

Zgodnie z /usr/src/linux-2.6.20-gentoo/Documentation/fb/intel810.txt

```
# nano -w /etc/modprobe.conf

options i810fb vram=4 xres=1024 yres=768 bpp=16 hsync1=30 hsync2=55 vsync1=50 vsync2=85 accel=1 mtrr=1
```

```
# nano -w /boot/grub/grub.conf

default 0

timeout 3

splashimage=(hd0,0)/grub/splash.xpm.gz

title=Gentoo Linux (2.6.20)

root (hd0,0)

kernel /boot/kernel-2.6.20-gentoo root=/dev/hda3

video=i810fb:vram:4,xres:1024,yres:768,bpp:16,hsync1:30,hsync2:55,vsync1:50,vsync2:85,mtrr:2,accel

splash=silent,fadein,theme:livecd-2006.1 quiet CONSOLE=/dev/tty1

fbcon=scrollback:256K

initrd /boot/fbsplash-livecd-2006.1-1024x768
```

Nie wiem, moze ktos widzi tu jakas literowke. System staruje normalnie, rozdzielczosc jest mala, a zaczyna ladowac modulu z modules.autostart.d to obraz sie skaluje do 1024x768 ale wygadla to srednio bo raz ze czesc ekanu jest waska, a dwa ze moment ten powienien byz zainiciowany duzo wczesniej. 

Korzystalem z artykulu: http://www.gentoo.org.pl/artykuly/gentoo_-_instalacja_i_konfiguracja_systemu/gentoo_splash__gensplash.html i zgodnie z nim do testowania uzywa sie:

```
# splash_manager --theme=livecd-2006.1 --cmd=set --tty=1
```

Wszystko wygalda pieknie ale dlaczego konsola w takim formacie nie staruje od razu, zwlaszcza ze mam ustalony initrd. Nie wspolne juz o graficznym loaderze !!

----------

## karaluch

Tyle wiem:

```
Terminal / # dmesg |grep i810fb

i810fb_init_pci: DDC probe successful

Terminal / # dmesg |grep vesafb

vesafb: Intel Corporation, Intel(R) 815 Chipset, Hardware Version 0.0 (OEM: Intel(R) 815 Chipset Video BIOS)

vesafb: VBE version: 3.0

vesafb: protected mode interface info at c000:99d0

vesafb: pmi: set display start = c00c9a16, set palette = c00c9a3a

vesafb: pmi: ports = 3c0 3c4 3c5 3c7 3c8 3c9 3ce 3cf 3d4 3d5 3d6 3d7 3d8 3d9 3da

vesafb: VBIOS/hardware supports DDC2 transfers

vesafb: monitor limits: vf = 76 Hz, hf = 94 kHz, clk = 202 MHz

vesafb: probe of vesafb.0 failed with error -22
```

Ale to jakbym nic nie wiedzial bo google jest puste wzmianek o error -22 przy vesafb :(

-- UPDATE -- 

Wnioskuje o zmiane tematu na nie SOLVED bo w moim przypadku problam nadal sie pojawia !!

----------

## karaluch

Mam problem z wymuszeniem okreslonej rozdzielczoscji w konsoli, zamiast 1024x768-16@75Hz wywala mi ciagle 1160x864-8bpp@74Hz. Wproadzilem zmiany jak w gentoo-wiki dla i810fb a wiec wywalilem vesafb i uzywam tylko i810fb.

```
default 0

timeout 3

splashimage=(hd0,0)/grub/splash.xpm.gz

title=Gentoo Linux (2.6.20)

root (hd0,0)

kernel /boot/kernel-2.6.20-gentoo root=/dev/hda3

video=i810fb:vram:4,xres:1024,yres:768,bpp:16,hsync1:30,hsync2:55,vsync1:50,vsync2:85,accel

splash=silent,fadein,theme:livecd-2006.1 quiet CONSOLE=/dev/tty1 fbcon=scrollback:256K

initrd /boot/fbsplash-livecd-2006.1-1024x768
```

```
i810-i2c: Probe DDC1 Bus

i810fb_init_pci: DDC probe successful

Console: switching to colour frame buffer device 145x54

I810FB: fb0         : Intel(R) 815 (Internal Graphics with AGP) Framebuffer Device v0.9.0

I810FB: Video RAM   : 4096K

I810FB: Monitor     : H: 29-94 KHz V: 56-76 Hz

I810FB: Mode        : 1160x864-8bpp@74Hz
```

----------

