Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 Jun 2001 17:51:16 +0300
From:      Odhiambo Washington <wash@wananchi.com>
To:        cschueler@gmx.de
Cc:        FBSD-Q <freebsd-questions@freebsd.org>
Subject:   Upgrading XFree86 from 3.3.6 to 4.x
Message-ID:  <20010606175116.O18694@everest.wananchi.com>

next in thread | raw e-mail | index | archive | help

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). <CTRL>-<ALT>-<KEYPAD +> 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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010606175116.O18694>