Note:The only people who should be using Xpmac is those who don't have an accelerated video driver -- such as atyfb, and are forced to use No Video Driver in BootX.
Getting the X Server
The latest (and quite likely the last ;) version of Xpmac can be downloaded from .
If you downloaded this file via. Netscape, it was already decompressed on the fly (Netscape does this to all .gz files). To test that it has done this, you can run file Xpmac.rev10.gz. If it tells you that it's compressed, then you need to uncompress it, if not, you don't have to.
If you downloaded it in another app, you may have to manually decompress it. You can do:
gzip -d Xpmac.rev10.gz
Installing Xpmac
You can move Xpmac to the /usr/X11R6/bin directory, by typing in (as root):
mv Xpmac.rev.10 /usr/X11R6/bin/Xpmac.bin
Setting up Xpmac
Xpmac is a very simple X Server, even with the optional Xpmac wrapper script explained below. It doesn't read XF86Config, so anything you put there won't be read.
Stopping gdm/kdm/xdm
Before you try it out for the first time, stop all desktop managers (aka graphical login screens). These could cause "X Respawning to Fast Errors" or a system that is unusable, due to a missing font path.
You can stop the desktop manager by:
/etc/init.d/gdm stop
If you are using KDM or XDM, stop that instead of gdm (which is default on most systems, that have GNOME installed).
Setting Xpmac as the Default X Server
On LinuxPPC and Yellow Dog Linux, /etc/X11/X is a link to your X Server. You can change it to Xpmac using this command:
ln -sf /usr/X11R6/bin/Xpmac /etc/X11/X
After making this change, make sure not to run XConfigurator or Xautoconfig. Both of these will change this link back to FBDev.
Debian users should edit the first line of /etc/X11/XServers to read /usr/X11R6/bin/Xpmac.
Creating Xpmac Wrapper
The Xpmac wrapper, as mentioned above, allows for a nice configuration file for Xpmac. Here is a slightly modified version of Matsubayashi Kohji's Xpmac wrapper.
#!/bin/bash
# wrapper script for Xpmac server
# written by MATSUBAYASHI 'Shaolin' Kohji
# Parts by Andrew Arthur
#
# load setting file for Xpmac if available
#
if [ -f /etc/X11/Xpmac.conf ] ; then
. /etc/X11/Xpmac.conf
fi
#
# set up optional arguments for Xpmac
#
XPMAC_OPTIONS=""
[ "x$VMODE" != "x" ] && XPMAC_OPTIONS="$XPMAC_OPTIONS -mode $VMODE"
[ "x$CMODE" != "x" ] && XPMAC_OPTIONS="$XPMAC_OPTIONS -depth $CMODE"
case "x$VIDEO" in
xtt128)
XPMAC_OPTIONS="$XPMAC_OPTIONS -tt128"
;;
xct6555)
XPMAC_OPTIONS="$XPMAC_OPTIONS -ct6555"
;;
xmach64)
XPMAC_OPTIONS="$XPMAC_OPTIONS -mach64"
;;
xnoaccel)
XPMAC_OPTIONS="$XPMAC_OPTIONS -noaccel"
;;
xnovideodriver)
XPMAC_OPTIONS="$XPMAC_OPTIONS -novideodriver"
;;
*)
;;
esac
if [ "x$FIX4MB" = "x1" ] ; then
if [ `grep -c [Mm]atrox /proc/fb` -eq 0 ] ; then
XPMAC_OPTIONS="$XPMAC_OPTIONS -fix4mb"
fi
fi
[ "x$NOMACGAMMA" = "x1" ] && XPMAC_OPTIONS="$XPMAC_OPTIONS --nomacgamma"
[ "x$NOVTSWITCH" = "x1" ] && XPMAC_OPTIONS="$XPMAC_OPTIONS --novtswitch"
[ "x$KBDTYPE" != "x" ] &&
XPMAC_OPTIONS="$XPMAC_OPTIONS -kbdtype $KBDTYPE"
[ "x$MIDDLEKEY" != "x" ] &&
XPMAC_OPTIONS="$XPMAC_OPTIONS -middlekey $MIDDLEKEY"
[ "x$RIGHTKEY" != "x" ] &&
XPMAC_OPTIONS="$XPMAC_OPTIONS -rightkey $RIGHTKEY"
[ "x$NOOPTIONMOUSE" = "x1" ] &&
XPMAC_OPTIONS="$XPMAC_OPTIONS -nooptionmouse"
[ "x$NOOPTIONPOWER" = "x1" ] &&
XPMAC_OPTIONS="$XPMAC_OPTIONS -nooptionpower"
[ "x$NOMONITORSLEEP" = "x1" ] &&
XPMAC_OPTIONS="$XPMAC_OPTIONS -nomonitorsleep"
# Font Path Stuff
[ "x$FP1" != "x" ] &&
XPMAC_FP=" -fp $FP1"
[ "x$FP2" != "x" ] &&
XPMAC_FP="$XPMAC_FP,$FP2"
[ "x$FP3" != "x" ] &&
XPMAC_FP="$XPMAC_FP,$FP3"
[ "x$FP4" != "x" ] &&
XPMAC_FP="$XPMAC_FP,$FP4"
[ "x$FP5" != "x" ] &&
XPMAC_FP="$XPMAC_FP,$FP5"
[ "x$FP6" != "x" ] &&
XPMAC_FP="$XPMAC_FP,$FP6"
[ "x$FP7" != "x" ] &&
XPMAC_FP="$XPMAC_FP,$FP7"
[ "x$FP8" != "x" ] &&
XPMAC_FP="$XPMAC_FP,$FP8"
[ "x$FP9" != "x" ] &&
XPMAC_FP="$XPMAC_FP,$FB9"
[ "x$FP10" != "x" ] &&
XPMAC_FP="$XPMAC_FP,$fp2"
XPMAC_OPTIONS="$XPMAC_OPTIONS $XPMAC_FP"
# finally, execute Xpmac binary itself
#
exec /usr/X11R6/bin/Xpmac.bin $XPMAC_OPTIONS $*
# wrapper script ends here
Paste that script into a file in /usr/X11R6/bin, called Xpmac.
Next you need to create an /etc/X11/Xpmac.conf. This is a sample one, with explanations in it on what to change. It is different from the orginal version, as this one supports font paths.
# # Sample config file for Xpmac server # MATSUBAYASHI 'Shaolin' Kohji # Parts by Andrew Arthur # # ************************************************************* # VIDEO SECTION. # ************************************************************* ## ## specify video mode (1-20) ## number denotes either of the following resolutions: # # 1 512 x 386 60Hz (interlaced, NTSC) # 2 512 x 386 60Hz # 3 640 x 480 50Hz (interlaced, PAL) # 4 640 x 480 60Hz (interlaced, NTSC) # 5 640 x 480 60Hz # 6 640 x 480 67Hz # 7 640 x 870 75Hz (portrait) # 8 768 x 576 50Hz (interlaced, PAL) # 9 800 x 600 56Hz # 10 800 x 600 60Hz # 11 800 x 600 72Hz # 12 800 x 600 75Hz # 13 832 x 624 75Hz # 14 1024 x 768 60Hz # 15 1024 x 768 72Hz # 16 1024 x 768 75Hz # 17 1024 x 768 75Hz # 18 1152 x 870 75Hz # 19 1280 x 960 75Hz # 20 1280 x 1024 75Hz # VMODE=20 ## ## specify video depth ## currently 8, 16, 24 is available ## (setting the value to 32 is equivalent to 24) # CMODE=24 ## ## specify font path ## if you don't want Xpmac's hard coded font ## path, you need to change this. ## ## if you use this script, you must set FP1 ## before other ones. font paths are concatanated ## together from top to bottom. # FP1="/usr/X11R6/lib/X11/fonts/misc:unscaled" # FP2="/usr/X11R6/lib/X11/fonts/75dpi:unscaled" # FP3="unix/:7101" # FP4="/usr/X11R6/lib/X11/fonts/Speedo" # FP5="/usr/X11R6/lib/X11/fonts/Type1" # FP6="/usr/X11R6/lib/X11/fonts/freefont" # FP7="/usr/X11R6/lib/X11/fonts/sharefont" # FP8="/usr/X11R6/lib/X11/fonts/uwm" # FP9="/usr/X11R6/lib/X11/fonts/75dpi" # FP10="/usr/X11R6/lib/X11/fonts/misc" ## ## specify hardware acceleration ## it is not always required, but try this ## if your video card is not automatically detected ## ## currently the following options are available: # # tt128 enforce TwinTurbo128 acceleration without video driver # ct6555 enforce C&T 6555x acclerelation without video driver # mach64 encofce mach64 acceleration without video driver # noaccel disable hardware acceleration # novideodriver same as mach64 # VIDEO=mach64 ## ## other video options (uncomment appropriate lines if necessary) ## # Process 4MB WRAM bank boundary for Matrox MGA2x64. # Don't use this when matroxfb is running! # FIX4MB=1 # turn off Macintosh gamma correction # NOMACGAMMA=1 # turn off virtual terminal switching # NOVTSWITCH=1 # ************************************************************* # KEYBOARD SECTION. # ************************************************************* ## ## specify keyboard type ## the following keymaps are currently available: ## if you use ASCII keyboard, it probably need not to be specified # # "../jp(mac_adb)" ADB JIS keybaord # "../jp(mac_usb)" USB JIS keyboard # KBDTYPE="../jp(mac_adb)" ## ## other keyboard options (uncomment appropriate lines if necessary) ## # decimal keycode for middle/right mouse buttons emulation # some examples are shown here - use showkey(1) or xev(1) for other keys # # MIDDLE BUTTON RIGHT BUTTON # -------------------+-------------------- # F1 - 130 F2 - 128 # 1 - 26 2 - 27 # 1 (numeric) - 91 2 (numeric) - 92 MIDDLEKEY=130 RIGHTKEY=128 # if you don't want these keys above with


