1.\" $OpenBSD: wsdisplay.4,v 1.25 2003/07/09 13:26:20 jmc Exp $ 2.\" $NetBSD: wsdisplay.4,v 1.5 2000/05/13 15:22:19 mycroft Exp $ 3.\" 4.\" Copyright (c) 1999 Matthias Drochner. 5.\" All rights reserved. 6.\" 7.\" Redistribution and use in source and binary forms, with or without 8.\" modification, are permitted provided that the following conditions 9.\" are met: 10.\" 1. Redistributions of source code must retain the above copyright 11.\" notice, this list of conditions and the following disclaimer. 12.\" 2. Redistributions in binary form must reproduce the above copyright 13.\" notice, this list of conditions and the following disclaimer in the 14.\" documentation and/or other materials provided with the distribution. 15.\" 16.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 17.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 20.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26.\" SUCH DAMAGE. 27.\" 28.Dd March 6, 2003 29.Dt WSDISPLAY 4 30.Os 31.Sh NAME 32.Nm wsdisplay 33.Nd generic display device support in wscons 34.Sh SYNOPSIS 35.\".Cd wsdisplay* at ega? console ? 36.\"(EGA display on ISA) 37.Cd "wsdisplay* at vga? console ?" 38(VGA textmode display on ISA or PCI) 39.Cd "wsdisplay* at pcdisplay? console ?" 40(generic PC (ISA) display) 41.Cd "wsdisplay* at vgafb? console ?" 42(VGA graphics display on PCI, as found on macppc and sparc64 platforms) 43.Cd "wsdisplay* at tga? console ?" 44(DEC TGA display, alpha only) 45.\" .Cd wsdisplay* at nextdisplay? console ? 46.\" (NeXT display) 47.Cd "wsdisplay* at sti? console ?" 48(HP CRX and Visualize series framebuffers) 49.Cd "wsdisplay* at agten? console ?" 50.Cd "wsdisplay* at bwtwo? console ?" 51.Cd "wsdisplay* at cgtwo? console ?" 52.Cd "wsdisplay* at cgthree? console ?" 53.Cd "wsdisplay* at cgfour? console ?" 54.Cd "wsdisplay* at cgsix? console ?" 55.Cd "wsdisplay* at cgeight? console ?" 56.Cd "wsdisplay* at cgtwelve? console ?" 57.Cd "wsdisplay* at cgfourteen? console ?" 58.Cd "wsdisplay* at mgx? console ?" 59.Cd "wsdisplay* at pninek? console ?" 60.Cd "wsdisplay* at pnozz? console ?" 61.Cd "wsdisplay* at tcx? console ?" 62.Cd "wsdisplay* at tvtwo? console ?" 63.Cd "wsdisplay* at vigra? console ?" 64.Cd "wsdisplay* at zx? console ?" 65(sparc and/or sparc64 framebuffers) 66.Cd "wsdisplay* at creator? console ?" 67(sparc64 framebuffers) 68.Cd "wsdisplay0 at smg? console ?" 69(VAXstation small monochrome display) 70.Cd "option WSDISPLAY_DEFAULTSCREENS=N" 71.Sh DESCRIPTION 72The 73.Nm 74driver is an abstraction layer for display devices within the 75.Xr wscons 4 76framework. 77It attaches to the hardware specific display device driver and 78makes it available as text terminal or graphics interface. 79.Pp 80A display device can have the ability to display characters on it 81(without help of an X server), either directly by hardware or through 82software drawing pixel data into the display memory. 83Such displays are called 84.Dq emulating , 85the 86.Nm 87driver will connect a terminal emulation module and provide a 88tty-like software interface. 89In contrary, non-emulating displays can only be used by special programs 90like X servers. 91.Pp 92The 93.Em console 94locator in the configuration line refers to the device's use as output 95part of the operating system console. 96A device specification containing a positive value here will only match 97if the device is in use as system console. 98(The console device selection in early system startup is not influenced.) 99This way, the console device can be connected to a known 100.Nm wsdisplay 101device instance. 102(Naturally, only 103.Dq emulating 104display devices are usable as console.) 105.Pp 106The logical unit of an independent contents displayed on a display 107(sometimes referred to as 108.Dq virtual terminal ) 109is called a 110.Dq screen 111here. 112If the underlying device driver supports it, multiple screens can 113be used on one display. 114(As of this writing, only the 115.Xr vga 4 116and the 117.Tn VAX 118.Dq smg 119display drivers provide this ability.) 120Screens have different minor device numbers and separate tty instances. 121One screen possesses the 122.Dq focus , 123this means it is displayed on the display and its tty device will get 124the keyboard input. 125(In some cases, if no screen is set up or if a screen 126was just deleted, it is possible that no focus is present at all.) 127The focus can be switched by either special keyboard input (typically 128CTL-ALT-Fn) or an ioctl command issued by a user program. 129Screens are set up or deleted through the 130.Pa /dev/ttyCcfg 131control device (preferably using the 132.Xr wsconscfg 8 133utility). 134Alternatively, the compile-time option 135.Cm WSDISPLAY_DEFAULTSCREENS=N 136will set up N screens of the display driver's default type and using 137the system's default terminal emulator at autoconfiguration time. 138.Pp 139In addition and with help from backend drivers the following features 140are also provided: 141.Bl -bullet 142.It 143Loading, deleting and listing the loaded fonts. 144.It 145Browsing backwards in the screen output, the size of the 146buffer for saved text is defined by the particular hardware driver. 147.It 148Blanking the screen by timing out on inactivity in the 149screen holding the input focus. 150Awakening activities consist of: 151.Pp 152.Bl -bullet -compact 153.It 154pressing any keys on the keyboard; 155.It 156moving or clicking the mouse; 157.It 158any output to the screen. 159.El 160.Pp 161Blanking the screen is usually done by disabling the horizontal sync 162signal on video output, but may also include blanking the vertical 163sync in which case most monitors go into power saving mode. 164See 165.Xr wsconsctl 8 166for controlling variables. 167.El 168.Pp 169Consult the back-end drivers' documentation for which features are supported 170for each particular hardware type. 171.Sh FILES 172.Bl -tag -width /usr/include/dev/wscons/wsconsio.h -compact 173.It Pa /dev/ttyC* 174terminal devices (per screen) 175.It Pa /dev/ttyCcfg 176control device 177.It Pa /usr/include/dev/wscons/wsconsio.h 178.El 179.Sh SEE ALSO 180.Xr agten 4 , 181.Xr bwtwo 4 , 182.Xr cgeight 4 , 183.Xr cgfour 4 , 184.Xr cgfourteen 4 , 185.Xr cgsix 4 , 186.Xr cgthree 4 , 187.Xr cgtwelve 4 , 188.Xr cgtwo 4 , 189.Xr creator 4 , 190.Xr intro 4 , 191.Xr mgx 4 , 192.Xr pninek 4 , 193.Xr pcdisplay 4 , 194.Xr pnozz 4 , 195.Xr sti 4 , 196.Xr tcx 4 , 197.Xr tga 4 , 198.Xr tty 4 , 199.Xr tvtwo 4 , 200.Xr vga 4 , 201.Xr vgafb 4 , 202.Xr vigra 4 , 203.Xr wscons 4 , 204.Xr zx 4 , 205.Xr wsconscfg 8 , 206.Xr wsconsctl 8 , 207.Xr wsfontload 8 208.Sh BUGS 209The 210.Nm 211code currently limits the number of screens on one display to 8. 212.Pp 213The terms 214.Dq wscons 215and 216.Dq wsdisplay 217are not cleanly distinguished in the code and in manual pages. 218.Pp 219.Dq non-emulating 220display devices are not tested. 221