Gentoo Archives: gentoo-user

From: "Canek Peláez Valdés" <caneko@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] X11 without udev/eudev
Date: Mon, 23 Aug 2021 19:51:40
Message-Id: CADPrc82DX2oWYj-SHLPo8vR7AhiaoLheQ6k-NyFP=R7rd24smw@mail.gmail.com
In Reply to: Re: [gentoo-user] X11 without udev/eudev by karl@aspodata.se
1 On Mon, Aug 23, 2021 at 11:07 AM <karl@××××××××.se> wrote:
2 [...]
3
4 > It is inconvenient that thoose two goes away. Regarding udev, it has never
5 > supported serial mice, so it doesn't help me.
6 >
7
8 What are you talking about? Udev doesn't "support" any hardware; as the
9 manual page states[1], it: "supplies the system software with device
10 events, manages permissions of device nodes and may create additional
11 symlinks in the /dev/ directory, or renames network interfaces".
12
13 If the kernel supports the hardware, udev will supply the corresponding
14 event, so udev will generate the corresponding event for serial mice also
15 (probably close to boot time).
16
17 [...]
18
19 > Poeple write whatever software they want to or are paid to do. It is my
20 > call if I want to use that software or not.
21 >
22
23 Well, yeah; but if you want to use software X, and X depends on Y, then you
24 either use software Y or don't use software X. The dependency chain can and
25 will grow depending on several factors, and it's the situation here if I'm
26 not mistaken: you want to keep using keyboard and mice, those depend on
27 libinput, and libinput depends on udev.
28
29 There are alternatives, of course; some members have posted several working
30 ones; but the fact is that either you accept the dependencies dictated by
31 the software you want to use, or you need an alternative that *someone* has
32 to write/debug/maintain, etc. You said: "[u]dev should be an optional
33 daemon, utilized when the local administrator decides to do so," and that
34 is simply not true: if a software you use decides to depend on udev, then
35 you either use udev, or need to change to a different software.
36
37
38 > As I wrote before, udev does not handle serial mice, so udev does not
39 > solve anything for me nor does it help me in any way to run my systems.
40 >
41
42 You are saying it wrong, you mean to say: "to handle serial mice, I don't
43 need udev". And that is 100% completely true; you can keep a static /dev,
44 don't use udev and create the device nodes by hand. But serial mice
45 work great under udev also.
46
47 The thing is, the *GREAT* majority of users need support for dynamic
48 hardware, so the developers of most of the software in Linux solve the
49 general problem: dynamic hardware (which includes static hardware also). So
50 they do that, and you complain about daemons that are needed for other
51 people other than you.
52
53 But you didn't write the software that depends on udev; someone else
54 (worrying about the general problem) did. So either you write your own
55 version, or find someone else who does (again, check the alternatives).
56
57
58 > Udev is just something pushed on me for no gain except possible to satisfy
59 > some dependancy touted to be beneficial.
60
61
62 For no gain *TO YOU*. You want software that someone else wrote to cater to
63 *ONLY* your needs. That's not how it works; *MOST* developers will cater to
64 the needs of the *MAJORITY* of users, and that includes the dynamic
65 hardware scenario (which has been the case for all of the XXI century, by
66 the way).
67
68
69 > So in this very specific case it can be considered "bloat" if you wish to
70 > use that kind of words.
71 >
72 > My guess is that it is more useful on laptop than on a desktop box or an
73 > industrial computer.
74 >
75
76 Of course not; desktop and servers ("industrial computers") need dynamic
77 hardware (hot swappable storage, anyone?, disconnect the webcam after the
78 Zoom meeting?) Just because you in particular don't find it useful doesn't
79 mean it isn't: the truth is, dynamic hardware users surpass static hardware
80 users, and it has been the case for several decades now.
81
82
83 > As a side note, from what I understand, udev today is mostly
84 > about usb-devices because that is where the dynamic hardware comes
85 > from today (at least when we are not talking about hotplugging cpus, memory
86 > cards, io-cards and such (but that is more of a enterprise problem than a
87 > small system problem.
88 >
89
90 It's not only USB; it's Bluetooth, Thunderbolt, eSATA and eSATAp, etc. The
91 computing world is dominated by dynamic hardware; it has been so for at
92 least the last two decades.
93
94
95 > Serial ports are darn easy to implement in hardware and softwere.
96 >
97
98 Yes: but the software that *uses* mice doesn't care *ONLY* about serial
99 port mice. They care about USB mice (which is the majority) and Bluetooth
100 mice (which has the second place). Right now, serial mice have to be a
101 distant third place, if at all.
102
103 So the developers of software that deals with mice don't need to worry
104 *ONLY* about your case; they need to worry about the general case. Which
105 includes USB and Bluetooth (and whatever they invent in the future).
106
107 E.g. if I have a program connecting to a device using a serial
108 > and it is disconnected, I can just reconnect it and nothing
109 > special happens, noting to be done in software except logging.
110 > The same device via usb, the dis-/reconnect will close the
111 > port and make it vanish forcing med to find out find out where the
112 > new /dev file is and reopen and reinitialize it.
113 >
114
115 That is what udev+libinput solves, *exactly*. You answered yourself why it
116 is needed *IN GENERAL* (not in your particular case).
117
118 What you say about complexity etc., is true; but most developers care about
119 servicing the *majority* of users (in this case, USB and Bluetooth users
120 included), so if you want to use their software, that means accepting udev.
121 If you don't like it, you need to stop using their software and either
122 write your own or find someone else who does it (again, check the
123 alternatives).
124
125 In any case, complaining is useless: most sane developers always want to
126 cover the majority of users. That's why udev is mandatory in most major and
127 medium distros; in Gentoo it is used by default (BTW, they are preparing
128 the deprecation of eudev in Gentoo[2]).
129
130 Regards.
131
132 [1] https://man7.org/linux/man-pages/man7/udev.7.html
133 [2]
134 https://archives.gentoo.org/gentoo-dev/message/dff4bf35636efef95f6d7926823b4e8d
135 --
136 Dr. Canek Peláez Valdés
137 Profesor de Carrera Asociado C
138 Departamento de Matemáticas
139 Facultad de Ciencias
140 Universidad Nacional Autónoma de México

Replies

Subject Author
Re: [gentoo-user] X11 without udev/eudev karl@××××××××.se