Frame Buffer Driver / FBDEV
bora.sahin at ttnet.net.tr
bora.sahin at ttnet.net.tr
Thu Feb 23 11:17:33 PST 2006
Hi,
I have a mipsel machine and Xorg/fbdev working on it. The machine has base
framebuffer functionality...
There is a problem with understanding Xorg/fbdev approach between me and
vendor engineer. He says that
"This is by design - when Xorg is running on the framebuffer, it uses the
settings from the framebuffer.
Xorg cannot change the settings once they have been esablished with the
framebuffer."
I am saying that
"X doesnt want to get settings from FB. It has own database. Just wants to
learn if the specified setting in the xorg.conf is eligible or not by testing
it against FB driver because FB knows the hardware. Then Xorg tries to set
its own settings by giving the necessary parameters to FB via ioctl. If that
fails then fallback to buildin mode..."
When X checks if its res is acceptable, that frame buffer driver sets
var->fields to current settings. Thus it deceives Xorg no matter what the
resolution is, be it 1280x1024, 800x600 etc. (within monitor limits so the
max is 1280x1024). Firstly which assumptation is true?
Secondly comes dept, bits_per_pixel. If they are equal there is no problem
though FB driver now only works on 16 bit. But when xorg.conf says depth is
24 bit then I think it assumes 4 byte for a pixel.(SupportConvert24to32,
SupportConvert32to24 is another issue if it matters) Vendor engineer says
that "Xorg should know enough to transform between 24 bit and 16 bit". I dont
think Xorg transforms pixels that way. Which one is right?
Thirdly, when Xorg wants 24 bit but FB provides 16 bit, the screen is
interesting. Resolution same for Xorg and FB but in Xorg screen is bigger
than 1/3. That is, vertical length is OK but when horizontal line passes the
right corner of the screen, it immediately begins at the left side and comes
up to the middle of the screen. So the left side of the screen is cleared
when I switch the mouse at the very left and right side. I thought at the
first case screen may be bigger than x2, not 1/3 because of 4 byte per
pixel / 2 byte per pixel. What may be the cause of that artefact?
Thanks...
Ps: I am using Xorg-6.8.2...
--
Bora SAHIN
More information about the xorg
mailing list