Recommended Posts

X.org CVS HOWTO

Here's a quick guide for people who fancy trying out the new X.org with true transparency and drop shadows etc. It can also be used to give you a very basic idea of how to use CVS in general.

DISCLAIMER

Using unstable software, especially for something as important as your X server, can screw things up. A lot. If you can't afford the possibility that your computer may get completely hosed, this is not for you. If you can't afford the possibility that you might need to reinstall your old X server from a text console, this is not for you. If you are faint of heart or have a weak constitution, this is not for you. Having said that, if you enjoy trying out the newest stuff and don't mind having to pick up the pieces again afterwards if things go wrong, then this is exactly what you've been looking for.

Requirements

You will need the following software installed on your machine:

  • cvs
  • gcc
  • possibly automake and autoconf

There might be some other things you'll need, I'm not completely sure. As long as you have a fairly modern system with developer stuff installed and a recent toolchain, you should be fine.

First things first

First of all you need somewhere to download the source you'll be getting from CVS. It'll be pretty large, a few hundred megs I think. Decide where you're going to put it, open up a terminal, and lets go:

cvs -d :pserver:[email protected]:/cvs/xorg login

This will ask you for a password - just press return. This logs your machine on to the anonymous CVS server at freedesktop.org.

cvs -d :pserver:[email protected]:/cvs/xorg co -P xc

This is the big step. The co near the end of that command means checkout, and the -P xc tells it to get the xorg composite source and put it in a directory called xc (one will be created if it doesn't exist) so that will checkout the whole Xorg source tree onto your machine.

That will take a while. Browse neowin some more, watch a film, go for a walk, make a cup of tea, etc. The next part is when we start getting serious...

So you wanna make it in this world, eh kiddo...?

After its all been checked out, run

cd xc
make World

Which will compile the whole shebang. Again, find something to do in the meantime. Depending on your machine, this can take a while. It took my computer (Athlon 2500+ clocked as a 3200+ w/ 1gig ram) about forty minutes to compile.

Next, we need to install this monstrosity. As root now, run

make install

And watch with trepidation as your computer chugs away shoving the files where they need to go. This shouldn't take too long in theory, but I have heard reports of it taking even longer than the compile on some people's machines! (It took me just a few minutes).

A quick note: from this point on, you may notice strange behaviour with some aspects of your GUI until the end of the process. This is because the libraries which were being used for stuff like window creation and rendering etc are now being overwritten with different versions, and any behaviour is going to be unpredictable. What happened for me was that I wasn't able to create any new windows until I'd finished the install and restarted X.

Final steps

Now you have to edit your /etc/X11/xorg.conf file, or if you're upgrading from XFree86, you should copy your /etc/X11/XF86Config (or /etc/X11/XF86Config-4) to /etc/X11/xorg.conf and edit that. You need to change the keyboard driver entry from

Section "InputDevice"

    Identifier  "Keyboard0"
    Driver      "Keyboard"

to

Section "InputDevice"

    Identifier  "Keyboard0"
    Driver      "kbd"

because the old keyboard driver no longer works. If you want to enable the composite extension to give yourself true transparency and drop shadows etc (and you probably do, because thats the whole point to this exercise ;) ) then you also need to add a new section to the file somewhere:

Section "Extensions"
    Option  "Composite"     "Enable"
EndSection

That will make sure the composite extension is loaded when you next start X.

Now, you've got the new X.org installed, but you won't be able to do anything with it (in terms of transparency and drop shadows) unless you get a composite manager installed. There are a couple of choices here - you can either compile one of the recent builds of the Metacity window manager, which in theory automatically checks for the composite extension during the configure phase and enables a built-in composite manager, or you can simply install the xcompmgr program from the same ol' freedesktop.org CVS server. I chose the latter, because I don't have gnome installed and I really don't want to use metacity as my window manager, and its also a lot quicker than compiling the whole of metacity. Here's how to install the xcompmgr:

