Subject: Re: how to turn off display? (wsdisplay0 at vesafb0)
To: Jared D. McNeill <jmcneill@invisible.ca>
From: Jeremy C. Reed <reed@reedmedia.net>
List: tech-kern
Date: 08/16/2006 19:04:53
On Tue, 1 Aug 2006, Jeremy C. Reed wrote:

> Where should this be documented? I didn't see any vesafb manual page.

I started writing a man page, but today I saw it is now in -current and my 
system was not fully updated and I didn't look in i386.

May I commit any of the following two man pages? Or do you have any 
improvements for this?

And its says i386 ... what about amd64?

And may I shorten the one line description? Maybe like:
+.Nd VESA framebuffer device driver for wscons


Index: share/man/man4/man4.i386/vesafb.4
===================================================================
RCS file: /cvsroot/src/share/man/man4/man4.i386/vesafb.4,v
retrieving revision 1.2
diff -u -r1.2 vesafb.4
--- share/man/man4/man4.i386/vesafb.4	24 Apr 2006 21:53:48 -0000	1.2
+++ share/man/man4/man4.i386/vesafb.4	17 Aug 2006 00:00:54 -0000
@@ -31,25 +31,86 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd April 24, 2006
+.Dd August 16, 2006
 .Dt VESAFB 4 i386
 .Os
 .Sh NAME
 .Nm vesafb
-.Nd VESA BIOS extensions 2.0 and above framebuffer device driver
+.Nd VESA BIOS extensions 2.0 and above framebuffer device driver for wscons
 .Sh SYNOPSIS
+.Cd "vesabios* at vesabiosbus?"
 .Cd "vesafb* at vesabios?"
 .Cd "wsdisplay* at vesafb? console ?"
 .Pp
+.Cd options KVM86
 .Cd options VESAFB_WIDTH=640
 .Cd options VESAFB_HEIGHT=480
 .Cd options VESAFB_DEPTH=8
+.Cd options VESAFB_PM
 .Sh DESCRIPTION
 .Nm
 provides support for framebuffer consoles on i386 display adapters which
 implement VESA BIOS extensions (VBE) 2.0 or above.
+It is used within the
+.Xr wscons 4
+console framework.
+And its functions are available via the internal
+.Xr wsdisplay 4
+interface.
+.Pp
+The driver does not support multiple screens.
+.\" nor colors or font loading. ???
+.Pp
 Since this interface is accessed via x86 BIOS calls, this driver
 only works on the i386 port.
+.Pp
+Supported kernel options:
+.Bl -tag -width xxxx
+.It Cd options KVM86
+Required for vesabios.
+This enables the framework for running BIOS code in
+a virtual 8086 machine.
+.It Cd options VESAFB_WIDTH=XXX
+Sets the width, such as
+640
+or
+1024.
+Default is
+640.
+.It Cd options VESAFB_HEIGHT=XXX
+Sets the height, such as
+480
+or
+768.
+Default is
+480.
+.It Cd options VESAFB_DEPTH=XX
+Sets the bits per pixel, such as
+8
+or
+16.
+Default is
+8.
+.It Cd options VESAFB_PM
+Enables the power management support by enabling the
+WSDISPLAYIO_SVIDEO 
+and
+WSDISPLAYIO_GVIDEO
+ioctl implementations.
+.\" which
+.\" .Xr wsfb 4
+.\" should use when it decides to blank the display.
+This is not enabled by default,
+as in some cases it might cause the system to hang.
+Tested on:
+ATI Radeon M9 (failed),
+NeoMagic 256AV (passed),
+VIA VT8623 (failed).
+.\" It currently defaults to 'standby' mode.
+.El
+.Sh SEE ALSO
+.Xr wscons 4
+.Xr wsdisplay 4
 .Sh HISTORY
 The
 .Nm
@@ -71,3 +132,6 @@
 .Nm
 does not support VBE 1.2 and below, as they do not provide support for
 linear framebuffers.
+.Pp
+.Cd options VESAFB_PM
+may cause some systems to hang.


And:

Index: share/man/man4/wsdisplay.4
===================================================================
RCS file: /cvsroot/src/share/man/man4/wsdisplay.4,v
retrieving revision 1.29
diff -u -r1.29 wsdisplay.4
--- share/man/man4/wsdisplay.4	15 Apr 2006 17:51:24 -0000	1.29
+++ share/man/man4/wsdisplay.4	17 Aug 2006 00:02:06 -0000
@@ -39,6 +39,8 @@
 (VGA display on ISA or PCI)
 .Cd "wsdisplay* at pcdisplay? console ?"
 (generic PC (ISA) display)
+.Cd "wsdisplay* at vesafb? console ?"
+(VESA frame buffer display)
 .Cd "wsdisplay* at tga? console ?"
 (DEC TGA display, alpha only)
 .Cd "wsdisplay* at pfb? console ?"
@@ -526,6 +528,19 @@
 The structure has the same meaning as described in
 .Dv WSDISPLAY_GETWSCHAR ,
 although all of its fields are treated as input.
+.\" Splash screen control
+.It Dv WSDISPLAYIO_SSPLASH Pq Li u_int
+Toggle the splash screen.
+This call is only available with the
+.Va SPLASHSCREEN
+kernel option.
+.It Dv WSDISPLAYIO_SPROGRESS Pq Li u_int
+Update the splash animation.
+This call is only available with the
+.Va SPLASHSCREEN
+and
+.Va SPLASHSCREEN_PROGRESS
+kernel options.
 .El
 .Sh FILES
 .Bl -item
@@ -546,6 +561,7 @@
 .\" .Xr ega 4 ,
 .Xr pcdisplay 4 ,
 .Xr tty 4 ,
+.Xr vesafb 4 ,
 .Xr vga 4 ,
 .Xr wscons 4 ,
 .Xr wsconscfg 8 ,