Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    K

    Keith Packard

    keithp.com · Personal blog · on HN since 2008

    Keith Packard, a longtime X Window System and Linux graphics developer, writes about X server work, embedded C libraries, and the Snek language.

    Visit blogRSSHN submissions
    Open Source & LinuxSystems & PerformanceHardware & Electronics
    What HN says

    HN commenters cite his 'Repository Formats Matter' post on version control systems. Other links come up in X11 and graphics discussions.

    Stats for nerds
    42HN people shared it
    31linked in comments
    800story points
    Dec 2024last shared
    2010people per year2024

    Top posts on HN

    1. 1
      Reviving Old X Code
      1 person · 247 points · first shared 2021 · 55 comments on HN
    2. 2
      Picolibc – Libc for Embedded Systems
      2 people · 118 points · first shared 2019 · 41 comments on HN
    3. 3
      Fun with -fsanitize=undefined and Picolibc
      1 person · 118 points · first shared 2025 · 43 comments on HN
    4. 4
      Goodbye-Barnes-and-Noble
      1 person · 106 points · first shared 2014 · 76 comments on HN
    5. 5
      Cleaning up X server warnings
      3 people · 45 points · first shared 2013 · 33 comments on HN
    6. 6
      Architecture of HP's “The Machine”
      2 people · 45 points · first shared 2015 · 15 comments on HN
    7. 7
      Calypso: CalDAV/CardDAV server using Git to retain database history
      1 person · 33 points · first shared 2024 · 2 comments on HN
    8. 8
      Newlib-nano – Embedded C library for smaller systems
      1 person · 28 points · first shared 2018 · 6 comments on HN
    9. 9
      Notmuch: command-line email search and tagging
      1 person · 15 points · first shared 2009 · 1 comments on HN
    10. 10
      The Snek Programming Language
      2 people · 6 points · first shared 2019 · Discussion on HN

    What HN people wrote when they linked it

    • badsectoraculaJul 2021

      > It is issue with X11. If you have Wordperfect binary from 1999, it still has to work; it does not matter that RandR provides information, old clients will not ask for it and without it, they will be broken.

      This is why i wrote "so that compositing window managers can do it themselves for applications that do not support it, which is also why this needs to go through the window manager". You do not need X11 support for that, functionality that exist can be used right now to do it - assuming the applications and WMs cooperate to specify the necessary attributes and events, of course.

      > That's why Xwayland does upscaling by itself.

      You can also do this with a compositor for applications that do not support scaling themselves (which would be the default state - again this isn't any different than the 'supports close event' flag that already exists for decades now). Without a compositor you're out of luck (for the most part)...

      ...However!

      Keith Packard worked on server-side scaling some time ago [0] (not sure if it was merged with mainline) which would allow this to be done even without a compositor (well, kinda, technically the server does the compositing just for the scaled windows). So even without a regular desktop compositor this should still be implementable, assuming that functionality was (or will be) merged in mainline Xorg. But note that this is only for the case where one wants to run applications that do not support scaling and have hidpi scaling and also not…

    • MayeulCMar 2018

      Well, I am sorry to have to disagree on this. This is no rocket science, and the software support isn't that different from any standard monitor/gamepad combo. That's for the architecture, at least. Of course, latency requirements are higher. But the differences stops here.

      Face it, today's VR headsets simply are monitors that you wear on your face (Head Mounted Displays). Anyone thinking otherwise is simply lying to himself to make it sound more complicated than it is.
      Those include a few input peripherals as well, none of them which is particularly complex (valve's lighthouse system is probably as complex as it gets).

      And lastly, none of these points should require a certificate. Every computation can be done locally, without the need of an internet connection.

      To be a bit more specific, let's break down the arguments (I have nothing against you, I am just interested in those):

      > Monitors work without low-level drivers because their maturity (and lack of innovation) allows the hard stuff to be embedded in the operating system. VR is not at that state; it is emergent, and the capability stacks require additional integration into the OS. Vendors frequently add unique features, and will continue to do so for some time, making standardization difficult.

      This is true... Somewhat. For now, the only integration that has been done in the Linux kernel is DRM (direct rendering manager) leasing [1], which allows an application to borrow full control of the peripheral, to bypass…

    • destructionatorNov 2021

      X has had its OpenGL extension available since 1992. Your argument is like saying "Windows 1.0 came out before Direct X even existed, so of course you can't play modern games on Windows 10". As new things came out, they added support for it.

      Compositors are an optional component. I have never run one myself since they don't add anything of value. So any time someone says "the X server only talks to the compositor" I'm like "lol what compositor".

      But even if you have one, it is still wrong. You have to understand that GUI applications are a LOT more than just low-level rendering. So even if you didn't need it for that, there's so much more going on that the server still plays its role in like coordinating copy/paste, drag+drop, hotkeys, notifications, etc., etc., etc.

      And it isn't true that everything goes through the middle man. A graphics-heavy X application actually tends to work very similarly to a Wayland application (not coincidentally - as people love to point out, a bunch of the Wayland devs worked on the gpu rendering parts of X before): you get a direct render context, write to a buffer, then inform it to draw it. See more https://keithp.com/blogs/dri3_extension/

      Mixed DPI is fully supported by the system, but may be buggy in applications. See here http://wok.oblomov.eu/tecnologia/mixed-dpi-x11/ you can get information and handle it client side for maximum quality, or do auto-scaling for easy support bridges. KDE and Qt manage to do it. So much for "unfixable".

    • tytsoDec 2019

      I wasn't a real fan of the 5.3 change, but it was better than some of the alternatives that people were proposing. At the end of the day, the problem is that userspace just shouldn't be trying to get randomness during early boot. But if they do, and we make the kernel more efficient things can break, and Linus believes that if there is a user-visible regression we Have to Fix it, even if it the root cause is broken user space.

      In this particular case, what triggered this was an optimization in ext4 in how we did directory readahead, which reduced the number of I/O's done during the boot sequence. Some user space program in early boot tried to call getrandom(2), and it blocked because with a smaller number of I/O's, for some hardware platforms, it would stop the boot sequence in its tracks, and this then resulted interrupt events, leading to no further activity, leading to an indefinite hang.

      So what do we do? We could revert the ext4 optimization, but what it did was draw attention to the fact that in the absence of a hardware random number generator which everyone trusted, what we had in terms of CRNG initialization was fragile.

      Now the blog posting is inaccurate here as well, it is not the application which needs to make an interpretative dance of some kind. We actually are doing it in the kernel, and there is at least some hope that on an x86, making some assumptions about how the caches and clocks work, it probably is secure. I am actually worried that it…

    • bitwizeJul 2019

      > What do you mean by "pixel perfect frames"?

      Wayland enthusiasts usually use "pixel-perfect frames" to mean lack of tearing -- what happens when the framebuffer is changed in the middle of the "electron beam's" scan down the display and you get half of one image and half of another. Eliminating tearing generally means forcing vsync, which means your framerate is capped at 60fps, and a few milliseconds of input latency are introduced -- meaning there's a bit of a tradeoff between the fastest desktop and the smoothest. (This is true regardless of display stack, whether Windows, Quartz, X or Wayland). Xorg drivers can often run in a "tear-free" mode, but Wayland blah blah modern architecture blah blah designed from the ground up blah blah. Plus, Nobody Ever Uses the X protocol anymore. (Basically, you don't have a choice -- Wayland compositors are required to force vsync and operate in tear-free mode.)

      Security is, largely, a non-issue unless you run untrusted binaries all the time and/or open ports on your X server to random places that can then run random programs on your display. However, for the paranoid (and a little healthy paranoia is a good thing), it would be more involved but still not a whole lot of work[0] to modify the X server architecture to support a more Wayland-like security model by default, while still allowing trusted apps to do things like take screenshots and respond to global hotkeys.

      The advantages of Wayland thus boil down to "it's what the…

    • iamwilDec 2024

      Yes. Sometimes when I'm doing research into recent history of why certain technical decisions were made, and the arguments for or against, I find archive.org invaluable for piecing a line of thought back then. Recently, this was to look up what the debate between React's Functional components vs Signals was.

      Also, it's helpful to get perspective on the attitudes for or against a new technology in recent history. I remembered there were people that said "If you aren't writing a kernel, you don't have their problems, so you don't need git." Turns out that's not true. Now that git is everywhere, it's harder to remember whether or even if there was pushback against it.

      This was written about the insights from using git that he needed to highlight to people back then. https://keithp.com/blog/Repository_Formats_Matter/

      I often reference it, and if it wasn't still up, I'd have only web archive to rely on.

      So for me, lots of stuff I look at online (mainly blog posts) are worth saving. Sometimes, if the discussion is on a twitter thread, that too. Which makes me fear for the day Microsoft decides to do Github in, and we'd lose all the issues and comments.

    Related

    Matthew Garrettmjg59.livejournal.com25 people

    5 ways to reboot a PC. None of them reliable.

    Matthew Garrett
    Personal · last shared 2026
    Oils Blogoilshell.org156 people

    Kubernetes is our generation's Multics

    Oils Blog
    Company · last shared 2026
    Wingologwingolog.org237 people

    FFS SSL

    Wingolog
    Personal · last shared 2026
    euroquiseuroquis.nl24 people

    Python and SysV Shared Memory

    euroquis
    Personal · last shared 2025
    Julien Danjoujulien.danjou.info81 people

    Emacs gets Google Maps support.

    Julien Danjou
    Personal · last shared 2026
    Lundukelunduke.substack.com91 people

    The computers used to do 3D animation for Final Fantasy VII in 1996

    Lunduke
    Personal · last shared 2026
    Arcanarcan-fe.com103 people

    Arcan versus Xorg – Approaching Feature Parity

    Arcan
    Personal · last shared 2026
    Russ Coxresearch.swtch.com554 people

    Timeline of the xz open source attack

    Russ Cox
    Personal · last shared 2026