]> pere.pagekite.me Git - homepage.git/blob - blog/archive/2025/01/01.rss
Generated.
[homepage.git] / blog / archive / 2025 / 01 / 01.rss
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/'>
3 <channel>
4 <title>Petter Reinholdtsen - Entries from January 2025</title>
5 <description>Entries from January 2025</description>
6 <link>http://www.hungry.com/~pere/blog/</link>
7
8
9 <item>
10 <title>121 packages in Debian mapped to hardware for automatic recommendation</title>
11 <link>http://www.hungry.com/~pere/blog/121_packages_in_Debian_mapped_to_hardware_for_automatic_recommendation.html</link>
12 <guid isPermaLink="true">http://www.hungry.com/~pere/blog/121_packages_in_Debian_mapped_to_hardware_for_automatic_recommendation.html</guid>
13 <pubDate>Sun, 19 Jan 2025 12:40:00 +0100</pubDate>
14 <description>&lt;p&gt;For some years now, I have been working on a automatic hardware
15 based package recommendation system for Debian and other Linux
16 distributions. The isenkram system I started on back in 2013 now
17 consist of two subsystems, one locating firmware files using the
18 information provided by apt-file, and one matching hardware to
19 packages using information provided by AppStream. The former is very
20 similar to the mechanism implemented in debian-installer to pick the
21 right firmware packages to install. This post is about the latter
22 system. Thanks to steady progress and good help from both other
23 Debian and upstream developers, I am happy to report that
24 &lt;a href=&quot;https://tracker.debian.org/pkg/isenkram&quot;&gt;the Isenkram
25 system&lt;/a&gt; now are able to recommend 121 packages using information
26 provided via
27 &lt;a href=&quot;https://www.freedesktop.org/wiki/Distributions/AppStream/&quot;&gt;AppStream&lt;/a&gt;.&lt;/p&gt;
28
29 &lt;p&gt;The mapping is done using modalias information provided by the
30 kernel, the same information used by udev when creating device files,
31 and the kernel when deciding which kernel modules to load. To get all
32 the modalias identifiers relevant for your machine, you can run the
33 following command on the command line:&lt;/p&gt;
34
35 &lt;pre&gt;
36 find /sys/devices -name modalias -print0 | xargs -0 sort -u
37 &lt;/pre&gt;
38
39 &lt;p&gt;The modalias identifiers can look something like this:&lt;/p&gt;
40
41 &lt;pre&gt;
42 acpi:PNP0000
43 cpu:type:x86,ven0000fam0006mod003F:feature:,0000,0001,0002,0003,0004,0005,0006,0007,0008,0009,000B,000C,000D,000E,000F,0010,0011,0013,0015,0016,0017,0018,0019,001A,001B,001C,001D,001F,002B,0034,003A,003B,003D,0068,006B,006C,006D,006F,0070,0072,0074,0075,0076,0078,0079,007C,0080,0081,0082,0083,0084,0085,0086,0087,0088,0089,008B,008C,008D,008E,008F,0091,0092,0093,0094,0095,0096,0097,0098,0099,009A,009B,009C,009D,009E,00C0,00C5,00E1,00E3,00EB,00ED,00F0,00F1,00F3,00F5,00F6,00F9,00FA,00FB,00FD,00FF,0100,0101,0102,0103,0111,0120,0121,0123,0125,0127,0128,0129,012A,012C,012D,0140,0160,0161,0165,016C,017B,01C0,01C1,01C2,01C4,01C5,01C6,01F9,024A,025A,025B,025C,025F,0282
44 dmi:bvnDellInc.:bvr2.18.1:bd08/14/2023:br2.18:svnDellInc.:pnPowerEdgeR730:pvr:rvnDellInc.:rn0H21J3:rvrA09:cvnDellInc.:ct23:cvr:skuSKU=NotProvided
45 pci:v00008086d00008D3Bsv00001028sd00000600bc07sc80i00
46 platform:serial8250
47 scsi:t-0x05
48 usb:v413CpA001d0000dc09dsc00dp00ic09isc00ip00in00
49 &lt;/pre&gt;
50
51 &lt;p&gt;The entries above are a selection of the complete set available on
52 a Dell PowerEdge R730 machine I have access to, to give an idea about
53 the various styles of hardware identifiers presented in the modalias
54 format. When looking up relevant packages in a Debian Testing
55 installation on the same R730, I get this list of packages
56 proposed:&lt;/p&gt;
57
58 &lt;pre&gt;
59 % sudo isenkram-lookup
60 firmware-bnx2x
61 firmware-nvidia-graphics
62 firmware-qlogic
63 megactl
64 wsl
65 %
66 &lt;/pre&gt;
67
68 &lt;p&gt;The list consist of firmware packages requested by kernel modules,
69 as well packages with program to get the status from the RAID
70 controller and to maintain the LAN console. When the edac-utils
71 package providing tools to check the ECC RAM status will enter testing
72 in a few days, it will also show up as a proposal from isenkram. In
73 addition, once the mfiutil package we uploaded in October get past the
74 NEW processing, it will also propose a tool to configure the RAID
75 controller.&lt;/p&gt;
76
77 &lt;p&gt;Another example is the trusty old Lenovo Thinkpad X230, which have
78 hardware handled by several packages in the archive. This is running
79 on Debian Stable:&lt;/p&gt;
80
81 &lt;pre&gt;
82 % isenkram-lookup
83 beignet-opencl-icd
84 bluez
85 cheese
86 ethtool
87 firmware-iwlwifi
88 firmware-misc-nonfree
89 fprintd
90 fprintd-demo
91 gkrellm-thinkbat
92 hdapsd
93 libpam-fprintd
94 pidgin-blinklight
95 thinkfan
96 tlp
97 tp-smapi-dkms
98 tpb
99 %
100 &lt;/pre&gt;
101
102 &lt;p&gt;Here there proposal consist of software to handle the camera,
103 bluetooth, network card, wifi card, GPU, fan, fingerprint reader and
104 acceleration sensor on the machine.&lt;/p&gt;
105
106 &lt;p&gt;Here is the complete set of packages currently providing hardware
107 mapping via AppStream in Debian Unstable: air-quality-sensor,
108 alsa-firmware-loaders, antpm, array-info, avarice, avrdude,
109 bmusb-v4l2proxy, brltty, calibre, colorhug-client, concordance-common,
110 consolekit, dahdi-firmware-nonfree, dahdi-linux, edac-utils,
111 eegdev-plugins-free, ekeyd, elogind, firmware-amd-graphics,
112 firmware-ath9k-htc, firmware-atheros, firmware-b43-installer,
113 firmware-b43legacy-installer, firmware-bnx2, firmware-bnx2x,
114 firmware-brcm80211, firmware-carl9170, firmware-cavium,
115 firmware-intel-graphics, firmware-intel-misc, firmware-ipw2x00,
116 firmware-ivtv, firmware-iwlwifi, firmware-libertas,
117 firmware-linux-free, firmware-mediatek, firmware-misc-nonfree,
118 firmware-myricom, firmware-netronome, firmware-netxen,
119 firmware-nvidia-graphics, firmware-qcom-soc, firmware-qlogic,
120 firmware-realtek, firmware-ti-connectivity, fpga-icestorm, g810-led,
121 galileo, garmin-forerunner-tools, gkrellm-thinkbat, goldencheetah,
122 gpsman, gpstrans, gqrx-sdr, i8kutils, imsprog, ledger-wallets-udev,
123 libairspy0, libam7xxx0.1, libbladerf2, libgphoto2-6t64,
124 libhamlib-utils, libm2k0.9.0, libmirisdr4, libnxt, libopenxr1-monado,
125 libosmosdr0, librem5-flash-image, librtlsdr0, libticables2-8,
126 libx52pro0, libykpers-1-1, libyubikey-udev, limesuite,
127 linuxcnc-uspace, lomoco, madwimax, media-player-info, megactl, mixxx,
128 mkgmap, msi-keyboard, mu-editor, mustang-plug, nbc, nitrokey-app, nqc,
129 ola, openfpgaloader, openocd, openrazer-driver-dkms, pcmciautils,
130 pcscd, pidgin-blinklight, ponyprog, printer-driver-splix,
131 python-yubico-tools, python3-btchip, qlcplus, rosegarden, scdaemon,
132 sispmctl, solaar, spectools, sunxi-tools, t2n, thinkfan, tlp,
133 tp-smapi-dkms, trezor, tucnak, ubertooth, usbrelay, uuu, viking,
134 w1retap, wsl, xawtv, xinput-calibrator, xserver-xorg-input-wacom and
135 xtrx-dkms.&lt;/p&gt;
136
137 &lt;p&gt;In addition to these, there are several
138 &lt;a href=&quot;https://udd.debian.org/cgi-bin/bts-usertags.cgi?user=pere%40hungry.com&amp;tag=appstream-modalias&quot;&gt;with
139 patches pending in the Debian bug tracking system&lt;/a&gt;, and even more
140 where no-one wrote patches yet. Good candiates for the latter are
141 packages
142 &lt;a href=&quot;https://udd.debian.org/lintian-tag.cgi?tag=appstream-metadata-missing-modalias-provide&quot;&gt;with
143 udev rules but no AppStream hardware information&lt;/a&gt;.&lt;/p&gt;
144
145 &lt;p&gt;The isenkram system consist of two packages, isenkram-cli with the
146 command line tools, and isenkram with a GUI background process. The
147 latter will listen for dbus events from udev emitted when new hardware
148 become available (like when inserting a USB dongle or discovering a
149 new bluetooth device), look up the modalias entry for this piece of
150 hardware in AppStream (and a hard coded list of mappings from isenkram
151 - currently working hard to move this list to AppStream), and pop up a
152 dialog proposing to install any not already installed packages
153 supporting this hardware. It work very well today when inserting the
154 LEGO Mindstorms RCX, NXT and EV3 controllers. :) If you want to make
155 sure more hardware related packages get recommended, please help out
156 fixing the remaining packages in Debian to provide AppStream metadata
157 with hardware mappings.&lt;/p&gt;
158
159 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
160 activities, please send Bitcoin donations to my address
161 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
162 </description>
163 </item>
164
165 <item>
166 <title>What is the most supported MIME type in Debian in 2025?</title>
167 <link>http://www.hungry.com/~pere/blog/What_is_the_most_supported_MIME_type_in_Debian_in_2025_.html</link>
168 <guid isPermaLink="true">http://www.hungry.com/~pere/blog/What_is_the_most_supported_MIME_type_in_Debian_in_2025_.html</guid>
169 <pubDate>Sat, 18 Jan 2025 10:30:00 +0100</pubDate>
170 <description>&lt;p&gt;&lt;a href=&quot;http://www.hungry.com/~pere/blog/What_is_the_most_supported_MIME_type_in_Debian_in_2018_.html&quot;&gt;Seven&lt;/a&gt;
171 and
172 &lt;a href=&quot;http://www.hungry.com/~pere/blog/What_is_the_most_supported_MIME_type_in_Debian_.html&quot;&gt;twelve&lt;/a&gt;
173 years ago, I measured what the most supported MIME type in Debian
174 was&lt;/a&gt;, first by analysing the desktop files in all packages in the
175 archive, then by analysing the DEP-11 AppStream data set. I guess it
176 is time to repeat the measurement, only for unstable as last time:&lt;/p&gt;
177
178 &lt;p&gt;&lt;strong&gt;Debian Unstable:&lt;/strong&gt;&lt;/p&gt;
179
180 &lt;pre&gt;
181 count MIME type
182 ----- -----------------------
183 63 image/png
184 63 image/jpeg
185 57 image/tiff
186 54 image/gif
187 51 image/bmp
188 50 audio/mpeg
189 48 text/plain
190 42 audio/x-mp3
191 40 application/ogg
192 39 audio/x-wav
193 39 audio/x-flac
194 36 audio/x-vorbis+ogg
195 35 audio/x-mpeg
196 34 audio/x-mpegurl
197 34 audio/ogg
198 33 application/x-ogg
199 32 audio/mp4
200 31 audio/x-scpls
201 31 application/pdf
202 29 audio/x-ms-wma
203 &lt;/pre&gt;
204
205 &lt;p&gt;The list was created like this using a sid chroot:&lt;/p&gt;
206
207 &lt;pre&gt;
208 cat /var/lib/apt/lists/*sid*_dep11_Components-amd64.yml.gz | \
209 zcat | awk &#39;/^ - \S+\/\S+$/ {print $2 }&#39; | sort | \
210 uniq -c | sort -nr | head -20
211 &lt;/pre&gt;
212
213 &lt;p&gt;It is nice to see that the same number of packages now support PNG
214 and JPEG. Last time JPEG had more support than PNG. Most of the MIME
215 types are known to me, but the &#39;audio/x-scpls&#39; one I have no idea what
216 represent, except it being an audio format. To find the packages
217 claiming support for this format, the appstreamcli command from the
218 appstream package can be used:
219
220 &lt;pre&gt;
221 % appstreamcli what-provides mediatype audio/x-scpls | grep Package: | sort -u
222 Package: alsaplayer-common
223 Package: amarok
224 Package: audacious
225 Package: brasero
226 Package: celluloid
227 Package: clapper
228 Package: clementine
229 Package: cynthiune.app
230 Package: elisa
231 Package: gtranscribe
232 Package: kaffeine
233 Package: kmplayer
234 Package: kylin-burner
235 Package: lollypop
236 Package: mediaconch-gui
237 Package: mediainfo-gui
238 Package: mplayer-gui
239 Package: mpv
240 Package: mystiq
241 Package: parlatype
242 Package: parole
243 Package: pragha
244 Package: qmmp
245 Package: rhythmbox
246 Package: sayonara
247 Package: shotcut
248 Package: smplayer
249 Package: soundconverter
250 Package: strawberry
251 Package: syncplay
252 Package: vlc
253 %
254 &lt;/pre&gt;
255
256 &lt;p&gt;Look like several video and auto tools understand the format.
257 Similarly one can check out the number of packages supporting the STL
258 format commonly used for 3D printing:&lt;/p&gt;
259
260 &lt;pre&gt;
261 % appstreamcli what-provides mediatype model/stl | grep Package: | sort -u
262 Package: cura
263 Package: freecad
264 Package: open3d-viewer
265 %
266 &lt;/pre&gt;
267
268 &lt;p&gt;How strange the
269 &lt;a href=&quot;https://tracker.debian.org/pkg/slic3r&quot;&gt;slic3r&lt;/a&gt; and
270 &lt;a href=&quot;https://tracker.debian.org/pkg/slic3r-prusa&quot;&gt;prusa-slicer&lt;/a&gt;
271 packages do not support STL. Perhaps just missing package metadata?
272 Luckily the amount of package metadata in Debian is getting better,
273 and hopefully this way of locating relevant packages for any file
274 format will be the preferred one soon.
275
276 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
277 activities, please send Bitcoin donations to my address
278 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
279 </description>
280 </item>
281
282 <item>
283 <title>The 2025 LinuxCNC Norwegian developer gathering</title>
284 <link>http://www.hungry.com/~pere/blog/The_2025_LinuxCNC_Norwegian_developer_gathering.html</link>
285 <guid isPermaLink="true">http://www.hungry.com/~pere/blog/The_2025_LinuxCNC_Norwegian_developer_gathering.html</guid>
286 <pubDate>Sat, 11 Jan 2025 14:30:00 +0100</pubDate>
287 <description>&lt;p&gt;&lt;a href=&quot;https://linuxcnc.org/&quot;&gt;The LinuxCNC project&lt;/a&gt; is
288 trotting along. And I believe this great software system for
289 numerical control of machines such as milling machines, lathes, plasma
290 cutters, routers, cutting machines, robots and hexapods, would do even
291 better with more in-person developer gatherings, so we plan to
292 organise such gathering this summer too.&lt;/p&gt;
293
294 &lt;p&gt;This year we would like to invite to a small LinuxCNC and free
295 software fabrication workshop/gathering in Norway this summer for the
296 weekend starting July 4th 2025. New this year is the slightly larger
297 scope, and we invite people also outside the LinuxCNC community to
298 join. As earlier, we suggest to organize it as an
299 &lt;a href=&quot;https://en.wikipedia.org/wiki/Unconference&quot;&gt;unconference&lt;/a&gt;,
300 where the participants create the program upon arrival.&lt;/p&gt;
301
302 &lt;p&gt;The location is a metal workshop 15 minutes drive away from to the
303 Gardermoen airport (OSL), where there is a lot of space and a hotel only
304 5 minutes away by car. We plan to fire up the barbeque in the evenings.&lt;/p&gt;
305
306 &lt;p&gt;Please let us know if you would like to join. We track the list of
307 participants on &lt;a href=&quot;https://pad.efn.no/p/linuxcnc-2025-norway&quot;&gt;a
308 simple pad&lt;/a&gt;, please add yourself there if you are interested in joining.&lt;/p&gt;
309
310 &lt;p&gt;&lt;a href=&quot;https://www.nuugfoundation.no/&quot;&gt;The NUUG Foundation&lt;/a&gt; has on
311 our request offered to handle any money involved with this gathering,
312 in other words holding any sponsor funds and paying any bills.
313 NUUG Foundation is a spinnoff from the NUUG member organisation here
314 in Norway with long ties to the free software and open standards
315 communities.&lt;/p&gt;
316
317 &lt;p&gt;As usual we hope to find sponsors to pay for food, lodging and travel.&lt;/p&gt;
318
319 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
320 activities, please send Bitcoin donations to my address
321 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
322 </description>
323 </item>
324
325 </channel>
326 </rss>