Google Site SearchFN Site Search FN Blog Login FN Blog Login
Site Navigation:
 
 

HOWTO: Building 3d-Desktop RPM package for Fedora Core

by Thomas Chung on Sep 24, 2004

UPDATE 2004-09-25
Thanks to Oyvind Saether, here is more extended version of HOWTO. Here is my favorite screenshot.


3d-Desktop is an OpenGL program for switching virtual desktops in a seamless 3-dimensional manner on Linux. The current desktop is mapped into a fullscreen 3D environment where you may choose other screens. Several different visualization modes are available.

In this article, I'll be using 3ddesktop version 0.2.7 on Fedora Core 1 as an example but I've made pre-compiled RPM packages for FC1 and FC2 available at the bottom this article.

BTW, in order to this OpenGL application to work, your system needs 3D supported video cards with OpenGL driver such as nvidia driver.

Before you can build 3ddesktokp RPM package, you will need to install imlib2 and imlib2-devel packages first. I would recommend to download them from Fedora Extra Repository:

[tchung@localhost 3ddesktop]$ ls imlib2*.rpm
imlib2-1.0.6-0.fdr.3.1.i386.rpm  imlib2-devel-1.0.6-0.fdr.3.1.i386.rpm 
[tchung@localhost 3ddesktop]$ sudo rpm -Uvh imlib2*.rpm
warning: imlib2-1.0.6-0.fdr.3.1.i386.rpm: V3 DSA signature: NOKEY, key ID 8df56d05
Preparing...                ########################################### [100%]
   1:imlib2                 ########################################### [ 50%]
   2:imlib2-devel           ########################################### [100%]
[tchung@localhost 3ddesktop]$
Now, to build 3ddesktop RPM package, you'll need:
Tarball - 3ddesktop-0.2.7.tar.gz
Spec File - 3ddesktop.spec
Desktop File - 3ddesktop.desktop
Image File - 3ddesktop.png

Let's begin:
(Make sure you have created rpmbuild directory in your own home.)

[tchung@localhost 3ddesktop]$ ls
3ddesktop-0.2.7.tar.gz  3ddesktop.desktop  3ddesktop.png  3ddesktop.spec
[tchung@localhost 3ddesktop]$ cp *.gz *.desktop *.png ~/rpmbuild/SOURCES/
[tchung@localhost 3ddesktop]$ cp *.spec ~/rpmbuild/SPECS/
[tchung@localhost 3ddesktop]$ rpmbuild -ba ~/rpmbuild/SPECS/3ddesktop.spec
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.46119
+ umask 022
+ cd /home/tchung/rpmbuild/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ rm -rf /var/tmp/3ddesktop-0.2.7-buildroot
+ cd /home/tchung/rpmbuild/BUILD
+ rm -rf 3ddesktop-0.2.7
+ /usr/bin/gzip -dc /home/tchung/rpmbuild/SOURCES/3ddesktop-0.2.7.tar.gz
+ tar -xf -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd 3ddesktop-0.2.7
++ /usr/bin/id -u
+ '[' 500 = 0 ']'
++ /usr/bin/id -u
+ '[' 500 = 0 ']'
+ /bin/chmod -Rf a+rX,g-w,o-w .
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.46119
+ umask 022
+ cd /home/tchung/rpmbuild/BUILD
+ cd 3ddesktop-0.2.7
+ LANG=C
+ export LANG
+ unset DISPLAY
+ CFLAGS=
+ ./configure --prefix=/usr --sysconfdir=/etc --datadir=/usr/share
checking for a BSD-compatible install... /usr/bin/install -c

... omitted ...

Checking for unpackaged file(s): /usr/lib/rpm/check-files /var/tmp/3ddesktop-0.2.7-buildroot
Wrote: /home/tchung/rpmbuild/SRPMS/3ddesktop-0.2.7-1.src.rpm
Wrote: /home/tchung/rpmbuild/RPMS/i386/3ddesktop-0.2.7-1.i386.rpm
Wrote: /home/tchung/rpmbuild/RPMS/i386/3ddesktop-debuginfo-0.2.7-1.i386.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.40069
+ umask 022
+ cd /home/tchung/rpmbuild/BUILD
+ cd 3ddesktop-0.2.7
+ rm -rf /var/tmp/3ddesktop-0.2.7-buildroot
+ exit 0
[tchung@localhost 3ddesktop]$

To install 3ddesktop RPM package,

[tchung@localhost 3ddesktop]$ sudo rpm -Uvh /home/tchung/rpmbuild/RPMS/i386/3ddesktop-0.2.7-1.i386.rpm
Password:
Preparing...                ########################################### [100%]
   1:3ddesktop              ########################################### [100%]
[tchung@localhost 3ddesktop]$
To launch 3ddesktop, either you can type:
[tchung@localhost 3ddesktop]$ 3ddesk 
OR, you can launch it from following menu:

Here are some screenshots from the official site: http://desk3d.sourceforge.net/screenshots.php

Here are some screenshots from my own desktop: http://fedoranews.org/tchung/3ddesktop/myown

Here are the pre-compiled RPMs for 3ddesktop version 0.2.7 for FC1 and FC2.

To see a list of supported mode and other command line options:

[tchung@localhost 3ddesktop]$ 3ddesk --help
usage: 3ddesk [ OPTIONS ]
 
Activates the 3d Desktop.  3ddeskd daemon must be running.
Where OPTIONS are:
     --view=xxx        Uses the options from the view in 3ddesktop.conf
     --mode=xxx        Sets the arrangement mode
                        (one of carousel, cylinder, linear, viewmaster,
                         priceisright, flip, or random)
     --acquire[=#]     Grab images for all the desktops by cycling thru
                        (sleep for x millisecs at each screen for refresh)
     --acquirecurrent  Grab image for current desktop
     --nozoom          Disable the zoom out
     --gotoright       Goto the desktop to the right
     --gotoleft        Goto the desktop to the left
     --gotoup          Goto the desktop to the up
     --gotodown        Goto the desktop to the down
     --goto=#          Goto specified column (deprecated)
     --gotocolumn=#    Goto specified column
     --gotorow=#       Goto specified row
     --dontexit        Don't exit after a goto
     --stop            Stop 3ddesktop (kill 3ddeskd daemon)
     --reload          Force a reload of 3ddesktop.conf
     --noautofun       Don't Automatically turn on Fun Mode
     --revmousewheel   Reverse the mousewheel
     --swapmousebuttons Swap the mousebuttons
     --altmousebuttons Use alternate mousebuttons scheme