# [uvesafb] ma andiamo all'indietro?

## flocchini

sono passato al 2.6.24 e con un attimo di tempo libero mi sto dedicando al framebuffer/splash. Vedo che il vecchio vesafb-tng e' sparito in favore di questo nuovo uvesafb... Pur leggendo in giro ho capito poco dei perche' percome, fatto sta che se prima avevo il framebuffer in 1680x1050 ora mi devo accontentare di quello che c'e' nel bios della mia sk video, quindi addio risoluzioni widescreen. Ma dico io, si va indietro al posto che andare avanti?   :Confused:   Sono l'unico che odia uvesafb? Il bello e' che candidamente rispondono che e' colpa dei produttori delle sk video e che non ci saranno workaround, ma se vesafb-tng andava cosa ci voleva ad adattarlo al nuovo kernel anche se non piu' sviluppato piuttosto che ripartire da zero con questa alzata di ingegno? mah... Davvero, vorrei capire i motivi del cambiamento

Astenersi per cortesia commenti del tipo "programmalo tu"

----------

## MeMyselfAndI

Scusa come hai fatto ad avere un framebuffer widescreen ? Da quello che ne so io e' possibile usando solo i framebufer specifici per la propria scheda video (rivafb nvidiafb etc....)

----------

## flocchini

francamente non ne ho idea  :Smile:  pero' con vesafb-tng impostavo in grub il framebuffer a 1680x1050 forzandolo anche nel kernel e andava, ora no, via kernel non e' forzabile e via grub non lo accetta mandandomi in 640, oltre il 1280x1024 non vado.

----------

## Peach

 *flocchini wrote:*   

> francamente non ne ho idea  pero' con vesafb-tng impostavo in grub il framebuffer a 1680x1050 forzandolo anche nel kernel e andava, ora no, via kernel non e' forzabile e via grub non lo accetta mandandomi in 640, oltre il 1280x1024 non vado.

 

idem

ho una scheda nvidia e usando i vesafb-tng riuscivo ad avere 1280x800

ora nn più :-\

----------

## comio

 *Peach wrote:*   

>  *flocchini wrote:*   francamente non ne ho idea  pero' con vesafb-tng impostavo in grub il framebuffer a 1680x1050 forzandolo anche nel kernel e andava, ora no, via kernel non e' forzabile e via grub non lo accetta mandandomi in 640, oltre il 1280x1024 non vado. 
> 
> idem
> 
> ho una scheda nvidia e usando i vesafb-tng riuscivo ad avere 1280x800
> ...

 

ha cambiato nome  :Smile:  credo sia uvesafb o qualcosa del genere. Occhio che bisogna installare v86d.

Leggere qui: http://dev.gentoo.org/~spock/projects/uvesafb/

Quindi possiamo assumere che stiamo andando avanti  :Smile:  e non indietro.

ciao

luigi

----------

## riverdragon

Non è cambiato solo il nome, a quanto ho letto (uvesafb è presente nei gentoo-sources dal kernel 2.6.23) vesafb-tng era un "ugly hack" mentre uvesafb è un programma degno di tale nome. Io qui avvio con il framebuffer a 1400x1050.

----------

## comio

 *riverdragon wrote:*   

> Non è cambiato solo il nome, a quanto ho letto (uvesafb è presente nei gentoo-sources dal kernel 2.6.23) vesafb-tng era un "ugly hack" mentre uvesafb è un programma degno di tale nome. Io qui avvio con il framebuffer a 1400x1050.

 

be... sì... però l'autore è quello e le idee di base sono prese da vesafb-tng... lasciando i vincoli... diciamo che è un vesafb-tng ripensato e fatto meglio! toh!

ciao

luigi

----------

## CarloJekko

Un vantaggio è che uvesafb gira in userspace, quindiinstabilità relativi a questi driver non influiscono sul sitema operativo... Ti consiglio di ritornare a vesafb-tng o quello che era se non hai di questi problemi.

Ciau

----------

## flocchini

 *comio wrote:*   

> 
> 
> ha cambiato nome  credo sia uvesafb o qualcosa del genere. Occhio che bisogna installare v86d.
> 
> Leggere qui: http://dev.gentoo.org/~spock/projects/uvesafb/
> ...

 

mi viene da pensare che tu non abbia letto bene cio' che abbiamo scritto... funzionare funziona, ho letto anche io le guide, il problema e' che ora nn si possono piu' avere risoluzioni non presenti nel bios della propria scheda video. Pertanto si va indietro, non avanti

