home *** CD-ROM | disk | FTP | other *** search
- README for XFree86 4.1.0 on OpenBSD
-
- Matthieu Herrb
-
- Last modified on: 3 March 2000
-
- 1. What and Where is XFree86?
-
- XFree86 is the Open Source port of X.Org's X11R6.5.1 release that supports
- several UNIX(R) and UNIX-like (such as Linux, the BSDs and Solaris x86) oper-
- ating systems on Intel and other platforms.
-
- See the Copyright Notice.
-
- The sources for XFree86 4.1.0 are available by anonymous ftp from:
-
- ftp://ftp.XFree86.org/pub/XFree86/4.1.0
-
- Binaries for OpenBSD/i386 2.8 and later are available from:
-
- ftp://ftp.XFree86.org/pub/XFree86/4.1.0/binaries/OpenBSD
-
- A list of mirror sites is provided by http://www.xfree86.org/MIRRORS.shtml
-
- XFree86 also builds on other OpenBSD architectures. See section Building on
- other architectures (section 8.2, page 1) for details.
-
- 2. Bug Reports for This Document
-
- Send email to <herrb@xfree86.org> (Matthieu Herrb) or <XFree86@XFree86.org>
- if you have comments or suggestions about this file and we'll revise it.
-
- 3. New OS dependent features
-
- See the Release Notes for non-OS dependent new features in XFree86 4.1.0.
-
- 3.1 New OS dependent features in 4.0.3
-
- o Support for the wscons console driver in post 2.8 OpenBSD.
-
- o A fix for multi-threaded libraries support.
-
- 3.2 New OS dependent features in 4.0.2
-
- o Support for the OpenBSD ports tree,
-
- o Preliminary support for the powerpc architecture (clients build and
- work, the server doesn't work yet),
-
- o xdm now writes an utmp entry,
-
- o startx now creates an Xauthority magic cookie for the display.
-
- 3.3 New OS dependent features in 4.0.1
-
- o Several features from the OpenBSD X11 tree were merged into xdm:
-
- o support for Kerberos IV authentication
-
- o use the arc4random(4) random number generator
-
- o add a new resource "allowRootLogin", which can be used to disable
- root logins through xdm
-
- o log failed logins to syslogd
-
- o verify that the shell is valid using /etc/shell
-
- o verify that the account hasn't expired
-
- o The Xsun server can be built again on OpenBSD/sparc.
-
- 3.4 New OS dependent features in 4.0
-
- o Multi-thread safe libraries are built by default on OpenBSD 2.6 and
- later,
-
- o Preliminary APM support.
-
- 3.5 New OS dependent features in 3.9.18
-
- o Support for USB mices has been added on OpenBSD.
-
- o Soft-booting secondary cards through the int10 BIOS interface is now
- possible using the x86emu real mode emulator.
-
- 3.6 New OS dependent features in 3.9.17
-
- o Silken mouse is supported for serial mices, and, under post 2.6 OpenBSD-
- current for PS/2 mices.
-
- o MTRR Write Combining is enabled under post 2.6 OpenBSD-current.
-
- 4. Installing the Binaries
-
- Refer to the Installation Document for detailed installation instructions.
-
- 5. Configuring X for Your Hardware
-
- The /etc/X11/XF86Config file tells the X server what kind of monitor, video
- card and mouse you have. You must create it to tell the server what specific
- hardware you have.
-
- You'll need info on your hardware:
-
- o Your mouse type, baud rate and its /dev entry.
-
- o The video card's chipset (e.g. ET4000, S3, etc).
-
- o Your monitor's sync frequencies.
-
- The recommended way to generate an XF86Config file is to use the xf86cfg
- utility. The xf86config text utility is still there for the (few) cases
- where xf86cfg can't be used. Also, there is a sample file installed as
- /usr/X11R6/lib/X11/XF86Config.eg, which can be used as a starting point.
-
- For details about the XF86Config file format, refer to the XF86Config(5) man-
- ual page.
-
- Once you've set up a XF86Config file, you can fine tune the video modes with
- the xvidtune utility.
-
- 5.1 About mouse configuration
-
- XFree86 4.1.0 has support for the mouse driver included in the new wscons
- console driver introduced by OpenBSD-current after 2.8. Specify ``wsmouse''
- as the protocol and ``/dev/wsmouse0'' as the device in /etc/X11/XF86Config
- if you're using OpenBSD-current with a PS/2 mouse.
-
- The OpenBSD pms driver provides both ``raw'' and ``cooked'' (translated)
- modes. ``raw'' mode does not do protocol translation, so XFree86 would use
- the PS/2 protocol for talking to the device in that mode. ``Cooked'' mode is
- the old BusMouse translation. The driver runs in ``raw'' mode when using the
- /dev/psm0 device name.
-
- See README.mouse for general instruction on mouse configuration in XFree86.
-
- 6. Running X
-
- 6.1 Starting xdm, the display manager
-
- To start the display manager, log in as root on the console and type: ``xdm
- -nodaemon''.
-
- You can start xdm automatically on bootup by changing the line
-
- xdm_flags=NO # for normal use: xdm_flags=""
-
- to:
-
- xdm_flags="" # for normal use: xdm_flags=""
-
- in /etc/rc.conf.
-
- Note that the binary distributions of XFree86 for OpenBSD on ftp.xfree86.org
- and its mirrors don't include support for the XDM-AUTHORIZATION-1 protocol,
- because of the US export rules.
-
- 6.2 Running X without the display manager
-
- The easiest way for new users to start X windows is to type: ``startx >&
- startx.log''. Error messages are lost unless you redirect them because the
- server takes over the screen.
-
- To get out of X windows, type: ``exit'' in the console xterm. You can cus-
- tomize your X by creating .xinitrc, .xserverrc, and .twmrc files in your home
- directory as described in the xinit and startx man pages.
-
- 7. Kernel Support for X
-
- To make sure X support is enabled under OpenBSD, the following line must be
- in your config file in /sys/arch/i386/conf:
-
- option XSERVER
- option APERTURE
-
- 7.1 Console drivers
-
- The server supports the two standard OpenBSD/i386 console drivers: pcvt and
- pccons. They are detected at runtime and no configuration of the server
- itself is required.
-
- The pcvt console driver is the default in OpenBSD up to OpenBSD 2.8. It
- offers several virtual consoles and international keyboard support.
-
- OpenBSD-current after 2.8 has switched to the wscons console driver. This
- console driver has a pcvt compatibility mode for X support.
-
- 7.2 Aperture Driver
-
- By default OpenBSD includes the BSD 4.4 kernel security feature that disable
- access to the /dev/mem device when in multi-users mode. But the XFree86
- server require linear access to the display memory in most cases.
-
- OpenBSD now requires the aperture driver to be enabled for all X servers,
- because the aperture driver also controls access to the I/O ports of the
- video boards.
-
- To enable the aperture driver, once included in the kernel, set
-
- machdep.allowaperture=1
-
- in /etc/sysctl.conf.
-
- Some drivers need a patch to the aperture driver in the kernel to work cor-
- rectly with int10 support. If you get warning from xf86ReadBIOS like this
- one:
-
- (II) checkDevMem: using aperture driver /dev/xf86
- (WW) xf86ReadBIOS: /dev/mem mmap[s=600,a=0,o=0] failed (Invalid argument)
-
- you should patch your kernel and rebuild it. Until it's integrated in
- OpenBSD-current, or a better fix is found, the patch is available at
- ftp://ftp.laas.fr/pub/ii/matthieu/OpenBSD/patch-kernel-xf4.
-
- I've also included it below, if you want to edit the source file by hand.
-
- Index: sys/arch/i386/i386/mem.c
- ===================================================================
- RCS file: /cvs/src/sys/arch/i386/i386/mem.c,v
- retrieving revision 1.14
- diff -u -r1.14 mem.c
- --- sys/arch/i386/i386/mem.c 1999/11/20 11:11:28 1.14
- +++ sys/arch/i386/i386/mem.c 2000/11/13 10:54:22
- @@ -269,8 +269,8 @@
- /* minor device 4 is aperture driver */
- case 4:
- if (allowaperture &&
- - (((off >= VGA_START && off <= BIOS_END) ||
- - (unsigned)off > (unsigned)ctob(physmem))))
- + (off <= BIOS_END ||
- + (unsigned)off > (unsigned)ctob(physmem)))
- return i386_btop(off);
- else
- return -1;
-
- In post 2.8 OpenBSD-current, a modified version of this patch has been inte-
- grated. You should set
-
- machdep.allowaperture=2
-
- in /etc/sysctl.conf in order to achieve this. See the xf86(4) manual page for
- details.
-
- Another (less recommended) way to enable linear memory and I/O ports access
- is to disable the kernel security feature by adding ``option INSECURE'' in
- your kernel configuration file and build a new kernel. You will also need to
- comment out the line initializing securelevel to 1 in /etc/rc.securelevel.
-
- Caveat: the aperture driver only allows one access at a time (so
- that the system is in the same security state once X is launched).
- This means that if you run multiple servers on multiples VT, only
- the first one will have linear memory access. Use 'option INSE-
- CURE' if you need more that one X server at a time.
-
- 7.3 MIT-SHM
-
- OpenBSD supports System V shared memory. If XFree86 detects this support in
- your kernel, it will support the MIT-SHM extension.
-
- To add support for system V shared memory to your kernel add the lines:
-
- # System V-like IPC
- options SYSVMSG
- options SYSVSEM
- options SYSVSHM
-
- to your kernel config file.
-
- 8. Rebuilding the XFree86 Distribution
-
- The server developer's kit allow you to rebuild just the X server with a min-
- imum amount of disk space. Just unpack it, make the appropriate changes to
- the xf86site.def, type ``./mkmf'' and ``make'' to link the server. See
- /usr/X11R6/lib/Server/README for more info.
-
- You should configure the distribution by editing xc/config/cf/host.def
- before compiling. To compile the sources, invoke ``make World'' in the xc
- directory.
-
- 8.1 Console drivers
-
- XFree86 has a configuration option to select the console drivers to use in
- host.def:
-
- o if you're using pccons only put:
-
- #define XFree86ConsoleDefines -DPCCONS_SUPPORT
-
- o if you're using pcvt only put:
-
- #define XFree86ConsoleDefines -DPCVT_SUPPORT
-
- If you don't define XFree86ConsoleDefines in host.def the pccons and pcvt
- drivers will be supported by default.
-
- Experimental native support for the wscons console driver found on
- OpenBSD/powerpc and on OpenBSD/i386 -current can be built by adding:
-
- #define XFree86ConsoleDefines -DWSCONS_SUPPORT
-
- to xc/config/host.def before rebuilding the server. This has not been thor-
- oughly tested, except on the macppc.
-
- For the i386, you should include both pcvt and wscons support in order to use
- the pcvt compatibility mode of wscons:
-
- #define XFree86ConsoleDefines -DPCVT_SUPPORT -DWSCONS_SUPPORT
-
- 8.2 Building on other architectures
-
- XFree86 should also compiles on other OpenBSD architectures. However, please
- note that 3.9.x snapshots have only been tested on the i386 for now.
-
- Note that OpenBSD project has now its own source tree, based on the XFree86
- source tree, with some local modifications. You may want to start with this
- tree to rebuild from sources. The OpenBSD X11 source tree is available by
- anoncvs from all OpenBSD anoncvs servers. See http://www.openbsd.org/anon-
- cvs.html for details on anoncvs.
-
- 9. Building New X Clients
-
- The easiest way to build a new client (X application) is to use xmkmf if an
- Imakefile is included in the sources. Type ``xmkmf -a'' to create the Make-
- files, check the configuration if necessary and type ``make''. Whenever you
- install additional man pages you should update whatis.db by running ``make-
- whatis /usr/X11R6/man''.
-
- 10. Thanks
-
- Many thanks to all people who contributed to make XFree86 work on *BSD, in
- particular, David Dawes, Pace Willison, Amancio Hasty, Christoph Robitschko,
- Nate Williams, Rod Grimes, Jack Velte and Michael Smith.
-
- Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/OpenBSD.sgml,v 1.17.2.1 2001/06/05 20:11:08 dawes Exp $
-
-