x on intel based unix frequently asked questions faq archive name intel unix x faq last modified mar note this is a major re organization and replacement of my frequently asked questions about x faq list this article includes answers to i what options do i have for x software on my intel based unix system free options commercial options ii what is xfree and where do i get it what is xfree what oss are supported what video hardware is supported what about accelerated boards why doesn t xfree support color vga modes what other hardware or software requirements are there where can i get source for xfree where can i get binaries for xfree iv what general things should i know about running xfree installation directories configuration files determining vga dot clocks and monitor modes rebuilding reconfiguring the server from the link kit v what os specific things should i know about running xfree svr svr bsd linux mach vi what things should i know for building xfree from source vii is there anything special about building clients with xfree bsd compatibility library ansiccoptions this article does not include answers to general x questions since these are already covered by the x faq that is regularly posted by david b lewis faq craft uunet uu net if you have anything to add or change on the faq just let me know especially if you had a problem that someone else was able to help you with send changes to steve ecf toronto edu please put faq somewhere in the subject line so that my mail filter will put it in the correct mail folder please do not ask me questions that are not answered in the faq i do not have time to respond to these individually instead post your question to the net and send me the question and answer together when you get it frequently asked questions about x on intel based unix with answers i what options do i have for x software on my intel based unix system free options the best option is xfree which is an enhanced version of x any other version of x will have slower performance and will be more difficult to compile information on how to obtain xfree is listed below x is the port of the x server to system v that was done by thomas roell roell sgcs com it supports a wide variety of svga boards there are major free versions x is based on x r x is included in mit s x r distribution ie you don t need to patch it into the mit source any more x is the current commercial offering from sgcs see below commercial options metro link w mcnab road pompano beach fl fax email sales metrolink com summary os qnx svr svr sco unixware lynxos desqview x venix isc solaris pyramid sunos hw ega vga svga tiga targa a mach s wd fujistu matrox microfield graphics r other motif openlook xview xie imaging extension xv video extension audio drivers multi media sgcs snitily graphics consulting services brookgrove lane cupertino ca fax email info sgcs com or mips zok info summary os svr svr hw a ati ultra s diamond stealth svga other motif dual headed server consensys corporation pat booker rd universal city tx phone fax email info consensys com summary os consensys v consensys version of unix system v release hw x r server support for vga svga other moolit motif x r clients the santa cruz operation inc p o box santa cruz california sco unix fax email info sco com summary os odt odt sco unix v hw x r server support for svga a s tms x wd c xga assorted local bus see sco hardware compatabilty guide for actual card vendors other motif answer software consulting p o box columbus ohio xlab email sales x coher com summary os coherent r or greater hw works with any vesa compliant video note other commercial vendors including os vendors describing bundled software are welcome to submit summary information summary information such as the above ii what is xfree and where do i get it what is xfree xfree is an enhanced version of x which was distributed with x r this release consists of many bug fixes speed improvements and other enhancements here are the highlights of the enhancements the speedup package from glenn lai is an integral part of xfree selectable at run time via the xconfig file some speedups require an et based svga and others require a virtual screen width of the speedups suitable to the configuration are selected by default with a high quality et board vram this can yield up to improvement of the xstones benchmark over x the fx packages from jim tsillas are included as the default operating mode if speedup is not selected this mode is now equivalent in performance to x b x r and approximately faster than x support for localconn compile time selectable for server clients or both this support is for both svr and svr for svr with the advanced compatibility package local connections from sco xsight odt clients are supported drivers for ati and trident tvga c and tvga svga chipsets refer to the files readme ati and readme trident for details about the ati and trident drivers support for compressed bitmap fonts has been added thomas eberhardt s code from the contrib directory on export lcs mit edu type font code from mit contrib tape has been included and is compile time selectable there are contributed type fonts in the contrib directory on export lcs mit edu new configuration method which allows the server s drivers and font renderers to be reconfigured from both source and binary distributions integrated support for bsd mach and linux a monochrome version of the server which will run on generic vga cards is now included the following key features were added with the release of xfree they were not in xfree the monochrome server has been enhanced to do bank switching of available svga memory to allow virtual screens up to x see the x manual page for more information support for the hercules mono card has been added to the monochrome server and with it the ability to support a two headed server one vga and one hercules so far this has only been tested on svr it is also reported to work under linux svr shared libraries tested under isc svr and support for svr there are some special considerations to consider due to new usl bugs see the readme svr file for more information support for ps mice and logitech mouseman trackman some versions of these devices were not previously compatible a new tutorial on how to develop correct video card and monitor timing data written by eric raymond derived from previous documentation and a lot of experimentation greatly improved support for international keyboards including implementation of the compose key functionality found on many vendor servers see the x keybd manual page for more information the accuracy with which the server detects svga pixel clocks has been improved and the timings are now stored at accuracies of mhz users may want to consider removing an existing clocks line from their xconfig file and re probing using the new server many enhancements in error handling and parsing of the xconfig configuration file error messages are much more informative and intuitive and more validation is done there are many new options that can be enabled in the xconfig file see the x manual page for more information on the format of this file plus a number of other small things refer to the changelog file in the source distribution for full details also included are a tutorial on monitor timing by eric raymond and the current x mode database and a sample xdm configuration by david wexelblat what oss are supported xfree supports svr consensys v svr microport dell esix isc at t mst consensys uhc svr isc at t linux mach bsd bsd is not supported but it should work the most active bsd person is greg lehey grog lemis de note that esix d and sco are not supported yet but anyone should feel free to submit patches if you are interested in tackling this send mail to xfree physics su oz au what video hardware is supported at this time xfree supports the following svga chipsets tseng et tseng et paradise pvga western digital wd c wd c wd c these are supersets of the pvga and use its driver genoa gvga trident tvga c tvga ati all of the above are supported in both color and monochrome modes with the exception of the ati chipsets which are only supported in color mode the monochrome server also supports generic vga cards using k of video memory in a single bank and the hercules card on the et only k of video memory is supported for the monochrome server and the gvga has not been tested with more than k it appears that some of the svga card manufacturers are going to non traditional mechanisms for selecting pixel clock frequencies to avoid having to modify the server to accommodate these schemes xfree adds support for using an external program to select the pixel clock this allows programs to be written as new mechanisms are discovered refer to the readme clkprog file for information on how these programs work if you need to write one if you do develop such a program the xfree team would be interested in including it with future xfree releases if you are purchasing new hardware for the purpose of using xfree it is suggested that you purchase an et based board such as the orchid prodesigner iis avoid recent diamond boards xfree will not work with them because diamond won t provide programming details in fact the xfree project is actively not supporting new diamond products as long as such policies remain in effect contributions of code will not be accepted because of the potential liabilities if you would like to see this change tell diamond about it some people have asked if xfree would work with local bus or eisa video cards theoretically the means of communication between the cpu and the video card is irrelevant to xfree compatibility it could be isa eisa or local bus what should matter is the chipset on the video card unfortunately the developers don t have a lot of access to eisa or vlb machines so this is largely an untested theory however we have yet to see any reports of things not working on one of these buses and we have several reports of xfree working fine on them what about accelerated boards at this time there is no support in xfree for accelerated boards like the s ati ultra a tiga etc this support is available in commercial products from sgcs and metrolink for svr and svr an s server is available for bsd and linux contact hasty netcom com for bsd or jon robots ox ac uk for linux a beta a server is available for linux contact martin cs unc edu or jon robots ox ac uk note these servers are not part of xfree why doesn t xfree support color vga modes the reason that this is not supported is the way vga implements the color modes in color modes each byte of frame buffer memory contains pixel but the color modes are implemented as bit planes each byte of frame buffer memory contains bit from each of each of pixels and there are four such planes the mit frame buffer code is not designed to deal with this if vga handled color modes by packing bit pixels into each byte the mit code could be modified to support this or it already may i m not sure but for the vga way of doing things a complete new frame buffer implementation is required some beta testers are looking into this but nothing is yet available from the project what other hardware or software requirements are there obviously a supported svga board and os are required to run x efficiently mb of memory should be considered a minimum the various binary releases take mb of disk space depending on the os e g whether or not it supports shared libraries to build from sources at least mb of free disk space will be required although mb should be considered a comfortable lower bound where can i get source for xfree source patches for the current version based on x r pl from mit are available via anonymous ftp from export lcs mit edu under contrib xfree ftp physics su oz au under xfree ftp win tue nl under pub xfree for the rest of this faq these location will be called ftp refer to the readme file under the specified directory for information on which files you need to get to build your distribution where can i get binaries for xfree binaries are available via anonymous ftp from ftp physics su oz au svr binaries under xfree svr ftp win tue nl svr binaries under pub xfree svr ferkel ucsb edu svr binaries under pub svr xfree stasi bradley edu svr binaries under pub xfree svr blancmange ma utexas edu svr isc binaries under pub isc ftp prz tu berlin de svr isc binaries under pub pc isc xfree tsx mit edu linux binaries under pub linux packages x agate berkeley edu bsd binaries under pub bsd ports xfree ftp cs uwm edu mach binaries under i ensure that you are getting xfree some of these sites may archive older releases as well each binary distribution will contain a readme file that describes what files you need to take from the archive and which compile time option selections were made when building the distribution iv what general things should i know about running xfree installation directories the top level installation directory is specified by the projectroot usr x by default variable in config site def binaries include files and libraries are installed in projectroot bin include lib this can be changed when rebuilding from sources and can be modified via symbolic links for those oss that support them this directory is nonstandard and was chosen this way to allow xfree to be installed alongside a commercial vendor supplied x implementation configuration files the xfree server reads a configuration file xconfig on startup the search path contents and syntax for this file are documented in the server manpage which should be consulted before asking questions determining vga dot clocks and monitor modes david e wexelblat dwex mtgzfs att com maintains a database of known clock settings for vga cards and monitor settings the database is installed in usr x lib x etc modedb txt and is in the source tree under mit server ddx x etc this database is also available from him for the latest copy and is kept on export lcs mit edu in contrib x modedb z which is updated occasionally obtain a copy of this database it just might have the settings you need if you create new settings please send them to david for inclusion in the database if this doesn t help you the videomodes doc by eric raymond file with xfree contains tutorials on how to come up with these timings it may be helpful to start with settings that almost work and use this description to get them right when you do send the information to david wexelblat for inclusion in the database note the old clock exe program is not supported any more and is completely unnecessary if you need to determine dot clock values for a new board remove the clocks line from your xconfig file if present and start the server the server will probe for clocks itself and print them out you can use these values to put a clocks line into your xconfig file which is not necessary but will speed up starting the server in the future rebuilding reconfiguring the server from the link kit if you have installed the server binary link kit it is possible to reconfigure the drivers and font renderers in the server this is fully explained in the readme file that is available with the link kit v what os specific things should i know about running xfree first of all the server must be installed suid root mode svr why won t my xterm run properly if your kernel is not built with the consem module you should define consem no in you environment otherwise xterm won t run csh users should use setenv consem no the esix console driver patch is known to cause keymapping problems with xfree it recommended that this patch not be installed alternatively they keymap can be fixed with xmodmap svr make sure you look at ftp readme isc if that s what you are running bsd make sure you look at ftp readme bsd also a separate bsd faq is maintained by richard murphey rich rice edu the latest version should be available in the file xfree bsd faq at the following ftp sites agate berkeley edu pub bsd ports xfree wuarchive wustl edu mirrors bsd ports xfree grasp univ lyon fr pub bsd ports xfree linux you must be running linux pl or greater and have the gcc jump libraries installed make sure the binaries x x mono xload and xterm are setuid root if your kernel doesn t have tcp support compiled in you ll have to run the server as x pn the default startup configuration assumes that tcp is not available if it is change the two files usr x bin startx and usr x lib x xdm xservers removing the pn argument to x make sure dev console is either a link to dev tty or has the major number minor number also note that if dev console is not owned by the user running x then xconsole and xterm will not permit console output redirection xdm will properly change the owner but startx won t when running xdm from rc local you will need to provide it with a tty for example xdm dev console for more detailed information please read the file readme present with the distribution on tsx mit edu mach make sure you look at ftp readme mach vi what things should i know for building xfree from source this section has been removed from the faq since it is fully explained in ftp readme and the os specific readmes please look at those files for information on building xfree vii is there anything special about building clients with xfree bsd compatibility library a lot of clients make use of bsd functions like bcopy etc the default configuration files are set up to link with libxbsd a which contains emulation for bcopy bzero bcmp ffs random seed a better way of providing the b functions is to include x xfuncs h in source files that call them xfuncs h provides macro definitions for these in terms of the sysv mem functions if you are linking with a vendor supplied library which calls some of these functions then you should link with libxbsd a ansiccoptions this is something that was added to allow a developer to get rid of the ansi ness defined in the default ccoptions without having to rewrite the entire ccoptions line for example with stock mit you d see something like ccoptions ansi o fwritable strings and to get rid of the ansi ness the developer would have to put ccoptions o fwritable strings in his imakefile with this change you would see a default of ansiccoptions ansi ccoptions o fwritable strings and all the developer would have to put in the imakefile is ansiccoptions to get rid of the ansi ness many x clients will die a horrible death with ansi the effect is even more dramatic in practice because ccoptions is actually quite complex the other issue is that one must add ansiccoptions ansiccoptions to a passcdebugflags definition xfree contact information ongoing development planning and support is coordinated by the xfree core team at this time the core team consists of the original gang of four david dawes dawes physics su oz au glenn lai glenn cs utexas edu jim tsillas jtsilla damon ccs northeastern edu david wexelblat dwex mtgzfs att com those supporting non sysv operating systems robert baron robert baron ernst mach cs cmu edu mach rich murphey rich rice edu bsd orest zborowski obz kodak com linux e mail sent to xfree physics su oz au will reach all of the core team thanks to all the people who already sent me corrections or additions especially david wexelblat one of the major contributors of updates steve kotsopoulos p eng mail steve ecf toronto edu systems analyst bitnet steve ecf utoronto bitnet engineering computing facility uucp uunet utai ecf steve university of toronto phone