userei piu' che volentieri vesafb-tng, peccato che sia stato eliminato e dal 2.6.24 compreso in poi non funzioni piu' proprio con il kernel. Il vantaggio che giri in userspace francamente passa in secondo piano se non posso piu' avere la risoluzione che mi pare.

Mah   :Rolling Eyes: 

----------

## crisandbea

 *flocchini wrote:*   

>  *comio wrote:*   
> 
> ha cambiato nome  credo sia uvesafb o qualcosa del genere. Occhio che bisogna installare v86d.
> 
> Leggere qui: http://dev.gentoo.org/~spock/projects/uvesafb/
> ...

 

la risoluzione che ti pare puoi averla senza problemi, leggi il link postato da comio e ti dice come fare.

ciauz

----------

## flocchini

 *crisandbea wrote:*   

> 
> 
> la risoluzione che ti pare puoi averla senza problemi, leggi il link postato da comio e ti dice come fare.
> 
> ciauz

 

un altro... ma avete letto le faq o la documentazione del kernel(sezione 2) ? Mi prendete in giro? c'e' scritto che se la risoluzione non compare in /sys/class/graphics/fb0/modes mi attacco, mentre prima potevo forzare da kernel quello che mi pareva. E questa e' una ca*ata secondo me, tanto per parlar chiaro  :Laughing: 

----------

## Scen

Punti di vista  :Smile: 

 *flocchini wrote:*   

> 
> 
> Davvero, vorrei capire i motivi del cambiamento 
> 
> 

 

http://mjanusz.wordpress.com/2007/06/11/announcing-uvesafb/

 *spock wrote:*   

> 
> 
> There are two main problems with vesafb-tng:
> 
>     * it’s a rather ugly hack,
> ...

 

Io sono su AMD64, e per me uvesafb è stato un passo avanti  :Cool: 

----------

## flocchini

 *Scen wrote:*   

> Punti di vista 
> 
> Io sono su AMD64, e per me uvesafb è stato un passo avanti 

 

maledetto  :Laughing: 

cmq tristezza e mestizia, speriamo che la situazione cambi non ce la faccio a vedere ste schifezze sfuocate  :Crying or Very sad: 

----------

## ech0s7

 *flocchini wrote:*   

> sono passato al 2.6.24 e con un attimo di tempo libero mi sto dedicando al framebuffer/splash. Vedo che il vecchio vesafb-tng e' sparito in favore di questo nuovo uvesafb...   Sono l'unico che odia uvesafb? I
> 
> 

 

Hai perfettamente ragione! Anche io con il vecchio caro vesafb-tng ottenevo le risoluzioni che volevo, ma con questo nuovo uvesafb non ottengo nessuna risoluzione, ANZI! manda in Oops il kernel, e debuggando ho trovato che la function che lo manda in oops è questa fb_find_mode(), il nostro caro sviluppatore di uvesafb probabilmente ha fatto qualche errore nel code. Già contattato, aspetto che rilasci una nuova versione del suo modulo! Speriamo presto!

 :Evil or Very Mad: 

----------

## flocchini

leggi bene il forum internazionale perche' non so se sia il tuo caso ma molti non avevano ricompilato i pacchetti/kernel nel giusto ordine e ottenevano oops. Non diamo a uvesafb piu' colpe di quelle che ha  :Laughing:  A me funziona, a risoluzioni balenghe x il mio schermo ma funziona

----------

## ech0s7

 *flocchini wrote:*   

> leggi bene il forum internazionale perche' non so se sia il tuo caso ma molti non avevano ricompilato i pacchetti/kernel nel giusto ordine e ottenevano oops. Non diamo a uvesafb piu' colpe di quelle che ha  A me funziona, a risoluzioni balenghe x il mio schermo ma funziona

 

Ciao prima di scrivere e dire che c'è qualcosa che non va nel modulo mi sono documentato, e ovviamente la procedura di installazione seguita è perfetta e anche i pacchetti a cui ti riferisci sono stati ricompilati e installati nel giusto ordine! E ovviamente non ho fatto un solo tentativo e non solo sulla stessa distribuzione...quindi penso proprio ci sia un errore nel modulo, comunque ho già contattato il developer...grazie comunque

----------

## Kind_of_blue

 *ech0s7 wrote:*   

