Topic: xorg 7.x upgrade on FreeBSD

IMPORTANT NOTE

This was written quite awhile back, when xorg-7.x was still in testing.  The ports tree has now been upgraded, so all the things about git can be ignored--I believe that git ports tree has been removed, if not, it will be very shortly.

Secondly, with the merging of xorg-7.2 into the ports tree, there are many people having various problems.  The repeated advice of those very knowledgeable about it, e.g., Kris and Florent who have spent A LOT of effort to make the upgrade as smooth as possible, is to install the xorg metaport.

The downside of that is that it will install many packages that you don't want or need, including all drivers and the entire xorg-apps collection.   /usr/ports/UPDATING now has a complete and updated section on doing the upgrade. 

As all my FreeBSD boxes have been running xorg-7.x for some time, I haven't been able to test if the instructions that I have below are still good.  I suspect that it would still work, but I honestly don't know, and I repeat--the advice of the two people that have spent the most amount of time in testing it, is to install the xorg metaport.

I would be very grateful for anyone who tries this method now (as of 26 May, 2007) to post their success or failure. If it succeeds, it's definitely less complex than the instructions in /usr/ports/UPDATING. 

NEW UPDATE

I tried this method on a fresh install, using the 200705 STABLE Snapshot.  I did a fresh install of 6.2, then did portsnap fetch extract and used this method.  It worked. 


I suppose that since this is FreeBSD specific, it could go into the FreeBSD section, but as we're all friends here, the heck with it.

This has been tested on both fresh installs and upgrades, on both CURRENT and PRERELEASE.

A few links first.

