# problem z fbsplash - brak opcji - dekoracji w kernelu

## ryrych

witam,

Chciałem sobie upiększyć start Gentoo więc postanowiłem zainstalować FBsplash. Wykonywałem wg http://en.gentoo-wiki.com/wiki/Fbsplash. Ale mój kernel nie widzi opcji

```

Device Drivers ->

    Graphics support ->

        Console display driver support ->

        <*> Framebuffer Console support

        [*] Support for the Framebuffer Console Decorations

```

którą opisuje ta strona:

http://en.gentoo-wiki.com/wiki/Framebuffer#Optionals

Jest to potrzebne do wyświetlenia obrazka, bo mi nie działa w tej chwili:

```

gentoo linux-2.6.27-gentoo-r8 # splash_manager --theme=livecd-2007.0 --cmd=set --tty=1

Failed to open the fbcon_decor control device.

Failed to open the fbcon_decor control device.

```

Nie wiem co jest grane. Góglowałem, szukałem po forach. Wiem tylko, że patchować nie trzeba. Zainstalowałem nawet najnowsze dostępne jądro 2.6.28-gentoo-r3 i wykonałem reinstalację splashutils (oczywiście z flagą fbcondecor).

Sugestie mile widziane  :Smile: 

----------

## caruso

Opcja przeszła chyba do:

 Device Drivers  --->Graphics support  --->Console display driver support  --->Support for the Framebuffer Console Decorations

----------

## ryrych

Nie, tam też nie ma.

Co ciekawe, jak wyszukam w konfiguracji kernela "FB_CON_DECOR":

```

Symbol: FB_CON_DECOR [=n]                                                                                                                            │

  │ Prompt: Support for the Framebuffer Console Decorations                                                                                              │

  │   Defined at drivers/video/console/Kconfig:131                                                                                                       │

  │   Depends on: HAS_IOMEM && VT && FRAMEBUFFER_CONSOLE=y && !FB_TILEBLITTING                                                                           │

  │   Location:                                                                                                                                          │

  │     -> Device Drivers                                                                                                                                │

  │       -> Graphics support                                                                                                                            │

  │         -> Console display driver support                                                                                                            │

  │           -> Framebuffer Console support (FRAMEBUFFER_CONSOLE [=y])         

```

to pokazuje mi to położenie oraz że nie jest aktywowane, ale tego tam nie ma.  :Sad: 

----------

## caruso

Poszukaj symbol FB_TILEBLITTING  i sprawdź czy nie masz przypadkiem włączone (ma być wyłączone).

----------

## ryrych

Masz rację - wyłączyłem to + pokombinowałem z paroma zależnościami (głównie chodziło, żeby nie były modułami) i pojawia się opcja odnośnie dekoracji.

Ale przy okazji namieszałem, bo powywalałem trochę zbędnych (tak myślałem) modułów w Support for frame buffer devices:

Teraz zamiast X-ów wita mnie czarny ekran z paroma artefaktami  :Very Happy: 

Wygląda to tak:

