Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

.\"	$NetBSD: genfb.4,v 1.5 2019/07/26 10:52:03 wiz Exp $
.\"
.\" Copyright (c) 2007 Michael Lorenz
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. The name of the author may not be used to endorse or promote products
.\"    derived from this software without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
.\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.Dd July 26, 2019
.Dt GENFB 4
.Os
.Sh NAME
.Nm genfb
.Nd generic framebuffer console driver
.Sh SYNOPSIS
.Cd "genfb* at pci?"
.Cd "genfb* at sbus?"
.Cd "genfb* at intvid?" Pq mac68k
.Cd "genfb* at macvid?" Pq mac68k
.Cd "wsdisplay* at genfb?"
.Sh DESCRIPTION
The
.Nm
driver provides support for generic framebuffers that have no native driver.
All it needs are some parameters to describe the framebuffer and an address.
.Ss PCI
When attaching to a
.Xr pci 4
bus the driver is configured via device properties:
.Bl -tag -width Dv
.It Dv width Pq Li uint32
Width in pixels.
.It Dv height Pq Li uint32
Height in pixels.
.It Dv stride Pq Li uint32
Line size in bytes.
.It Dv depth Pq Li uint32
Bits per pixel.
.It Dv is_console Pq Li bool
If true,
.Nm
will try to become the system console.
.It Dv address Pq Li uint32
Bus address of the framebuffer.
.El
.Ss SBus
When attaching to
.Xr sbus 4
all those parameters are retrieved from the firmware.
.Ss mac68k
All those parameters are configured with Mac OS,
and retrieved from the boot loader.
.Sh SEE ALSO
.Xr mac68k/intro 4 ,
.Xr pci 4 ,
.Xr sbus 4 ,
.Xr wscons 4 ,
.Xr wsdisplay 4
.Sh BUGS
There is no way to change the color map even when the firmware supports it.
The
.Xr pci 4
bus frontend has only been tested on macppc, i386, and amd64 and requires
machine dependent code to pass the properties mentioned above.
So far only macppc, i386, and amd64 provides them.