README - vx32 - Local 9vx git repository for patches.
 (HTM) git clone git://r-36.net/vx32
 (DIR) Log
 (DIR) Files
 (DIR) Refs
       ---
       README (3901B)
       ---
            1 Welcome to Plan 9 VX.
            2 
            3 Plan 9 VX has been built and run successfully on Linux 2.6
            4 (Ubuntu Gutsy and Hoary), FreeBSD 7, and OS X 10.4.11.
            5 It is likely that it will work on newer machines too.  
            6 
            7 In addition to the code in this directory, you need a copy
            8 of a Plan 9 distribution tree.  If you need one, you can find
            9 a stripped-down tree at http://swtch.com/9vx/9vx.tgz.
           10 (That file also contains a pre-built 9vx binary.)
           11 
           12 The easiest way to invoke 9vx is to copy it to the root of 
           13 a Plan 9 distribution tree, cd into that directory, and run "9vx".
           14 Alternately, you can tell 9vx where the root is with the -r flag:
           15 
           16         9vx -r /var/tmp/plan9
           17 
           18 9vx also takes a -u flag to set the user name.  If you are using
           19 a stock distribution tree, you will get a better environment 
           20 if you run
           21 
           22         9vx -u glenda
           23 
           24 to log in as the default user, glenda.
           25 
           26 If all goes well, 9vx should fork itself into the background and
           27 an X11 window should appear running rio, the Plan 9 window
           28 manager (or, if not acting as glenda, a shell prompt).
           29 Even on Darwin, the graphics are via X11.  I have the relevant
           30 Carbon code in another project, but I need to merge it in.
           31 
           32 There is also a "-t" option, which causes 9vx to use
           33 the terminal on standard input/output for I/O instead of 
           34 creating an X console.  This option also keeps 9vx from forking
           35 itself into the background.  It's useful mainly for debugging.
           36 
           37 At this point you have a Plan 9 system, and it should behave
           38 not much differently from any other Plan 9 system.  If it 
           39 behaves differently in a bad way, please send email to 
           40 rsc@swtch.com to report a bug.
           41 
           42 The 9vx kernel provides the following devices that provide
           43 access to host resources.
           44 
           45         #A        audio (via /dev/dsp; #A1 is /dev/dsp1, etc.)
           46         #i        draw (via X11)
           47         #I        ip stack (including cs)
           48         #m        mouse, snarf (via X11)
           49         #Z        local file system (#U is /; #Uplan9 is -r root)
           50 
           51 Notice that done of these enforce permissions--they all
           52 execute as the user who started 9vx--so it wouldn't be a
           53 great idea to use 9vx as a replacement for a multiuser system.
           54 Even the user "none" has full access to the local file system via #Z.
           55 
           56 Enjoy!
           57 
           58 Russ Cox
           59 rsc@swtch.com
           60 June 2008
           61 
           62 
           63 P. S.  Some people have reported getting the following error:
           64 
           65 9vx: ../../src/xcb_lock.c:33: _XCBUnlockDisplay: \
           66         Assertion `xcb_get_request_setn(dpy->xcb->connection) \
           67         == dpy->request' failed.
           68 
           69 This is a problem with the X11 libraries that has been known
           70 since January and was supposedly fixed in the latest X11 library
           71 sources in March, but the big Linux distributions haven't picked
           72 up the fixes yet.  See these URLs:
           73 
           74 https://bugs.launchpad.net/ubuntu-mobile/+bug/185311
           75 http://lists.freedesktop.org/archives/xcb/2008-March/003347.html
           76 https://bugs.freedesktop.org/show_bug.cgi?id=14211
           77 http://forum.tuxx-home.at/viewtopic.php?f=10&t=565
           78 
           79 Supposedly, the XCB error can only happen in improperly locked
           80 X programs, but they seem to assume that you're using LockDisplay
           81 and UnlockDisplay to mediate access to the X server instead of
           82 using your own locks, something that is explicitly permitted in the
           83 manual page.  I think they're code is just broken.  If you find locking
           84 errors in the 9vx x11 code, I'd like to know about them.
           85 
           86 P. P. S.  Plan 9 VX is much more demanding of the OS than 
           87 libvx32 itself is.  Some systems, usually older ones, are *not*
           88 compatible with Plan 9 VX.
           89 
           90 Plan 9 VX is known *not* to work on old Linux systems running
           91 Linux 2.4 kernels or the old LinuxThreads pthreads implementation
           92 that was the default on 2.4-based systems but crept into some 
           93 2.6 distributions.
           94 
           95 Plan 9 VX is known *not* to work on FreeBSD 6, due to an 
           96 incompatibility between libkse (the implementation of pthreads)
           97 and libvx32.  FreeBSD 7 replaced libkse with a new thread library
           98 that is just great.
           99 
          100 COMPILATION ERRORS?
          101 The libpcap development libraries are needed to compile this
          102 version of 9vx. Alternatively, set PLAN9PCAP to nopcap in the
          103 Makefrag file.
          104 
          105