![]() |
ubuntu.com - launchpad.net - ubuntu help
|
|
|||||||
|
Tutorials & Tips The place to find Ubuntu related Tips & Tricks. |
|
|
Thread Tools | Display Modes |
|
|
|
|
#1 | |
|
A Carafe of Ubuntu
![]() Join Date: Oct 2005
Location: South Africa
Beans: 137
Ubuntu 6.10 Edgy
|
HOWTO: Compile Xgl from source. The first step of the Future of the Linux Desktop.
HOWTO (incomplete): Compile Xgl from the freedesktop.org CVS to run with your current Xorg libraries.
This is my first ever howto, so any feedback will be welcome. This was not done on a clean Ubuntu install. I am busy installing Ubuntu Breezy in VMWare to set it all up there, then I should have all the deps listed here. ------------------------ First, in order to build xserver, you are going to need the following dependencies: Code:
build-essential m4 autoconf automake-1.9 autotools-dev libtool libx11-dev libxau-dev libxext-dev libxi-dev libxfont1 x11proto-core-dev x11proto-input-dev x11proto-kb-dev x11proto-xext-dev x11proto-randr-dev x11proto-render-dev x11proto-fixes-dev x11proto-damage-dev x11proto-fonts-dev x11proto-composite-dev x11proto-resource-dev x11proto-record-dev x11proto-bigreqs-dev x11proto-xcmisc-dev x11proto-video-dev x11proto-scrnsaver-dev x11proto-gl-dev x11proto-trap-dev x11proto-xinerama-dev libxfont-dev xtrans-dev libxrandr-dev libxrender-dev libxfixes-dev libxdamage-dev libxext-dev libxres-dev libxdmcp-dev libfreetype6-dev zlib1g-dev libgl1-mesa-dev You should be able to install all of this by running the command Code:
sudo apt-get install build-essential m4 autoconf automake-1.9 autotools-dev libtool libx11-dev libxau-dev libxext-dev libxi-dev libxfont1 x11proto-core-dev x11proto-input-dev x11proto-kb-dev x11proto-xext-dev x11proto-randr-dev x11proto-render-dev x11proto-fixes-dev x11proto-damage-dev x11proto-fonts-dev x11proto-composite-dev x11proto-resource-dev x11proto-record-dev x11proto-bigreqs-dev x11proto-xcmisc-dev x11proto-video-dev x11proto-scrnsaver-dev x11proto-gl-dev x11proto-trap-dev x11proto-xinerama-dev libxfont-dev xtrans-dev libxrandr-dev libxrender-dev libxfixes-dev libxdamage-dev libxext-dev libxres-dev libxdmcp-dev libfreetype6-dev zlib1g-dev libgl1-mesa-dev The next requirement is a package called glitz. The version in the breezy repos is too old, so we need to fetch the CVS source from freedesktop.org and build that: Code:
$ cvs -d :pserver:anoncvs@cvs.freedesktop.org:/cvs/cairo co glitz glitzinfo $ cd glitz $ ./autogen.sh $ make $ sudo make install $ cd ../glitzinfo $ make -f Makefile.glx $ ./glitzinfo $ cd .. Quote:
Code:
$ cvs -d :pserver:anoncvs@cvs.freedesktop.org:/cvs/xserver co xserver $ cd xserver $ ./autogen.sh --enable-xglserver --enable-xglxserver $ make You can give autogen.sh the "--prefix=/some/path" flag, which will make the "sudo make install" command install it to the location "/some/path". I have not done this on my machine. If you try this, make sure that the path does not conflict with installed software (i.e. try "/opt/xglserver") If it built without any problems, there will be a binary called "Xglx" in the "hw/xgl/glx" subdirectory of xserver. Go to that directory and run Xglx with the following command: Code:
$ cd hw/xgl/glx $ ./Xglx :1 -ac -nolisten tcp -screen 1024x768 To change the resolution the Xglx server runs at, simply change the "1024x768" after "-screen" to your required resolution. I don't think I have hardware acceleration correctly enabled. When I try the autogen.sh flag "--enable-glx" (which I did not include above), I get an error when I compile, saying that the file "glcore.h" cannot be found, and I have not managed to fix that yet. If anybody can help, it will be greatly appreciated by everybody, I'm sure. You can then start up a gnome desktop (or something) in there like so Code:
$ export DISPLAY=:1 $ nautilus & $ metacity & $ xcompmgr & $ transset & $ gnome-panel & $ gnome-settings-daemon & In theory you now have Xglx running in a window. I hope at least somebody finds this guide useful... Please let me know what I can improve. ADDED: I have just finished setting up the clean system. Now to start getting everything.... ADDED: I have updated the dependecy list for building --enable-xglserver I have not got a list of all the deps for building --enable-xglxserver (I have only been able to do that on a non-clean system (owing to the fact that my clean system is a virtual machine without a 3d-card) I have corrected a few negligent and inexcusable errors in my original post Last edited by Azriphale; February 4th, 2006 at 09:05 AM.. |
|
|
|
|
|
|
#2 |
|
Way Too Much Ubuntu
![]() Join Date: Apr 2005
Location: Markham, Ontario
Beans: 235
Ubuntu 9.10 Karmic Koala
|
Re: HOWTO: Compile Xgl from source. The first step of the Future of the Linux Desktop
Nice but it doesn't compile Xglx.
If I try ./autogen.sh --enable-xglxserver --enable-xglserver it still gives me the same errors described in the other thread. Code:
make[4]: Entering directory `/home/robert/xserver/hw/xgl/glx'
if /bin/sh ../../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I../../../include -I../../../hw/xgl/glx -I../../../hw/xgl -I../../../miext/damage -I../../../miext/shadow -I../../../Xext -I../../../record -I../../../render -I../../../randr -I../../../xfixes -I../../../damageext -I../../../composite -I../../../fb -I../../../mi -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -fno-strict-aliasing -D_BSD_SOURCE -DHAS_FCHOWN -DHAS_STICKY_DIR_BIT -I/usr/include/freetype2 -D_BSD_SOURCE -I../../../include -I../../../Xext -I/usr/local/include -I/usr/local/include -I/usr/X11R6/include -O2 -march=pentium3m -funroll-loops -ffast-math -fomit-frame-pointer -fno-exceptions -MT xglx.lo -MD -MP -MF ".deps/xglx.Tpo" -c -o xglx.lo xglx.c; \
then mv -f ".deps/xglx.Tpo" ".deps/xglx.Plo"; else rm -f ".deps/xglx.Tpo"; exit 1; fi
gcc -DHAVE_CONFIG_H -I. -I. -I../../../include -I../../../hw/xgl/glx -I../../../hw/xgl -I../../../miext/damage -I../../../miext/shadow -I../../../Xext -I../../../record -I../../../render -I../../../randr -I../../../xfixes -I../../../damageext -I../../../composite -I../../../fb -I../../../mi -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -fno-strict-aliasing -D_BSD_SOURCE -DHAS_FCHOWN -DHAS_STICKY_DIR_BIT -I/usr/include/freetype2 -D_BSD_SOURCE -I../../../include -I../../../Xext -I/usr/local/include -I/usr/local/include -I/usr/X11R6/include -O2 -march=pentium3m -funroll-loops -ffast-math -fomit-frame-pointer -fno-exceptions -MT xglx.lo -MD -MP -MF .deps/xglx.Tpo -c xglx.c -fPIC -DPIC -o .libs/xglx.o
In file included from ../../../include/dixfont.h:33,
from ../../../mi/mi.h:57,
from ../../../hw/xgl/xgl.h:43,
from xglx.h:29,
from xglx.c:26:
/usr/X11R6/include/X11/fonts/fontstruct.h:293:23: error: fontproto.h: No such file or directory
make[4]: *** [xglx.lo] Error 1
make[4]: Leaving directory `/home/robert/xserver/hw/xgl/glx'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/robert/xserver/hw/xgl/glx'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/robert/xserver/hw/xgl'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/robert/xserver/hw'
make: *** [all-recursive] Error 1
Last edited by Rob2687; January 28th, 2006 at 12:27 AM.. |
|
|
|
|
|
#3 |
|
Fresh Brewed Ubuntu
![]() Join Date: Oct 2005
Location: Helsinki, Finland
Beans: 1,350
|
Re: HOWTO: Compile Xgl from source. The first step of the Future of the Linux Desktop
This looks very nice! Got to try this soon.. Thanks for the howto!
|
|
|
|
|
|
#4 |
|
A Carafe of Ubuntu
![]() Join Date: Jul 2005
Beans: 90
|
Re: HOWTO: Compile Xgl from source. The first step of the Future of the Linux Desktop.
Code:
$ cvs -d :pserver:anoncvs@cvs.freedesktop.org:/cvs/cairo glitz glitzinfo Code:
$ cvs -d :pserver:anoncvs@cvs.freedesktop.org:/cvs/cairo co glitz glitzinfo There doesn't seem to be a glitzinfo executable! Code:
$ ./glitzinfo ./glitzinfo: symbol lookup error: ./glitzinfo: undefined symbol: glitz_glx_find_window_format And finally, the xserver make compiles without errors, but I don't get any Xglx executable in hw/xgl/glx! :-\ I'll start checking it out myself, but just to let you know, there deffinitely is some things missing so far!
__________________
Well, it started out as one quick question anyway... |
|
|
|
|
|
#5 | |
|
A Carafe of Ubuntu
![]() Join Date: Jul 2005
Beans: 90
|
Re: HOWTO: Compile Xgl from source. The first step of the Future of the Linux Desktop.
Quote:
glcore.h, as well as some other missing includes that it will later complain about, can be found in the mesa-swrast-source package, which you then will need to link to the xserver source. (note: don't bother following this code) Code:
$ sudo apt-get mesa-swrast-source $ ln -s /usr/share/mesa-source/include/GL ~/src/xserver/GL/glx/GL It will then complain about a missing glapitable.h, so what I did was Code:
$ ln -s /usr/share/mesa-source/src/mesa/glapi/glapitable.h ~/src/xserver/GL/glx/glapitable.h So... I'm still not sure how this xglx server is supposed to compile. EDIT: At the end of the errors, it also says *** [libglx_la-g_render.lo] Error 1 which to me looks alot like "lol Error 1"
__________________
Well, it started out as one quick question anyway... Last edited by One Quick Question; January 28th, 2006 at 03:21 AM.. |
|
|
|
|
|
|
#6 | |
|
Gee! These Aren't Roasted!
![]() |
Quote:
I tried myself but I get errors, some of them I got rid installing other packages
but still I can't even compile glitz Code:
matteo@ubuntu:~/download/xgl/glitz$ ./autogen.sh
./autogen.sh: Note: `./configure' will be run with no arguments.
If you wish to pass any to it, please specify them on the
`./autogen.sh' command line.
./autogen.sh: running `libtoolize --copy --force'
Putting files in AC_CONFIG_AUX_DIR, `config'.
./autogen.sh: running `aclocal'
./autogen.sh: running `autoheader'
./autogen.sh: running `automake --add-missing'
automake: src/glx/Makefile.am: warning: automake does not support libglitz_glx_la_LDFLAGS being defined conditionally
automake: src/agl/Makefile.am: warning: automake does not support libglitz_agl_la_LDFLAGS being defined conditionally
automake: src/egl/Makefile.am: warning: automake does not support libglitz_egl_la_LDFLAGS being defined conditionally
automake: src/wgl/Makefile.am: warning: automake does not support libglitz_wgl_la_LDFLAGS being defined conditionally
Thanks!
__________________
-- Matteo |
|
|
|
|
|
|
#7 |
|
Gee! These Aren't Roasted!
![]() |
ok, in some way I got xserver to be compiled
Code:
PKG_CONFIG_PATH=/opt/fdo/lib/pkgconfig/ ./autogen.sh --prefix=/opt/fdo --enable-composite --enable-xglserver [...] Xgl will be compiled with the following ddx modules: xglx: yes xegl: no the following stand-alone servers: Xglx: no Xegl: no and the following extension modules: glx: no
__________________
-- Matteo |
|
|
|
|
|
#8 |
|
5 Cups of Ubuntu
![]() Join Date: Dec 2005
Beans: 37
|
Re: HOWTO: Compile Xgl from source. The first step of the Future of the Linux Desktop
@ zasf: how did you get rid of the automake warnings?
|
|
|
|
|
|
#9 | ||
|
Gee! These Aren't Roasted!
![]() |
Re: HOWTO: Compile Xgl from source. The first step of the Future of the Linux Desktop
Quote:
Quote:
__________________
-- Matteo |
||
|
|
|
|
|
#10 | |
|
100% Pure Ubuntu
![]() |
Re: HOWTO: Compile Xgl from source. The first step of the Future of the Linux Desktop
what the hell do you think you're doing making this HOWTO without screenshots?!
__________________
Quote:
|
|
|
|
|
| Bookmarks |
| Thread Tools | |
| Display Modes | |
|
|