From: Ian Collier <imc@comlab.ox.ac.uk> Subject: Beta Testers required to test generic i386 graphics framebuffer device To: linux-kernel@vger.rutgers.edu, linux-laptop@vger.rutgers.edu, Date: Thu, 2 Apr 1998 17:46:55 +0100 (BST) Beta Testers required to test generic i386 graphics framebuffer device (Subtitled: 16-bit full screen graphics on my NeoMagic laptop?) Note - this announcement has been posted to the following lists: linux-laptop (to inform NeoMagic owners) linux-kernel (because it is a kernel device driver) linux-x11 (since it has to do with graphics) Description Currently, graphical support for i386 Linux (whether via X, svgalib or GGI) requires a low-level hardware driver to be written for each different video chipset. This means that whenever a new chipset is released there will be an inevitable delay before support is available. Worse, it means that support is poor or entirely lacking for chipsets made by uncooperative manufacturers (see NeoMagic). This is a particular problem on laptop machines which are ever evolving and do not offer the possibility of a video card switch when you get the machine home and discover that its video chipset is unsupported in XFree86. VBE 2.0 is a standard set of BIOS extensions, the specification for which was published in November 1994 by VESA. If the manufacturers of a machine or its video card provided a BIOS conforming to this specification then it should be possible to use BIOS calls to support graphics on that machine under Linux. The driver which this announcement describes is an attempt to allow just that using ioctl calls on a device file. I do not know how widespread VBE 2.0 is, but my machine has it and it wasn't specially selected for its BIOS. The VBE driver has both an obvious advantage and an obvious disadvantage. The advantage is that it will work straight away on new chipsets even without any information on how the hardware should be programmed. The disadvantage is that it cannot provide hardware acceleration: all it can provide is a frame buffer which can be mapped into a process's address space. The driver also has restrictions: the BIOS must support VBE 2.0, and it will not work if Linux is booted via DOS or Windows (although in the latter case it is possible that individual users could hack in an appropriate customisation). It is also untested on SMP kernels. Details The driver is provided in the form of source patches for a clean 2.0.33 kernel source tree. It is likely to work on other 2.0 kernels but has not been tested on 2.1 kernels and is unlikely to work unaltered. The driver comes with a section 4 man page and also a demo program which can be used to test the driver. This has been tested on precisely one machine, namely my IBM ThinkPad 380D (with NeoMagic NM2093 chipset). Who can help Anyone with an Intel-based machine and a 2.0.x kernel who knows how to patch and compile a kernel can help by reporting whether the driver does or does not work. I'd like to get some sort of idea as to how common VBE 2.0 is as well as how stable the driver is. (Standard disclaimer: I would like to think this will not crash your machine even if you don't have a compliant BIOS and that it should just output a helpful message explaining what's wrong. As ever, however, this is free software and comes with no warranty.) Kernel hackers can also help in more specialised ways, as follows. SMP hackers I ignored all the SMP stuff in the kernel (sorry) so don't know how it will work. Perhaps have a look at the code before finding that it halts your machine... Intel architecture hackers Pick holes in the source code. Finding a way of making it a bit less of a hack might be an admirable, if perhaps impossible, goal. X hackers Having an X server to work on this driver would be a big help. Non-Intel hackers Some architectures already have frame buffer devices, and this one is probably completely incompatible with them (so far I haven't seen any docs for those devices). Are there any simple changes which could be made to the interface to make it a bit more similar? Obtaining the driver Download the package from <http://www.comlab.ox.ac.uk/oucl/users/ian.collier/vbe-0.1.tar.gz> and unpack. The file INSTALL contains brief instructions on what to do and the ANNOUNCE file contains this announcement. Please send the results to... Ian Collier imc@comlab.ox.ac.uk - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu