summaryrefslogtreecommitdiff
path: root/Hurd/DebianXorg.mdwn
blob: 1208b95c3e1008b642b5913ef806c316a848338e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
# <a name="Setting_up_Xorg_on_Debian_GNU_Hu"> </a> Setting up Xorg on Debian GNU/Hurd

#### <a name="Table_Of_Contents"> Table Of Contents </a>

%TOC%

This is a brief helper on how to setup Xorg on Debian GNU/Hurd.

Obviously this text is taken from the page <http://hurd.gnufans.org/bin/view/Hurd/DebianX> but I was making such drastic changes, I didn't want to hack up that page.

### <a name="Mouse_amp_Keyboard"> Mouse &amp; Keyboard </a>

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?**

### <a name="Selecting_amp_Configuring_Packag"> Selecting &amp; Configuring Packages </a>

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.**

### <a name="Edit_xorg_conf"> Edit xorg.conf </a>

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

### <a name="Dynamic_Linking"> Dynamic Linking </a>

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!

### <a name="Starting_X"> Starting X </a>

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"

### <a name="Miscellaneous"> Miscellaneous </a>

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