public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: John Myers <electronerd@electronerdia.net>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] X.Org 7.0 Release
Date: Fri, 23 Dec 2005 19:46:50 -0800	[thread overview]
Message-ID: <200512231946.55280.electronerd@electronerdia.net> (raw)
In-Reply-To: <43AC9660.8000206@gentoo.org>


[-- Attachment #1.1: Type: text/plain, Size: 400 bytes --]

On Friday 23 December 2005 16:29, Donnie Berkholz wrote:
> I've been meaning to get it into guidexml and make it a real project doc
> for a while now (and the accompanying porting guide), but haven't had
> time. Anybody who wants to help out by doing this is quite welcome to do
> so.
>
Here's one I smashed together just now:
-- 
# 
# electronerd, the electronerdian from electronerdia
#

[-- Attachment #1.2: migrating_to_modular_x_howto.xml --]
[-- Type: text/xml, Size: 7673 bytes --]

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
<!-- $Header$ -->

<guide link="unknown" lang="en">
<title>Migrating to Modular X HOWTO</title>

<author title="Author">
  <mail link="spyderous@gentoo.org">Donnie Berkholz</mail>
</author>
<author title="Author">
    <mail link="?@gentoo.org">Joshua Baergen</mail>
</author>

<abstract>
This guide shows you how to migrate to modular X.Org
</abstract>

<!-- The content of this document is licensed under the CC-BY-SA license -->
<!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
<license/>

<version>?</version>
<date>?</date>

<chapter>
<title>Migrating to Modular X</title>

<section>
<title>Introduction</title>
<body>
    
<p>
To keep old packages from getting in the way, we're going to clean out all the
old xorg-x11 cruft before installing modular X. This isn't absolutely crucial,
but it will help ensure a smooth migration.
</p>
</body>
</section>

<section>
<title>First step: clean out your old X</title>
<body>
    
<p>
Before you start, make sure you have a package of the old, monolithic xorg-x11
built with <c>USE=dlloader</c> if the <c>dlloader</c> flag was available in that
version. It's not available in &gt;=6.8.99.15.
</p>

<pre caption="Backing up the old xorg-x11">
# <i>emerge gentoolkit</i>
# <i>quickpkg xorg-x11</i>
</pre>

<p>
Get rid of the monolithic installation:
</p>

<pre caption="Getting rid of the monolitic installation">
# <i>emerge -Ca xorg-x11</i>
# <i>rm -rf /usr/lib/opengl/xorg-x11</i>
# <i>rm -rf /usr/lib/libGL*</i>
</pre>

<p>
You definitely want a backup copy of the monolithic xorg-x11 so you can mix and
match parts if desired.
</p>

<p>
The later steps are helpful in getting rid of symlinks created by 
<c>opengl-update</c>.
</p>

<p>
If your <path>/usr/X11R6</path> isn't a symlink to <path>/usr</path>, delete it
and start from scratch. But first, save a list of all the packages installing
there.
</p>

<pre caption="???">
# <i>if [[ ! -L /usr/X11R6 ]]; \
	then equery belongs /usr/X11R6 > usr-x11r6-packages \
	&amp;&amp; rm -rf /usr/X11R6; fi</i>
</pre>

</body>
</section>

<section>
<title>Second step: Installing modular X</title>
<body>
    
<p>
First, add the required packages to <path>/etc/portage/package.unmask</path>.
Open <path>/usr/portage/profiles/package.mask</path> in your text editor of
choice, then copy and paste the full modular X mask over to
<path>package.unmask</path>. Do the same with <path>package.keywords</path> if
you're running stable.
</p>

<p>
For direct rendering, you'll want to activate the <c>dri</c> USE flag.
</p>

<p>
Now, install the metabuild.  This will install the server and popular
applications, giving you a working desktop implementation of X:
</p>

<pre caption="installing the modular metabuild">
# <i>emerge xorg-x11</i>
</pre>

<p>
Note that this install tries to be rather minimal, so things like xcursor-themes
are not installed by default.
</p>

<p>
Next, install some drivers. This will vary depending on your input and video
hardware, so take a look in <path>/usr/portage/x11-drivers/</path>. Here's a
sample:
</p>

<pre caption="Installing some drivers">
# <i>emerge xf86-input-mouse xf86-input-keyboard xf86-video-ati</i>
</pre>

<note>
With modular installed, external drivers such as nvidia-glx and wacom as well as
some vnc apps may not work if they install things to
<path>/usr/lib/modules</path> instead of <path>/usr/lib/xorg/modules</path>.
Many of these will have modular X detection added to the installation process
and thus will need to be re-merged after modular X install.
</note>
</body>
</section>
</chapter>

<chapter>
<title>Caveats/Common Problems</title>
<section>
<title>'emerge -u world' wants to install xorg-x11</title>
<body>

<p>
This is because the tree isn't fixed for modular dependencies yet. You can help
the porting effort by reading
<uri>http://dev.gentoo.org/~spyderous/xorg-x11/porting_to_modular_x_howto.txt</uri>
and filing bugs with patches to the individual package maintainers. The 
maintainers will be listed in metadata.xml in the same directory as the package,
and the 'herdstat' package will speed up querying for them.
</p>


</body>
</section>
<section>
<title>Driver problems</title>
<body>

<p>
I've had reports that:
</p>

<ul>
  <li>ati won't start X
    <ul>
      <li>But it works fine on my FireGL 8800</li>
      <li>
        Resolved by moving <path>/usr/lib/xorg/modules/multimedia</path> out of
        the way
      </li>
    </ul>
  </li>
  <li>vesa locks up box with an mga card</li>
  <li>vga produces a very weird-looking screen, divided into quarters</li>
</ul>
</body>
</section>
<section>
<title>Getting glxinfo/glxgears</title>
<body>

<p>
The best way to deal with this is undecided by upstream so far, so there's an
ebuild in my overlay contributed by cardoe. Alternately, you can build them by
hand.
</p>

<p>
Option 1: 
<uri>http://dev.gentoo.org/~spyderous/overlay/x11-misc/glx-utils/</uri>
</p>

<p>
I'm not going to tell you how to use an overlay, so if you don't know and are
too lazy to read the docs, use option 2.
</p>

<p>
Option 2: Build by hand
</p>

<pre caption="Build by hand">
# <i>emerge freeglut</i>
# <i>tar zxvf /usr/portage/distfiles/Mesa-6.3.1.1.tar.gz</i>
# <i>cd Mesa-6.3.1.1/configs</i>
# <i>ln -s linux-dri-x86 current</i>
# <i>cd ../progs/xdemos</i>
# <i>make glxinfo</i>
# <i>make glxgears</i>
# <i>cp glxinfo glxgears /usr/bin/</i>
</pre>

<p>
To get some debugging info from glxinfo to help in getting direct rendering
working:
</p>

<pre caption="Getting some debug info from glxinfo">
# <i>LIBGL_DEBUG=verbose glxinfo</i>
</pre>
</body>
</section>
<section>
<title>Mouse protocol autodetection</title>
<body>

<p>
If you have <c>Protocol "auto"</c> set in xorg.conf for your mouse, it may not
work. You may need to specify <c>Protocol "ExplorerPS/2"</c> or <c>"IMPS/2"</c>
for your wheel to work.
</p>

</body>
</section>
<section>
<title>Where are imake/xmkmf?</title>
<body>

<p>
These are now in the tree. However, <c>gccmakedep</c> is not modularized yet
and thus the <c>imake</c> build system is still broken for some packages.
</p>
</body>
</section>
<section>
<title>Everything in /usr/lib/xorg disappeared!</title>
<body>

<p>
Remerge &gt;=xorg-server-0.99.1-r4. This was a temporary bug in the ebuild that 
resulted in deletion after removal of a package. Instead, 
<path>/usr/lib/xorg</path> should have only been deleted when no xorg-server
remained on the system.
</p>

</body>
</section>
<section>
<title>gdm/kdm don't work</title>
<body>

<p>
If you installed modular X on a fresh Gentoo installation, you may not have a 
<path>/usr/X11R6</path> -&gt; <path>/usr</path> symlink. Try creating one; no
ebuild does yet.
</p>

<p>
You can help get things out of <path>/usr/X11R6</path> by fixing the packages
that do it and filing bugs.
</p>

</body>
</section>
<section>
<title>Other Issues</title>
<body>

<ul>
  <li>
    The <c>trap</c> module will give errors on starting X, because the
    modular <c>xorg-server</c> doesn't build it yet. You may want to copy it
    over from your old X installation.
  </li>
  <li>
    Make sure your <path>xorg.conf</path> doesn't list <c>ModulePath</c>,
    because this directory changed from <path>/usr/lib/modules</path> to
    <path>/usr/lib/xorg/modules</path>.
  </li>
</ul>
</body>
</section>
</chapter>
</guide>

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

  reply	other threads:[~2005-12-24  3:50 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-12-23 22:40 [gentoo-dev] X.Org 7.0 Release Joshua Baergen
2005-12-23 22:50 ` Greg KH
2005-12-23 23:09   ` Dan Meltzer
2005-12-23 23:50   ` Diego 'Flameeyes' Pettenò
2005-12-24  0:29   ` Donnie Berkholz
2005-12-24  3:46     ` John Myers [this message]
2006-01-02  8:26       ` Shyam Mani
2006-01-04  1:24         ` Greg KH
2006-01-04  2:31           ` Donnie Berkholz
2006-01-07 22:53           ` Greg KH
2005-12-24  0:32 ` Donnie Berkholz
2005-12-24  9:31 ` Alexandre Buisse
2005-12-24 10:57   ` Peter Cech
2005-12-24 17:07     ` Joshua Baergen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200512231946.55280.electronerd@electronerdia.net \
    --to=electronerd@electronerdia.net \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox