Post-installation instructions for X.Org on OpenBSD/macppc
----------------------------------------------------------

OpenBSD 3.7 and later uses the X.Org X server on macppc. 

A special driver reproduces the functionality of Xmacppc in previous 
releases: wsfb. It uses whatever graphics mode the console is set to 
(by Mac OS) as a dumb unaccelerated framebuffer in 8 bits per pixel. 
A default /etc/X11/xorg.conf is installed that uses this driver.
So you can just use 'startx' or xdm to start X without further 
configuration. 

To use xdm from rc.conf, it is necessary to disable /dev/ttyC0 in
/etc/ttys, change the 'status' of /dev/ttyC0 to 'off'.

Accelerated drivers
-------------------

The 'ati' driver is currently known to work on the machines with ATI
Rage 128 or Radeon cards. The 'nv' driver works for machines with
nVidia cards, although some modes may experience problems.

Use xorgconfig to build a /etc/X11/xorg.conf file before starting 
the server for the first time. Or you can use the sample configuration
file appended below as a starting point. 

You need to set machdep.allowaperture to 2 in /etc/sysctl.conf in
order to be able to use the X.Org accelerated drivers.

-- Cut Here for a sample /etc/X11/xorg.conf to use with the ati driver ---
Section "ServerLayout"
	Identifier     "Sample Config"
	Screen      0  "Screen0" 0 0
	InputDevice    "Mouse0" "CorePointer"
	InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
	RgbPath      "/usr/X11R6/lib/X11/rgb"
	FontPath     "/usr/X11R6/lib/X11/fonts/misc/"
	FontPath     "/usr/X11R6/lib/X11/fonts/Type1/"
	FontPath     "/usr/X11R6/lib/X11/fonts/CID/"
	FontPath     "/usr/X11R6/lib/X11/fonts/75dpi/"
EndSection

Section "Module"
#   Load        "dbe"
    Load        "freetype"
    Load        "glx"
    Load        "extmod"
EndSection

Section "InputDevice"
	Identifier  "Keyboard0"
	Driver      "keyboard"
	Option	    "Protocol"	"standard"
	Option	    "XkbRules"	"xorg"
	Option	    "XkbModel"	"macintosh"
	Option	    "XkbLayout"	"us"
EndSection

Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
	Option      "Protocol"	"wsmouse"
	Option      "Device"	"/dev/wsmouse"
	Option      "ZAxisMapping"	"4 5"
EndSection

Section "Monitor"
	Identifier   "Monitor"
	VendorName   "Generic"
	ModelName    "TwentyOneInches"
# Adjust those to your monitor or it will be destroyed !!
	HorizSync    31.5-90
	VertRefresh  50-100
# 	This mode line can be used on the Ti PBG4
#	Modeline "1152x768" 64.995 1152 1213 1349 1472  768 771 777 806 -HSync -VSync
# 	This mode line can be used on the ibook 600
#        ModeLine "1024x768" 75.00 1024 1048 1184 1328 768 771 777 806
EndSection

Section "Device"
	Identifier  "Card0"
	Driver      "ati"
	VendorName  "ATI"
	BoardName   "Rage 128 Pro PF"
	BusID       "PCI:0:16:0"
# 	These options are required for use on the Ti PBG4.
#	Option      "PanelWidth"  "1152"
#	Option      "PanelHeight" "768"
#	This option may help if your iBook or Mac mini has screen sync problems
#	Option      "iBookHacks" "on"

EndSection

# Use the following "Device" section instead for wsfb
#
# Section "Device"
#	Identifier "Card0"
#	Driver	   "wsfb"
#       Option	   "device" "/dev/ttyC0"
# EndSection

Section "Screen"
	Identifier "Screen0"
	Device     "Card0"
	Monitor    "Monitor"
# Perhaps change this to DefaultDepth 24 for ati 
	DefaultDepth 8
	SubSection "Display"
		Depth     8
# For PBG4 uncomment
#		Modes     "1152x768" "1024x768"
	EndSubSection
	SubSection "Display"
		Depth     16
# For PBG4 uncomment
#		Modes     "1152x768" "1024x768"
	EndSubSection
	SubSection "Display"
		Depth     24
# For PBG4 uncomment
#		Modes     "1152x768" "1024x768"
	EndSubSection
EndSection
--- Cut Here ---

Mousekeys (Or how to deal with a One Button Mouse)
--------------------------------------------------

Using the mousekeys feature of Xorg, it is possible to emulate
button2 and button3, since Apple does not seem to build hardware with
them. Other mouse operations can also be emulated using the keyboard.
To see the default key mappings, look at /etc/X11/xkb/compat/mousekeys.
These are not enabled by default.  It is necessary to bind a key to
the Pointer_EnableKeys action.  For the PBG4 a good setting for
this is using the Enter key next to or near the space bar (US keymap).
This can be bound by using the following xmodmap command.
--
xmodmap -e "keysym Mode_switch = Mode_switch Pointer_EnableKeys"
--
With xmodmap above run, <shift><ctrl><enter> (not return) will
toggle the Pointer_EnableKeys mode allowing the key to be
used either as a mouse action or as the real key.

For other keyboards/setups, both "Mode_switch" strings in the xmodmap
command can be changed to another key. xev(1) can be used to determine
the name associated with a key.

The following is a diff to the mousekeys file which simplifies
mousekey usage on the PBG4, It could be used with other keyboards,
this is not specific to the PBG4.  It changes the default mousekey
behavior of the keypad 0 and keypad Decimal (period) to act as mouse
button 2 and mouse button 3 respectively.

--- mousekeys.orig	Sat Oct 13 11:09:31 2001
+++ /etc/X11/xkb/compat/mousekeys	Sat Oct 13 11:12:34 2001
@@ -104,14 +104,14 @@
     };
 
     interpret KP_0 { 
-	action = LockPointerButton(button=default,affect=lock); 
+	action= PointerButton(button=2);
     };
     interpret KP_Insert { 
 	action = LockPointerButton(button=default,affect=lock); 
     };
 
     interpret KP_Decimal { 
-	action = LockPointerButton(button=default,affect=unlock); 
+	action= PointerButton(button=3);
     };
     interpret KP_Delete { 
 	action = LockPointerButton(button=default,affect=unlock); 

------------------------
If you encounter a problem, you can browse the entire documentation 
in /usr/X11R6/lib/X11/doc.

$OpenBSD: README.macppc,v 1.1.1.1 2006/11/27 11:25:45 matthieu Exp $
