|
I was browsing gentoo-wiki.com earlier today and
found a HOWTO on installing the modular X11R7 (Xorg) (http://gentoo-wiki.com/HOWTO_Modular_Xorg)... so naturally, I followed it and
tore my hair out for 5+ hours thereafter.
The instructions at the
gentoo-wiki are pretty copy-paste-straight forward. I do suggest
running `eselect opengl set
xorg-x11' before the uninstall of the old X.org, `emerge -Ca xorg-x11',
otherwise you may receive and error that xorg-x11 cannot be found.
I did not enable "dri"
USE flag as I specifically recall the NVIDIA docs stating that `Load "dri"' should be removed
from the xorg.conf. Whether this works or not in this setup I did not
and do not feel like testing.
In my /etc/make.conf, I have set
the following new options:
INPUT_DEVICES="keyboard mouse evdev"
VIDEO_CARDS="vesa fbdev nvidia"
After the emerge
of xorg-x11 was complete, I happily ran `startx' and watched it fail
miserably with the error, `Unknown protocol, "evdev"'. It seems that evdev is no longer a
Protocol, it's the actual driver. Therefore, I changed my xorg.conf
entry to match:
Old entry:
Section "InputDevice"
Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "evdev"
Option "Dev Name" "Logitech USB-PS/2 Optical Mouse"
Option "Dev Phys" "usb-0000:00:02.1-1/input0"
Option "Device" "/dev/input/mice"
Option "Buttons" "10"
Option "ZAxisMapping" "9 10"
Option "Resolution" "800"
EndSection
New Entry:
Section "InputDevice"
Identifier "Mouse1"
Driver "evdev"
Option "Device" "/dev/input/event0"
Option "Buttons" "10"
Option "Resolution" "800"
EndSection
Here's my ~/.Xmodmap and .xinitc:
~ $ cat .Xmodmap
pointer = 1 3 2 4 5 8 9 6 7 10 11 12 13 14 15 16 17 18 19 20 21 22 23
24 25 26 27 28 29 30 31 32
~ $ cat .xinitrc
xmodmap ~/.Xmodmap &
exec /usr/kde/3.5/bin/startkde
I should note that EVDEV is
compiled into my kernel (Y) and not as a module (M):
(Edit: A few extra notes regarding this upgrade):
After completing this and using xorg-x11-7.0-r1 for ~ 24 hours, I
resynced (emerge sync)
my portage tree and promptly ran an emerge -uDatv world, only to
be greated by a huge list of blocked packages, such as this:
slax0r ~ # udva
[blocks B ] x11-libs/libXft (is blocking x11-base/xorg-x11-6.8.2-r6)
[blocks B ] <=x11-base/xorg-x11-6.9 (is blocking
x11-drivers/xf86-input-evdev-1.0.0.5)
[blocks B ] <=x11-base/xorg-x11-6.9 (is blocking
media-fonts/font-bh-100dpi-1.0.0)
[blocks B ] <=x11-base/xorg-x11-6.9 (is blocking
media-fonts/font-adobe-75dpi-1.0.0)
[blocks B ] <=x11-base/xorg-x11-6.9 (is blocking
media-fonts/font-bh-type1-1.0.0)
[blocks B ] <=x11-base/xorg-x11-6.9 (is blocking
x11-drivers/xf86-video-vesa-1.0.1.3)
[blocks B ] <=x11-base/xorg-x11-6.9 (is blocking
media-fonts/font-bitstream-100dpi-1.0.0)
[blocks B ] <=x11-base/xorg-x11-6.9 (is blocking
x11-drivers/xf86-input-mouse-1.0.3.1)
[ebuild N ] app-text/rman-3.2 77 kB
[ebuild N ] x11-libs/libXTrap-1.0.0 206 kB
[ebuild N ] x11-misc/gccmakedep-1.0.1-r1 65 kB
[ebuild N ] x11-apps/xmessage-1.0.1 81 kB
[ebuild N ] x11-apps/xsetroot-1.0.1 75 kB
[ebuild U ] x11-libs/qt-4.1.1 [4.1.0-r2] 0 kB
[ebuild UD] x11-base/xorg-x11-6.8.2-r6 [7.0-r1] 0 kB
[ebuild N ] virtual/x11-6.8 0 kB
The Work
Around at gentoo-wiki suggest adding:
x11-base/xorg-x11-6*
To your /etc/portage/profile/package.provided.
However, this returned the error: Invalid package name in
package.provided: x11-base/xorg-x11-6*
I'll
be damned if I can find the post and I'd happily thank the person that
posted it, this eventually corrected the issue for me:
**NOTE** This is incorrect and will break shit. Don't use it.
# mkdir -p /etc/portage/profile
# echo "virtual/x11 x11-base/xorg-x11" >>
/etc/portage/profile/virtuals
Edit
- Tuesday May 2 2006 - I remember reading that the above line breaks
reverse dependancies and up until this time I simply ignored it. Now,
I'd like to actually fix it. Some searching at the Gentoo
Forums and I found a suggestion to add "virtual/x11"
to /etc/portage/packages.keywords.
This, for me, seems to have properly resolved the issue when running emerge -uDav world
So, to correct this, don't do the profile/virtuals thing, do this:
echo "virtual/x11" >>
/etc/portage/package.keywords
Of course, the Gentoo Wiki suggests
simply adding <=virtual/x11-6.8 to /etc/portage/package.mask.
I tried this, and wouldn't you know it, it worked for me also. So, if
you have troubles with this, first try adding the line above to package.mask. If that doesn't work, try
adding virtual/x11 to package.keywords. Here's the copy/paste from
Gentoo Wiki:
---------
'emerge -u world' wants to install xorg-x11 6.x or
virtual/x11
This is because the tree isn't fixed for modular
dependencies yet. You can help the porting effort by reading the Porting
to Modular X HowTo
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.
Workaround
Add the following to /etc/portage/package.mask:
|
File:
/etc/portage/package.mask |
|
|
This will force many of the dependency checks to want
modular Xorg
libraries to be installed instead of immediately wanting to install virtual/x11-6.8
when one of the modular Xorg dependencies is missing. This isn't a 100%
workaround, but most packages have been ported to modular dependencies
at this point, so this should be sufficient.
--------
My hardware includes:
Logitech MX510
Microsoft Natural Keyboard Pro (yes, the big old sexy white one before
the gay F-lock key)
A Toaster.
Next up, I'm going to try settup up the
keyboard with evdev, which is /dev/input/event2 AFAIK.
Resources:
http://www.gentoo.org/proj/en/desktop/x/x11/modular-x-howto.xml
http://forums.gentoo.org/viewtopic-t-377400-postdays-0-postorder-asc-start-875.html
http://gentoo-wiki.com/HOWTO_Modular_Xorg
http://www.linux-gamers.net/modules/wiwimod/index.php?page=HOWTO+Mouse+Buttons
http://forums.gentoo.org/viewtopic-t-435172-postdays-0-postorder-asc-highlight-virtuals-start-25.html
|