LWN: Comments on "LPC: 25 years of X" https://lwn.net/Articles/354408/ This is a special feed containing comments posted to the individual LWN article titled "LPC: 25 years of X". en-us Fri, 17 Oct 2025 15:41:20 +0000 Fri, 17 Oct 2025 15:41:20 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net Synchronous grabs https://lwn.net/Articles/356495/ https://lwn.net/Articles/356495/ Ross <div class="FormattedComment"> The article claims these are never used. That doesn't match my admitted fuzzy knowledge of the subject.<br> <p> For example, I think these are the only way to implement "click to raise" on application windows in a window manager without eating the button clicks on application windows. I'm pretty sure that many window managers use it for such things and even the ICCCM says to do so (side note: can somebody please update it to cover things like this if there are known correct ways to do it).<br> <p> Now I'm not saying it's a great mechanism, and it certainly isn't flexible . It would be much nicer to be able to intercept events to child windows even if they are owned by another client and replay any user-generated event to any child window and/or client.<br> <p> In general I find the X11 event system to be complex and confusing: sometimes things are delivered to clients, sometimes windows, sometimes it matters what events are masked by parent windows, not to mention grabs by multiple clients (sometimes additional grabs fail silently, sometimes they generate a protocol error). Also, the use of timestamps to avoid race conditions seems kind of weak, and it's not immediately clear which situations require inspection of stamps, or what order they must be in. Things like the ICCCM could be improved to explain more of these situations, and libraries could do a better job of making it easy to do things the right way (Xlib hides some complexity poorly, and add a lot of it's own).<br> <p> <p> </div> Sun, 11 Oct 2009 23:01:37 +0000 X: 25 years and still lacking vsync'ed double buffering https://lwn.net/Articles/356492/ https://lwn.net/Articles/356492/ Ross <div class="FormattedComment"> <font class="QuotedText">&gt; They do. A *lot* depends on having that interval available.</font><br> <p> Yes, but the delay between updates can be very small in comparison to what are needed for CRTs. This can even be taken advantage of with normal analog VGA connections to get a higher refresh rate and/or resolution with the same pixel clock (see reduced blanking modes).<br> <p> <p> <font class="QuotedText">&gt; The common case is watching videos or playing games, where it's not cleared up on the next frame refresh because another update has happened in the meantime. It manifests itself as a consistent discontinuity in the image. It's greatly irritating.</font><br> <p> Or it may slowly move up or down the screen. It can be very distracting in the right situation.<br> <p> -Ross<br> </div> Sun, 11 Oct 2009 22:24:29 +0000 X: 25 years and still lacking vsync'ed double buffering https://lwn.net/Articles/356490/ https://lwn.net/Articles/356490/ Ross <div class="FormattedComment"> But usually they retrace many strips of the screen in parallel (otherwise the refresh rate would be too slow). So it's not exactly a vertical retrace that you want to know about, but a way to avoid drawing operations during display updates. <br> </div> Sun, 11 Oct 2009 22:18:22 +0000 X: 25 years and still lacking vsync'ed double buffering https://lwn.net/Articles/356489/ https://lwn.net/Articles/356489/ Ross <div class="FormattedComment"> I thought X drawing operations were are always supposed to be synched to screen refreshes. I guess that might be impractical if they take too long, but even so, you can draw into a pixmap and update the visible window with a copy operation. This should not flicker (though it may have tearing if there is constant motion and I'm wrong a about vsync).<br> </div> Sun, 11 Oct 2009 22:09:35 +0000 X: 25 years and still lacking vsync'ed double buffering https://lwn.net/Articles/355989/ https://lwn.net/Articles/355989/ kragil <div class="FormattedComment"> Triple buffering, yeah!<br> It is fun to see that a concept that I used in the Amiga arcade games I wrote as a kid is now a solution to X problems.<br> <p> It probably is true what they say, that most of hard CS problems were solved in the 60s (I just takes a few generations to implement them everywhere)<br> </div> Thu, 08 Oct 2009 07:52:51 +0000 LPC: 25 years of X https://lwn.net/Articles/355881/ https://lwn.net/Articles/355881/ oak <div class="FormattedComment"> (This is not anymore that much related to X, but maybe here are also other <br> old Atari owners. I think this is kind of interesting also to others in <br> kind of a obscure "Oh Gosh, are people still doing stuff for <br> those" -way. :-))<br> <p> There are no W users I know of, but I recently brushed the dust off the <br> code, updated it to build with latest GCC, liblua etc. and added Debian <br> packaging in case somebody wants to recapture the old feel of monochrome <br> graphics and W programming (it works on X using SDL):<br> <a href="http://koti.mbnet.fi/tammat/open.shtml#wws">http://koti.mbnet.fi/tammat/open.shtml#wws</a><br> <p> And MiNT (the open source unix-like replacement for Atari TOS) is actually <br> still alive:<br> <a href="http://sparemint.org/mailinglist/Mailing-Lists/MiNT-List.index.html">http://sparemint.org/mailinglist/Mailing-Lists/MiNT-List....</a><br> <p> With EmuTOS, this meant that all the OS software was finally open source <br> (in beginning of this decade):<br> <a href="http://emutos.sourceforge.net/en/history.htm">http://emutos.sourceforge.net/en/history.htm</a><br> <p> Some people with extra time are still even creating new Atari compatible <br> hardware:<br> <a href="http://acp.atari.org/about.html">http://acp.atari.org/about.html</a><br> <p> Or modeling old ones in VHDL:<br> <a href="http://www.experiment-s.de/en">http://www.experiment-s.de/en</a><br> <p> And there are several emulators for them too, either intended as a <br> replacement new Atari machines (similar to what Amiga Forever does):<br> <a href="http://aranym.org/">http://aranym.org/</a><br> <p> Or just emulating the old machines as well as possible:<br> <a href="http://hatari.berlios.de/">http://hatari.berlios.de/</a><br> <p> ...so that remaining demo coders can use it to do new Atari demos more <br> easily:<br> <a href="http://dhs.nu/">http://dhs.nu/</a><br> <p> </div> Wed, 07 Oct 2009 20:05:32 +0000 LPC: 25 years of X https://lwn.net/Articles/355828/ https://lwn.net/Articles/355828/ Nerdbeard <div class="FormattedComment"> Oh my, oh my. I ran W on MiNT, what seems like fifteen years ago. My poor 520STfm could not possibly host X, but W was a ton of fun. Thanks for reminding me about all that crazy stuff.<br> </div> Wed, 07 Oct 2009 15:21:56 +0000 X: 25 years and still lacking vsync'ed double buffering https://lwn.net/Articles/355777/ https://lwn.net/Articles/355777/ pphaneuf <p>I think the reason why there's no good vsync support in X is that you can't hook interrupts from user-space, and they didn't want to poll, because it would have made everything else suck. <p>Note that there's nothing in the X11 API that precludes using vsync to avoid tearing without exposing it in the API. What you need is just for a drawing command not to be in effect while the retrace is over the affected area. <p>X could implement its drawing so that this doesn't happen in the middle of one of its drawing commands, and you wouldn't get tearing. Now, you might not want a partially drawn image, even if it does so without any tearing. In that case, you can just do the double buffering yourself, by drawing into a pixmap instead of directly in the window, and XCopyArea the pixmap to the window when you're done (which is a single operation, so could be done without tearing). <p>The only thing that would need an extension for is throttling, so that you don't draw more than one image to your pixmap when only one copy can be made to the window. What you'd want is a XCopyArea that would send an event back to the client when it has been done. That can even support two displays with different update rates, you'd just get the event for different copies at a different rate, depending on where you put it. Wed, 07 Oct 2009 04:47:13 +0000 X: 25 years and still lacking vsync'ed double buffering https://lwn.net/Articles/355291/ https://lwn.net/Articles/355291/ cortana <div class="FormattedComment"> Here's a picture illustrating the effects of tearing:<br> <p> <a href="http://forum.i3d.net/attachments/technische-hulp-cod4/943154416d1230149560-fps-blijft-staan-op-70-vsync.jpg">http://forum.i3d.net/attachments/technische-hulp-cod4/943...</a><br> </div> Fri, 02 Oct 2009 23:09:49 +0000 LPC: 25 years of X https://lwn.net/Articles/355275/ https://lwn.net/Articles/355275/ nix <div class="FormattedComment"> Oops. I forgot the procedure for complaining about changes in xorg.conf <br> option semantics.<br> <p> The right thing to do would have been to explode into conspiracy theories <br> in interminable threads on the xorg list about how the REAL problem with <br> AllowDeactivateGrabs was that a CONSPIRACY of EMACS users such as all the <br> X developers (ignoring the majority who use vi or edlin) had INTENTIONALLY <br> removed this feature with MALICE AFORETHOUGHT, knowing that the feature is <br> CRITICALLY useful when one is running dozens of VIRTUAL MACHINES under a <br> closed-source VM management tool on one's embedded TOASTER.<br> <p> I'll try to remember this in future.<br> <p> </div> Fri, 02 Oct 2009 21:10:33 +0000 X: 25 years and still lacking vsync'ed double buffering https://lwn.net/Articles/355274/ https://lwn.net/Articles/355274/ hrydgard <div class="FormattedComment"> That's a new one - never heard of that problem, unless it's related to <br> "snow", which would happen if you changed the palette during parts of the <br> frame under various EGA and VGA graphics modes and has similar causes.<br> </div> Fri, 02 Oct 2009 21:03:08 +0000 LPC Slides/Videos (including Keith's Keynote video) https://lwn.net/Articles/355273/ https://lwn.net/Articles/355273/ hrydgard <div class="FormattedComment"> Thanks for the links!<br> <p> No, I didn't attend, but I'm really interested in the nice improvements that <br> are coming down the pipeline to Linux's video and audio systems, which both <br> have sadly long been messy and lagging far behind what's available on <br> competing platforms - from a pure desktop, not multi-user client/server, <br> perspective.<br> </div> Fri, 02 Oct 2009 21:00:38 +0000 X: 25 years and still lacking vsync'ed double buffering https://lwn.net/Articles/355250/ https://lwn.net/Articles/355250/ dion <div class="FormattedComment"> That's a new definition for me.<br> <p> It doesn't matter what it's called though, doing updates to the screen at any other time that during vsync looks like ass.<br> </div> Fri, 02 Oct 2009 18:26:59 +0000 X: 25 years and still lacking vsync'ed double buffering https://lwn.net/Articles/355246/ https://lwn.net/Articles/355246/ mjg59 <div class="FormattedComment"> "if a LCD is connected via a VGA interface include the vertical retrace delay, ones connected via digital interfaces do not."<br> <p> They do. A *lot* depends on having that interval available.<br> <p> "having an image change halfway through an update from one frame to the next with no other distortion of the screen (and cleaned up on the next frame refresh) is a _very_ minor issue compared to loosing sync which scrambles the screen for a significant amount of time (several seconds on a LCD)"<br> <p> The common case is watching videos or playing games, where it's not cleared up on the next frame refresh because another update has happened in the meantime. It manifests itself as a consistent discontinuity in the image. It's greatly irritating.<br> </div> Fri, 02 Oct 2009 18:02:56 +0000 X: 25 years and still lacking vsync'ed double buffering https://lwn.net/Articles/355243/ https://lwn.net/Articles/355243/ dlang <div class="FormattedComment"> if a LCD is connected via a VGA interface include the vertical retrace delay, ones connected via digital interfaces do not.<br> <p> having an image change halfway through an update from one frame to the next with no other distortion of the screen (and cleaned up on the next frame refresh) is a _very_ minor issue compared to loosing sync which scrambles the screen for a significant amount of time (several seconds on a LCD)<br> </div> Fri, 02 Oct 2009 17:59:10 +0000 X: 25 years and still lacking vsync'ed double buffering https://lwn.net/Articles/355240/ https://lwn.net/Articles/355240/ mjg59 <div class="FormattedComment"> LCDs aren't (in the relevant cases) pixel addressable devices. The framebuffer is still scanned out at the vertical refresh rate and the entire image sent to the LCD each time - starting at the top left pixel and finishing at the bottom right. There's even an interval between the end of a frame and the beginning of the next one.<br> <p> Whatever the original meaning of the word "tearing" as relating to video, its use to describe the effect caused by framebuffer updates not being synchronised with scanout and the associated discontinuity in the image is well established.<br> </div> Fri, 02 Oct 2009 17:39:17 +0000 X: 25 years and still lacking vsync'ed double buffering https://lwn.net/Articles/355232/ https://lwn.net/Articles/355232/ dlang <div class="FormattedComment"> vertical retrace interval is an artifact of the CRT and the fact that it takes time to steer the electron beam from the bottom of the display back up to the top of the display.<br> <p> on an LCD it takes no more time to go from the bottom of the display to the top of the display than it takes to go from the first row to the second row.<br> <p> in any case, the cause of tearing was caused by disrupting the sync signals (most commonly the horizontal sync at the beginning of each line) causing the display to 'tear' horizontally across the screen. by waiting to update the video ram until the vertical retrace period (when the CRT isn't displaying anything anyway)you avoided causing this problem.<br> <p> with dual-port ram or a digital feed to the display this problem just doesn't exist<br> </div> Fri, 02 Oct 2009 17:02:08 +0000 X: 25 years and still lacking vsync'ed double buffering https://lwn.net/Articles/355148/ https://lwn.net/Articles/355148/ hrydgard <div class="FormattedComment"> LCD monitors absolutely do vertical retrace, it's just not as visible, but <br> tearing remains a problem. How else would the signal get to the display, did <br> you think there were individual wires from each cell of framebuffer memory <br> to each pixel on the display?<br> </div> Fri, 02 Oct 2009 07:49:52 +0000 X: 25 years and still lacking vsync'ed double buffering https://lwn.net/Articles/355139/ https://lwn.net/Articles/355139/ Tuxie <div class="FormattedComment"> This is effectively fixed by enable triple buffering in xorg.conf.<br> <p> Without triple buffering, playing videos with a similar but not exact multiple of the screen Hz (like 29.97 FPS video on a 60 Hz display) can cause problems. MPlayer can come to a situation where each frame is finished just after the vblank so it will stall waiting for vblank most of the time, leaving little time left to do actual decoding, resulting in very choppy playback. This is especially visible on low Hz modes like "24p" (23.976 Hz) and HD video. Enabling triple buffering solves this.<br> <p> It doesn't however fix the problem with drifting audio/video sync when video/screen Hz only almost match. For that you need either hard frameskips or syncing audio to video with resampling or AC3/DTS packet dropping/duplication, which AFAIK only recent SVN snapshots of XBMC can do on Linux systems. MPlayer and stable XBMC sync video to audio.<br> <p> For some reason (Nvidia driver bug?) though, triple buffering cause problems with Nvidia hardware decoding/rendering (VDPAU) so if you rely on VDPAU to do your video playback you will want to disable it.<br> <p> It will also cause a display lag of one frame so you may want to disable it for fast paced FPS games.<br> </div> Fri, 02 Oct 2009 06:45:52 +0000 LPC Slides/Videos (including Keith's Keynote video) https://lwn.net/Articles/355129/ https://lwn.net/Articles/355129/ niv Most of the slides are available on our LPC <a href="http://linuxplumbersconf.org/2009/program/">Program</a> page already, and the videos of the keynotes (and some sessions) will be up there too as soon as we get them (hoping in a week or two). Please see our call for material and feedback on <a href="http://linuxplumbersconf.org/2009/">the LPC blog</a> as well. If you were at LPC (or even if you weren't), you can <a href="mailto:contact@linuxplumbersconf.org">send us feedback</a> on the content of the sessions and the conferenceas a whole. We'd appreciate hearing from you! Fri, 02 Oct 2009 03:10:19 +0000 LPC: 25 years of X https://lwn.net/Articles/355103/ https://lwn.net/Articles/355103/ intgr <div class="FormattedComment"> Greg Kroah-Hartman did a quick one for Xorg in the 2008 Linux Plumbers Conference keynote: <a href="http://video.google.com/videoplay?docid=3385088017824733336">http://video.google.com/videoplay?docid=3385088017824733336</a><br> <p> </div> Thu, 01 Oct 2009 22:00:40 +0000 LPC: 25 years of X https://lwn.net/Articles/355093/ https://lwn.net/Articles/355093/ JLCdjinn <div class="FormattedComment"> s/face/fact/, and I once again request comment editing. :)<br> </div> Thu, 01 Oct 2009 20:36:42 +0000 LPC: 25 years of X https://lwn.net/Articles/355092/ https://lwn.net/Articles/355092/ JLCdjinn <div class="FormattedComment"> Why did "all innovation on X simply stop" when its maintenance was assigned to the X Consortium? Is that related to the face that with the BSD license, "every vendor took the X code and created its own, closed fork", or did something else happen to land X in a swamp?<br> </div> Thu, 01 Oct 2009 20:35:52 +0000 X: 25 years and still lacking vsync'ed double buffering https://lwn.net/Articles/355091/ https://lwn.net/Articles/355091/ dlang <div class="FormattedComment"> actually, I thought that tearing referred to the problem that (especially on older, cheaper video cards) if you updated the screen while it was being drawn it corrupted the video output so that the screen sync failed. The better video cards used dual-ported ram that could be accessed by two chips at the same time so that it could be updated and read without causing tearing.<br> <p> just displaying part of the old image and part of the new image is not the same thing.<br> </div> Thu, 01 Oct 2009 20:32:45 +0000 X: 25 years and still lacking vsync'ed double buffering https://lwn.net/Articles/355090/ https://lwn.net/Articles/355090/ dion <div class="FormattedComment"> Well, tearing refers to the problem you see when someone updates the on-screen image while it's being sent to the screen, thus showing some of the old and the new frame for a while.<br> <p> If all drawing to the screen happens to a back buffer and that buffer is only flipped into view during retrace then tearing cannot happen.<br> <p> You are entirely correct that the entire rendering chain has to be synchronized and driven by the retrace, if you want the best possible result, but it would help a great deal if X could simply stay away from the on-screen buffer until there was a retrace.<br> <p> Tearing is by far the most nasty artifact that comes from sloppy graphics work, but an application that jumps between full framerate and half framerate (say 70 and 35 Hz) looks almost as bad, so setting up a proper synchronized rendering chain would certainly be worth doing.<br> <p> I don't think any of this would have to eat truck loads of memory, though, you'd certainly need to have a number (3 or more) frames buffered, but that's nothing compared to the memory on common graphics cards these days.<br> <p> The buffering might not have to happen for the entire screen, you could easily have a single application (a video player, perhaps) that's the only thing that really needs to sync to vtrace and run at a fixed framerate to look good, that single app. could have a deep set of buffers, everything else could get by with the global tripple bufer.<br> <p> <p> </div> Thu, 01 Oct 2009 20:25:32 +0000 X: 25 years and still lacking vsync'ed double buffering https://lwn.net/Articles/355080/ https://lwn.net/Articles/355080/ oak <div class="FormattedComment"> Well, I think vsynching the X screen is the trivial issue as that's only a <br> small piece of the tear-free graphics puzzle. You need to sync every <br> thing in this chain with each other: application / GUI toolkit-&gt; app <br> window composite buffer -&gt; composite manager -&gt; X screen -&gt; monitor.<br> <p> Things could get more complicated to implement when some windows are using <br> OpenGL for updating the content (i.e. use something else than CPU to <br> update it), some use Xvideo, some different GUI toolkits. These should <br> then be suppored by different composite managers (or window manager if one <br> isn't using composite manager) one can be using. And somebody above <br> mentioned also xinerama...<br> <p> At least it's going to eat truckloads of extra memory.<br> <p> </div> Thu, 01 Oct 2009 19:10:58 +0000 LPC: 25 years of X https://lwn.net/Articles/355020/ https://lwn.net/Articles/355020/ marcH <div class="FormattedComment"> <font class="QuotedText">&gt; They just wrote new management wrappers, though; I'm not aware of any patches contributed to the actual NX code.</font><br> <p> Last time I tried NX (before the Google contributions), the "actual" NX code was already running fine. But the existing "management wrappers" were a big pile of unreliable sh... ell scripts spoiling the whole thing.<br> <p> <p> </div> Thu, 01 Oct 2009 14:53:35 +0000 LPC: 25 years of X https://lwn.net/Articles/354987/ https://lwn.net/Articles/354987/ nix <div class="FormattedComment"> Ah, great. The mailing list thread I read had people saying things more like "it is broken and there's no way to do it properly because it can sometimes cause crashes and inconsistent X server state, go away", which I thought rather peculiar because if a grab has gone wild and can't be broken the user is going to be shooting down the whole X server soon, inconsistent state or no.<br> <p> But if it *is* possible to do it properly and it's coming back, excellent!<br> <p> </div> Thu, 01 Oct 2009 09:54:18 +0000 LPC: 25 years of X https://lwn.net/Articles/354948/ https://lwn.net/Articles/354948/ ncm <div class="FormattedComment"> Android doesn't run X, normally.<br> </div> Thu, 01 Oct 2009 02:17:13 +0000 X: 25 years and still lacking vsync'ed double buffering https://lwn.net/Articles/354946/ https://lwn.net/Articles/354946/ BenHutchings <div class="FormattedComment"> No slides, but the notes are at <a href="http://dri.freedesktop.org/wiki/CompositeSwap">http://dri.freedesktop.org/wiki/CompositeSwap</a><br> </div> Thu, 01 Oct 2009 01:52:04 +0000 LPC: 25 years of X https://lwn.net/Articles/354916/ https://lwn.net/Articles/354916/ oak <div class="FormattedComment"> <font class="QuotedText">&gt; Worse are dashed ellipses, which turn out to be intractable altogether.</font><br> <p> These WWS doesn't implement. The lines can be patterned, but if I <br> remember correctly my code, the pattern is based on the window <br> co-ordinates (this way the patterns for overlapped elements would match).<br> <p> Btw. If you test the code, the arc drawing can be a bit buggy, it doesn't <br> handle all the corner cases (I didn't anymore have that much time for WWS, <br> and there wasn't really any users for that feature :-)). I've understood <br> that this was fixed in the Microwindows/Nano-X adaption of the code. They <br> needed it for their Xlib emulation, so they have tested it properly.<br> <p> Arc endpoint calculations are done in the client library so that server <br> doesn't need to do any floating point calculations (a bit similar strategy <br> to Xft in pushing work to clients that cause the work).<br> <p> </div> Wed, 30 Sep 2009 19:41:25 +0000 LPC: 25 years of X https://lwn.net/Articles/354917/ https://lwn.net/Articles/354917/ daniels <div class="FormattedComment"> Yeah, sorry about AllowDeactivateGrabs. It was broken, so we ripped it out as the first step along the way to actually doing it properly. It will be back. :)<br> </div> Wed, 30 Sep 2009 19:30:31 +0000 X: 25 years and still lacking vsync'ed double buffering https://lwn.net/Articles/354903/ https://lwn.net/Articles/354903/ hrydgard <div class="FormattedComment"> That's interesting - any idea where to get the slides from that (and other) <br> talk(s) from the conference?<br> <p> Sorry for the almost content-less comment.<br> </div> Wed, 30 Sep 2009 18:44:04 +0000 X: 25 years and still lacking vsync'ed double buffering https://lwn.net/Articles/354874/ https://lwn.net/Articles/354874/ dgm <div class="FormattedComment"> Well, if I understood it right, XGL was about implementing X over OpenGL. What dion suggested instead was bypassing X, and make toolkits talk directly with the OpenGL driver. It has been suggested many times in GTK, as explained in this article, that also enumerates most of the reason why it's not a good idea: <a href="http://blogs.gnome.org/timj/2007/07/17/17072007-opengl-for-gdkgtk/">http://blogs.gnome.org/timj/2007/07/17/17072007-opengl-fo...</a><br> <p> Also, network transparency and multiple displays make synchronizing with the vertical retrace a complex matter. What's more, current LCD monitors and other display technologies like e-paper do not do any vertical retrace (AFAIK).<br> <p> In my opinion, what would be useful is some means to avoid unnecessary work in applications. What's the point of repainting the screen at 1200 fps when only 60 can be displayed due to limitations in the display? Wouldn't it be better to save all that wasted power?<br> </div> Wed, 30 Sep 2009 15:39:24 +0000 LPC: 25 years of X https://lwn.net/Articles/354872/ https://lwn.net/Articles/354872/ dgm <div class="FormattedComment"> For a closed ellipses both descriptions should be geometrically equivalent, shouldn't they? What I'm missing?<br> </div> Wed, 30 Sep 2009 14:57:50 +0000 LPC: 25 years of X https://lwn.net/Articles/354862/ https://lwn.net/Articles/354862/ marcH <div class="FormattedComment"> <font class="QuotedText">&gt; When it comes to X, it's always with Keith's photo! Good tradition :)</font><br> <p> I this a tradition to make the article more graphic?<br> <p> </div> Wed, 30 Sep 2009 10:33:23 +0000 LPC: 25 years of X https://lwn.net/Articles/354782/ https://lwn.net/Articles/354782/ sgros <div class="FormattedComment"> What about performing analysis of X's git logs like the analysis done for kernel. It would be interesting to see in what shape is X who's working on it.<br> </div> Tue, 29 Sep 2009 15:30:40 +0000 LPC: 25 years of X https://lwn.net/Articles/354753/ https://lwn.net/Articles/354753/ PO8 <div class="FormattedComment"> Something was lost in translation, I think. Wide ellipses in X aren't specified as being drawn with a circular pen. Instead, they are specified as being drawn by moving a linear pen along the ellipse while holding it perpendicular to the ellipse. This turns out to be a really bad specification; the ellipses have these funny "hooks" and it really does require a nasty high-order polynomial to describe the inner and outer hull of the wide ellipse to the exact pixelization X requires. Worse are dashed ellipses, which turn out to be intractable altogether.<br> </div> Tue, 29 Sep 2009 09:13:20 +0000 X: 25 years and still lacking vsync'ed double buffering https://lwn.net/Articles/354732/ https://lwn.net/Articles/354732/ BenHutchings This was actually covered in <a href="http://linuxplumbersconf.org/ocw/proposals/70">another talk on the Graphics track</a>. Jim Gettys, also in attendance, pointed out that there has been an XSync extension for over 20 years, though XFree86/Xorg doesn't implement it. (Apparently this was introduced to support video-conferencing before there was more extensive video acceleration exposed through the XVideo extension.) Tue, 29 Sep 2009 01:24:33 +0000 LPC: 25 years of X https://lwn.net/Articles/354730/ https://lwn.net/Articles/354730/ Trelane <div class="FormattedComment"> "which was release in 1986"<br> <p> I think you need a "d" there. :)<br> </div> Tue, 29 Sep 2009 00:23:34 +0000