>  *flocchini wrote:*   leggi bene il forum internazionale perche' non so se sia il tuo caso ma molti non avevano ricompilato i pacchetti/kernel nel giusto ordine e ottenevano oops. Non diamo a uvesafb piu' colpe di quelle che ha  A me funziona, a risoluzioni balenghe x il mio schermo ma funziona 
> 
> Ciao prima di scrivere e dire che c'è qualcosa che non va nel modulo mi sono documentato, e ovviamente la procedura di installazione seguita è perfetta e anche i pacchetti a cui ti riferisci sono stati ricompilati e installati nel giusto ordine! E ovviamente non ho fatto un solo tentativo e non solo sulla stessa distribuzione...quindi penso proprio ci sia un errore nel modulo, comunque ho già contattato il developer...grazie comunque

 

se cerchi bene ... nel post su uvesafb del forum internazionale c'è la spiegazione degli hang e dei loop di fb_find_mode() ... e c'è pure la soluzione, dato che non è un errore.

----------

## ech0s7

 *Kind_of_blue wrote:*   

> 
> 
> se cerchi bene ... nel post su uvesafb del forum internazionale c'è la spiegazione degli hang e dei loop di fb_find_mode() ... e c'è pure la soluzione, dato che non è un errore.

 

Caro Kind_of_blue, ho già letto tutto il forum e non c'è niente a riguardo della function fb_find_mode() ne tantomeno c'è la soluzione. Ma dove lo hai letto?  (link please)

Vi riporto qua l'errore:

```

uvesafb: (C) 1988-2005, ATI Technologies Inc. M26-P01.00, M26-P01.00, 01.00, OEM: ATI ATOMBIOS(C) 1988-2005, ATI Technologies Inc. M26-P01.00, VBE v3.0

uvesafb: protected mode interface info at c000:af46

uvesafb: pmi: set display start = c00cafd4, set palette = c00cb014

uvesafb: VBIOS/hardware supports DDC2 transfers

uvesafb: monitor limits: vf = 60 Hz, hf = 49 kHz, clk = 68 MHz

BUG: unable to handle kernel NULL pointer dereference at virtual address 00000018

printing eip: c025b9c3 *pde = 00000000

Oops: 0000 [#1] PREEMPT SMP

Modules linked in: uvesafb ext3 jbd mbcache ide_disk piix ide_core ata_piix ata_generic libata

 

Pid: 40, comm: modprobe Not tainted (2.6.24-ARCH #1)

EIP: 0060:[<c025b9c3>] EFLAGS: 00010246 CPU: 0

EIP is at fb_try_mode+0x3/0x90

EAX: f7f79008 EBX: f7f79008 ECX: 00000010 EDX: f7f79000

ESI: 00000001 EDI: 00000000 EBP: 00000007 ESP: f7f95be0

 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068

Process modprobe (pid: 40, ti=f7f94000 task=f7f58ff0 task.ti=f7f94000)

Stack: f7f28f95 c025c488 00000008 00000000 00200200 f7f28f95 f7f79000 f7f79008

       00000001 00000001 00000000 00000320 00000258 00000020 000003e8 00000001

       00000000 00000000 00000000 00000246 22222222 22222222 22222222 f7c0dc00

Call Trace:

 [<c025c488>] fb_find_mode+0x578/0x650

 [<f88388d0>] uvesafb_exec+0x130/0x260 [uvesafb]

 [<c018098b>] __kmalloc+0x2b/0x110

 [<f88398d2>] uvesafb_probe+0x772/0x1010 [uvesafb]

 [<c01252bb>] kunmap_atomic+0x8b/0xd0

 [<c012526d>] kunmap_atomic+0x3d/0xd0

 [<c0240cac>] idr_get_empty_slot+0xec/0x280

 [<c0240ebb>] ida_get_new_above+0x7b/0x180

 [<c01c7190>] sysfs_ilookup_test+0x0/0x10

 [<c01c7824>] sysfs_addrm_finish+0x14/0x1e0

 [<c01c7534>] sysfs_add_one+0x44/0xe0

 [<c01c760f>] sysfs_addrm_start+0x3f/0xb0

 [<c01c839d>] sysfs_create_link+0x8d/0x120

 [<c02acedc>] platform_drv_probe+0xc/0x10

 [<c02ab998>] driver_probe_device+0x88/0x190

 [<c036c39f>] klist_next+0x5f/0xc0

 [<c02aac44>] bus_for_each_drv+0x44/0x70

 [<c02abb5d>] device_attach+0x7d/0x90

 [<c02abaa0>] __device_attach+0x0/0x10

 [<c02aabb5>] bus_attach_device+0x45/0x90

 [<c02a9c78>] device_add+0x428/0x510

 [<c02ad279>] platform_device_add+0xf9/0x150

 [<f883a42f>] uvesafb_init+0x5f/0xb0 [uvesafb]

 [<c01522d6>] sys_init_module+0x126/0x19d0

 [<c02429ef>] prio_tree_insert+0x1f/0x240

 [<c01054e2>] sysenter_past_esp+0x6b/0xa1

 [<c0360000>] c_show+0x60/0xd0

 =======================

Code: 8d 42 d0 3c 09 76 04 89 d8 5b c3 0f be d2 83 c1 01 8d 04 9b 8d 5c 42 d0 eb e3 8d b4 26 00 00 00 00 8d bc 27 00 00 00 00 53 89 c3 <8b> 41 08 89 03 8b 41 0c 89 43 04 8b 41 08 89 43 08 8b 41 0c 83

EIP: [<c025b9c3>] fb_try_mode+0x3/0x90 SS:ESP 0068:f7f95be0

---[ end trace c52da5e5d44148ff ]--- 

```

