Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 07 Aug 1998 19:13:18 -0700
From:      Mike Smith <mike@smith.net.au>
To:        Kelly Yancey <kbyanc@freedomnet.com>
Cc:        Mike Smith <mike@smith.net.au>, freebsd-hackers@FreeBSD.ORG
Subject:   Re: syscons update 
Message-ID:  <199808080213.TAA00534@antipodes.cdrom.com>
In-Reply-To: Your message of "Thu, 06 Aug 1998 10:55:35 EDT." <Pine.BSD/.3.91.980806103451.262A-100000@freedomnet.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
> > 
> > > I have written an update to the freebsd syscons driver and vidcontrol
> > > program to allow for 4 new VGA text modes: 90x25, 90x30, 90x50, 90x60.
> > > Yes, 90 columns wide. I had written an assembly program years ago that
> > > ran under DOS that switched to 90 columns wide...it works fine on every
> > > VGA and SVGA adapter I have ever run across. Basically, it just toggles
> > > the VGA adapter from using 9 pixel wide characters to 8 pixel wide
> > > characters and then adjusts the horizontal counts accordingly. I'm
> > > wrapping up the code for that so I can submit it to the team to include
> > > in future FreeBSD releases.
> > 
> > Neat.   How would you like to help work on adding support for the VESA 
> > text modes too? 
> 
>   That would be great. It's really a shame though...especially when 
> getting into all the VESA text modes too...that it isn't more modular.

There's been endless discussion on modularity; the problem is that it's
extremely difficult to acheive in practice.

>   I was thinking that, in order to not disturb the current syscons 
> driver, maybe start on a new separate video driver. Something where the 
> new video driver interfaces to a card-specific driver providing generic 
> interface ioctl calls for user programs to use. That will make sure we 
> don't get in the way of the syscons development or break any code that 
> uses the current syscons driver. Then down the road, we could modify 
> syscons to go through the video driver for any screen updating. Also, 
> what would be really exciting is a FreeBSD X server that made calls to 
> the video driver (rather than having the adapter-specific routines in the X 
> server). Talk about division of labor...I would think that would make 
> code cleaner all around.

This is a hideous amount of work you're proposing, and without meaning 
to be insulting it's far more than one person is likely to be able to 
handle.  You'd be better off writing a text console for X and just 
making X the default console driver. 8)

> > It's quite hard for a device driver to open and read from another 
> > device.  What currently happens is actually just a workaround for this; 
> > instead of creating a pipe and writing mouse events to it, moused 
> > sends ioctls to the console device.  The console device then turns this 
> > stuff around to make it easy for other consumers to use.
> 
>   Good point. Perhaps their should be a standard video/mouse API 
> (probably should be something for sound too) the way there is a disk 
> access layer and networking layer. Computers have come a long way, baby. 
> :)

There is a standard mouse API, it's called the /dev/sysmouse protocol, 
and it's based on an older standard.  There's another set of 
event-based standards called the X Window System.

> > In addition, video drivers bulk *large*.  You don't want these in the 
> > kernel.
> 
>   No, you're right. I guess better support for modular drivers is needed 
> before that could happen.

No, there is plenty of support for modular drivers.  The problem is 
that you don't appear to understand the magnitude of the tasks that you 
are describing. 8)

> But as far as the video drivers are 
> concerned...at first it would seem like reinventing the wheel since all 
> the support currently in the X servers would have to be put in the OS 
> (where it should have been to begin with, in my opinion).

X is an application, it's not part of the operating system.  See 
Windows for a good example why it doesn't belong there.

> But the 
> short-term advantage is that other programs for FreeBSD could easily use 
> the video adapter's graphics capabilities...especially games :). The 

You can do this already.  Games don't use the operating system 
interfaces except when they have to; OS interfaces are too slow and 
generalised.

>   BTW, I've submitted the 90-column support patches (one for the syscons 
> driver, one for the vidcontrol program to use the new modes) to the 
> FreeBSD team...I'll keep my fingers crossed. I've also posted the patches 
> on a web page: http://www.posi.net/software/public/patch-90col/

Thanks for the patches.  I could really do with another 10 columns. 8)

-- 
\\  Sometimes you're ahead,       \\  Mike Smith
\\  sometimes you're behind.      \\  mike@smith.net.au
\\  The race is long, and in the  \\  msmith@freebsd.org
\\  end it's only with yourself.  \\  msmith@cdrom.com



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199808080213.TAA00534>