```

--- Support for frame buffer devices                                                                        │ │

  │ │                                      [*]   Enable firmware EDID                                                                                  │ │

  │ │                                      [ ]   Framebuffer foreign endianness support  --->                                                          │ │

  │ │                                      -*-   Enable Video Mode Handling Helpers                                                                    │ │

  │ │                                      [ ]   Enable Tile Blitting Support                                                                          │ │

  │ │                                            *** Frame buffer hardware drivers ***                                                                 │ │

  │ │                                      < >   Cirrus Logic support                                                                                  │ │

  │ │                                      < >   Permedia2 support                                                                                     │ │

  │ │                                      < >   CyberPro 2000/2010/5000 support                                                                       │ │

  │ │                                      < >   Arc Monochrome LCD board support                                                                      │ │

  │ │                                      [ ]   Asiliant (Chips) 69000 display support                                                                │ │

  │ │                                      [ ]   IMS Twin Turbo display support                                                                        │ │

  │ │                                      <M>   VGA 16-color graphics support                                                                         │ │

  │ │                                      <M>   Userspace VESA VGA graphics support                                                                   │ │

  │ │                                      [*]   VESA VGA graphics support                                                                             │ │

  │ │                                      [*]   EFI-based Framebuffer Support                                                                         │ │

  │ │                                      < >   N411 Apollo/Hecuba devkit support                                                                     │ │

  │ │                                      < >   Hercules mono graphics support                                                                        │ │

  │ │                                      < >   Epson S1D13XXX framebuffer support                                                                    │ │

  │ │                                      < >   nVidia Framebuffer Support                                                                            │ │

  │ │                                      < >   nVidia Riva support                                                                                   │ │

  │ │                                      <M>   Intel 810/815 support (EXPERIMENTAL)                                                                  │ │

  │ │                                      [ ]     use VESA Generalized Timing Formula                                                                 │ │

  │ │                                      < >   Intel LE80578 (Vermilion) support                                                                     │ │

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

  │ │                                      < >   Matrox acceleration                                                                                   │ │

  │ │                                      <M>   ATI Radeon display support                                                                            │ │

  │ │                                      [*]     DDC/I2C for ATI Radeon support                                                                      │ │

  │ │                                      [*]     Support for backlight control                                                                       │ │

  │ │                                      [ ]     Lots of debug output from Radeon driver                                                             │ │

  │ │                                      < >   ATI Rage128 display support                                                                           │ │

  │ │                                      < >   ATI Mach64 display support                                                                            │ │

  │ │                                      < >   S3 Trio/Virge support                                                                                 │ │

  │ │                                      < >   S3 Savage support                                                                                     │ │

  │ │                                      < >   SiS/XGI display support                                                                               │ │

  │ │                                      < >   VIA UniChrome (Pro) and Chrome9 display support                                                       │ │

  │ │                                      < >   NeoMagic display support                                                                              │ │

  │ │                                      < >   IMG Kyro support                                                                                      │ │

  │ │                                      < >   3Dfx Banshee/Voodoo3/Voodoo5 display support 

< >   3Dfx Voodoo Graphics (sst1) support                                                                   │ │

  │ │                                      < >   VIA VT8623 support                                                                                    │ │

  │ │                                      < >   Cyberblade/i1 support                                                                                 │ │

  │ │                                      < >   Trident support                                                                                       │ │

  │ │                                      < >   ARK 2000PV support                                                                                    │ │

  │ │                                      < >   Permedia3 support (EXPERIMENTAL)                                                                      │ │

  │ │                                      <M>   Fujitsu carmine frame buffer support                                                                  │ │

  │ │                                              DRAM timing (Eval board timings)  --->                                                              │ │

  │ │                                      [ ]   AMD Geode family framebuffer support (EXPERIMENTAL)                                                   │ │

  │ │                                      < >   Silicon Motion SM501 framebuffer support                                                              │ │

  │ │                                      < >   Virtual Frame Buffer support (ONLY FOR TESTING!)                                                      │ │

  │ │                                      < >   E-Ink Metronome/8track controller support                                                             │ │

  │ │                                      < >   Fujitsu MB862xx GDC support              

```

Macie i teraz jakąś radę? :]

----------

## caruso

z tych czterech:

```
<M>   Userspace VESA VGA graphics support

<M>   VGA 16-color graphics support

<M>   ATI Radeon display support

<M>   Fujitsu carmine frame buffer support 
```

zostawiłbym tylko 

```
<M>   Userspace VESA VGA graphics support
```

 ale na stałe wkompilowane do kernela.

```
[*]   EFI-based Framebuffer Support      
```

 nie wiem czy jest potrzebne ja bym wyłączył

```
[*]     Support for backlight control
```

 jest tylko potrzebne jak masz laptopa.

btw jaką masz kartę graficzną?

----------

## ryrych

```
00:00.0 Host bridge: ATI Technologies Inc Radeon Xpress 200 Host Bridge (rev 01)
```

----------

## caruso

 *ryrych wrote:*   

