From: Petr V. <VAN...@vc...> - 2000-06-14 08:57:45
|
On 13 Jun 00 at 20:30, James Simmons wrote: > Well I have the patch attached what I have done. It bzip2ed and its 76K. > Unzipped it 536K so you can see it is a massive rewrite. I still have some > cleanup to do yet and some early testing. Hi, is it complete diff between Linus/Alan tree and current linuxconsole CVS or is it an addition to linuxconsole CVS (I did not look at patch yet and because of I have no linuxconsole CVS copy here yet, I'm asking...) > TODO: > > Fix con_open. Right now the console system dynamically allocates each VC. > I have to figure away to find which VT each tty belongs to when con_open > is called. I think that for backward compatibility you should add new ioctl OPENVT2, which opens VT on specific output device. Old code (simple open /dev/tty* and OPENVT ioctl) should use same lowlevel device as current->tty uses... I think... Probably with exception that if current->tty is not VT, you should use first head (for use by init, for example, which is connected to /dev/console). > Figure out how to have each head be able to be blanked indepedently of > each other. Create per-VT blanking timers which will expire individually and which are restarted on keypress (on that VT) and console switch... Looks like easiest solution to me. Another solution is glue it together as 'seat' (all kbds, mouses and monitors at one place), but this does not work correctly if you take into account that app can disable blanking for such VT (XFree and fbtv does it, for example). Only unfortunate thing is that currently setting VT blanking period is per-system and not per-VT. But we can emulate it... Best regards, Petr Vandrovec van...@vc... |
From: Petr V. <VAN...@vc...> - 2000-06-14 13:55:59
|
On 14 Jun 00 at 9:47, James Simmons wrote: > > Hi, > > is it complete diff between Linus/Alan tree and current linuxconsole > > CVS or is it an addition to linuxconsole CVS (I did not look at patch > > yet and because of I have no linuxconsole CVS copy here yet, I'm asking...) > > Its a diff against the current ruby tree. If it was against linus tree it > would have been twice as big. > OK. Let's get it setup. > > I think that for backward compatibility you should add new ioctl > > OPENVT2, which opens VT on specific output device. Old code (simple > > open /dev/tty* and OPENVT ioctl) should use same lowlevel device as > > current->tty uses... I think... Probably with exception that if > > current->tty is not VT, you should use first head (for use by init, for > > example, which is connected to /dev/console). > > I was thinking about that as well. I know we need a way to allocate more > VCs for a head. Once we remove the 64 limit and we can use devfs to create > VCs on the fly :) As for allocating VCs for a different head then we are > on. Do we really need this? I think that doing open & con2fb is a bit inconvient. Also for some time VT will exist on fb where you do not want it. But you are probably right - - any user can open VT on own head, but only priviledged can do con2fb... > > Create per-VT blanking timers which will expire individually and which > > are restarted on keypress (on that VT) and console switch... Looks like > > easiest solution to me. > > The problem is telling the blanking routines which head is the one to > unblank. Right now I haven't seen away to do this. > If _visible_ VT blanks/unblanks, blank/unblank that FB. As one VT cannot be on two FBs, there is trivial relation... Petr |
From: James S. <jsi...@ac...> - 2000-06-14 14:06:03
|
> > Its a diff against the current ruby tree. If it was against linus tree it > > would have been twice as big. > > > OK. Let's get it setup. Once the code I have works somewhat I will create a big patch against linus tree with the ruby tree. > > The problem is telling the blanking routines which head is the one to > > unblank. Right now I haven't seen away to do this. > > > If _visible_ VT blanks/unblanks, blank/unblank that FB. As one VT cannot > be on two FBs, there is trivial relation... The problem is more than VT is visible in a multiheaded setup. More than one VT can be blanked and more than one VT can be unblanked. The blanking timer function, static void vesa_powerdown_screen(void), doesn't pass info in when the unblank function is called. Some how I need to pass this info in. It is possible that 2 VTs will be blanked. Which one do I pick then. The good news is someone has a patch for this. So I will post this patch and then combine it in with my work. |
From: James S. <jsi...@ac...> - 2000-06-14 13:47:02
|
> Hi, > is it complete diff between Linus/Alan tree and current linuxconsole > CVS or is it an addition to linuxconsole CVS (I did not look at patch > yet and because of I have no linuxconsole CVS copy here yet, I'm asking...) Its a diff against the current ruby tree. If it was against linus tree it would have been twice as big. > I think that for backward compatibility you should add new ioctl > OPENVT2, which opens VT on specific output device. Old code (simple > open /dev/tty* and OPENVT ioctl) should use same lowlevel device as > current->tty uses... I think... Probably with exception that if > current->tty is not VT, you should use first head (for use by init, for > example, which is connected to /dev/console). I was thinking about that as well. I know we need a way to allocate more VCs for a head. Once we remove the 64 limit and we can use devfs to create VCs on the fly :) As for allocating VCs for a different head then we are on. Do we really need this? > Create per-VT blanking timers which will expire individually and which > are restarted on keypress (on that VT) and console switch... Looks like > easiest solution to me. The problem is telling the blanking routines which head is the one to unblank. Right now I haven't seen away to do this. > Another solution is glue it together as 'seat' > (all kbds, mouses and monitors at one place), but this does not > work correctly if you take into account that app can disable blanking > for such VT (XFree and fbtv does it, for example). I noticed that as well :( > Only unfortunate thing > is that currently setting VT blanking period is per-system and not per-VT. Right. I want to see it per VT as well. If we have several people at different VTs attached to one workstation we don't want all the heads to blank out when one person walks away for awhile from his desk. That would be annoying. |