debian/changelog | 22 + debian/local/Xsession.d/50x11-common_determine-startup | 3 debian/rules | 6 debian/x11-common.postinst.in | 10 xsf-docs/howtos/build-mesa.mdwn | 201 +++++++++++++++++ xsf-docs/howtos/configure-input.mdwn | 4 xsf-docs/howtos/report-bugs.mdwn | 7 xsf-docs/howtos/use-gdb.mdwn | 2 xsf-docs/index.mdwn | 2 xsf-docs/mdwn2html | 23 + xsf-docs/reference/upstream-contacts.mdwn | 43 +++ xsf-docs/xsf.css | 12 - 12 files changed, 317 insertions(+), 18 deletions(-)
New commits: commit b4bf4c7cc266f65900a56cec2f0fb43ee53ff702 Author: Cyril Brulebois <k...@debian.org> Date: Sun Feb 13 07:35:06 2011 +0100 Upload to unstable. diff --git a/debian/changelog b/debian/changelog index 32619c7..ddaafb7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -xorg (1:7.6+3) UNRELEASED; urgency=low +xorg (1:7.6+3) unstable; urgency=low * Merge xsf-docs up to the 8fc70f1e37 commit: - Add: howtos/build-mesa @@ -18,7 +18,7 @@ xorg (1:7.6+3) UNRELEASED; urgency=low * Fix FTBFS on sparc{,64} by working around wkhtmltopdf's #613141: remove the SVG file from the CSS on these architectures. - -- Cyril Brulebois <k...@debian.org> Sat, 12 Feb 2011 11:19:54 +0100 + -- Cyril Brulebois <k...@debian.org> Sun, 13 Feb 2011 07:34:14 +0100 xorg (1:7.6+2) unstable; urgency=low commit 22650398facb38e12a9c316d6a7c753e029b17a9 Author: Cyril Brulebois <k...@debian.org> Date: Sun Feb 13 07:34:03 2011 +0100 Fix FTBFS on sparc{,64} by working around wkhtmltopdf's #613141: remove the SVG file from the CSS on these architectures. diff --git a/debian/changelog b/debian/changelog index 925abb8..32619c7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -15,6 +15,8 @@ xorg (1:7.6+3) UNRELEASED; urgency=low back into place. There's no secret in there (Closes: #581338). * 50x11-common_determine-startup: Take $SHELL into account, defaulting to sh if SHELL is unset or null (Closes: #604010). + * Fix FTBFS on sparc{,64} by working around wkhtmltopdf's #613141: + remove the SVG file from the CSS on these architectures. -- Cyril Brulebois <k...@debian.org> Sat, 12 Feb 2011 11:19:54 +0100 diff --git a/debian/rules b/debian/rules index 5499952..86955a9 100755 --- a/debian/rules +++ b/debian/rules @@ -50,6 +50,10 @@ build-stamp: scripts-stamp dh_testdir # build Debian's X server wrapper $(CC) -Wall -g -O2 -o debian/local/X debian/local/xserver-wrapper.c +ifneq (,$(filter sparc sparc64,$(DEB_HOST_ARCH))) + # work around wkhtmltopdf's sigbus on sparc (#613141): + sed -i '/background-image.*svg/d' xsf-docs/xsf.css +endif # build XSF docs, under xvfb for wkhtmltodpf: xvfb-run -- $(MAKE) -C xsf-docs touch $@ commit 4d224de1fff0eb323732c0770d45b5520eaa80d1 Author: Cyril Brulebois <k...@debian.org> Date: Sat Feb 12 12:56:43 2011 +0100 50x11-common_determine-startup: Take $SHELL into account, defaulting to sh if SHELL is unset or null (Closes: #604010). diff --git a/debian/changelog b/debian/changelog index 5beedab..925abb8 100644 --- a/debian/changelog +++ b/debian/changelog @@ -13,6 +13,8 @@ xorg (1:7.6+3) UNRELEASED; urgency=low to generate the Xwrapper.config file. * Use “tempfile -m 644” to generate the temporary file which gets copied back into place. There's no secret in there (Closes: #581338). + * 50x11-common_determine-startup: Take $SHELL into account, defaulting + to sh if SHELL is unset or null (Closes: #604010). -- Cyril Brulebois <k...@debian.org> Sat, 12 Feb 2011 11:19:54 +0100 diff --git a/debian/local/Xsession.d/50x11-common_determine-startup b/debian/local/Xsession.d/50x11-common_determine-startup index cd9e4d3..4e13505 100644 --- a/debian/local/Xsession.d/50x11-common_determine-startup +++ b/debian/local/Xsession.d/50x11-common_determine-startup @@ -13,7 +13,8 @@ if [ -z "$STARTUP" ]; then if [ -x "$STARTUPFILE" ]; then STARTUP="$STARTUPFILE" else - STARTUP="sh $STARTUPFILE" + shell=${SHELL:-sh} + STARTUP="$shell $STARTUPFILE" fi break fi commit 7ab31eaed95248fe5cf8bfb8985301aa1f0302d7 Author: Cyril Brulebois <k...@debian.org> Date: Sat Feb 12 12:46:36 2011 +0100 Use “tempfile -m 644” to generate the temporary file which gets copied back into place. There's no secret in there (Closes: #581338). diff --git a/debian/changelog b/debian/changelog index c09470a..5beedab 100644 --- a/debian/changelog +++ b/debian/changelog @@ -11,6 +11,8 @@ xorg (1:7.6+3) UNRELEASED; urgency=low * As a consequence of this bug, users having installed x11-common using version 1:7.6+1 or 1:7.6+2 want to run “dpkg-reconfigure x11-common” to generate the Xwrapper.config file. + * Use “tempfile -m 644” to generate the temporary file which gets copied + back into place. There's no secret in there (Closes: #581338). -- Cyril Brulebois <k...@debian.org> Sat, 12 Feb 2011 11:19:54 +0100 diff --git a/debian/x11-common.postinst.in b/debian/x11-common.postinst.in index 6dc6041..acafc39 100644 --- a/debian/x11-common.postinst.in +++ b/debian/x11-common.postinst.in @@ -29,7 +29,7 @@ if [ -e "$XWRAPPER_CONFIG" ] || [ -z "$UPGRADE" ]; then ALLOWED_USERS="$RET" fi if [ -n "$ALLOWED_USERS" ]; then - NEW_XWRAPPER_CONFIG=$(tempfile) + NEW_XWRAPPER_CONFIG=$(tempfile -m 644) if ! [ -e "$XWRAPPER_CONFIG" ]; then cat >>"$NEW_XWRAPPER_CONFIG" << EOF # Xwrapper.config (Debian X Window System server wrapper configuration file) commit 0e8af9a822fa362f3f775e9d85274105db74ede3 Author: Cyril Brulebois <k...@debian.org> Date: Sat Feb 12 12:44:19 2011 +0100 Document “dpkg-reconfigure x11-common” as workaround. diff --git a/debian/changelog b/debian/changelog index d4c6bcf..c09470a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -8,6 +8,9 @@ xorg (1:7.6+3) UNRELEASED; urgency=low * Fix /etc/X11/Xwrapper.config handling: - Don't forget to copy the new configuration file if there was none previously. Thanks to Kyle Dassoff (Closes: #612979). + * As a consequence of this bug, users having installed x11-common using + version 1:7.6+1 or 1:7.6+2 want to run “dpkg-reconfigure x11-common” + to generate the Xwrapper.config file. -- Cyril Brulebois <k...@debian.org> Sat, 12 Feb 2011 11:19:54 +0100 commit 73fcdebc34e0f9cfc7d012675ee7175813090aec Author: Cyril Brulebois <k...@debian.org> Date: Sat Feb 12 11:26:01 2011 +0100 Fix /etc/X11/Xwrapper.config handling (Closes: #612979). diff --git a/debian/changelog b/debian/changelog index c2c5a0b..d4c6bcf 100644 --- a/debian/changelog +++ b/debian/changelog @@ -5,6 +5,9 @@ xorg (1:7.6+3) UNRELEASED; urgency=low - Add: reference/upstream-contacts - Update: howtos/report-bugs * rules: Get rid of DEFAULT_DCRESOLUTIONS, unused since 2009. + * Fix /etc/X11/Xwrapper.config handling: + - Don't forget to copy the new configuration file if there was none + previously. Thanks to Kyle Dassoff (Closes: #612979). -- Cyril Brulebois <k...@debian.org> Sat, 12 Feb 2011 11:19:54 +0100 diff --git a/debian/x11-common.postinst.in b/debian/x11-common.postinst.in index 323d56c..6dc6041 100644 --- a/debian/x11-common.postinst.in +++ b/debian/x11-common.postinst.in @@ -50,10 +50,10 @@ EOF else sed -e '/^allowed_users.*/d' < "$XWRAPPER_CONFIG" > "$NEW_XWRAPPER_CONFIG" echo "allowed_users=$ALLOWED_USERS" >> "$NEW_XWRAPPER_CONFIG" - if ! cmp -s "$XWRAPPER_CONFIG" "$NEW_XWRAPPER_CONFIG"; then - cp "$NEW_XWRAPPER_CONFIG" "$XWRAPPER_CONFIG.dpkg-new" - mv "$XWRAPPER_CONFIG.dpkg-new" "$XWRAPPER_CONFIG" - fi + fi + if ! cmp -s "$XWRAPPER_CONFIG" "$NEW_XWRAPPER_CONFIG"; then + cp "$NEW_XWRAPPER_CONFIG" "$XWRAPPER_CONFIG.dpkg-new" + mv "$XWRAPPER_CONFIG.dpkg-new" "$XWRAPPER_CONFIG" fi rm -f "$NEW_XWRAPPER_CONFIG" else commit a1ccfebb82893a958b38ee7901d2511d2145a838 Author: Cyril Brulebois <k...@debian.org> Date: Sat Feb 12 11:25:00 2011 +0100 rules: Get rid of DEFAULT_DCRESOLUTIONS, unused since 2009. diff --git a/debian/changelog b/debian/changelog index c3edc5c..c2c5a0b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -4,6 +4,7 @@ xorg (1:7.6+3) UNRELEASED; urgency=low - Add: howtos/build-mesa - Add: reference/upstream-contacts - Update: howtos/report-bugs + * rules: Get rid of DEFAULT_DCRESOLUTIONS, unused since 2009. -- Cyril Brulebois <k...@debian.org> Sat, 12 Feb 2011 11:19:54 +0100 diff --git a/debian/rules b/debian/rules index 0d02fbe..5499952 100755 --- a/debian/rules +++ b/debian/rules @@ -41,8 +41,6 @@ clean: cleanscripts SCRIPTS=$(shell ls debian/*.config.in debian/*.postinst.in debian/*.postrm.in debian/*.preinst.in debian/*.prerm.in) -DEFAULT_DCRESOLUTIONS="1920x1440, 1920x1200, 1856x1392, 1792x1344, 1680x1050, 1600x1200, 1440x900, 1400x1050, 1280x1024, 1280x960, 1280x854, 1280x800, 1280x768, 1200x800, 1152x864, 1152x768, 1024x768, 800x600, 640x480" - scripts: scripts-stamp scripts-stamp: genscripts touch $@ commit b0afd70300e7de64534bb0f72a852f0e8bcc2f14 Author: Cyril Brulebois <k...@debian.org> Date: Sat Feb 12 11:24:38 2011 +0100 Document the merge. diff --git a/debian/changelog b/debian/changelog index 1d77da6..c3edc5c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +xorg (1:7.6+3) UNRELEASED; urgency=low + + * Merge xsf-docs up to the 8fc70f1e37 commit: + - Add: howtos/build-mesa + - Add: reference/upstream-contacts + - Update: howtos/report-bugs + + -- Cyril Brulebois <k...@debian.org> Sat, 12 Feb 2011 11:19:54 +0100 + xorg (1:7.6+2) unstable; urgency=low * Merge xsf-docs documentation. That's an offline copy of the commit 8fc70f1e37ebe8c726b8e023de42a36eb01593b8 Author: Cyril Brulebois <k...@debian.org> Date: Fri Feb 11 12:38:57 2011 +0100 upstream-contacts: Fix mesa address. diff --git a/xsf-docs/reference/upstream-contacts.mdwn b/xsf-docs/reference/upstream-contacts.mdwn index 2322a13..c8b3940 100644 --- a/xsf-docs/reference/upstream-contacts.mdwn +++ b/xsf-docs/reference/upstream-contacts.mdwn @@ -33,7 +33,7 @@ Driver-specific: Other: * DRM: `dri-de...@lists.freedesktop.org` - * Mesa: `mesa3d-...@lists.sourceforge.net` + * Mesa: `mesa-...@lists.freedesktop.org` * Pixman: `pix...@lists.freedesktop.org` * Wayland: `wayland-de...@lists.freedesktop.org` * XCB: `x...@lists.freedesktop.org` commit fb8afa26b07a7bba73a034de0cd23f57275b4fb4 Author: Cyril Brulebois <k...@debian.org> Date: Thu Feb 10 22:40:21 2011 +0100 upstream-contacts: New document. diff --git a/xsf-docs/reference/upstream-contacts.mdwn b/xsf-docs/reference/upstream-contacts.mdwn index 0a3c93a..2322a13 100644 --- a/xsf-docs/reference/upstream-contacts.mdwn +++ b/xsf-docs/reference/upstream-contacts.mdwn @@ -35,6 +35,7 @@ Other: * DRM: `dri-de...@lists.freedesktop.org` * Mesa: `mesa3d-...@lists.sourceforge.net` * Pixman: `pix...@lists.freedesktop.org` + * Wayland: `wayland-de...@lists.freedesktop.org` * XCB: `x...@lists.freedesktop.org` * XKeyboardConfig/xkb-data: `x...@listserv.bat.ru` — source: [XKeyboardConfig](http://www.freedesktop.org/wiki/Software/XKeyboardConfig/Development) commit 1235019427596b72a4574ac3737f8b5dcf50a260 Author: Cyril Brulebois <k...@debian.org> Date: Thu Feb 10 22:39:24 2011 +0100 upstream-contacts: New document. diff --git a/xsf-docs/index.mdwn b/xsf-docs/index.mdwn index 75fc2d1..f5b1cba 100644 --- a/xsf-docs/index.mdwn +++ b/xsf-docs/index.mdwn @@ -19,6 +19,7 @@ metapackage (under `/usr/share/doc/xorg`), starting with `wheezy`. ## Reference documentation * [Dependencies between server and drivers](reference/dependencies.html) + * [Upstream contacts](reference/upstream-contacts.html) ## Other documentation diff --git a/xsf-docs/reference/upstream-contacts.mdwn b/xsf-docs/reference/upstream-contacts.mdwn new file mode 100644 index 0000000..0a3c93a --- /dev/null +++ b/xsf-docs/reference/upstream-contacts.mdwn @@ -0,0 +1,42 @@ +# Upstream contacts + +Cyril Brulebois <k...@debian.org> + + +## Getting announcements + + * Almost everything: `xorg-annou...@lists.freedesktop.org` + * Mesa: `mesa-annou...@lists.freedesktop.org` + +*(Source: [XorgMailingLists](http://wiki.x.org/wiki/XorgMailingLists))* + + +## Developer lists + + +Almost everything: + + * `xorg-de...@lists.freedesktop.org` — doc: + [SubmittingPatches](http://wiki.x.org/wiki/Development/Documentation/SubmittingPatches) + — module maintainers: + [MAINTAINERS](http://cgit.freedesktop.org/xorg/doc/xorg-docs/tree/MAINTAINERS) + +Driver-specific: + + * ATI: `xorg-driver-...@lists.x.org` + * Intel: `intel-...@lists.freedesktop.org` — doc: + [How to file a good bug report](http://intellinuxgraphics.org/how_to_report_bug.html) + * Nouveau: `nouv...@lists.freedesktop.org` + * VMMouse & VMWare: `thellst...@vmware.com` — source: + [vmware wikipage](http://wiki.x.org/wiki/vmware) + +Other: + + * DRM: `dri-de...@lists.freedesktop.org` + * Mesa: `mesa3d-...@lists.sourceforge.net` + * Pixman: `pix...@lists.freedesktop.org` + * XCB: `x...@lists.freedesktop.org` + * XKeyboardConfig/xkb-data: `x...@listserv.bat.ru` — source: + [XKeyboardConfig](http://www.freedesktop.org/wiki/Software/XKeyboardConfig/Development) + +*(Source: [XorgMailingLists](http://wiki.x.org/wiki/XorgMailingLists))* commit a086b3d232b1a13015ba12bf03be0767ffb8fcf9 Author: Cyril Brulebois <k...@debian.org> Date: Thu Feb 10 21:40:32 2011 +0100 Use the unprocessed title. diff --git a/xsf-docs/mdwn2html b/xsf-docs/mdwn2html index 95f3a16..64c1574 100755 --- a/xsf-docs/mdwn2html +++ b/xsf-docs/mdwn2html @@ -17,6 +17,9 @@ if ! which markdown >/dev/null; then exit 1 fi +# Remember the title, assume it has no formatting: +title=$(head -1 $mdwn|sed -e 's/^#//') + # Add a link back to the index: if [ "$mdwn" != "index.mdwn" ]; then path=$(dirname $mdwn)/ @@ -34,7 +37,6 @@ fi markdown $mdwn.tmp > $html.tmp # Include html headers, include title: -title=$(head -1 $html.tmp|sed -e 's,</\?h1>,,g') sed "s#@@title@@#$title#" > $html <<EOF <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> commit 9dcd41f5739a898632787bef2eaa49a890604584 Author: Cyril Brulebois <k...@debian.org> Date: Thu Feb 10 18:22:15 2011 +0100 Add a link to the index, from all pages. diff --git a/xsf-docs/mdwn2html b/xsf-docs/mdwn2html index 6d9d7e2..95f3a16 100755 --- a/xsf-docs/mdwn2html +++ b/xsf-docs/mdwn2html @@ -17,8 +17,21 @@ if ! which markdown >/dev/null; then exit 1 fi +# Add a link back to the index: +if [ "$mdwn" != "index.mdwn" ]; then + path=$(dirname $mdwn)/ + if [ "$path" = "./" ]; then + path_to_root=./ + else + path_to_root=$(echo $path|sed 's,[^/],,g;s,/,../,g') + fi + sed "s,^# ,# [XSF](${path_to_root}index.html) / ," $mdwn > $mdwn.tmp +else + cp $mdwn $mdwn.tmp +fi + # Actual transformation: -markdown $mdwn > $html.tmp +markdown $mdwn.tmp > $html.tmp # Include html headers, include title: title=$(head -1 $html.tmp|sed -e 's,</\?h1>,,g') @@ -44,5 +57,5 @@ cat >> $html <<EOF </html> EOF -# Remove temporary file: -rm -f $html.tmp +# Remove temporary files: +rm -f $mdwn.tmp $html.tmp commit fe2f36ac4ca71c692dac216bfd72369edaed4fc6 Author: Cyril Brulebois <k...@debian.org> Date: Thu Feb 10 15:03:32 2011 +0100 build-mesa: Mention disc space needs. diff --git a/xsf-docs/howtos/build-mesa.mdwn b/xsf-docs/howtos/build-mesa.mdwn index 6649954..dc49cd9 100644 --- a/xsf-docs/howtos/build-mesa.mdwn +++ b/xsf-docs/howtos/build-mesa.mdwn @@ -85,7 +85,9 @@ If you’re on `squeeze` you may need to install a few more packages: newer `libdrm-dev` (**FIXME:** talk about picking it from `wheezy`? or about a local installation?), as well as `libxmu-dev`, `libxi-dev`. -Grab the upstream mesa sources: +Make sure you have some disc space available, since the git repository +is over 120MB, and since the mesa directory is over 500MB after a +build. Once you’re ready, grab the upstream mesa sources: $ git clone git://anongit.freedesktop.org/mesa/mesa mesa.git $ cd mesa.git commit f0bb89867fd858aeb026de55960dfd6464ef57b0 Author: Cyril Brulebois <k...@debian.org> Date: Thu Feb 10 14:15:19 2011 +0100 build-mesa: Mention the need for newer libraries on squeeze. diff --git a/xsf-docs/howtos/build-mesa.mdwn b/xsf-docs/howtos/build-mesa.mdwn index 7dac557..6649954 100644 --- a/xsf-docs/howtos/build-mesa.mdwn +++ b/xsf-docs/howtos/build-mesa.mdwn @@ -81,6 +81,10 @@ and `git`: $ sudo apt-get install build-essential git $ sudo apt-get build-dep mesa +If you’re on `squeeze` you may need to install a few more packages: +newer `libdrm-dev` (**FIXME:** talk about picking it from `wheezy`? or +about a local installation?), as well as `libxmu-dev`, `libxi-dev`. + Grab the upstream mesa sources: $ git clone git://anongit.freedesktop.org/mesa/mesa mesa.git commit 662580ccf81ad9817346fa68f2b60458fbab2f56 Author: Cyril Brulebois <k...@debian.org> Date: Thu Feb 10 11:27:45 2011 +0100 Fix apostrophes. diff --git a/xsf-docs/howtos/configure-input.mdwn b/xsf-docs/howtos/configure-input.mdwn index e705d30..bd00f3e 100644 --- a/xsf-docs/howtos/configure-input.mdwn +++ b/xsf-docs/howtos/configure-input.mdwn @@ -104,7 +104,7 @@ Line by line walkthrough: * To avoid specifying any device under `/dev/input` (`event$N` might change, remember it’s about hotplug support!), we use an `InputClass`. - * We need an identifier, the actual name doesn‘t matter. + * We need an identifier, the actual name doesn’t matter. * We match everything that looks like a touchpad. Meaning no generic pointer, keyboard, or tablet. * We specify the driver we want to use for the matched device(s). @@ -144,7 +144,7 @@ Line by line walkthrough: * To avoid specifying any device under `/dev/input` (`event$N` might change, remember it’s about hotplug support!), we use an `InputClass`. - * We need an identifier, the actual name doesn‘t matter. + * We need an identifier, the actual name doesn’t matter. * We match everything that looks like a touchpad. Meaning no generic pointer, keyboard, or tablet. * We specify the driver we want to use for the matched device(s). diff --git a/xsf-docs/howtos/use-gdb.mdwn b/xsf-docs/howtos/use-gdb.mdwn index 648c867..df7152d 100644 --- a/xsf-docs/howtos/use-gdb.mdwn +++ b/xsf-docs/howtos/use-gdb.mdwn @@ -15,7 +15,7 @@ with a single machine. ### One-machine approach -From a console (let‘s assume it’s `vt1`), open a `root` +From a console (let’s assume it’s `vt1`), open a `root` terminal. Then, start a loop which will bring you back to this console after a given delay (in the following example, every 60 seconds), just in case. The ampersand (`&`) at the end makes it a background job. commit 3ad130a6d78f2191a623f873ce84604a029c25d2 Author: Cyril Brulebois <k...@debian.org> Date: Thu Feb 10 11:25:42 2011 +0100 build-mesa: Add a note about nouveau. diff --git a/xsf-docs/howtos/build-mesa.mdwn b/xsf-docs/howtos/build-mesa.mdwn index 829c9cf..7dac557 100644 --- a/xsf-docs/howtos/build-mesa.mdwn +++ b/xsf-docs/howtos/build-mesa.mdwn @@ -25,6 +25,17 @@ in which case the appropriate options to be passed to `./configure` should be looked up in the `debian/rules` file of the Debian source package. +*Note:* Before reading further, be aware that `nouveau` is a bit + special. + + * It’s considered experimental, and shipped in the + `libgl1-mesa-dri-experimental` package accordingly. + * It may fail to build (both API and ABI are still changing). + * We’re not shipping `nouveau_vieux_dri.so` yet (for cards from NV04 + to NV2X; `nouveau_dri.so` is for NV30 and later). See the upstream + [FeatureMatrix](http://nouveau.freedesktop.org/wiki/FeatureMatrix) + page to determine a card’s series. + ## Gathering information @@ -94,9 +105,9 @@ Now, what are the parameters to replace “`…`” with? Basically, if you determined an Intel driver (`i915` or `i965`), you want to use the classic drivers and to disable the Gallium drivers. If you saw a Radeon driver (`r300` or `r600`), you should prefer the Gallium -drivers. *[Note: Nouveau is a bit special since it may fail to build -(both API and ABI are still changing), and since we’re currently not -shipping `nouveau_vieux.so`.]* +drivers. If you’re using `nouveau`, make sure you read the note in the +**Foreword**. The following assumes you’re using `nouveau_dri.so`. + Examples for common drivers: commit 796951486a245084068fc4ee910054948922e9c7 Author: Cyril Brulebois <k...@debian.org> Date: Thu Feb 10 01:04:34 2011 +0100 index: Link to build-mesa. diff --git a/xsf-docs/index.mdwn b/xsf-docs/index.mdwn index f9dcfcb..75fc2d1 100644 --- a/xsf-docs/index.mdwn +++ b/xsf-docs/index.mdwn @@ -14,6 +14,7 @@ metapackage (under `/usr/share/doc/xorg`), starting with `wheezy`. * [How to use GDB](howtos/use-gdb.html) * [How to configure input](howtos/configure-input.html) * [How to configure outputs](howtos/use-xrandr.html) + * [How to build mesa locally](howtos/build-mesa.html) ## Reference documentation commit 3cf5eec54f92eec79834acb3553a64b956746f91 Author: Cyril Brulebois <k...@debian.org> Date: Thu Feb 10 01:03:02 2011 +0100 build-mesa: The end (hopefully). diff --git a/xsf-docs/howtos/build-mesa.mdwn b/xsf-docs/howtos/build-mesa.mdwn index 76a8aa4..829c9cf 100644 --- a/xsf-docs/howtos/build-mesa.mdwn +++ b/xsf-docs/howtos/build-mesa.mdwn @@ -177,3 +177,8 @@ are used. libEGL debug: DRI2: dlopen(lib/i915_dri.so) ↪ Yes: No system directory, paths are relative to `lib/`. + + +### The end. + +Now you should be ready to test upstream’s suggestions! commit 1400b5a6a5fd5e9be514ef1563c68b2663582dd4 Author: Cyril Brulebois <k...@debian.org> Date: Thu Feb 10 00:50:51 2011 +0100 build-mesa: Mention the lack of EGL-aware applications. diff --git a/xsf-docs/howtos/build-mesa.mdwn b/xsf-docs/howtos/build-mesa.mdwn index c7cf609..76a8aa4 100644 --- a/xsf-docs/howtos/build-mesa.mdwn +++ b/xsf-docs/howtos/build-mesa.mdwn @@ -168,8 +168,8 @@ are used. *Did this work?* - **FIXME:** Is there any EGL test application? If so, running the - following should do: + **FIXME: We should be shipping EGL-aware applications through + `mesa-utils`.** $ EGL_LOG_LEVEL=debug test_application 2>&1 >/dev/null | grep '\.so' libEGL debug: added lib/egl/egl_gallium.so to module array commit c1c85b15ff3c0b5a0c4778c1071ef6630f58c1dd Author: Cyril Brulebois <k...@debian.org> Date: Thu Feb 10 00:48:21 2011 +0100 build-mesa: rename from debug-mesa. It's mostly about building, not really debugging. diff --git a/xsf-docs/howtos/build-mesa.mdwn b/xsf-docs/howtos/build-mesa.mdwn new file mode 100644 index 0000000..c7cf609 --- /dev/null +++ b/xsf-docs/howtos/build-mesa.mdwn @@ -0,0 +1,179 @@ +# How to build mesa + +Cyril Brulebois <k...@debian.org> + + +## Foreword + +Mesa is a special package since many flavours are built, which means +it takes quite some time to get all packages ready, as well as some +disc space (over 2GB for the `build/` directory alone). + +Also, trying to figure out whether latest `master` is also affected, +or backporting some bug fixes might lead to some painful I/O while +generating the `.deb` files, and then installing/unpacking them. This +is why this document was written: Helping users test other mesa +releases, branches, bug fixes without having to build full packages, +and without having to mess with their systems (*i.e.* no root access +is needed once the build dependencies are installed). + +We’ll focus on the DRI (Direct Rendering Infrastructure) flavour +(`libgl1-mesa-dri`), which is the most common. + +It might be possible to adapt the following steps to another flavour, +in which case the appropriate options to be passed to `./configure` +should be looked up in the `debian/rules` file of the Debian source +package. + + +## Gathering information + +Get started by installing `mesa-utils`, which contains `glxinfo`. + + * *Is direct rendering enabled?* + + $ glxinfo | grep ^direct + direct rendering: Yes + + ↪ Yes. + + * *Is this the classic or + [Gallium](http://en.wikipedia.org/wiki/Gallium3D) driver?* + + $ glxinfo | grep 'renderer string' + OpenGL renderer string: Mesa DRI Intel(R) 945GM GEM 20100330 DEVELOPMENT + + ↪ No “Gallium” here, therefore: “classic”. + + * *Which driver is this, and where is it located?* + + $ LIBGL_DEBUG=verbose glxinfo 2>&1 >/dev/null | grep so$ + libGL: OpenDriver: trying /usr/lib/dri/tls/i915_dri.so + libGL: OpenDriver: trying /usr/lib/dri/i915_dri.so + + ↪ `i915`, from the system directory: `/usr/lib/dri` (likely + installed through a Debian package). + + * *How can I get more debugging information?* + + export LIBGL_DEBUG=verbose + export MESA_DEBUG=1 + export EGL_LOG_LEVEL=debug + + +## Preparing mesa sources + +To get started, installing all build dependencies of the `mesa` source +package should be sufficient, along with the essential build tools, +and `git`: + + $ sudo apt-get install build-essential git + $ sudo apt-get build-dep mesa + +Grab the upstream mesa sources: + + $ git clone git://anongit.freedesktop.org/mesa/mesa mesa.git + $ cd mesa.git + $ autoreconf -vfi + +Here’s what the `./configure` call will look like: + + $ ./configure --enable-driglx-direct \ + --enable-gallium \ + --enable-gles-overlay \ + --enable-gles1 \ + --enable-gles2 \ + --enable-glx-tls \ + --with-driver=dri \ + --with-dri-driverdir=/usr/lib/dri \ + --with-egl-platforms='drm x11' \ + --with-state-trackers=egl,glx,dri,vega \ + … + +Now, what are the parameters to replace “`…`” with? Basically, if +you determined an Intel driver (`i915` or `i965`), you want to use the +classic drivers and to disable the Gallium drivers. If you saw a +Radeon driver (`r300` or `r600`), you should prefer the Gallium +drivers. *[Note: Nouveau is a bit special since it may fail to build +(both API and ABI are still changing), and since we’re currently not +shipping `nouveau_vieux.so`.]* + +Examples for common drivers: + + * For `i915`, you need: + + --with-dri-drivers=i915 + + * For `i965`, you need: + + --with-dri-drivers=i965 + + * For `nouveau`, you may want to try: + + --with-dri-drivers=nouveau --enable-gallium-nouveau + + * For `r300` (the options are named `radeon`), you need: + + --with-dri-drivers=radeon --enable-gallium-radeon + + * For `r600`, you need: + + --with-dri-drivers=r600 --enable-gallium-r600 + +Now, once you’ve run `./configure`, time for your favorite beverage: + + $ make + + +## Running the newly-built mesa libraries + +Shared libraries end up in the `lib/` directory. It contains the +classic drivers, while Gallium drivers end up under `lib/gallium`. If +you’re not an Intel user, overwrite the classic drivers with the +Gallium ones: + + $ mv lib/gallium/* lib/ + +Now, 3 variables need to be set, so that the locally-built libraries +are used. + + * To begin with, libGL itself and its drivers: + + $ export LIBGL_DRIVERS_PATH=lib + + *Did this work?* + + $ LIBGL_DEBUG=verbose glxinfo 2>&1 >/dev/null | grep so$ + libGL: OpenDriver: trying lib/tls/i915_dri.so + libGL: OpenDriver: trying lib/i915_dri.so + + ↪ Yes: No system directory, paths are relative to `lib/`. + + * Set `LD_LIBRARY_PATH` to make sure the locally-built libraries + (including those pulled through library dependencies) are used, + instead of system ones: + + $ export LD_LIBRARY_PATH=lib + + *Did this work?* + + $ ldd lib/libGLESv2.so | grep glapi + libglapi.so.0 => lib/libglapi.so.0 (0x00007fee3192e000) + + ↪ Yes: Path is relative to `lib`. + + * Set the EGL search path: + + $ export EGL_DRIVERS_PATH=lib/egl + + *Did this work?* + + **FIXME:** Is there any EGL test application? If so, running the + following should do: + + $ EGL_LOG_LEVEL=debug test_application 2>&1 >/dev/null | grep '\.so' + libEGL debug: added lib/egl/egl_gallium.so to module array + libEGL debug: dlopen(lib/egl/egl_gallium.so) + libEGL debug: DRI2: dlopen(lib/i915_dri.so) + + ↪ Yes: No system directory, paths are relative to `lib/`. diff --git a/xsf-docs/howtos/debug-mesa.mdwn b/xsf-docs/howtos/debug-mesa.mdwn deleted file mode 100644 index 6f46d79..0000000 --- a/xsf-docs/howtos/debug-mesa.mdwn +++ /dev/null @@ -1,179 +0,0 @@ -# How to debug mesa - -Cyril Brulebois <k...@debian.org> - - -## Foreword - -Mesa is a special package since many flavours are built, which means -it takes quite some time to get all packages ready, as well as some -disc space (over 2GB for the `build/` directory alone). - -Also, trying to figure out whether latest `master` is also affected, -or backporting some bug fixes might lead to some painful I/O while -generating the `.deb` files, and then installing/unpacking them. This -is why this document was written: Helping users test other mesa -releases, branches, bug fixes without having to build full packages, -and without having to mess with their systems (*i.e.* no root access -is needed once the build dependencies are installed). - -We’ll focus on the DRI (Direct Rendering Infrastructure) flavour -(`libgl1-mesa-dri`), which is the most common. - -It might be possible to adapt the following steps to another flavour, -in which case the appropriate options to be passed to `./configure` -should be looked up in the `debian/rules` file of the Debian source -package. - - -## Gathering information - -Get started by installing `mesa-utils`, which contains `glxinfo`. - - * *Is direct rendering enabled?* - - $ glxinfo | grep ^direct - direct rendering: Yes - - ↪ Yes. - - * *Is this the classic or - [Gallium](http://en.wikipedia.org/wiki/Gallium3D) driver?* - - $ glxinfo | grep 'renderer string' - OpenGL renderer string: Mesa DRI Intel(R) 945GM GEM 20100330 DEVELOPMENT - - ↪ No “Gallium” here, therefore: “classic”. - - * *Which driver is this, and where is it located?* - - $ LIBGL_DEBUG=verbose glxinfo 2>&1 >/dev/null | grep so$ - libGL: OpenDriver: trying /usr/lib/dri/tls/i915_dri.so - libGL: OpenDriver: trying /usr/lib/dri/i915_dri.so - - ↪ `i915`, from the system directory: `/usr/lib/dri` (likely - installed through a Debian package). - - * *How can I get more debugging information?* - - export LIBGL_DEBUG=verbose - export MESA_DEBUG=1 - export EGL_LOG_LEVEL=debug - - -## Preparing mesa sources - -To get started, installing all build dependencies of the `mesa` source -package should be sufficient, along with the essential build tools, -and `git`: - - $ sudo apt-get install build-essential git - $ sudo apt-get build-dep mesa - -Grab the upstream mesa sources: - - $ git clone git://anongit.freedesktop.org/mesa/mesa mesa.git - $ cd mesa.git - $ autoreconf -vfi - -Here’s what the `./configure` call will look like: - - $ ./configure --enable-driglx-direct \ - --enable-gallium \ - --enable-gles-overlay \ - --enable-gles1 \ - --enable-gles2 \ - --enable-glx-tls \ - --with-driver=dri \ - --with-dri-driverdir=/usr/lib/dri \ - --with-egl-platforms='drm x11' \ - --with-state-trackers=egl,glx,dri,vega \ - … - -Now, what are the parameters to replace “`…`” with? Basically, if -you determined an Intel driver (`i915` or `i965`), you want to use the -classic drivers and to disable the Gallium drivers. If you saw a -Radeon driver (`r300` or `r600`), you should prefer the Gallium -drivers. *[Note: Nouveau is a bit special since it may fail to build -(both API and ABI are still changing), and since we’re currently not -shipping `nouveau_vieux.so`.]* - -Examples for common drivers: - - * For `i915`, you need: - - --with-dri-drivers=i915 - - * For `i965`, you need: - - --with-dri-drivers=i965 - - * For `nouveau`, you may want to try: - - --with-dri-drivers=nouveau --enable-gallium-nouveau - - * For `r300` (the options are named `radeon`), you need: - - --with-dri-drivers=radeon --enable-gallium-radeon - - * For `r600`, you need: - - --with-dri-drivers=r600 --enable-gallium-r600 - -Now, once you’ve run `./configure`, time for your favorite beverage: - - $ make - - -## Running the newly-built mesa libraries - -Shared libraries end up in the `lib/` directory. It contains the -classic drivers, while Gallium drivers end up under `lib/gallium`. If -you’re not an Intel user, overwrite the classic drivers with the -Gallium ones: - - $ mv lib/gallium/* lib/ - -Now, 3 variables need to be set, so that the locally-built libraries -are used. - - * To begin with, libGL itself and its drivers: - - $ export LIBGL_DRIVERS_PATH=lib - - *Did this work?* - - $ LIBGL_DEBUG=verbose glxinfo 2>&1 >/dev/null | grep so$ - libGL: OpenDriver: trying lib/tls/i915_dri.so - libGL: OpenDriver: trying lib/i915_dri.so - - ↪ Yes: No system directory, paths are relative to `lib/`. - - * Set `LD_LIBRARY_PATH` to make sure the locally-built libraries - (including those pulled through library dependencies) are used, - instead of system ones: - - $ export LD_LIBRARY_PATH=lib - - *Did this work?* - - $ ldd lib/libGLESv2.so | grep glapi - libglapi.so.0 => lib/libglapi.so.0 (0x00007fee3192e000) - - ↪ Yes: Path is relative to `lib`. - - * Set the EGL search path: - - $ export EGL_DRIVERS_PATH=lib/egl - - *Did this work?* - - **FIXME:** Is there any EGL test application? If so, running the - following should do: - - $ EGL_LOG_LEVEL=debug test_application 2>&1 >/dev/null | grep '\.so' - libEGL debug: added lib/egl/egl_gallium.so to module array -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1povbo-0004n1...@alioth.debian.org