The xorg team has a wiki with their method (which was the starting point for this, but theirs is quite conservative, rightfully so, they don't want you to break your system.)

http://wikitest.freebsd.org/ModularXorg

Dru has a blog with her method at

http://blogs.ittoolbox.com/unix/bsd/arc … ebsd-13661

She was also nice enough to post a link to collection of packages for 6.x, which could be used instead of ports.

http://mayday.xbsd.org/tb/packages/6-r-i386-xorg/All/


I suspect that both of these links are also now rather outdated.

I used to have instructions on using git to pull down the xorg 7.x ports tree.  However, the xorg-7.2 ports have been merged into the normal ports tree, so one can simply first update their ports tree with portsnap fetch extract.



Let's start with a fresh install.  If this is the case, it's worthwhile to add

X11BASE=/usr/local

to /etc/make.conf.  (Create /etc/make.conf if it doesn't exist). 


portinstall xorg-libraries
portinstall xorg-fonts-truetype xorg-fonts-type1 xorg-fonts-cyrillic xorg-fonts-100dpi xorg-fonts-75dpi xorg-fonts-miscbitmaps

All the xorg fonts should be typed on one line, I divided it for ease of reading.

portupgrade font-util libXpm

If either of those aren't installed, then install them rather than upgrade them.

(Note--on a fresh install, libXpm was installed with xorg-libraries.  I forgot to make a note on whether font-util was already installed or not., sorry.)


cd /usr/ports/x11/xauth;  make install clean
cd ../xinit; make install clean

These next two are optional--most people use xterm and twm is always handy as a fallback window manager.

cd /usr/ports/x11/xterm; make install clean
cd ../twm; make install clean

Note that all these ports are pulling in various other things.  Unlike xorg-6, which was monolithic, xorg-7 is modular--so instead of an xorg-fonts-75dpi, you'll see it installing adobe-75dpi, etc etc.  As Dru points out, the old xorg was something like 9 packages whereas the new one is over 300 (but they're smaller.)  smile

cd /usr/ports/x11-servers/xorg-server;  make install clean

There is a possibility this might fail.  If it does then do the following

mkdir -p /var/lib/xkb

(It might be worth doing that in advance, actually, it won't hurt anything.)



The xorg-server port is probably going to pull in xkeyboard-config.  If xkeyboard-config fails then first do

mv /usr/local/share/X11/xkb /usr/local/share/X11/xkb.old

and reinstall xkeyboard-config

The xkb stuff was written during the testing period.  On the latest fresh install, I didn't have a problem. 

NOTE:  The above assumes that you followed my advice in adding X11BASE=/usr/local to /etc/make.conf.  If you didn't that /usr/local/share/X11 directory will be in /usr/X11R6/share

Anyway, back to our install

cd /usr/ports/x11-drivers/xf86-input-mouse;  make install clean
cd ../xf86-input-keyboard; make install clean
cd ../xf86-video<your_video_driver>; make install clean

The <your_video_driver> refers to whatever driver or drivers you use. I've found though, that I didn't have to install the xf86-video-vwmare driver, vmware's video works anyway.  You might also install xf86-video-vesa as a backup.  In my case though (xf86-video-mga on one machine, via on another, ati on a third and i810 on a fourth, I haven't found it necessary.)

If you're not using nvidia drivers then next

 /usr/ports/graphics/libGL; make install clean
cd ../libglut; make install clean

If either of these are already installed, do portupgrade -f.  Probably unnecessary but doesn't take long.

You will also want, if no other port has pulled it in, xkbcomp.  If you don't put that in, things will work, but you'll find various things missing--for example, without it, I had to manually set the MS Logo key to Mod4,
the | key (pipe) didn't work properly, etc.

cd /usr/ports/x11/xkbcomp
make install clean

Lastly, you need font-alias or you might get that error default font fixed not found

cd /usr/ports/x11-fonts/font-alias; make install clean

Then configure X as you normally would and you're on your way.  The only thing to note is that if you have put X11BASE as /usr/local, the default xorg.conf file created by X -configure or xorgconfig might still have font and/or module paths of /usr/X11R6 rather than /usr/local.  Also, the wiki mentions that you might have to fix your ModulePath.  (I'm not sure what the default would be if this was a fresh install.  The wiki gives the path of

/usr/X11R6/lib/xorg/modules

If you set X11BASE as /usr/local, you'll have to change that to /usr/local/lib/xorg/modules

Upgrading is similar but of course, there are some differences.  After downloading the latest ports

for i in $(pkg_info -Ex xorg- | grep -v linux) ; do pkg_create -b $i;
done

I'd put them in /usr/ports/packages/All since that's where pkg_add and portupgrade often look.  You might have to create /usr/ports/packages/All
The above backs up your old xorg stuff in case something goes wrong.

pkg_delete xorg-6.9.0
pkg_delete -x xorg-printserver xorg-nestserver xorg-manpages xorg-documents

pkg_deinstall -fP xorg-libraries
portinstall xorg-libraries
pkgdb -F

There's an incorrect dependency that has to be fixed, this is the reason for the pkgdb -F command.  I forget which it is, the wiki link above mentions one, but it's not the one that I was getting.

pkg_delete -xf xorg-fonts
portinstall xorg-fonts-truetype xorg-fonts-type1 xorg-fonts-cyrillic xorg-fonts-100dpi xorg-fonts-75dpi xorg-fonts-miscbitmaps

As above, I put the list of fonts on two lines, it should be on one line

pkg_delete -fx xorg-clients
portupgrade -f font-util libXpm
cd /usr/ports/x11/xauth ; make install clean
cd /usr/ports/xinit ; make install clean

As in the fresh install, you can then install twm and xterm or not, it's up to you.  I usually don't because, before starting X I also install fluxbox and mlterm.

portupgrade -R xorg-server

(See the section on a fresh install in case you run into an error with either this or xkeyboard-config which is pulled in as a dependency.  I'm not sure how the latest versions of xorg-server and xkeyboard-config are doing on upgrades, I have still had the problems I mentioned with the two xkb files on fresh installs.)

cd /usr/ports/x11-drivers

Then, do as you would with the fresh install, install the input keyboard and mouse drivers as well as a driver for your video card.

Also, once again, install xkbcomp if nothing else has pulled it in.

cd /usr/ports/x11/xkbcomp
make install clean

If not using nvidia drivers then

portupgrade libGL

Then libglut--if it's not installed install it (this has nothing to do with nvidia drivers, that was only for libGL

portupgrade libglut

Your old xorg.conf should work save for the ModulePath.  If this is an upgrade, in which case you probably haven't used X11BASE=/usr/local, change the ModulePath as mentioned above, to /usr/X11R6/lib/xorg/modules.  (If you have set X11BASE to /usr/local, then make it /usr/local/lib/xorg/modules).

You might have to portupgrade -f some Xorg based apps, but I've found that there were very few.  I can't even remember which they were, I don't think any of them were too important.

One last note--since xorg-7.x has been merged into the ports tree, there is a now a mergebase.sh shellscript in /usr/ports/Tools/scripts.  It can be run with

 
/usr/ports/Tools/scripts/mergebase.sh

The script's purpose and actions are more or less explained in UPDATING but basically, it serves to help merge the old X11BASE of /usr/X11R6 into /usr/local.



Well, there you have it.  Comments and corrections (or differences in your experiences) are welcomed.

Last edited by scottro (2007-05-28 19:23:38)

<@andre> i would be so much more efficient if i wasn't so stupid

Re: xorg 7.x upgrade on FreeBSD

cd /usr/x11-drivers/xf86-input-mouse;  make install clean

Nice howto, but there are some errors in paths, e.g. /usr/ports/...

Furthermore it isn't possible anymore to install Nvidia driver. It breaks after trying to install (extensions, drivers no directory ... ).

F!XMBR

Freedom is the sure possession of those alone who have the courage to defend it. --Pericles

Re: xorg 7.x upgrade on FreeBSD

Oops.  Thanks, I found two places where I made that error (leaving out the ports directory in the path) and fixed them. 

As for the nvidia driver, I don't know--I haven't used that one. 

(I haven't been following the list the last two weeks, so not sure if that's being addressed---just got back to watching the list the other day.)


Thanks again for catching the errors.

<@andre> i would be so much more efficient if i wasn't so stupid

Re: xorg 7.x upgrade on FreeBSD

NV driver is okay, but at the moment I'm looking for a solution with the blob big_smile

F!XMBR

Freedom is the sure possession of those alone who have the courage to defend it. --Pericles

Re: xorg 7.x upgrade on FreeBSD

Thanks scottro , you are the number one big_smile

Last edited by chroot (2007-01-03 02:41:45)

Re: xorg 7.x upgrade on FreeBSD

Glad it helps.  Florent actually just asked me to test his latest method--it's going to basically install EVERYTHING, but I'm so proud of being asked to test, I said, sure.  smile

(If you go to the wikitest site, you'll see that he's shortened it considerably.)

I should add that there is, under discussion, an xorg-lite install, that would put in the bare minimum.  We (that is, most of us on the x11-freebsd list) figure that once you start installing your xorg applications, e.g. fluxbox or whatever, it will pull in the things that are needed.

<@andre> i would be so much more efficient if i wasn't so stupid

Re: xorg 7.x upgrade on FreeBSD

well after switching everything to X11BASE=/usr/local/ I finally got everything working. Except the nvidia driver which released a patch for 7-Current, but I'm having problems getting it to work with xorg 7 - it just core dumps with no error sad

"An educator never says what he himself thinks, but only that which he thinks it is good for those whom he is educating to hear."
-Nietzsche

Re: xorg 7.x upgrade on FreeBSD

RoddieRod wrote:

well after switching everything to X11BASE=/usr/local/ I finally got everything working. Except the nvidia driver which released a patch for 7-Current, but I'm having problems getting it to work with xorg 7 - it just core dumps with no error sad

Are you still having this problem with the latest geekfire git repo?

About 3 weeks ago I installed x-org 7 from geek fire, to get beryl working big_smile . And I noticed that after everything (x-org, gnome and nvidia driver) had installed and I ran xorgconfig, changed the driver from 'nv' to 'nvidia' and done a few other things on the beryl wiki under nVidia/FreeBSD section, xorg would not start. I then reinstalled the nvidia drivers and created a few sym links because I did not add the X11BASE=/usr/local/ to /etc/make.conf because it was not described in the beryl wiki... I will add that to their wiki though.

If you still need help I will create the packages for you.

Re: xorg 7.x upgrade on FreeBSD

Jayton wrote:

If you still need help I will create the packages for you.

Thanks, Jayton but I did get it up and running.

If you can get beryl to work with XFCE let me know, that's the only thing I can get to work. It works Linux so I really don't see why it doesn't work on FreeBSD.

"An educator never says what he himself thinks, but only that which he thinks it is good for those whom he is educating to hear."
-Nietzsche

Re: xorg 7.x upgrade on FreeBSD

Hi All,

first I'd like to say that I tried Thinstation few days ago and it is
amazing! We are running Linux  server and thin clients for a years,
everything was OK, but we didn't have boot from network, didn't have
audio working, nor sharing of USB and removable devices. With
Thinstation, I have all this running in a few hours. Great job, thanks!

But I lost next 2 days to get keyboard layout switch working. We are
using kxkb but if started from session X running via Thinstation (2.2.2
or also 2.3beta1), it doesn't work, it only shows "err" icon and the
message is, that it can't switch to "us" or "sk(qwerty)" keyboard. When
using our thin clients (running Xorg 7.2.0) it works well. I tried
everything I found on the internet, making symlinks in X11 directories,
strace-ing kxkb, adding keymaps to Thinstation, reconfiguring Xorg,....
but nothing helped.

I'd like to try Thinstation with Xorg 7.x because I think it will be
problem with versions 6.9.0 (thin client) <-> 7.2.0 (terminal server). I
found link to 7.3.x Xorg package in the mailing list history but it is
not working (404 Not Found). Is there 7.3.x available? Can I try it?

Thanks a lot,
Petrov Lucca