LWN: Comments on "Fedora: RFC: X.Org X11 modularization project - rpm package driver naming" https://lwn.net/Articles/149564/ This is a special feed containing comments posted to the individual LWN article titled "Fedora: RFC: X.Org X11 modularization project - rpm package driver naming". en-us Fri, 19 Sep 2025 05:29:53 +0000 Fri, 19 Sep 2025 05:29:53 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net Note that X.Org has its own modularization project https://lwn.net/Articles/150156/ https://lwn.net/Articles/150156/ tzafrir xmessage is used in many scripts.<br> <p> As for video cards: distros will probably install all of them by default, because it's much more convinient: you don't want to start installing an RPM the moment somebody plugs in a card.<br> Thu, 01 Sep 2005 21:30:18 +0000 Useless apps https://lwn.net/Articles/150130/ https://lwn.net/Articles/150130/ brouhaha If the grumpy editor likes RPN, I'll be interested in his take on <a href="http://nonpareil.brouhaha.com/">Nonpareil</a>. :-) Thu, 01 Sep 2005 19:45:23 +0000 Fedora: RFC: X.Org X11 modularization project - rpm package driver naming https://lwn.net/Articles/150088/ https://lwn.net/Articles/150088/ evgeny You missed the dependencies issue. E.g., out of the entire xbase-clients package I need only xauth for the ssh X forwarding. But some other executables from this package are linked against Mesa, so I have to install it too (another 11 MB). Instead of mere 32kb of a single exec, I end up with 16MB and a few dozens of absolutely unused files - which need to be periodically updated, backed up, checked for intrusion violations, etc. So modularization is a good thing. Of course, a dummy meta package can be defined (under the old name) that depends on all the individual components to make life easy for inexperienced users.<br> Thu, 01 Sep 2005 14:44:37 +0000 [offtopic] Another calculator: orpie https://lwn.net/Articles/150086/ https://lwn.net/Articles/150086/ bkw1a Gotta put in a plug for orpie:<br> <p> <a href="http://www.eecs.umich.edu/~pelzlpj/orpie/">http://www.eecs.umich.edu/~pelzlpj/orpie/</a><br> <p> RPN. Text. Mmmmmmmm!<br> <p> <p> Thu, 01 Sep 2005 14:37:20 +0000 Fedora: RFC: X.Org X11 modularization project - rpm package driver naming https://lwn.net/Articles/150038/ https://lwn.net/Articles/150038/ farnz It's not a security extension; it's a set of devices which expose raw PCI access to userspace. You can then chmod/chown/chgrp each PCI device suitably (so that the "graphics" group can play with the video card), then run X SGID as graphics. Thu, 01 Sep 2005 10:37:27 +0000 Fedora: RFC: X.Org X11 modularization project - rpm package driver naming https://lwn.net/Articles/150030/ https://lwn.net/Articles/150030/ job I would like a kernel video driver, if the interface is good enough it has the opportunity to really clean up the mess that is svgalib, directfb, x11 so VC switching works properly between them. Hopefully in a better state than today so it is trivial for an app to use several VCs, several monitors etc.<br> <p> And a most people with modern PCs probably already have a video driver in the kernel, either the nvidia/ati proprietary ones or DRI. That API could be extended with some protection/separation and 2D acceleration and used by all the graphics subsystems for Linux.<br> <p> My main point is that I would like the privileged part of X11 to become smaller by orders of magnitude. There is a lot of code there running with full privileges that doesn't really need them. And root access is for all practical purposes just as bad as kernel level access.<br> Thu, 01 Sep 2005 09:56:28 +0000 xcalc https://lwn.net/Articles/149964/ https://lwn.net/Articles/149964/ darktjm Funny, I never realized xcalc supported RPN (never bothered reading the manual for something I thought was a too-simple calculator). Then again, it says "HP10C", which implies 4-item stack limit, which is too little for me (I started RPN w/ forth and moved to HP28 &amp; its successors, which have "infinite" stacks). There are a large number of other X calculators that support RPN, though (alas, many are very heavy, but that's modern software for you). The ones I know of from back when I wanted something for my PDA: <a href="http://galculator.sourceforge.net/">galculator</a>, which looks a lot like a better, slightly programmable, xcalc (complete with 4 item stack limit), <a href="http://www.pgcalc.net">pgcalc</a>, which can look a lot like a real HP calculator, but isn't even remotely, and doesn't seem to support X paste, <a href="http://lashwhip.com/grpn.html">grpn</a>, which is RPN-only, and of course various HP calculator <a href="http://www.hpcalc.org/hp48/pc/emulators/">emulators and lookalikes</a>. I just use a real HP calculator on my desk when I don't need cut &amp; paste and bc or sh $(()) (algebraic, but dirt simple) when I do need cut &amp; paste. Plus, as noted above, there are even heavier apps for calculation, like scientific number crunchers and CASs. Thu, 01 Sep 2005 00:35:32 +0000 Fedora: RFC: X.Org X11 modularization project - rpm package driver naming https://lwn.net/Articles/149820/ https://lwn.net/Articles/149820/ proski As far as I know, all new security extensions can only restrict access but not to add new permissions. You cannot start with a non-suid binary and give it an "endorsement" it to access PCI bus. You still have to start with a suid binary and restrict its permissions, which is what you can do now without any code changes. <p> I hope you would agree that permitting raw PCI access for non-privileged applications would mean a much bigger security problem than running X server suid root. Wed, 31 Aug 2005 00:54:47 +0000 Useless apps https://lwn.net/Articles/149742/ https://lwn.net/Articles/149742/ stef70 To be honest, I occasionally use some of those old X11 applications (xset, xdpyinfo, xhost, xrefresh, xkill, xgamma). Hardly xcalc! I would rather use 'bc' or one of the matlab clones such as octave. <br> <p> Nevertheless, most of the new X11 users are now running a desktop like KDE or Gnome and can probably live without ever starting any of those applications.<br> <p> <p> <br> <p> Tue, 30 Aug 2005 17:25:49 +0000 Useless apps https://lwn.net/Articles/149739/ https://lwn.net/Articles/149739/ corbet Hey! I still use xcalc! Those newfangled calculators look fancy, but xcalc supports RPN mode. Must be time for a grumpy editor's guide to on-screen calculators... Tue, 30 Aug 2005 17:03:10 +0000 Note that X.Org has its own modularization project https://lwn.net/Articles/149718/ https://lwn.net/Articles/149718/ stef70 Actually, there are only about 270 packages since each one is provided twice (.gz and .bz2).<br> <p> That seems a lot but in fact the modularization will make most of the packages optionnal: <br> - 37 fonts including some for 'exotic' languages (arabic, cyrilic, ...) and old terminals (ibm, sun, dec). <br> - 28 drivers for input devices you probably never heard of (jamstudio, hyperpen , penmount, tek4957, ... ) <br> - 41 video drivers (anyone using more than one or two?) <br> - 42 libraries (you probably want those) plus 30 packages for their prototypes (for developpers)<br> - The X server itself. <br> - The remaing 100 packages are old legacy X11 applications. Most of them are quite useless nowadays (viewres, appres, xmessage, xwd, xwud, xcalc, xclipboard, ...).<br> <p> <p> Tue, 30 Aug 2005 16:54:48 +0000 Linux too please https://lwn.net/Articles/149715/ https://lwn.net/Articles/149715/ obi I thought we were talking about Xorg here?<br> <p> Drivers _are_ userland, except for some that use the DRM (mostly for 3D functionality), which isn't distributed/integrated with Xorg but with the kernel.<br> <p> Which drivers are you referring to exactly?<br> <p> <p> Tue, 30 Aug 2005 16:03:16 +0000 Fedora: RFC: X.Org X11 modularization project - rpm package driver naming https://lwn.net/Articles/149678/ https://lwn.net/Articles/149678/ niner If you have to download a whole 50MB package to fix a security issue in just one 20kb binary, then your package system is flawed and should be fixed, and not the packages ajusted to this broken system.<br> <p> In case of Fedora the package system would be rpm. And as I see on my SuSE system, rpm can handle patch rpms and binary deltas, so even after a complete reinstall of SuSE 9.3 (which is soon half a year old) I still do not have to download more than 10MB of security updates, including kernel and kernel source.<br> <p> This is the way and not uselessly modularizing every big package and thus slowing the system down with huge package databases.<br> Tue, 30 Aug 2005 07:59:48 +0000 Fedora: RFC: X.Org X11 modularization project - rpm package driver naming https://lwn.net/Articles/149671/ https://lwn.net/Articles/149671/ daniels This is how it has been done upstream -- see <a href="http://cvs.freedesktop.org/xorg/app/">http://cvs.freedesktop.org/xorg/app/</a>. In the end, we felt that keeping closer to upstream was more important than grouping huge hunks of source packages into large binary packages. I don't think that any of those will realistically change much at all anyway, so the only problem you have is the huge gobs of MIT boilerplates taking up your diskspace, at which point you have bigger problems anyway.<br> Tue, 30 Aug 2005 02:02:51 +0000 Fedora: RFC: X.Org X11 modularization project - rpm package driver naming https://lwn.net/Articles/149670/ https://lwn.net/Articles/149670/ brouhaha It wouldn't have to be a kernel-level driver. There's no reason why the kernel can't make device files available that can be mmap()ed to get at the PCI card memory spaces. I experimented with this almost ten years ago just mmap()ing /dev/mem to get at the frame buffer, and proposed on lkml that /proc/pci should provide device files representing each memory space. <p> At the time, a few vocal people shouted me down, with ridiculous complaints that it would make the system less secure. That was (and is) complete BS, because any process that runs SUID root can wreak just as much havoc using /dev/mem and other means as it could with my proposed /proc/pci device files. <p> Anyhow, what I was proposing back then was that the /proc/pci device files would normally have permissions like 600, but nowdays there's no reason that more sophisticated access control couldn't be used, in order to allow a non-SUID X server to access the video card. <p> This also would remove the redundant PCI bus scanning code from the X server. The kernel already has done it, so there's no reason for the X server to do it again. Tue, 30 Aug 2005 01:54:25 +0000 Linux too please https://lwn.net/Articles/149646/ https://lwn.net/Articles/149646/ proski Unfortunately, kernel-userland API is irrelevant when we are talking about being able to "update a single driver". Mon, 29 Aug 2005 21:51:59 +0000 Linux too please https://lwn.net/Articles/149644/ https://lwn.net/Articles/149644/ khim <p><i>If only the kernel hackers could keep the driver API stable for more than five minutes, Linux-based systems could work with a lot more widgets and Linux would be a lot easier concept to sell.</i></p> <p>This way lies madness. I'll be frank: it'll <b>reduce</b> number of widgets and make it no better then other OSes.</p> <p>Why ? Easy: the only way to keep something binary compatible is not change anything. I've seen ennnough drivers broken by Windows Service Packs and/or Solaris upgrades. And in most cases there are <b>no</b> way to use old hardware (and old widgets) with new versions of OS: "Oh, our year-old gadget does not work with your brand-new OS release ? Too bad: buy our super-brand-new gadget+ !".</p> <p>True: Windows or MacOS aften support new toys better then Linux. But I can use my old toys as long as there are enough users to keep driver in working state - <b>not</b> as long as hardware manufacturer is interested. From my expirience hardware manufacturer attention span are miniscule at best: sometimes even toys one-two years old are unsupported.</p> <p>And if you still want russian roulette with your drivers... you know <a href="http://www.microsoft.com/windows/">where to go</a>, right ?</p> Mon, 29 Aug 2005 21:51:08 +0000 Linux too please https://lwn.net/Articles/149645/ https://lwn.net/Articles/149645/ vonbrand <p> There is (userland) API and (in-kernel) API. I understood the former in the grandparent... Mon, 29 Aug 2005 21:46:50 +0000 Linux too please https://lwn.net/Articles/149639/ https://lwn.net/Articles/149639/ proski I don't think 2.6 kernels are considered stable (meaning that the code is changing a lot, not that they don't work well). I'm very well aware of the changes in 2.6 kernels, as I have to update my drivers all the time. 2.6.13 required major changes in PCMCIA drivers (actually, I have to admit partial responsibility for them). On the other hand, 2.4 kernels have stabilized long time ago. <p> You make a good point about binary compatibility. Indeed, it was never promised by kernel developers, and it can be broken even in 2.0 series. I cannot imagine rpm allowing to upgrade some drivers from 2.4.30 with drivers from 2.4.31 without upgrading the kernel. On the other hand, upgrading some drivers from 2.4.31-1 to 2.4.31-2 should be OK, and thats up to the distributor to ensure. <p> I can imagine that binary compatibility will be promised for certain kernel series in the future (e.g. 2.4.x, 2.6.x.y) provided that .config is unchanged. But I'm not so optimistic about the main development branch. <p> After all, changing headers and removing obsolete API is a way to force drivers to change and to adopt a new way of doing things. It's a way to keep the code safe and working the way it should. If a driver doesn't compile, it needs updating. Mon, 29 Aug 2005 21:45:17 +0000 Fedora: RFC: X.Org X11 modularization project - rpm package driver naming https://lwn.net/Articles/149633/ https://lwn.net/Articles/149633/ tzafrir This already exists: Xnest. Has existed for quite a while, as a standard part of X11 (since when?)<br> <p> The "normal" X server requires some priviliges to run efficiently. <br> For starters, it requires write access to a virtual terminal. And this is but the least of the priviliges required.<br> <p> Not related to modularity.<br> Mon, 29 Aug 2005 21:40:32 +0000 Fedora: RFC: X.Org X11 modularization project - rpm package driver naming https://lwn.net/Articles/149631/ https://lwn.net/Articles/149631/ tzafrir On Debian Sarge the size of the deb xbase-clients is 2MB, and the instlled package size is 5MB . <br> <p> Compare that to libc6 and to coreutils (that were actually merged from three packages to 1 a couple of years ago). Each of the two is larger.<br> Mon, 29 Aug 2005 21:16:36 +0000 Linux too please https://lwn.net/Articles/149624/ https://lwn.net/Articles/149624/ corbet <blockquote><i> Could you please give us an example of non-backward-compatible API change in the stable kernel series during the last year? I'm not aware of any. </i></blockquote> <p> See LWN'a <a href="https://lwn.net/Articles/2.6-kernel-api/">2.6 API changes page</a>. For starters, the original poster, given the comment, is probably unhappy with changes which break binary modules, and there's been quite a few of those. Source-incompatible changes include the removal of devfs, the USB timeout value units change, the <tt>kobject_add()</tt> and <tt>kobject_del()</tt> semantic change (no longer generate hotplug events), the prototype change for <tt>kobj_map()</tt>, the removal of <tt>bcopy()</tt>, and the whole <tt>pm_message_t</tt> change in the PCI subsystem. That's just looking back to 2.6.11, released six months ago. Mon, 29 Aug 2005 20:59:05 +0000 Linux too please https://lwn.net/Articles/149623/ https://lwn.net/Articles/149623/ proski Could you please give us an example of non-backward-compatible API change in the stable kernel series during the last year? I'm not aware of any. Mon, 29 Aug 2005 20:50:04 +0000 Linux too please https://lwn.net/Articles/149619/ https://lwn.net/Articles/149619/ mgb "The ability for us to update a single driver, and release that<br> single driver to users is an important thing for a modern OS, in<br> particular for desktop systems."<br> <p> If only the kernel hackers could keep the driver API stable for<br> more than five minutes, Linux-based systems could work with a<br> lot more widgets and Linux would be a lot easier concept to sell.<br> Mon, 29 Aug 2005 20:31:20 +0000 Fedora: RFC: X.Org X11 modularization project - rpm package driver naming https://lwn.net/Articles/149613/ https://lwn.net/Articles/149613/ proski The trade-off would be having the driver in the kernel, which is not necessarily safer than a SUID process. Mon, 29 Aug 2005 20:07:26 +0000 Fix rpm/yum instead https://lwn.net/Articles/149605/ https://lwn.net/Articles/149605/ proski <blockquote type="cite"> One of the benefits of the modularized X.Org X11R7, is that it makes it much easier for us to provide individual driver updates without having to release the entire 150Mb monolithic X release. </blockquote> I believe the fix belongs elsewhere. There should be a way to update source packages without forcing the users to update all binary packages generated from them. Perhaps the simplest way would be to have checksums of all binary package contents and all metadata (except the revision number and perhaps changelog) available for download. This way, yum or apt-get could simply update the version, but not the contents, if they detect the same checksum.<p> More elaborate solution would be providing deltas between released binaries. This way, a one-line fix in the source could result in a relatively short download. Mon, 29 Aug 2005 20:01:28 +0000 Fedora: RFC: X.Org X11 modularization project - rpm package driver naming https://lwn.net/Articles/149608/ https://lwn.net/Articles/149608/ job Separate drivers sounds like a good thing, but I long for the day when I can get a non-SUID X11 server on my desktop. There's just too much of X running with complete access to my system. No, ACLs and SELinux doesn't solve this as long as the server process(es) aren't modular enough. At least this is a step in the right direction.<br> Mon, 29 Aug 2005 19:55:53 +0000 Fedora: RFC: X.Org X11 modularization project - rpm package driver naming https://lwn.net/Articles/149606/ https://lwn.net/Articles/149606/ maney Or, as the article says (and even the excerpt mentions this, albeit specifically about drivers), it allows a finer grained update when required to fix serious bugs or security issues. Now a buffer overflow in one program needn't cause everyone to fetch 50MB of mostly-unchanged binaries - that's worth quite a bit, actually. Mon, 29 Aug 2005 19:52:52 +0000 Fedora: RFC: X.Org X11 modularization project - rpm package driver naming https://lwn.net/Articles/149603/ https://lwn.net/Articles/149603/ elanthis If that choice is useful, sure. If it's a case of, "well, a user might know what they're doing, and might conceivably think up some wacky reason to not need this but still need that, we don't know, it sounds good though," then the modularization is wasted effort on packaging and maintenance for no good reason.<br> <p> Choice is all well and dandy, but it isn't always practical, nor is it always useful. It needs to be weighed against its costs in each case.<br> <p> Besides, even with a monolithic RPM of some large software chunk like X.org, you always have the choice of modifying the package or installing from source. ;-)<br> Mon, 29 Aug 2005 19:35:03 +0000 Fedora: RFC: X.Org X11 modularization project - rpm package driver naming https://lwn.net/Articles/149597/ https://lwn.net/Articles/149597/ arcticwolf Are these things installed by default? If yes, then offering more choice to users who actually *do* know what they're doing is a good thing.<br> Mon, 29 Aug 2005 18:53:51 +0000 Fedora: RFC: X.Org X11 modularization project - rpm package driver naming https://lwn.net/Articles/149591/ https://lwn.net/Articles/149591/ jwb I understand driver modularization and I wish the Fedora project success. However I hope they don't go crazy and hyper-modularize in the way Ubuntu has. In Ubuntu 5.10 Breezy, important binaries like xset, xmodmap, xrdb and so forth are in their own packages. This really increases the chances that a user will be able to install Ubuntu but not have a working X11 setup. Can you imagine all the mysterious and weird ways that X11 apps and their launcher scripts will break if you don't have xset? The surprise of a long-time X11 user when their .Xresources aren't merged?<br> <p> Oh, and not to forget the worst part, which is dozens of copies of the DEC copyright statement polluting your /usr/share/doc and package database.<br> <p> To summarize: modularization good, pathological modularization bad.<br> Mon, 29 Aug 2005 18:27:50 +0000 Note that X.Org has its own modularization project https://lwn.net/Articles/149579/ https://lwn.net/Articles/149579/ stevenj The article description is a bit confusing, because it might be read as saying that Fedora is starting their own independent effort to modularize X.org, whereas it looks like they are simply figuring out how to package what is <a href="http://wiki.x.org/wiki/ModularizationWorkingGroup">already being done</a>. <p>Note that X.org recently made <a href="http://lists.x.org/archives/xorg-modular/2005-August/000614.html">Version 7.0 Release Candidate Zero</a> available for their modular tree, which currently contains <a href="http://xorg.freedesktop.org/X11R7.0-RC0/everything/">almost 500 individual packages</a> Mon, 29 Aug 2005 17:47:10 +0000