# Setting up Xorg on Debian GNU/Hurd
#### Table Of Contents
%TOC%
This is a brief helper on how to setup Xorg on Debian GNU/Hurd.
Obviously this text is taken from the page but I was making such drastic changes, I didn't want to hack up that page.
### Mouse & Keyboard
See [[HurdConsole]] for more details.
You should instruct the Hurd console to repeat keyboard events to `/dev/cons/kbd`, and mouse events to `/dev/cons/mouse`:
# console -d vga -d pc_kbd --repeat=kbd -d generic_speaker \
-d pc_mouse --repeat=mouse --protocol=ps/2 -c /dev/vcs
Symbolic links to repeaters should also be created:
# ln -s /dev/cons/kbd /dev/kbd
# ln -s /dev/cons/mouse /dev/mouse
**BDd: Is this already done in the Debian package?**
### Selecting & Configuring Packages
BDd: You currently need to pull a couple of packages from youpi's repo.
You will need several X packages. The `xserver-xorg` brings you most of what you need:
* `xserver-xorg`
* `xfonts-base`
* `xfonts-100dpi`
* `xfonts-75dpi`
* `xfonts-scalable`
* `xbase-clients`
* `xutils`
* `rxvt`
* ... as well as your window manager of choice:
* WindowMaker, `wmaker`
* FVWM, `fvwm`
* Blackbox, `blackbox`
* TWM, `twm`
I know that Window Maker works, however, I cannot attest to the others. xfce4 is broken.
The recommended way of configuring X is using the `xserver-xorg` debconf template, eg:
# dpkg-reconfigure xserver-xorg
This currently seems to be broken in the Debian package so you will probably have to create xorg.conf by hand.
It may be easier to just copy a working configuration from another operating system on the same computer and place it in `/etc/X11/xorg.conf`, but this is discouraged as you would have to remove some sections by hand.
**_IMPORTANT:_** when you configure X, make sure you do **NOT** enable the `speedo` and `dri` modules because they are currently broken.
**BDd: I cannot attest to this currently.**
### Edit xorg.conf
Here is an example of my xorg.conf:
# /etc/X11/xorg.conf (xorg X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the /etc/X11/xorg.conf manual page.
# (Type "man /etc/X11/xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
# sudo dpkg-reconfigure -phigh xserver-xorg
Section "Files"
FontPath "/usr/share/X11/fonts/misc"
FontPath "/usr/share/X11/fonts/cyrillic"
FontPath "/usr/share/X11/fonts/100dpi/:unscaled"
FontPath "/usr/share/X11/fonts/75dpi/:unscaled"
FontPath "/usr/share/X11/fonts/Type1"
FontPath "/usr/share/X11/fonts/CID"
FontPath "/usr/share/X11/fonts/100dpi"
FontPath "/usr/share/X11/fonts/75dpi"
# paths to defoma fonts
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/CID"
EndSection
Section "Module"
Load "GLcore"
Load "i2c"
Load "bitmap"
Load "ddc"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "type1"
Load "vbe"
EndSection
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc104"
Option "XkbLayout" "us"
EndSection
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/mouse"
Option "Protocol" "osmouse"
Option "Emulate3Buttons" "true"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
Identifier "Synaptics Touchpad"
Driver "synaptics"
Option "SendCoreEvents" "true"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "HorizScrollDelta" "0"
EndSection
Section "Device"
Identifier "Videocard0"
Driver "ati"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Dell"
HorizSync 31.5 - 90.0
VertRefresh 59.0 - 85.0
Option "DPMS"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 1
Modes "1024x768"
EndSubSection
SubSection "Display"
Depth 4
Modes "1024x768"
EndSubSection
SubSection "Display"
Depth 8
Modes "1024x768"
EndSubSection
SubSection "Display"
Depth 15
Modes "1024x768"
EndSubSection
SubSection "Display"
Depth 16
Modes "1024x768"
EndSubSection
SubSection "Display"
Depth 24
Modes "1024x768"
EndSubSection
EndSection
Section "DRI"
Mode 0666
EndSection
### Dynamic Linking
The Hurd does not use `ld.so.conf`, it is necessary to add the following to `/etc/profile` to be sure that the libraries are found:
LD_LIBRARY_PATH=/X11R6/lib:$LD_LIBRARY_PATH
"This is a linker issue. GNU/Hurd expects that \`RPATH' is used, however, Debian takes certain measures to avoid this. Note that this does not cut it for suid binaries because of security implications. We expect to rectify this by using \`RUNPATH', which is specified in the new ELF standard." -- [Why does X not work?](http://www.gnu.org/software/hurd/faq.en.html#q4-8)
**_CAVEAT 12/28/2004:_** I did not have to do this so can someone verify that this still needs to be done or was it fixed? Thanks!
### Starting X
Finally, run `startx`
However, there are several caveats to be aware of:
* `xterm` does not work correctly; try `rxvt`.
**_UPDATE 3/2/2006_**: xterm works fine for me from youpi's repo.
* `update-menu` does not yet work. As such, there are no fine Debian menus.
* GNOME can now be ported with the new pthreads, but is still being worked on. Window Maker, TWM, Blackbox and FVWM all work.
**_WARNING:_** If you get an error about opening the display or a permissions issue, you may need to run the following:
# dpkg-reconfigure xserver-common
change from "Console Users Only" to "Anybody"
### Miscellaneous
For you xchat lovers like me, xchat will compile if you disable the python module. (The python module causes an assertion failure in pthreads if one of you guru's wants to fix and package. **hint,hint**)
Good luck and enjoy!
----
-- [[Main/BarryDeFreese]] - 02 Mar 2006