X server for x86 frame buffer

Alexander Kjeldaas (astor@guardian.no)
Fri, 17 Jul 1998 23:44:08 +0200


I'd like to try out an X-server on top of vesafb. Has anybody been
there and done that?

ObBugs:
* using fbcon and vesafb, the last line of the screen is displayed
on top of the second last.
* Cyan and Yellow are wrong in 8-bit mode.
Try the following on a normal screen and using vesafb and you'll
see the problem:

for a in 'black 30' 'red 31' 'green 32' 'yello 33' 'blue 34' \
'magenta 35' 'cyan 36' 'white 37'; do
b=${a##* }
echo "^[[${b}m$a^[[m"
^^ ^^ <-- those are escapes (Ctrl-V ESC in bash)
done

Yellow is yellow, which is wrong ;-). It is supposed to be much
more brown than it currently is. Cyan is just a slightly lighter
blue than blue - which isn't cyan (what kind of name is cyan
anyway?)

These are the values used by the first 16 palette entries on my
card which should be pretty standard (18-bits of course):

0: 0 0 0
1: 0 0 42
2: 0 42 0
3: 0 42 42
4: 42 0 0
5: 42 0 42
6: 42 21 0
7: 42 42 42
8: 21 21 21
9: 21 21 63
10: 21 63 21
11: 21 63 63
12: 63 21 21
13: 63 21 63
14: 63 63 21
15: 63 63 63

If anybody disagrees with the above, check your card:

#include <stdio.h>
#include <vga.h>

int main () {
int i;
vga_init();
for (i = 0; i < 16; i++) {
int r,g,b;
vga_getpalette(i, &r, &g, &b);
printf("%d: %d %d %d\n",i,r,g,b);
}
return 0;
}

astor

-- 
 Alexander Kjeldaas, Guardian Networks AS, Trondheim, Norway
 http://www.guardian.no/

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html