<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>Rebuilding Kernels for X</TITLE>
</HEAD>
<BODY BGCOLOR="#efefef" TEXT="black" LINK="blue" VLINK="#551A8B" ALINK="red">

<A HREF="FreeBSD.html"><EM> README for XFree86 on FreeBSD</EM></A>
 <b>:</b> <EM>Rebuilding Kernels for X</EM><BR>
<b>Previous:</b> <A HREF="FreeBSD5.html"><EM>Running X</EM></A><BR>
<b>Next:</b> <A HREF="FreeBSD7.html"><EM>Building X Clients</EM></A>


<HR NOSHADE>
  <H2><A NAME="6"></A>6. Rebuilding Kernels for X</H2>

<p>The GENERIC FreeBSD kernels support XFree86
without any modifications required.  You do not need to make any changes
to the GENERIC kernel or any kernel configuration which is a superset.</p>
<p>For a general description of BSD kernel configuration get <A href="ftp://gatekeeper.dec.com/pub/BSD/manuals/smm.02.config.ps.Z">smm.02.config.ps.Z</A>.
It is a ready-to-print postscript copy of the kernel configuration
chapter from the system maintainers manual.</p>
<p>If you do decide to reduce your kernel configuration file, do not
remove the line below (in <code>/sys/arch/i386/conf</code>).  It
is required for X support:</p>
<p>
<blockquote><code>
<pre>
 options		UCONSOLE		#X Console support
</pre>
</code></blockquote>
</p>
<p>The generic FreeBSD kernels are configured
by default with the syscons driver.  To configure your kernel similarly
it should have a line like this in <code>/usr/src/sys/i386/conf/GENERIC</code>:</p>
<p>
<blockquote><code>
<pre>
 device		sc0	at isa? port "IO_KBD" tty irq 1 vector scintr
</pre>
</code></blockquote>
</p>
<p>The number of virtual consoles can be set using the MAXCONS option:</p>
<p>
<blockquote><code>
<pre>
 options		"MAXCONS=4"		#4 virtual consoles
</pre>
</code></blockquote>
</p>
<p>Otherwise, the default without a line like this is 16.  You must have more
VTs than gettys as described in the end of section 3, and 4 is a reasonable
minimum.</p>
<p>The server supports two console drivers: syscons and pcvt.
The syscons driver is the default in FreeBSD 1.1.5 and higher.  They are
detected at runtime and no configuration of the server itself is required.</p>
<p>If you intend to use pcvt as the console driver, be sure to include the
following option in your kernel configuration file.</p>
<p>
<blockquote><code>
<pre>
 options		XSERVER			#Xserver
</pre>
</code></blockquote>
</p>
<p>The number of virtual consoles in pcvt can be set using the following
option:</p>
<p>
<blockquote><code>
<pre>
 options		"PCVT_NSCREENS=10"	#10 virtual consoles
</pre>
</code></blockquote>
</p>
<p>The bus mouse driver and the PS/2 mouse driver may not be included, or
may be included but disabled in your kernel.  If you intend to use
these mice, verify the following lines in the kernel configuration file:</p>

<p>
<blockquote><code>
<pre>
 device		mse0	at isa? port 0x23c tty irq 5 vector mseintr
 device		psm0	at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr
</pre>
</code></blockquote>
</p>
<p>The <code>mse0</code> device is for the bus mouse and the <code>psm</code> device is 
for the PS/2 mouse.  Your bus mouse interface card may allow you to 
change IRQ and the port address.  Please refer to the manual of 
the bus mouse and the manual page for <code>mse(4)</code> for details.
There is no provision to change IRQ and the port address of the
PS/2 mouse.</p>
<p>The XFree86 servers include support for the MIT-SHM extension.  The
GENERIC kernel does not support this, so if you want to make use of
this, you will need a kernel configured with SYSV shared memory
support.  To do this, add the following line to your kernel config
file:</p>
<p>
<blockquote><code>
<pre>
 options		SYSVSHM			# System V shared memory
 options		SYSVSEM			# System V semaphores
 options		SYSVMSG			# System V message queues
</pre>
</code></blockquote>
</p>
<p>If you are using a SoundBlaster 16 on IRQ 2 (9), then you need a patch for
sb16_dsp.c.  Otherwise a kernel configured with the SoundBlaster driver will
claim interrupt 9 doesn't exist and X server will lock up.</p>
<p>S3 cards and serial port COM 4 cannot be installed together on a
system because the I/O port addresses overlap.</p>


 <HR NOSHADE>
<A HREF="FreeBSD.html"><EM> README for XFree86 on FreeBSD</EM></A>
 <b>:</b> <EM>Rebuilding Kernels for X</EM><BR>
<b>Previous:</b> <A HREF="FreeBSD5.html"><EM>Running X</EM></A><BR>
<b>Next:</b> <A HREF="FreeBSD7.html"><EM>Building X Clients</EM></A>



</BODY>
</HTML>