cvs -d :pserver:[email protected]:/cvs/xapps login
(press return at the password prompt)
cvs -d :pserver:[email protected]:/cvs/xapps co xcompmgr
cd xcompmgr
export PKG_CONFIG_PATH=/usr/X11R6/lib/pkgconfig
./autogen.sh
./configure --prefix=/usr
make
make install

That will get xcompmgr installed for you.

Now the very last thing you need to get is a little app called transset, which you run then click on a window to make it transparent. You can grab that from the same CVS server, too (how convenient!). Note: I'm skipping the CVS login step here, because you should still be logged into the /cvs/xapps tree of the CVS server from when you grabbed xcompmgr. First go back out of the xcompmgr source directory:

cd ..
cvs -d:pserver:[email protected]:/cvs/xapps co transset
cd transset
make

Now transset doesn't have make rules for make install, all it does is create an executable binary called transset. You can either run that from where it is, or copy it somewhere in your path (/usr/bin/ for example) so that you can run it from anywhere.

Getting it going

Now all that remains is for you to exit your X server (if you were even still in one at this stage anyway) and give

startx

a try. If you come up into the X environment, congratulations, you just won yourself a cookie. From here, start up an xterm or something and run

xcompmgr -c

The -c on the end tells xcompmgr to fire up the composite goodness. This should either bring beautiful eye-candy to your desktop, or crash and burn completely. It's pretty much a fifty-fifty chance :p

If you get xcompmgr to work (you'll notice it when it does work: there'll be drop shadows all over the shop) you can now move on to transparency. Run

transset .5

and when the changed mouse cursor comes up, click on a window. The window should be turned 50% transparent. You can vary the number you give to transset to vary the transparency. 0=fully transparent, 1=fully opaque.

And there you have it, eye-candy ahoy. It takes a while, but its quite satisfying when it all works properly.

Troubleshooting

If you are having problems getting this to work, here are a couple of ideas to try.

First off, try running xcompmgr as root. It certainly made the eye-candy more stable on my box, but YMMV.

Next, if transparency settings aren't applying properly, you can kill xcompmgr and run it again. This should catch the transparency settings and apply them properly.

You might need to reinstall / recompile your graphics card drivers after installing, too. I had to emerge nvidia-kernel again on my gentoo setup.

For Nvidia users: It might be a good idea to enable the experimental RenderAccel support in the driver. To do this, add the following to your device section of your xorg.conf:

Option "RenderAccel" "true"

For more information on this, see the Nvidia linux drivers README.

Known bugs

Lots. This is extremely experimental and will most likely crash your X server one or more times. Some of these crashes can only be fixed by SSHing into the box from another machine to nuke the offending process, so if you don't have another machine to connect to your non-responsive box from, you might have to hard-reset it, which is always bad.

There are plenty of rendering bugs with xcompmgr running, too. The text on my fluxbox menu gets screwed up, pixmap themes for any window manager will likely look wrong, and various other little annoyances and discrepancies will show up. You decide for yourself if the transparency and shadows are worth these problems and instability. If you don't want to risk it, you can always wait for the next stable release of X.org, which may or may not have ironed out these problems.

Good luck and happy compositing!

Updating

OK, its all well and good getting a CVS build of it up and running, but CVS is a moving target. You have to stay on your toes if you want to keep up with the latest code versions. Luckily, its not too hard to keep synchronized with the latest changes with CVS, so if you want to update your build, here's what you do.

First off, change to the Xorg source directory, and login to the CVS server again:

cd xc
cvs -d:pserver:[email protected]:/cvs/xorg login

Next comes the updating part. This just compares the local source tree to the one in CVS, and makes any changes necessary:

cvs -d:pserver:[email protected]:/cvs/xorg update -Pd

After that, all we need to do next is recompile and install over the last version:

make World
make install

Restart X, and you're done!

EDITED to add requirements and information for nvidia users.

EDITED2 some minor CVS changes

