| 1 | README file for xosview version 1.6.0, NetBSD-specific. |
|---|
| 2 | |
|---|
| 3 | CVS Id: Revision: $Id: README.netbsd,v 1.1.1.1 2008/05/04 15:53:48 emasson Exp $ |
|---|
| 4 | |
|---|
| 5 | NetBSD version written and maintained by Brian Grayson. |
|---|
| 6 | Please direct all comments, criticisms, etc. to me at |
|---|
| 7 | bgrayson@netbsd.org. |
|---|
| 8 | |
|---|
| 9 | An FAQ section is at the end of this file. |
|---|
| 10 | |
|---|
| 11 | If you have the pkg source tree (/usr/pkgsrc, by default) on |
|---|
| 12 | your machine, simply "cd /usr/pkgsrc/sysutils/xosview && make |
|---|
| 13 | && make install" should do the trick, and you can skip all of |
|---|
| 14 | this mumbo jumbo. |
|---|
| 15 | |
|---|
| 16 | ***************************************************************************** |
|---|
| 17 | Note: xosview needs to run 'setgid kmem' in order to access some of the |
|---|
| 18 | kernel information (at least until some more statistics are added to |
|---|
| 19 | the /kern or /proc file systems). If you do not have root or kmem |
|---|
| 20 | permission on the machine, xosview will not run. |
|---|
| 21 | ***************************************************************************** |
|---|
| 22 | |
|---|
| 23 | To make xosview: |
|---|
| 24 | |
|---|
| 25 | Unpack the tar file. It should create its own directory, named |
|---|
| 26 | xosview-1.x.x, and place all of its files there. |
|---|
| 27 | |
|---|
| 28 | Now, cd to xosview-1.x.x, and run ./configure. This should set up |
|---|
| 29 | acceptable Makefiles for you. |
|---|
| 30 | |
|---|
| 31 | Edit Makefile.config if desired (to enable debugging, or disable |
|---|
| 32 | optimization, for example). |
|---|
| 33 | |
|---|
| 34 | Make sure CXX and CXXFLAGS are set up properly for your version of gcc |
|---|
| 35 | (gcc 2.6.3 or higher is required. The code development was done using |
|---|
| 36 | gcc 2.7.2). Only profiling (-p, -pg, -a) and debugging (-g, -ggdb) |
|---|
| 37 | options should usually be modified in the CXXFLAGS definitions. |
|---|
| 38 | |
|---|
| 39 | The Makefile.config should include -lkvm in the LIBS definition. |
|---|
| 40 | If not, configuration must have not worked properly. Mail me if |
|---|
| 41 | this happens.... |
|---|
| 42 | |
|---|
| 43 | Run "make" with no options. (Since most people shouldn't need to mess |
|---|
| 44 | with the source code, we haven't enabled automatic dependence |
|---|
| 45 | checking. If you plan on modifying bits and pieces and recompiling, |
|---|
| 46 | simply run configure with --enable-auto-depend. |
|---|
| 47 | Unfortunately, the autodepend code requires the use of GNU make.) |
|---|
| 48 | |
|---|
| 49 | It should start compiling the netbsd directory files, create a library |
|---|
| 50 | (libmeter.a) out of all the .o files, and then compile the |
|---|
| 51 | main directory. Finally, it should link. |
|---|
| 52 | |
|---|
| 53 | Test the executable to make sure it works. You need to be root, or a |
|---|
| 54 | member of group 'kmem', to test it at this stage. xosview will come up |
|---|
| 55 | with the default compile-time resources. If there are no problems, |
|---|
| 56 | then you can use 'make install' (run while 'root') to install a |
|---|
| 57 | stripped, setgid copy of xosview and the Xdefaults into appropriate |
|---|
| 58 | places. The configure script uses a little Imakefile magic to |
|---|
| 59 | guess the proper locations (usually /usr/bin/X11 and |
|---|
| 60 | /usr/lib/X11/app-defaults/XOsview, respectively). |
|---|
| 61 | |
|---|
| 62 | The man page can be installed by "make install-man". |
|---|
| 63 | |
|---|
| 64 | If you have /usr/local NFS-mounted from another computer, you may need |
|---|
| 65 | to make sure that the mount has maproot=0 and is suid (or something |
|---|
| 66 | like that. I'm not an NFS expert, but if I copy an xosview |
|---|
| 67 | executable into my home directory, which is mounted nosuid, it does |
|---|
| 68 | not run suid/sgid, whereas if I copy it into /usr/local/bin, which is |
|---|
| 69 | mounted suid, it runs with no problem). |
|---|
| 70 | |
|---|
| 71 | |
|---|
| 72 | Congratulations -- xosview has been installed on your system! If you |
|---|
| 73 | wish, you may change the site-wide /usr/lib/X11/app-defaults/XOsview |
|---|
| 74 | file, or you can use your local .Xdefaults file to change xosview's |
|---|
| 75 | appearance. |
|---|
| 76 | |
|---|
| 77 | Notice that most of the command-line options use +foo to turn on |
|---|
| 78 | foo, and -foo to turn off foo. This is contrary to most |
|---|
| 79 | tradition, but is logical. :) |
|---|
| 80 | |
|---|
| 81 | I personally use a set of resources such that the idle field of each |
|---|
| 82 | meter is black, and the other colors used for fields are fairly constant |
|---|
| 83 | from one meter to the next. If you'd like a copy of our local .Xdefaults |
|---|
| 84 | file (rather than modifying the 50 resources yourself), just mail me! |
|---|
| 85 | |
|---|
| 86 | xosview is able to accept the -name option, for you XResource |
|---|
| 87 | aficionados. |
|---|
| 88 | |
|---|
| 89 | Stipple support: |
|---|
| 90 | Also, NetBSD-mac68k people (and others) that have monochrome systems |
|---|
| 91 | may want to try out the new stipple code -- set the enableStipple |
|---|
| 92 | resource to true, and choose black and white for the various |
|---|
| 93 | fields. The fields are automatically stippled 100%, 75%, 50%, and |
|---|
| 94 | 25% in a fixed fashion (future versions may allow the user to |
|---|
| 95 | specify the stipple percentage). |
|---|
| 96 | |
|---|
| 97 | Some resources were included with the xosview source code to allow |
|---|
| 98 | an easy example. Type 'xrdb -merge Xdefaults.stipple', followed |
|---|
| 99 | by 'xosview -name xosvstipple &' and 'xosview -name xosvstipplebw &'. |
|---|
| 100 | This will bring up two xosview windows, one using stippling with |
|---|
| 101 | color (xosvstipple) and one using only black and white |
|---|
| 102 | (xosvstipplebw). |
|---|
| 103 | |
|---|
| 104 | The stipple support is fairly experimental, so provide any |
|---|
| 105 | feedback you can -- positive, negative, etc. |
|---|
| 106 | |
|---|
| 107 | |
|---|
| 108 | If this README was incomplete, or you feel an additional comment or two |
|---|
| 109 | would be helpful to other users, please Email me -- I want this to be as |
|---|
| 110 | complete and idiot-proof as possible! |
|---|
| 111 | |
|---|
| 112 | Enjoy! |
|---|
| 113 | |
|---|
| 114 | Brian Grayson (bgrayson@netbsd.org) |
|---|
| 115 | |
|---|
| 116 | Further information/FAQs: |
|---|
| 117 | |
|---|
| 118 | 1. Why does xosview need to be setgid kmem, i.e., why doesn't it use |
|---|
| 119 | user-level system calls, and the optional-but-recommended /kern and |
|---|
| 120 | /proc filesystems? |
|---|
| 121 | |
|---|
| 122 | Information such as the breakdown of CPU usage is not yet |
|---|
| 123 | available (or not available in the kind of detail xosview |
|---|
| 124 | desires/requires) through any system calls, sysctl, |
|---|
| 125 | /kern, or /proc (at least not that I know! If not, let |
|---|
| 126 | me know.) Thus, xosview occasionally needs to munge |
|---|
| 127 | through the kernel's data structures to get its information. |
|---|
| 128 | |
|---|
| 129 | 2. Why does the cpumeter show user, nice, system, and idle/free, but |
|---|
| 130 | not show interrupts? |
|---|
| 131 | |
|---|
| 132 | As far as I can tell (from looking at the kernel source code) the |
|---|
| 133 | interrupt field is always 0, and is never set up properly for |
|---|
| 134 | statistics (Look at the output from 'top' -- have you ever seen the |
|---|
| 135 | %interrupt field be anything besides 0?). I decided that putting a |
|---|
| 136 | field label for 'INTR' would imply that these statistics were |
|---|
| 137 | correct, and that the interrupts were being correctly charged, which |
|---|
| 138 | they are not. |
|---|
| 139 | |
|---|
| 140 | If anyone knows of an easy patch to the kernel source (ha ha) that |
|---|
| 141 | would make the interrupt field in _cp_time be correct, let me know. |
|---|
| 142 | |
|---|
| 143 | 3. The swap meter doesn't seem to be working. |
|---|
| 144 | |
|---|
| 145 | When NetBSD went from 1.2F to 1.2G, the swap system was |
|---|
| 146 | revamped. This means two things: the old xosview method of |
|---|
| 147 | looking at kernel data structures no longer works, because |
|---|
| 148 | the symbols have changed too much, and a new handy function |
|---|
| 149 | swapctl() was added to make such munging unnecessary. |
|---|
| 150 | |
|---|
| 151 | This is all good. However, in order to be backwards |
|---|
| 152 | compatible, xosview still needs to know how to do its |
|---|
| 153 | munging. This way, an xosview compiled on a 1.2G or later |
|---|
| 154 | system will still get correct swap values on pre-1.2G |
|---|
| 155 | systems. In addition, new xosview's compiled on 1.2F or |
|---|
| 156 | earlier systems have no way of adding support for a |
|---|
| 157 | syscall that they don't even know about. I probably |
|---|
| 158 | could have hacked up something, but it would have been |
|---|
| 159 | ugly, so if xosview compiled on a pre-1.2G system is run |
|---|
| 160 | on a system that it suspects may be 1.2G or later, it |
|---|
| 161 | prints a helpful message saying a recompilation is |
|---|
| 162 | needed. |
|---|
| 163 | |
|---|
| 164 | So, if swap isn't working, either: |
|---|
| 165 | a) You aren't using /netbsd as the kernel, and forgot to |
|---|
| 166 | use the -N option. |
|---|
| 167 | b) You compiled xosview on a pre-1.2G system and are now |
|---|
| 168 | running it on a 1.2G or later system. In this case, you |
|---|
| 169 | should get a helpful message, if you are running |
|---|
| 170 | 1.4.4beta or later, or no useful message if you are |
|---|
| 171 | running 1.4.3beta or earlier. |
|---|
| 172 | c) Anything else is a bug, I think. :) |
|---|
| 173 | |
|---|
| 174 | 4. The battery meter doesn't display. |
|---|
| 175 | |
|---|
| 176 | By default, the battery meter is not enabled. To enable it, |
|---|
| 177 | put these resources in either your system-wide app-defaults |
|---|
| 178 | file (probably /usr/X11R6/lib/X11/app-defaults/XOsview) or in |
|---|
| 179 | your personal ~/.Xdefaults (feel free to change the color |
|---|
| 180 | scheme!): |
|---|
| 181 | |
|---|
| 182 | ! Battery meter resources: |
|---|
| 183 | xosview*battery: true |
|---|
| 184 | xosview*batteryLeftColor: orange |
|---|
| 185 | xosview*batteryUsedColor: orange |
|---|
| 186 | xosview*batteryPriority: 50 |
|---|
| 187 | xosview*batteryUsedFormat: autoscale |
|---|
| 188 | |
|---|
| 189 | |
|---|
| 190 | Enjoy! |
|---|