On Fri, 31 May 2002, Bogdan Luca wrote:

> 
> posteaza shi tu un patch :-)
> 

Bun patch-ul, da oamenii au diverse versiuni (eu m-am scaldat in 0.9.2a si 
in 0.9.3) si ar trebui sa cracanez prea diff-uri ca sa elimin poante din 
seria "uai, hai fa un patch si pentru kernel 2.4.12-penserat". Asa ca:

Se ia una bucata vi drivers/video/riva/fbdev.c.
- pentru culoare: e o linie 
#define CURSOR_COLOR            0x7fff
Am incercat cu 0x7777 si e mai palid decat super albul default
- pentru cursor sub forma de underscore:
In functia rivafb_create_cursor se gasesc niste for-uri cam asa:

                for (i = 0; i < height; i++) {
                        for (j = 0; j < width; j++,idx++)
                                c->image[idx] = CURSOR_COLOR;
                        for (j = width; j < MAX_CURS; j++,idx++)
                                c->image[idx] = TRANSPARENT_COLOR;
                }
                for (i = height; i < MAX_CURS; i++)
                        for (j = 0; j < MAX_CURS; j++,idx++)
                                c->image[idx] = TRANSPARENT_COLOR;
Ei, in loc de prima linie ("for (i = 0; i < height; i++) {") se scrie:
        /* hacked by rudy [EMAIL PROTECTED] */
                for (i = 0; i<height-height/8; i++)
                        for (j = 0; j < MAX_CURS; j++,idx++)
                                c->image[idx] = TRANSPARENT_COLOR;
                for (i = height-height/8; i < height; i++) {

- pentru modul ala ficieros: grija mare (ca poate imi sariti in cap ca nu 
va mai puteti folosi compu-n linux): eu am facut treaba asta pe un comp cu 
RIVA TNT2 cu 32M ram. Pentru alte configuratii, dati mail cu modeline-ul 
din XF86Config care va place sa-l folositi si va zic cum sa adaptati. 
Acu:
- de mers ar trebui sa mearga si pe o placa cu 16 sau chiar 8M
- rivafb (sau NVidia frame buffer driver) trebuie sa fie compilat direct 
in kernel, nu ca modul, altfel se obtin efecte speciale (este cale, dar e 
mai incomod si mai cu riscuri, mai ales cand vine vorba de X-ul pornit in 
runlevel 5 etc etc)
Se cauta un struct enorm, numit rivafb_default_var si se inlocuieste cu:
static struct fb_var_screeninfo rivafb_default_var = {
        xres:           1152, /* hack by rudy [EMAIL PROTECTED] */
        yres:           864,
        xres_virtual:   1152,
        yres_virtual:   864,
        xoffset:        0,
        yoffset:        0,
        bits_per_pixel: 8,
        grayscale:      0,
        red:            {0, 6, 0},
        green:          {0, 6, 0},
        blue:           {0, 6, 0},
        transp:         {0, 0, 0},
        nonstd:         0,
        activate:       0,
        height:         -1,
        width:          -1,
        accel_flags:    0,
        pixclock:       7264,
        left_margin:    224,
        right_margin:   32,
        upper_margin:   17,
        lower_margin:   2,
        hsync_len:      128,
        vsync_len:      19,
        sync:           0,
        vmode:          FB_VMODE_NONINTERLACED
};

Acu treaba ar trebui sa fie destul de evidenta, mai ales daca zic ca 
fb.mode-ul corespunzator este:

mode "1152x864-99"
    # D: 137.665 MHz, H: 89.626 kHz, V: 99.363 Hz
    geometry 1152 864 1152 29112 8
    timings 7264 224 32 17 2 128 19
    accel true
    rgba 8/0,8/0,8/0,0/0
endmode


Se compileaza, se lilo/grub-install. Chestia asta merge fara nici un 
insmod, fbset, nimic. Daca vedeti pinguinu la butare, dati o bere :-)

Sper ca mail-ul asta sa tina de loc de diff. Daca nu, pot sa dau un patch 
de 2.4.19-pre9.

Numai bine,
rudigrec

PS: la schimb: 
da cineva o parola de cont ACM valabil pe digital library? Eu am avut si 
mi-a expirat.

---
Pentru dezabonare, trimiteti mail la 
[EMAIL PROTECTED] cu subiectul 'unsubscribe rlug'.
REGULI, arhive si alte informatii: http://www.lug.ro/mlist/


Raspunde prin e-mail lui