EDITED3 added Updating section

Edited by rezza
Link to comment
https://www.neowin.net/forum/topic/204593-howto-get-xorg-cvs-running/
Share on other sites

thanx rezza. when do you think we can expect to see this in distros?

Well if you look at the X.org release plan, you can see this:

The dates for this X.Org Foundation release were derived from the dates for the upcoming Red Hat and SUSE distribution releases. The schedule is very tight and there is little room for slippage, so in most cases, features will be cut in order to make the scheduled release date.

...which seems to indicate that getting the next release ready in time for the next versions of Redhat and Suse is the main priority. It all comes down to how stable they can get it. If it is stable by that time, it will be enabled in the official X.Org-6.8 release, if not, it may still be included, but just disabled by default (as is the case with the CVS version available now).

By the way, apparently there have been lots of fixes to the composite code in CVS in the last 24 hours, so now would seem to be a good time to give it a go. I'm gonna have to checkoput and compile it again to get the new improvements...

damn make world returned an error :cry:

collect2: ld returned 1 exit status
make[4]: *** [resize] Error 1
make[4]: Leaving directory `/home/sui/xc/programs/xterm'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/home/sui/xc/programs'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/sui/xc'
make[1]: *** [World] Error 2
make[1]: Leaving directory `/home/sui/xc'
make: *** [World] Error 2

anyone have a clue ?

damn make world returned an error :cry:

collect2: ld returned 1 exit status
make[4]: *** [resize] Error 1
make[4]: Leaving directory `/home/sui/xc/programs/xterm'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/home/sui/xc/programs'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/sui/xc'
make[1]: *** [World] Error 2
make[1]: Leaving directory `/home/sui/xc'
make: *** [World] Error 2

anyone have a clue ?

What gcc version are you using? What do your CFLAGS look like? Are you overclocking your hardware at all?

OK, here's something to try: go into the xc/config/cf/ directory. In there you'll find a file called xorgsite.def. copy that to host.def in the same directory, then add this line to it (just shove it in somewhere between the whole load of comments in there):

#define DefaultGcc2i386Opt -O0 -g

and try again. That will drop the optimisations slightly and possibly help out your compilation issues.

Thank you for this great tutorial!

Um... I still have a stupid question: How to get rid of it again? Is there a make rule or something..?

I'm asking cuz I made a backup of xorg-x11 by using quickpkg. I want to be able to install it again when something goes wrong :)

Edited by Hanfmet
Thank you for this great tutorial!

Um... I still have a stupid question: How to get rid of it again? Is there a make rule or something..?

I'm asking cuz I made a backup of xorg-x11 by using quickpkg. I want to be able to install it again when something goes wrong :)

You can just install your quickpkg over the top of the Xorg CVS without doing any harm. You might have to update a couple of packages again afterward (although probably not) but it will work fine.

should you remove Xfree86 first and uninstall your Nvidiadrivers then reinstall them after you install X.org?

or can you just install X.org overtop Xfree86?

and with these new eye candyabilites, will this mean Gnome or KDE or any WM will be able to add in their own effects?

-bolero

You can just install over the top, its not going to do any harm. Although if you're particularly fussy about having a clean system, uninstalling the old Xfree86 first wouldn't hurt. You don't need to uninstall the nvidia drivers either, in most cases you won't even have to reinstall them afterwards.

Yep, WMs will now be able to add in whatever shadowy transparent effects they desire. But some will probably choose not to.

okay i installed server sucessfully and i added in the Composite section into my xorg.conf file, when ever i run xcompmgr or transset it gives me this error

xcompmgr: error while loading shared libraries: libXcomposite.so.1: cannot open shared object file: No such file or directory

but it is there in /usr/X11R6/lib

Also when ever i run a video in xine or somthing, any shadows or transparent windows which display overtop a movie, just blank out as blue, and i have seen an image with someone ahving tansaprent stuff over a movie playing..

-bolero

