   X.Org  X  on  Darwin  and  Mac  OS  XTorreyT. Lyons15 December
   2003IntroductionXorg,  a  freely  redistributable  open-source
   implementation  of  the  X  Window  System, has been ported to
   Darwin  and  Mac  OS  X.  This  document  is  a  collection of
   information for anyone running Xorg's X server on Apple's next
   generation  operating system.Most of the current work on X for
   Darwin  and  Mac  OS X  is centered around the XonX project at
   SourceForge.  If you are interested in up-to-date status, want
   to  report  a  bug,  or  are interested in working on Xorg for
   Darwin,   stop   by  the  XonX  project.Hardware  Support  and
   ConfigurationThe  X  window  server  for  Darwin  and Mac OS X
   provided  by  the X.Org Foundation. is called XDarwin. XDarwin
   can run in three different modes. On Mac OS X, XDarwin runs in
   parallel  with  Aqua  in  full screen or rootless modes. These
   modes  are  called  Quartz  modes,  named  after the Quartz 2D
   compositing  engine used by Aqua. XDarwin can also be run from
   the  Darwin  console in IOKit mode.In full screen Quartz mode,
   when  the  X Window System is active, it takes over the entire
   screen. You can switch back to the Mac OS X desktop by holding
   down  Command-Option-A. This key combination can be changed in
   the  user preferences. From the Mac OS X desktop, click on the
   XDarwin  icon  in  the  Dock  to  switch  back to the X window
   system.  (You can change this behavior in the user preferences
   so that you must click the XDarwin icon in the floating switch
   window instead.)In rootless mode, the X window system and Aqua
   share  your display. The root window of the X11 display is the
   size of the screen and contains all the other windows. The X11
   root  window is not displayed in rootless mode as Aqua handles
   the  desktop  background.From  the console, the Darwin port of
   X11R7.2   uses   the  IOKit  for  device  driver  loading  and
   discovery,  rather  than the X11R7.2 module loader. Because of
   this,  the X11R7.2 configuration file is not used on Darwin or
   Mac  OS X systems. The descriptions found elsewhere of devices
   supported  by  X11R7.2 for other operating systems also do not
   apply.X11R7.2  for Darwin or Mac OS X will work with any video
   card that you have an IOKit driver for. If you are running Mac
   OS X,  this  typically means any card that has been shipped by
   Apple.  If a card works for you with the Mac OS X GUI, it will
   work  on  the  same  machine  with X11R7.2. If you have a pure
   Darwin  installation,  you  may  need  to  download additional
   third-party  drivers  from  Apple's Darwin site. IOKit drivers
   are  typically  installed  in  /System/Library/Extensions/  or
   /Library/Extensions/.Multi-button   and   scroll  wheel  mouse
   support  works  well  with  all USB mice that I have tested. I
   have  done  no  testing  with  ADB mice, but without a special
   driver,  only  a  single  mouse  button  will  work  on an ADB
   mouse.Getting  StartedFollowing  are instructions for building
   and  running  your  own  copy  of  X11R7.2.  The procedure for
   getting  your  X  server up and running on Darwin and Mac OS X
   are  very  similar.  Where  there are differences I have noted
   them  below.  Note  that  to build X11R7.2 for yourself on Mac
   OS X,     you     need     to    install    the    Developers'
   Tools./Applications.If  you  get  the precompiled binaries you
   can  skip  ahead  to  the section on On the other hand, if you
   want  to  build  things  yourself  from  scratch,  follow  the
   directions  below.Get  the Code The first thing you need to do
   is  to  get the source code from the X.Org Foundation project.
   Setup  CVS:  Both  Darwin and Mac OS X include CVS (Concurrent
   Versions System), which is an easy way to download and keep up
   to date with open source code released by the X.Org Foundation
   and  others.  You  do  have to setup CVS properly, however, to
   tell  it  where  to look. Follow the X.Org CVS instructions on
   how to do this either via ssh or via the cvs pserver. Now make
   a  directory in some convenient place which will serve as your
   top level directory for you open source development efforts. I
   am  going  to  call  this  directory sandbox/ in the following
   discussions  and you could put this directory, for example, in
   ~/sandbox/.  From  the  command  line  type:  cd  sandbox  cvs
   checkout  xc  Wait  for all the files to complete downloading.
   Build  X11R7.2Once  you  have  everything  ready it is easy to
   build   and   install  X11R7.2.  From  the  command  line:  cd
   sandbox/xc  make  World  >& world.log (wait for several hours)
   sudo  make  install  >&  install.log  sudo make install.man >&
   man.log  Run  the  X Window SystemSetting Your PathYou need to
   add the X Window System executables to your path. Your path is
   the   list  of  directories  to  be  searched  for  executable
   commands.  The  X11  commands  are  located in /usr/X11R6/bin,
   which  needs  to  be  added  to your path. In Quartz mode, the
   XDarwin  application  does  this for you automatically. It can
   also  be  configured  to  add additional directories where you
   have  installed  command  line applications. When running from
   the  Darwin  console,  you will need to set the path correctly
   for  your  shell  as  XDarwin  will  not  do this for you.More
   experienced  users  will have already set their path correctly
   using  the initialization files for their shell. In this case,
   you  can  inform  XDarwin  not  to  modify  your  path  in the
   preferences.  XDarwin  launches the initial X11 clients in the
   user's  default  login  shell. (An alternate shell can also be
   specified in the preferences.) The way to set the path depends
   on  the shell you are using. This is described in the man page
   documentation  for  the shell.In addition you may also want to
   add  the  man  pages  from  X11R7.2 to the list of pages to be
   searched  when  you are looking for documentation. The X11 man
   pages   are   located   in   /usr/X11R6/man  and  the  MANPATH
   environment  variable  contains  the  list  of  directories to
   search.Starting  the  X ServerOn Mac OS X, you can run X11R7.2
   from  the Darwin text console or in parallel with Aqua. To get
   to  the  text  console in Mac OS X you need to logout and type
   ``>console''  as  the  user  name.  This  will  shutdown  Core
   Graphics and bring up the console login prompt. Login again as
   your  user.  From  the text console you can start the X Window
   System  by  typing  ``exec startx''.When you are ready to quit
   X11R7.2 type ``exit'' in the main terminal window or quit with
   the  window  manager if you have one running. Unfortunately in
   IOKit  mode,  the  X server does not shutdown correctly and if
   you  did  not  start  with  ``exec  startx'',  you will get an
   apparently frozen screen with only a spinning beachball cursor
   on  it.  Nothing  you type shows up on the screen, but in fact
   your  keystrokes  are  being  received  by  the  console. Type
   ``logout''  to  return  to  normalcy after a brief delay. With
   Darwin,  this  should  put  you back at the text console login
   prompt.  With  Mac  OS X,  Core  Graphics will restart and you
   should be given a login window.To start X11R7.2 in Quartz mode
   you  can  launch  the XDarwin application in the /Applications
   folder,  or  from the command line type ``startx -- -quartz''.
   By  default this will give you a mode picker to choose between
   full  screen  or  rootless mode. You can change the default to
   always  use  a  particular mode in the preferences, or you can
   specify  the  ``-fullscreen''  or ``-rootless'' options on the
   command   line  instead  of  ``-quartz''.Double-clickable  X11
   ExecutablesMac  OS X  10.3  can be configured to automatically
   launch  XDarwin when you double-click an X11 executable in the
   Finder.  When  an  executable  file  is  double-clicked Launch
   Services  checks  to  see  if  it  is  linked  against the X11
   libraries.  If  it  is,  Launch  Services  opens the default X
   server.  To set the default X server, do the following: Create
   a simple file which ends in ''.x11app''.Open the file with Get
   Info  in  the  Finder.Under  ''Open with:'' select the XDarwin
   application.Select  ''Change  All...''  to  set XDarwin as the
   default. On Mac OS X 10.3 the default X server is started when
   an  X11  executable  is  double-clicked,  whether  or  not its
   extension is ''.x11app''. On previous versions of Mac OS X, an
   X11  executable  must have a ''.x11app'' extension for this to
   work.Customize  the X Window SystemThe X Window System is very
   customizable  and  you  will  certainly  want  to  change some
   things.  There is a lot you can do to control how your windows
   look, how the windows are moved, resized, etc. You will likely
   want  to  get  a  fancier  window  manager  than twm, which is
   included   with  X11R7.2.  The  .xinitrc  file  in  your  home
   directory  controls what programs are run when you start the X
   Window  System.  You  can  find  a  sample  .xinitrc  file  in
   /etc/X11/xinit/xinitrc.  There  are  many window managers that
   have  been  ported  to  Darwin.  The  following  pages contain
   collections  of  window  managers  and  other  X window system
   clients:   DarwinPorts:   An   easy  way  to  install  various
   open-source  software products on Darwin and Mac OS X. Fink: A
   package  manager  that  will  easily  download,  compile,  and
   install  lots  of  open  source  software  from  the Internet.
   GNU-Darwin:  A  source  for tons of software ported to Darwin.
   Good luck!