> 
> 
> ```
> 00:00.0 Host bridge: ATI Technologies Inc Radeon Xpress 200 Host Bridge (rev 01)
> ```
> ...

 

imho to sam mostek jest.

Daj wyjście lspci. Próbowałeś poustawiać jak Ci napisałem? I zainstalować kernela i lilo/grub?

----------

## ryrych

Wiem, że mostek, ale tam jest zawarta dokładna informacja o mojej karcie:

Radeon Xpress 200 (wbudowana)  :Smile: 

Zrobiłem, jak podałeś i po skompilowaniu i uruchomieniu dalej mam czarny ekran z porozrzucanymi kolorowymi pikselami gdzieniegdzie zamiast serwera X. Innych opcji w kernelu nie zmieniałem.

----------

## caruso

Hmm, zarzuć xorg.log i /etc/X11/xorg.cfg. Możesz też spróbować zostawić.

```
<*>   ATI Radeon display support  
```

Lub poprzestawiać jak było tylko zaznaczyć tą dekoracje..

----------

## sebas86

 *ryrych wrote:*   

> Zrobiłem, jak podałeś i po skompilowaniu i uruchomieniu dalej mam czarny ekran z porozrzucanymi kolorowymi pikselami gdzieniegdzie zamiast serwera X. Innych opcji w kernelu nie zmieniałem.

 

Spróbuj uruchomić tryb graficzny w niższej rozdzielczości i/lub mniejszej głębi kolorów (u siebie w trybie >16bpp dostawałem artefakty - pionowe paski gdzieniegdzie, na Radku 9000). Jeśli to laptop i nie potrzebujesz odświeżania ekranu > 60Hz możesz skorzystać ze sterownika VESAFB i zobaczyć czy coś się poprawi (przy okazji pozbędziesz się potrzeby ładowania do ramdysku programu pomocniczego).

----------

## ryrych

Przepraszam, że po tak długiej przerwie piszę, ale nie miałem czasu na zabawy z Gentoo. Teraz postanowiłem to nadrobić.

Sprawa wygląda tak:

przywróciłem te opcje, włączyłem dekoracje. 

Przed ponownym uruchomieniem sprawdziłem:

```

splash_manager --theme=natural_gentoo --cmd=set --tty=1

```

i w pierwszej konsoli pojawił się obraz zgodnie z oczekiwaniem.

Uruchomiłem ponownie. Splash się nie pojawił. System dochodzi tylko do kdm - pojawia się czarny ekran z kursorem-krzyżykiem i nic się nie da zrobić.  :Sad: 

Logi nic nie krzyczą o jakiś błędach - odnośnie splasha mam tylko:

```

vesafb: framebuffer at 0xd0000000, mapped to 0xf8880000, using 4608k, total 131072k

Apr  5 20:08:16 localhost [    8.190984] vesafb: mode is 1024x768x24, linelength=3072, pages=55

Apr  5 20:08:16 localhost [    8.190989] vesafb: protected mode interface info at c000:5008

Apr  5 20:08:16 localhost [    8.190993] vesafb: pmi: set display start = c00c5076, set palette = c00c50b0

Apr  5 20:08:16 localhost [    8.190998] vesafb: pmi: ports = ee10 ee16 ee54 ee38 ee3c ee5c ee00 ee04 eeb0 eeb2 eeb4

Apr  5 20:08:16 localhost [    8.191009] vesafb: scrolling: redraw

Apr  5 20:08:16 localhost [    8.191013] vesafb: Truecolor: size=0:8:8:8, shift=0:16:8:0

Apr  5 20:08:16 localhost [    8.234179] Console: switching to colour frame buffer device 128x48

Apr  5 20:08:16 localhost [    8.277749] fb0: VESA VGA frame buffer device

```

koledzy, pomożecie?  :Smile: 

----------

## caruso

```
<M>   Userspace VESA VGA graphics support

[*]   VESA VGA graphics support

```

Jeżeli masz taki układ, to zmieniłby go na odwrotny, czyli  

