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/