On Fri 02 Mar, Russell King - ARM Linux wrote:
> Rob Dimond writes:
> > Unfortunately I'm suffering from the large vertical resolution in X
> > problem.
> It sounds like the ARM Debian people still haven't fixed this X bug.
> When the X server starts up, it switches the console to _graphics_
> mode, but leaves _text_ acceleration on. One of the text
> acceleration optimisations is to allow vertical panning of the
> display. In order for vertical panning to work, we must have a
> virtual vertical resolution greater than the displayed vertical
> resolution.
> Therefore, whenever text mode acceleration is turned on, the kernel
> will always calculate the largest virtual vertical resolution that
> will fit in VRAM for your chosen _text_ mode.
> Without this optimisation, the RiscPC console will be extremely slow
> to the point where it is _unusable_ since screen scrolling will be
> performed by manually copying the complete framebuffer within the
> VRAM.
Indeed. People have nown for a very long time what the problem _is_, I thik
the problem is that no-one is quite sure how to fix it.
> > or have I done something wrong?
> No. I'm just surprised that the Debian people who have known about
> this for around a year have done nothing to get it fixed.
Various people have tried; I understand some have even succeeded, but a fix
that works for all doesn't seem to have made it back into the distributed
code yet. The problem seems to be the way it is an interaction between the
kernel, frame buffer driver and X. Each part is doing sensible things but the
overall interaction doesn't have the desired result in this circumstance.
This makes is less than obvious which bits should be changed.
I've seen various posts about this and as I understand it, the reason the
text acceleration large vertical resolution remained a problem on the X
screen was that nothing ever changed video mode when X was started up so the
frame buffer is left using the large Y res. My (admittedly slightly vague
understanding) is that although you can hack acornfb to make the problem go
away, what you really want to do is change the way X behaves so that it
actually explicitly sets a new mode with the right Y resolution on start-up,
and the problem with that is that hacking X requires a great deal of gurudom
and no-one seems to have done it yet.
There are explicit switches to the frame buffer driver to tell it to select a
particular Y res, but as Russell says above, the kernel ignores these in
order to preserve useful text scrolling speed.
>From Russell's info above I assume that what should happen is that turning
off text acceleration needs to happen when the X screen is a)first
set up and b) in view. Is it possible to do this and turn it back on again on
the switch back to a text console?
It would be nice if this was fixed once and for all...
Wookey
--
Aleph One Ltd, Bottisham, CAMBRIDGE, CB5 9BA, UK Tel (00 44) 1223 811679
work: http://www.aleph1.co.uk/ play: http://www.chaos.org.uk/~wookey/
_______________________________________________
http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm
Please visit the above address for information on this list.