From owner-freebsd-questions Wed Jun 6 7:53:42 2001 Delivered-To: freebsd-questions@freebsd.org Received: from everest.wananchi.com (everest.wananchi.com [62.8.64.4]) by hub.freebsd.org (Postfix) with ESMTP id CD90837B406 for ; Wed, 6 Jun 2001 07:53:28 -0700 (PDT) (envelope-from wash@wananchi.com) Received: from wash by everest.wananchi.com with local (Exim 3.22 #2) id 157eeT-000HhI-00; Wed, 06 Jun 2001 17:51:17 +0300 Date: Wed, 6 Jun 2001 17:51:16 +0300 From: Odhiambo Washington To: cschueler@gmx.de Cc: FBSD-Q Subject: Upgrading XFree86 from 3.3.6 to 4.x Message-ID: <20010606175116.O18694@everest.wananchi.com> Mail-Followup-To: Odhiambo Washington , cschueler@gmx.de, FBSD-Q Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i X-Disclaimer: My opinions do not necessarily represent those of my employer. X-Operating-System: FreeBSD 4.3-STABLE i386 X-Mailer: Mutt http://www.mutt.org/ X-Location: Nairobi, KE, East Africa. X-Uptime: 5:50PM up 14 days, 6:55, 2 users, load averages: 0.17, 0.09, 0.09 Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG I hope this helps you... Upgrading to XFree 4.0.2 ======================== Recently, in my move towards making FreeBSD my full time desktop OS I decided to upgrade to XFree 4.0.2. FreeBSD itself includes XFree 3.3.6 as an optional part of the base system. I decided that 4.0.2 had a number of feature enhancements that made it worth the upgrade. There are a number of steps involved to properly upgrading X, due to it's complexity and the number of apps that require it as a dependency it's important to be very careful about the upgrade process. Why Upgrade? First thing that comes to mind when upgrading is "if it ain't broke don't fix it". Sure X was working fine, but it would work better. Like anything else, weigh the pros and cons then decide. XFree 4.0.2 has a number of enhancements, some of them include anti-alludes text, internationalization, font support is better, DRI, changes to some libraries and a unification of the X server drivers (this was introduced in 4.0.1 i believe), and some other things. The font and text improvements were my major reasons for upgrading. Anyone familiar with X knows that web browsing can become painful with some fonts using X 3.3.6. So first thing I did was plan out the upgrade. X's complexity requires careful planning. Steps to Upgrade First thing I did was outline the steps i would take in upgrading. I decided from the start to bite the bullet and redo the whole thing to make sure no remnants were left behind. Here is a quick rundown of the steps: 1.Upgrade the ports tree 2.Remove old X components and dependent apps. 3.Install the port 4.configure X and FreeBSD 5.Install my WindowManager 6.Install apps again. 1.Upgrade the ports tree First thing i did was use cvsup to make sure i had the latest ports for everything. I knew I would be removing and reinstalling an number of apps so I decided to make sure i had latest versions. 2.Removal of X and apps Removing X and the apps was in fact a three step process. First thing I did was deinstall all the X dependent packages. Overkill? Not really since I wanted all my apps to use the updated X libraries. Then I rm -rf'd /usr/X11R6/bin. I was only worried about the bin directory since I knew that the libs would be overwritten but i wanted to make sure no 3.3.6 binaries were left lying around. Note this will not remove any of your home dir dotfiles. So those configs should be safe. As always though backup your configurations just in case something is deleted. 3.Installing the port This is the most time consuming portion of the process. The steps are simple though : cd /usr/ports/x11/XFree-4 && make install That's it, now sit back and wait awhile while it installs Xfree 4.0. 4.configure X and FreeBSD First thing you need to do is tell FreeBSD that X 4.0.2 is there and not to try and install X Free 3.3.6 as a dependency. To do this type the following as root: echo 'XFREE86_VERSION=4' >> /etc/defaults/make.conf If you don't do this you'll hav every port attempting to install Xfree 3.36 Running the X configuration program. When you configure X for the first time you cannot use /stand/sysinstall anymore, that is only for Xfree-3.3.6, in fact the configure program will no longer exist on your system. Instead you must run the following : /usr/X11R6/bin/xf86config. This configure script will take you through all the basic configuration steps. When setting up your mouse you must use /dev/mouse for the device and auto for the protocol (This will require hand editing of the XF86Config file). This file is locate in /etc/X11 now. These setting i have verified work with both a logitech trackman marble and a ms wheel mouse. If you have trouble the XFree documentation is not 100% clear, but man XF86Config lists all possible options. Video is somewhat easier. Monitor refresh rates are very important to know, refer to your manufacturer manual or website if your unsure. Video cards may have a database entry like mine did. I am using an ATI All in Wonder Pro. The database entry for it was correct. You will need to know your video card memory though. Run the command SuperProbe without X running and you can get all the information you need for your video card. To test it rename your .xsessions file to xsessions so twm will start. Finally you must run X through xdm or install the xwrapper port. I decided to use XDM since it is a workstation. To turn on xdm do the following: edit /etc/ttys Find the entry for xdm and switch off to on. As a side note i suggest you disable xdm temporarily by setting the TTY to off while upgrading, xdm was also upgraded it appears. After you edit the file you must HUP init. You can do this by typing kill -1 1. 1 is always the init pid. In a few moments you should have the xdm login screen if all goes well. Login, set your resolution and if it launches your configuration is correct. 7.Install my Windowmanager Next reinstall your WindowManger, restore your .xsession file and then log out and back in. Your WindowManager should start now if you set it to do so. 8.Install apps again. Now reinstall all your x apps. You may also : cd /usr/ports/x11/XFree-4/make distclean to remove all the files and source left by the port install. Pitfalls and Traps You may be tempted to just let it overwrite old X and not reinstall your apps. Doing this runs the risk of version conflicts between libraries and binaries. Its safer and less of a potential headache to just do it all in one shot. I had initial trouble with physical versus virtual screen size. XFree will let you scroll the desktop to fit a virtual screen size. You must change your resolution depth to get a properly sized screen since the option to turn off this feature would not work (at least for me). -- will change this. I have heard of some mouse problems with the new X, so keep your old configuration file as a standby. Remove all other XF86Config files and rename the old one XF86Config.old , if you don't X may load the incorrect file and not start properly. For more information: XFree 4.0.2 Features : http://www.xfree.org/4.0.2/RELNOTES2.html XFree 4.0.2 Documentation : http://www.xfree.org/4.0.2/ -Wash -- Odhiambo Washington Wananchi Online Ltd., wash@wananchi.com 1st Flr Loita Hse. Tel: 254 2 313985 Loita Street., Fax: 254 2 313922 PO Box 10286,00100-NAIROBI,KE. I went into the business for the money, and the art grew out of it. If people are disillusioned by that remark, I can't help it. It's the truth. -Charlie Chaplin To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message