source: x/dm/gdm.xml@ fe66201b

12.0 12.1 ken/TL2024 ken/tuningfonts lazarus plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18
Last change on this file since fe66201b was 81e4931, checked in by Douglas R. Reno <renodr@…>, 10 months ago

GDM: Add some information on disabling Wayland support on systems which
use Crocus.

On systems which use the Crocus driver from Mesa, you'll get a black
screen unless this is done.

  • Property mode set to 100644
File size: 11.5 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY gdm-download-http "&gnome-download-http;/gdm/&gnome-44;/gdm-&gdm-version;.tar.xz">
8 <!ENTITY gdm-download-ftp "&gnome-download-ftp;/gdm/&gnome-44;/gdm-&gdm-version;.tar.xz">
9 <!ENTITY gdm-md5sum "8b857cf6510cc038538399aaaeaa0dff">
10 <!ENTITY gdm-size "836 KB">
11 <!ENTITY gdm-buildsize "33 MB">
12 <!ENTITY gdm-time "0.2 SBU">
13]>
14
15<sect1 id="gdm" xreflabel="GDM-&gdm-version;">
16 <?dbhtml filename="gdm.html"?>
17
18
19 <title>GDM-&gdm-version;</title>
20
21 <indexterm zone="gdm">
22 <primary sortas="a-GDM">GDM</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to GDM</title>
27
28 <para>
29 <application>GDM</application> is a system service that is
30 responsible for providing graphical logins and managing local
31 and remote displays.
32 </para>
33
34 &lfs120_checked;
35
36 <bridgehead renderas="sect3">Package Information</bridgehead>
37 <itemizedlist spacing="compact">
38 <listitem>
39 <para>
40 Download (HTTP): <ulink url="&gdm-download-http;"/>
41 </para>
42 </listitem>
43 <listitem>
44 <para>
45 Download (FTP): <ulink url="&gdm-download-ftp;"/>
46 </para>
47 </listitem>
48 <listitem>
49 <para>
50 Download MD5 sum: &gdm-md5sum;
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download size: &gdm-size;
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Estimated disk space required: &gdm-buildsize;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Estimated build time: &gdm-time;
66 </para>
67 </listitem>
68 </itemizedlist>
69 <!--
70 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
71 <itemizedlist spacing="compact">
72 <listitem>
73 <para>
74 Required patch:
75 <ulink url="&patch-root;/gdm-&gdm-version;-security_fix-1.patch"/>
76 </para>
77 </listitem>
78 </itemizedlist>
79 -->
80 <bridgehead renderas="sect3">GDM Dependencies</bridgehead>
81
82 <bridgehead renderas="sect4">Required</bridgehead>
83 <para role="required">
84 <xref linkend="accountsservice"/>,
85 <xref linkend="dconf"/>,
86 <xref linkend="libcanberra"/> (built after
87 <xref role="nodep" linkend="gtk3"/>), and
88 <xref linkend="linux-pam"/>
89 </para>
90
91 <bridgehead renderas="sect4">Optional</bridgehead>
92 <para role="optional">
93 <xref linkend="keyutils"/>
94 </para>
95
96 <bridgehead renderas="sect4">Runtime Dependencies</bridgehead>
97 <para role="required">
98 <xref role="runtime" linkend="gnome-session"/>,
99 <xref role="runtime" linkend="gnome-shell"/>, and
100 <phrase revision="sysv"><xref role="runtime" linkend="elogind"/></phrase>
101 <phrase revision="systemd"><xref role="runtime" linkend="systemd"/></phrase>
102 </para>
103
104 </sect2>
105
106 <sect2 role="installation">
107 <title>Installation of GDM</title>
108
109 <para>
110 It is recommended to have a dedicated user and group to take
111 control of the <command>gdm</command> daemon after it is
112 started. Issue the following commands as the
113 <systemitem class="username">root</systemitem> user:
114 </para>
115
116<screen role="root"><userinput>groupadd -g 21 gdm &amp;&amp;
117useradd -c "GDM Daemon Owner" -d /var/lib/gdm -u 21 \
118 -g gdm -s /bin/false gdm &amp;&amp;
119passwd -ql gdm</userinput></screen>
120
121 <para revision="sysv">
122 First, adapt GDM to build without systemd present:
123 </para>
124
125<screen revision="sysv"><userinput remap="pre">sed -i -r '/(^| )systemd_dep/d' meson.build</userinput></screen>
126
127 <para>
128 Install <application>GDM</application> by running the following
129 commands:
130 </para>
131
132<screen revision="sysv"><userinput>sed -e 's@systemd@elogind@' \
133 -e '/elogind/isession required pam_loginuid.so' \
134 -i data/pam-lfs/gdm-launch-environment.pam &amp;&amp;
135
136mkdir build &amp;&amp;
137cd build &amp;&amp;
138
139meson setup .. \
140 --prefix=/usr \
141 --buildtype=release \
142 -Dgdm-xsession=true \
143 -Drun-dir=/run/gdm \
144 -Dsystemd-journal=false \
145 -Dsystemdsystemunitdir=/tmp \
146 -Dsystemduserunitdir=/tmp &amp;&amp;
147ninja</userinput></screen>
148
149<screen revision="systemd"><userinput>mkdir build &amp;&amp;
150cd build &amp;&amp;
151
152meson setup .. \
153 --prefix=/usr \
154 --buildtype=release \
155 -Dgdm-xsession=true \
156 -Drun-dir=/run/gdm &amp;&amp;
157ninja</userinput></screen>
158
159 <para>
160 This package does not come with a usable test suite.
161 </para>
162
163 <para>
164 Now, as the <systemitem class="username">root</systemitem> user:
165 </para>
166
167<screen role="root" revision="sysv"><userinput>ninja install &amp;&amp;
168rm -rv /tmp/*.{service,target.d}</userinput></screen>
169
170<screen role="root" revision="systemd"><userinput>ninja install</userinput></screen>
171
172 </sect2>
173
174 <sect2 role="commands">
175 <title>Command Explanations</title>
176
177 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
178 href="../../xincludes/meson-buildtype-release.xml"/>
179
180 <para>
181 <option>-Dinitial-vt=7</option>: Use this switch
182 to make <application>GDM</application> start on VT7
183 instead of the first free VT.
184 </para>
185
186 <para>
187 <option>-Ddefault-pam-config=lfs</option>: Use this
188 switch if you did not create the
189 <filename>/etc/lfs-release</filename> file or distribution
190 auto detection will fail and you will be unable to use
191 <application>GDM</application>.
192 </para>
193
194 <para>
195 <parameter>-Dgdm-xsession=true</parameter>: This enables the
196 installation of the <application>GDM</application> Xsession file.
197 </para>
198
199 </sect2>
200
201 <sect2 role="configuration">
202 <title>Configuring GDM</title>
203
204 <sect3 id="gdm-config">
205 <title>Config Files</title>
206
207 <para>
208 <filename>/etc/gdm/custom.conf</filename>
209 </para>
210
211 <indexterm zone="gdm gdm-config">
212 <primary sortas="e-etc-gdm-custom.conf">/etc/gdm/custom.conf</primary>
213 </indexterm>
214
215 </sect3>
216
217 <sect3>
218 <title>Configuration Information</title>
219
220 <para>
221 The GDM daemon is configured using the
222 <filename>/etc/gdm/custom.conf</filename> file. Default values
223 are stored in GSettings in the <filename>gdm.schemas</filename>
224 file. It is recommended that end-users modify the
225 <filename>/etc/gdm/custom.conf</filename> file because the schemas
226 file may be overwritten when the user updates their system to have
227 a newer version of <application>GDM</application>.
228 </para>
229
230 <para>
231 On some systems with NVIDIA GPUs, GDM will hide Wayland sessions by
232 default. This is often done to prevent users from encountering problems
233 with buggy drivers, which can result in system lockups, application
234 crashes, power management problems, and graphics slowdowns. If you have
235 an NVIDIA GPU and still want to try running Wayland sessions anyway,
236 execute the following command as the &root; user:
237 </para>
238
239 <screen role="nodump"><userinput>ln -s /dev/null /etc/udev/rules.d/61-gdm.rules</userinput></screen>
240
241 <para>
242 On some systems which use the <application>Crocus</application> driver
243 from Mesa, Wayland support is broken, which will cause GDM to fail to
244 launch. To work around this problem on affected systems, force GDM to
245 use Xorg by executing the following command as the &root; user:
246 </para>
247
248<screen role="nodump"><userinput>sed -i '/#WaylandEnable/s/#//' /etc/gdm/custom.conf</userinput></screen>
249
250 </sect3>
251
252 <sect3 id="gdm-init">
253 <title><phrase revision="sysv">Boot Script</phrase>
254 <phrase revision="systemd">Systemd Unit</phrase></title>
255
256 <indexterm zone="gdm gdm-init">
257 <primary sortas="f-gdm">gdm</primary>
258 </indexterm>
259
260 <para revision="sysv">
261 To start <command>gdm</command> automatically when the system is
262 switched to runlevel 5, install the
263 <filename>/etc/rc.d/init.d/xdm</filename> script and the
264 <filename>/etc/sysconfig/xdm</filename> configuration file
265 included in the <xref linkend="bootscripts"/> package
266 and adjust <filename>/etc/inittab</filename> by running
267 as the <systemitem class="username">root</systemitem> user:
268 </para>
269
270<screen role="root" revision="sysv"><userinput>make install-gdm</userinput></screen>
271
272 <para revision="sysv">
273 In order to permanently set the default runlevel to 5, starting the
274 <command>gdm</command> greeter screen automatically, you can modify
275 <filename>/etc/inittab</filename>. As the <systemitem
276 class="username">root</systemitem> user:
277 </para>
278
279<screen role="root" revision="sysv"><userinput>sed /initdefault/s/3/5/ -i /etc/inittab</userinput></screen>
280
281 <para revision="systemd">
282 To start the <command>gdm</command> daemon at boot, enable
283 the previously installed systemd unit by running the following command
284 as the <systemitem class="username">root</systemitem> user:
285 </para>
286
287<screen role="root" revision="systemd"><userinput>systemctl enable gdm</userinput></screen>
288
289<!-- [pierre October 2020] I don't understand why this is here: power
290 management works perfectly well
291 <para revision="sysv">
292 You should also disable default elogind power management:
293 </para>
294
295<screen role="root" revision="sysv"><userinput>cat &gt;&gt; /etc/elogind/logind.conf &lt;&lt; "EOF"
296<literal>AllowSuspend=no
297AllowHibernation=no</literal>
298EOF</userinput></screen>
299-->
300
301 </sect3>
302
303 </sect2>
304
305 <sect2 role="content">
306 <title>Contents</title>
307
308 <segmentedlist>
309 <segtitle>Installed Programs</segtitle>
310 <segtitle>Installed Libraries</segtitle>
311 <segtitle>Installed Directories</segtitle>
312
313 <seglistitem>
314 <seg>
315 gdm, gdmflexiserver, and gdm-screenshot
316 </seg>
317 <seg>
318 libgdm.so and pam_gdm.so (PAM Module)
319 </seg>
320 <seg>
321 /etc/gdm,
322 /usr/include/gdm,
323 /usr/share/gdm, and
324 /usr/share/help/*/gdm
325<!-- seems those diretories are not created at install, but at
326 runtime
327 /var/cache/gdm,
328 /var/lib/gdm,
329 /var/log/gdm, and
330 /var/run/gdm-->
331 </seg>
332 </seglistitem>
333 </segmentedlist>
334
335 <variablelist>
336 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
337 <?dbfo list-presentation="list"?>
338 <?dbhtml list-presentation="table"?>
339
340 <varlistentry id="gdm-prog">
341 <term><command>gdm</command></term>
342 <listitem>
343 <para>
344 is a login prompt for <application>GNOME</application>
345 </para>
346 <indexterm zone="gdm gdm-prog">
347 <primary sortas="b-gdm">gdm</primary>
348 </indexterm>
349 </listitem>
350 </varlistentry>
351
352 <varlistentry id="gdm-screenshot">
353 <term><command>gdm-screenshot</command></term>
354 <listitem>
355 <para>
356 is a screenshot tool for <application>GDM</application>
357 </para>
358 <indexterm zone="gdm gdm-screenshot">
359 <primary sortas="b-gdm-screenshot">gdm-screenshot</primary>
360 </indexterm>
361 </listitem>
362 </varlistentry>
363
364 </variablelist>
365
366 </sect2>
367
368</sect1>
Note: See TracBrowser for help on using the repository browser.