Edited by bolerodan

make install fails for me, apparenty even though make World completes succesfully it doesn't compile libglx correctly.

So when I go to make install it can't find that and causes an error, preventing everything after that point from getting installed. I've tried disabling GLX on compile and it still does it. I'll wait a few more weeks and see if they fix that. X works after this mind you, but none of the acceleration or the extensions get installed.

emerge -K xorg-x11

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Display Driver Uninstaller (DDU) 18.1.5.5 by Razvan Serea Display Driver Uninstaller (DDU) is a utility for completely removing AMD/NVIDIA/INTEL graphics drivers and related packages from your system, attempting to eliminate all leftovers (including registry entries, folders and files, driver store). Though AMD/NVIDIA/INTEL drivers can usually be removed via the Windows Control Panel, this uninstaller tool was created for situations where standard uninstall fails, or when you need to fully remove NVIDIA or ATI graphics card drivers. After using this driver cleaner, your system will behave as though it’s the first time you’re installing a new driver—similar to a fresh Windows installation. As with all such tools, we recommend creating a restore point beforehand, allowing you to undo changes if issues arise. If you're having trouble installing an older or newer driver, try it—there are reports that it resolves such problems. Recommended usage: The tool can be used in Normal mode but for absolute stability when using DDU, Safemode is always the best. Make a backup or a system restore (but it should normally be pretty safe). It is best to exclude the DDU folder completely from any security software to avoid issues. You do NOT need to uninstall the driver prior using DDU. Requirements: .NET Framework 4.8 Compatible with Windows 7, 8, 8.1, 10, and 11 (32-bit or 64-bit) Note: Using on Insider Preview builds is at your own risk. Display Driver Uninstaller (DDU) 18.1.5.5 changelog: Added 'Reset to recommended' button for the Options. General fixes and improvements. Download: Display Driver Uninstaller (DDU) 18.1.5.5 | 1.7 MB (Freeware) Download: DDU Portable | 1.2 MB Links: Display Driver Uninstaller Home Page | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • WACUP 1.99.51.24568 Preview by Razvan Serea WACUP (WinAmp Community Update Project) is a modern, enhanced version of the classic Winamp music player, designed for better stability, performance, and compatibility. Built for Windows, WACUP retains the familiar Winamp interface while adding 64-bit support, bug fixes, and new features like improved audio format support, customizable skins, and optimized playlist management. Unlike bloated alternatives, WACUP focuses on lightweight performance and regular updates, making it the best choice for fans of the classic Winamp experience. Basically, if you miss the good old days of Winamp and want a modern upgrade that doesn’t mess things up, WACUP is for you! WACUP key features: Classic Winamp Feel – Keeps the familiar interface and functionality. Bug Fixes & Stability – Fixes old Winamp issues and improves performance. 64-Bit Support – Works better on modern systems. More Formats & Plugins – Supports additional audio formats and third-party plugins. Customizable UI – Skins and tweaks for a personalized look. Better Library Management – Improved playlists, media organization, and search. No Bloat – Focuses on performance without unnecessary extras. Regular Updates – Community-driven development with new features and fixes. WACUP 1.99.51.24568 Preview changelog: Fixed a deadlock seen from the recent crash reports when doing some of the drag + drop actions within the media library window Fixed a loading crash seen related to a problem with some of the artwork cache image files being restored which should now be better handled allowing for the bad image to be removed without it failing Fixed a deadlock seen from the recent crash reports when the internal metadata cache clearing is triggered which could block the main ui thread for too long with this now being moved to a background thread Fixed some performance issues with some of the methods related to determining artwork support which mainly affected the local library import / refresh (this is still slower for some compared to other players because there's more data & artwork aspects being checked for which means doing more processing on a single file despite the best of attempts to reduce duplicate / heavy processing where possible) Fixed a crash with the JTFE based missing files hotkey which no one seems to have used for an age for this to appear (maybe it's time to seriously consider stripping out features that aren't being used) Fixed how some of the file types which use extra information to reference their sub-songs is handled which was preventing some from being correctly resolved back to their base file (noticed fixing above) Fixed an issue with the handling of files with underscores in their filepath which wasn't being correctly handled causing some of the filename to be lost when shown as the title if title reading is delayed Fixed a few things that might be behind NotSoDirect not being stable for some setups though am still not certain that the changes done for this are going to fully resolve the problem from the crash reports Fixed the OS toast handling when there's no prior shortcut in the OS start menu to now create the shortcut (needed to allow the yes/no buttons for the new build / post-release toast) to be done as a hidden one so it's less likely to cause annoyance for those not wanting to see it whilst still allowing this less than ideal OS api implementation requirement to be met to avoid toasts without the needed buttons Fixed a regression when moving from taglib1 to taglib2 which broke some of the handling in place to allow for external programs to still access files when wacup has a held open cached instance of the file Everything else Updated cppwinrt (gen_win10shell.dll) to 3.0.260520.1 (26 May 2026) Updated libcurl (libcurl.dll) to 8.2.1 (24 Jun 2026) Updated Monkey's Audio (in_ape.dll) to 13.15 (28 Jun 2026) Updated mpg123 (mpg123.dll) to 1.33.6 (6 Jun 2026) Updated OpenSSL (libcurl.dll) to 3.5.7 (9 Jun 2026) Updated pugixml to 1.16 (16 Jun 2026) Updated taglib (tag2.dll) to 2.3.0 (11 May 2026) Updated vgmstream (in_vgmstream.dll) to the latest Git commit from 28 Jun 2026 Download: WACUP 64-bit | 9.6 MB (Freeware) Download: WACUP 32-bit View: WACUP Website | Screenshots Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • "over a thousand engineering hours" and started selling it but could not take a couple of minuets to send an AI email to ask permission. What an expensive lesson.
    • just tested it yesterday, a simple page with autoloading ADS takes 60mb....just 1 page for 60 megabytes.   poor people with a limited internet never will visit neolose
    • Tor Browser 15.0.17 by Razvan Serea Protect your privacy. Defend yourself against network surveillance and traffic analysis. Tor is a network of virtual tunnels that allows people and groups to improve their privacy and security on the Internet. The Tor software protects you by bouncing your communications around a distributed network of relays run by volunteers all around the world: it prevents somebody from watching your Internet connection and learning what sites you visit, it prevents the sites you visit from learning your physical location, and it lets you access sites which are blocked. The Tor Browser Bundle lets you use Tor on Windows, Mac OS X, or Linux without needing to install any software. It can run off a USB flash drive, comes with a pre-configured web browser to protect your anonymity, and is self-contained. Tor Browser 15.0.17 changelog: All Platforms Updated Tor to 0.4.9.11 Updated NoScript to 13.6.25.1984 Build System / All Platforms Bug tor-browser-build#41821: Update gpg subkeys for boklm Bug tor-browser-build#41827: Update morgan's keychain with renewed key Download: Tor Browser (64-bit) | Tor Browser (32-bit) | 109.0 MB (Open Source) View: Tor Browser Website | Other Operating Systems Get alerted to all of our Software updates on Twitter at @NeowinSoftware
  • Recent Achievements

    • Week One Done
      Collagen Project earned a badge
      Week One Done
    • Reacting Well
      Wakeen1966 earned a badge
      Reacting Well
    • Rookie
      Almohandis went up a rank
      Rookie
    • Apprentice
      jahara21 went up a rank
      Apprentice
    • Reacting Well
      NovaEdgeX earned a badge
      Reacting Well
  • Popular Contributors

    1. 1
      +primortal
      526
    2. 2
      +Edouard
      265
    3. 3
      PsYcHoKiLLa
      146
    4. 4
      Steven P.
      99
    5. 5
      macoman
      55
  • Tell a friend

    Love Neowin? Tell a friend!