----------

## Kind_of_blue

c'è un modulo nel kernel per il recupero dei "mode" dal bios (non ho modo ora di dirti quale) ... molte schede che funzionano con quel modulo ... non funzionano senza ... ma, magia ... alcune schede che funzionano senza, si impappinano con ... quindi prova a disabilitarlo se lo hai abilitato, o viceversa.

----------

## ech0s7

Kind_of_blue saresti così gentile da dirmi il nome del modulo? Se ti riferisci a modedb, è una dipendenza di uvesafb e quindi non può essere disabilitato...

Grazie!

----------

## gasparov

Ciao,

   ho letto la pagina di spock ma sembra che la mia nVidia 8400 non voglia saperne di andare sopra l'800x600.

Ho fatto alcuni test

```
gentoo gas # vbetest 

VBE Version 3.0

NVIDIA

[256] 640x400 (256 color palette)

[257] 640x480 (256 color palette)

[259] 800x600 (256 color palette)

[261] 1024x768 (256 color palette)

[263] 1280x1024 (256 color palette)

[270] 320x200 (5:6:5)

[271] 320x200 (8:8:8)

[273] 640x480 (5:6:5)

[274] 640x480 (8:8:8)

[276] 800x600 (5:6:5)

[277] 800x600 (8:8:8)

[279] 1024x768 (5:6:5)

[280] 1024x768 (8:8:8)

[282] 1280x1024 (5:6:5)

[283] 1280x1024 (8:8:8)

[304] 320x200 (256 color palette)

[305] 320x400 (256 color palette)

[306] 320x400 (5:6:5)

[307] 320x400 (8:8:8)

[308] 320x240 (256 color palette)

[309] 320x240 (5:6:5)

[310] 320x240 (8:8:8)

[317] 640x400 (5:6:5)

[318] 640x400 (8:8:8)

[325] 1600x1200 (256 color palette)

[326] 1600x1200 (5:6:5)

[330] 1600x1200 (8:8:8)

```

I numeri 282 e 283 sembra che funzionino......vedo quello che vede uno sotto acido spero che sia ok...

```
gentoo gas # cat /sys/class/graphics/fb0/modes 

U:1280x1024p-75

V:1280x1024p-75

V:1280x1024p-60

V:1024x768p-75

V:1024x768p-70

V:1024x768p-60

V:800x600p-75

V:800x600p-72

V:800x600p-60

V:800x600p-56

V:640x480p-75

V:640x480p-72

V:640x480p-60

U:1600x1200p-60

U:320x240p-60

U:320x400p-59

U:320x200p-59

U:1280x1024p-59

U:1024x768p-60

U:800x600p-59

U:640x480p-60

U:640x400p-59

```

Ora qua non riesco a capire che cosa significano quelle U o V all'inizio delle righe (Vesa o Uvesafb?) e cosa è quel p.

In ogni caso l'unica riga di grub che NON mi fa partire la console in 640x480 è uvesafb:800x600-8

Qualche consiglio?Grazie

----------