```
Userspace VESA VGA graphics support
```

 na stałe wkompilowane, a 

```
VESA VGA graphics support
```

 wyłączyć lub zostawić jako moduł, ale wtedy mogą się one kłócić imho. Wtedy w logach powinno sie pojawić coś a'la:

```
uvesafb: NVIDIA Corporation, G73 Board - p508h0  , Chip Rev   , OEM: NVIDIA, VBE v3.0

uvesafb: protected mode interface info at c000:c2a0

uvesafb: pmi: set display start = c00cc2d6, set palette = c00cc340

uvesafb: pmi: ports = 3b4 3b5 3ba 3c0 3c1 3c4 3c5 3c6 3c7 3c8 3c9 3cc 3ce 3cf 3d0 3d1 3d2 3d3 3d4 3d5 3da

uvesafb: VBIOS/hardware supports DDC2 transfers

uvesafb: monitor limits: vf = 76 Hz, hf = 83 kHz, clk = 140 MHz

uvesafb: scrolling: ywrap using protected mode interface, yres_virtual=2048

uvesafb: framebuffer at 0xd0000000, mapped to 0xf8080000, using 10240k, total 262144k

```

----------

## ryrych

Sorry, że tego nie napisałem, ale tego nie przewidziałem:

teraz oba sterowniki mam wbudowane. Dodatkowo nie mogę zmienić VESA VGA graphics support na moduł.

----------

## Biszkopt

Trudny temat, dużo szukałem, nie znalazłem, miałem ten sam problem.

Ja wkleiłem "na chama" linię

```
CONFIG_FB_CON_DECOR=y
```

do pliku

```
/usr/src/linux/.config
```

.

Odpaliłem, opcja się ukazała.

----------

## sebas86

Pytanie czy po takim zabiegu jądro się skompiluje... Jest jeszcze inna łatwiejsza metoda, wystarczy skorzystać z wbudowanego wyszukiwania, klawiszem slash (ten dający z shiftem znak zapytania) wywołasz menu, w którym możesz wyszukać interesującą Cię opcję. W wynikach wyszukiwania oprócz miejsca gdzie daną opcję możesz znaleźć będzie także informacja o zależnościach jakie są potrzebne aby można było ją aktywować. To jest wg mnie najlepsza i najbardziej łopatologiczna metoda, nigdy mnie nie zawiodła dzięki niej też nigdy nie miałem problemu ze zbudowaniem jądra, przy okazji można łatwo i szybko wyszukać sterowniki sprzętu.

----------

## kris

 *Biszkopt wrote:*   

> Trudny temat, dużo szukałem, nie znalazłem, miałem ten sam problem.
> 
> Ja wkleiłem "na chama" linię
> 
> ```
> ...

 

Te drzwi są już otwarte, po co je wyważać (ten problem rozwiązany - patrz post 4) przypomnę - po wyłączeniu ficzera: 

```
[ ]   Enable Tile Blitting Support
```

 pojawia się opcja 

```
[ ]   Support for the Framebuffer Console Decorations (NEW)
```

 *sebas86 wrote:*   

> ...Jest jeszcze inna łatwiejsza metoda, wystarczy skorzystać z wbudowanego wyszukiwania, klawiszem slash...

 

jest to dobra metoda, ale w tym przypadku nie skuteczna, nie wskazuje, jakie zależności są do spełnienia, żeby ten ficzer był "widoczny"

```
Symbol: FB_CON_DECOR [=n]

Type  : boolean

Prompt: Support for the Framebuffer Console Decorations

  Defined at drivers/video/console/Kconfig:123

  Depends on: HAS_IOMEM [=y] && VT [=y] && FRAMEBUFFER_CONSOLE [=y]=y && !FB_TILE

   Location:

      -> Device Drivers

       -> Graphics support

        -> Console display driver support

         -> Framebuffer Console support (FRAMEBUFFER_CONSOLE [=y])
```

Edit:

Mój błąd oczywiście jest podana zależność: !FB_TILE

----------

