cleaning up the x windows

Evren Yurtesen yurtesen at
Sun Aug 12 08:27:27 UTC 2007

Peter Jeremy wrote:
> This discussion is probably more appropriate to freebsd-x11.
> Followups re-directed.
> On 2007-Aug-11 21:28:13 +0300, Evren Yurtesen <yurtesen at> wrote:
>> After a lot of frustration with 300+ seperate ports being installed when I 
>> try to install xorg. I tried to create a xorg-base port. I say I tried to 
>> because I took a lot of shortcuts and this is my first time doing a port, 
>> so dont get mad at me and I dont know if you guys will find this useful but 
>> it shortens the xorg installation time from ports considerably. (reduced X 
>> to less than 15 ports!)
> The existing xorg meta-port is (virtually by definition) overkill
> since a significant part of what it installs is unnecessary for any
> installation.  What is missing is documentation and tools to help
> someone work out exactly what they need without having to install the
> xorg meta-port.  I believe that your xorg-base port is a worthwhile
> step along the road but I'm not sure it's a complete solution.


>> The video and input drivers allow the user to choose exactly which drivers 
>> to install.
> The problem I see is that there's no guidance available to help
> someone work out what options to choose.  Unfortunately,
> documentation remains its weakest point and neither the website
> nor the FreeBSD pkg-descr files provide any assistance in this area.
> Some of the drivers don't even have documentation explaining what they
> support, what functionality they provide or how to configure them.
> For probably 99% of users, keyboard and mouse are adequate on the
> input side.  Working out which video driver suits your chipset is more
> problematic.  Not all VIA chipsets are supported by the VIA driver -
> some need the SAVAGE driver.  How does J. Random User find out that he
> needs the "i810" to support his 945GM chipset (and how does he work
> out that he has a 945GM in the first place)?  It would be nice if the
> project provided a tool that could probe your system and tell
> you what driver was applicable.  "X -configure" will do this but only
> if you've installed all the drivers to start with.

If that is a problem, then all can be selected by default. If the user knows 
what he is doing then he can deselect the stuff he doesnt need.

But this is a problem existing in many ports, phpX-extensions, ghostscript, 
imagemagick etc. they all offer a bunch of options. I am sure everybody doesnt 
know what all those options do exactly and if they need it or not. I guess it is 
an acceptable risk? At least it would be wise to not to auto select 10 year old 
graphics card drivers.

>> The stuff installed by xorg-base is enough to get an X screen up and 
>> running.
> There doesn't appear to be either a display manager or startx
> included.  How do you start the X server?
> And whilst there may be an X screen running, it's not really usable
> without any X clients or window managers.

Thats correct, you type X and you get a mouse pointer on the traditional X 
background and cant do anything else. But the xorg-base port is suppose to 
install the xorg not any window manager. As well window managers do not install 
X, they just install the necessary x libraries. So one can install the xorg-base 
+ window manager separately and get a working system.

startx comes with x11/xinit. However this doesnt seem to be necessary if one is 
using a login manager like kdm (at least I dont have it at the moment and things 
work fine). But when I tested twm, then I had to install xinit.

Perhaps I will add it to xorg-base options but deselected as it is not 
absolutely required for operation.

> I'm not sure if the apropriate solution is:
> 1) OPTIONS entries to select a way to start X, a few common X clients and
>    some simple window managers (eg xinit, xdm, xterm, twm, fvwm)

I never use twm or fvwm and I dont think many people want to use xdm. Most 
people use gdm or kdm instead, but those get installed when you install gnome or 
kde automatically.

While these can be choosen using OPTIONS entries, these are all in xorg-apps 
(except fvwm) port. Now importing them all into a xorg-base port doesnt make a 
lot of sense. Instead there can perhaps be a dialog system in xorg-apps port. 
Then it would be very similar to phpX-extensions. You probably know that one can 
install PHP then install the extensions separately. So for xorg one could 
install xorg-base then xorg-apps separately. This all requires that the user 
knows a little bit of what he

I guess I could make some kind of OPTIONS dialog for those tomorrow.

> 2) A pkg-message reminding the user that they need to select X clients
>    and a window manager and some way to start X.
> 3) An updated X11 chapter in the Handbook.

>> I tested this further by installing kde-base port(which installed 
>> some more xorg ports but not so many)
> At least some of those additional xorg ports may belong in your
> xorg-base port.  Did you make a note of which ones it installed?

I didnt take note about those as KDE installed them. But they were mostly some 
libraries etc. needed for building KDE apps.

>> now. setxkbmap and xauth is required for setting keyboard mapping and 
>> changing identity, for example becoming root to make changes on kdm from 
>> control center. Perhaps those could be installed by default by the kde-base 
>> port? because kde uses them?
> I don't think I've needed setxkbmap for more than a decade, though I
> do need xmodmap.

setxkbmap is used by kde when one is switching the keyboard layout. I think this 
should be a dependency by kde (and other window managers which use it).

> Either xhost or xauth are necessary if you are going to have X clients
> running on a different system to your X server, or if you want to use
> X when you've su(1)d after logging into X.  xhost is probably pretty
> much deprecated but I'd say xauth is pretty much essential for most
> configurations.
> BTW, there is a copy-and-paste error in xorg-video-drivers/Makefile -
> "i128 driver" is repeated three times in OPTIONS.
Thanks, I will fix that.


More information about the freebsd-x11 mailing list