summaryrefslogtreecommitdiff
path: root/Hurd/Xfree86.mdwn
blob: 55e9fc4860de1626c1ec45093ce3762bdbeda15d (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
# <a name="Setup_XFree86_in_GNU"> </a> Setup XFree86 in GNU

#### <a name="Table_Of_Content"> Table Of Content </a>

%TOC%

This is a brief helper on how to setup X-Window on GNU.

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

See [[HurdConsole]] for more details.

First, set up the keyboard translator. Using `/hurd/kbd` and `/hurd/mouse` is not supported. You should instruct 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 --console-node=/dev/cons /dev/vcs

Symbolic links to repeaters should be created too:

    # ln -s /dev/cons/kbd /dev
    # ln -s /dev/cons/mouse /dev

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

You will need several X packages. The `x-window-system-core` brings you most of what you need:

* `xserver-xfree86`
* `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`

The recommended way of configuring X is using the `xserver-xfree86` debconf template, eg:

    # dpkg-reconfigure xserver-xfree86

It may be easier to just copy a working configuration from another operation system on the same computer and place it in `/etc/X11/XF86Config-4`, 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.

### <a name="Edit_XF86Config_4"> Edit XF86Config-4 </a>

Now you have to edit the file manually to ensure that the mouse sections look like this:

    Section "InputDevice"
            Identifier      "Configured Mouse"
            Driver          "mouse"
            Option          "CorePointer"
            Option          "Device"                "/dev/mouse"
            Option          "Protocol"              "osmouse"
    EndSection

    Section "InputDevice"
            Identifier      "Generic Mouse"
            Driver          "mouse"
            Option          "SendCoreEvents"        "true"
            Option          "Device"                "/dev/mouse"
            Option          "Protocol"              "osmouse"
    EndSection

You may also enable the Emulate3Buttons option, but nothing else will work.

            Option          "Emulate3Buttons"       "true"

### <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)

### <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-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. [[WindowMaker]], [[TWM]], [[Blackbox]] and [[FVWM]] all work.

### <a name="Graphical_Environment"> Graphical Environment </a>

See [[GNOME]] in Hurd . (?)

----

Created. -- [[Main/RobertMillan]] - 21 Nov 2002

Some text formatting. -- [[Main/OgnyanKulev]] - 05 Dec 2002

Dito. -- [[Main/JoachimNilsson]] - 12 Jan 2003

`/hurd/kbd` is no longer supported. -- [[Main/OgnyanKulev]] - 11 Aug 2004

`/hurd/mouse` is deprecated. -- [[Main/OgnyanKulev]] - 21 Sep 2004

-c /dev/cons is now --console-note=/dev/cons -- Sven 01 May 2005