X debut 40 years ago (1984)
Robert W. Scheifler introduced the X window system in June 1984 for the VS100 Unix server, offering improved performance over W. The system was stable, with the Laboratory for Computer Science already transitioning to X and developing applications. Scheifler encouraged experimentation and welcomed volunteers for documentation contributions.
Read original articleIn June 1984, Robert W. Scheifler announced the debut of a new window system called X for the VS100 Unix server. He mentioned that X was developed by borrowing code from W but with an asynchronous interface, resulting in approximately double the performance of W. The system was considered stable, although there were still some issues to address. The Laboratory for Computer Science (LCS) had already transitioned from W to X and was actively developing applications for X. While acknowledging that X was not the ultimate window system, Scheifler encouraged others to consider switching to X for experimentation. Currently, X supported a CLU and Argus interface, with a C interface in progress. Three initial applications were available: a text editor (TED), an Argus I/O interface, and a basic window manager. Scheifler mentioned the lack of documentation and welcomed volunteers to contribute. He invited interested parties to visit for a demo or obtain the code.
Related
Let's write a video game from scratch like it's 1987
Philippe Gaultier created Minesweeper in 1987 using X11 without libraries, resulting in a compact executable. The article explores X authentication, Odin language usage, and minimalistic GUI development, offering insights into X11 intricacies. Source code is on GitHub.
Wc2: Investigates optimizing 'wc', the Unix word count program
The GitHub project "wc2" presents an innovative algorithm for the `wc` program, focusing on asynchronous state-machine parsing in C and JavaScript. It enhances efficiency, scalability, and speed compared to traditional `wc` implementations.
Andrew S. Tanenbaum Receives ACM Software System Award
Andrew S. Tanenbaum, known for MINIX, receives ACM Software System Award for shaping OS education and influencing Linux's design. His microkernel work continues to impact OS development globally.
Update on GNOME Newton, the Wayland-native accessibility project
The Newton project aims to enhance accessibility on free desktops, focusing on Wayland-protocols, AccessKit, Mutter, Orca, GTK, and libadwaita components. Progress includes running GTK 4 apps in Flatpak sandboxes, with ongoing work to improve Orca functionality on Wayland. Challenges involve optimizing performance and addressing architectural issues for assistive technologies. Future plans may extend support to GNOME Shell UI.
I found an 8 years old bug in Xorg
An 8-year-old Xorg bug related to epoll misuse was found by a picom developer. The bug caused windows to disappear during server lock, traced to CloseDownClient events. Despite limited impact, the developer seeks alternative window tree updates, emphasizing testing and debugging tools.
Still remember that feeling of first typing xeyes & and xlock & and inspecting the result on that 14" color CRT screen (I was beaming more than it, perhaps).
Then by winter term 1996 I owned a refurbished HP9000-715/75 running HP-UX 9.03 (also X11-based), pre-owned and via uni discount and still the price of a car at the time... the only undergrad on my corridor who had a workstation in the dorm room (its 21" CRT filling most of the 9 m² space that was not occupied by the bed). My next goal then was to get all the manual books (X11 and HP-UX) - still got 'em.
HAPPY 40th BIRTHDAY, X11! And thanks to the X11 authors for making it available for free - imagine, X11 supported mice with 16 buttons already back then!
I still remember having startx finally work properly on my FreeBSD 2.1 system running on a Pentium-75 with 16MB of RAM (so luxurious!) back in 1995. The fixed sync monitor[1] coming to life with that black and white crosshatch pattern, and probably TWM decorating that terminal window that would shut down X if you closed it. Luckily at that time there were quite a number of window managers so you could try a bunch to see which one you liked the most. The hardest part of getting X running was tracking down those magic numbers you had to enter for the modeline in the configuration file, although old X used to ship with a database you could look up of older monitors that were no longer in production, but might be kinda close to what you had.
[1] Supporting 640x480, 800x600, and 1024x768(interlaced only)
I was invited to the Atlanta Linux Symposium in the late 90s and met just about everyone around the Linux/Slashdot/X11 world. I had been hacking on OpenGL drivers and one of the first to "integrate" 3dfx 2d acceleration into X.
I had a wonky alpha AXP desktop I'd built from random parts and porting X11 to 64 bits on Linux as the code & binary was actually still 32bit. I'm chatting with rasterman for a bit and up walks an older gentleman.
He'd been listening in on our conversation and was eager to get my take on X. I told him straight-up I thought it was kinda crappy and it should have used blah blah bah. He said "I'm Jim Gettys and I co-wrote X windows.." I was aghast...Oh shit. He laughed and we had a long conversation about how X was implemented.
I remember the first time I saw an X terminal in my first year at college. I didn't have a computer of my own, and windows labs were overcrowded, so I figured I'd cut my teeth and learn this Unix thing a year earlier.
It was SunOS with twm, and the defaults made the font size unreadably small. I went to the bookstore, bought some Unix beginner's guide (I made sure it had an xwindows chapter, since I mistakenly thought I was using an "xwindows OS.")
I spent more time figuring out that environment than I did working on my assignments, but I had a great time. The advantage of working in a lab with older students is I could see what they had on their screen and ask them about it.
Lovely memories. Hard to believe I've been an X user in one form or another for more than half of its existence. It already seemed ancient when I first started.
Edit: it gets better. Apparently W ran on the V operating system.
Until recently, tear-free video playback necessitated double buffering hacks and older Intel drivers, or using a compositor like picom. Results were always sub-par imo.
Along came Mr Sultan Alsawaf: https://gitlab.freedesktop.org/xorg/xserver/-/commit/0dacee6...
Been running the patch set through Arch's xorg-server-git package ever since it came out, and with mpv as player spaceships have never been zooming smoother along the starry sky. For ultimate playback smoothness I scan the video file for dimensions and refresh rate and then set a custom modeline using xrandr to match display timing with media fps, while maxing out the capabilities of the display link.
I think it's interesting they had a CLU binding before C. https://en.m.wikipedia.org/wiki/CLU_(programming_language)
After I expressed interest in learning how to program X on my first Linux machine in 1995, a friend showed me the giant wall-o-manuals (I think that's how O'Reilly got its start) and said "Are you ready to read all of these?"
I got by learning the basics of Xlib with the man pages and, I believe, Kenton Lee's site. X's display model is really straightforward if you already understand something like Win32, which is one reason why Wine was able to make rapid progress: translating GDI calls to X calls required only a thin shim.
X ran FAST, too. If you set the GC clip origin and mask you could blit a sprite in one XCopyArea call; I banged out a game engine based on that and was able to get draw speeds that Windows required DirectX to match (assuming a local display).
"X originated as part of Project Athena at Massachusetts Institute of Technology (MIT) in 1984.[3] The X protocol has been at version 11 (hence "X11") since September 1987."
X11 was X10++ and I think we've been coasting since. Wayland has confused me.
IIRC there was some terrifying step involved around setting scan frequencies or modelines or something that was advertised as making it possible to set a CRT on fire (which could have been the maintainers being cheeky).
Does anyone remember that era well enough to know the details?
(May have played an inordinate amount of Netrek on those.)
Made me smile.
What kind of tape would that be in those times?
Another memory: joining a bioinformatics lab and encountering a fleet of NCD boxes that could do nothing more than bootp/rarp their way onto the network and run an Xserver, with all the processing happening down the hall on a SparcStation. Blew my young mind that network booting was possible, but then again, those were the glory days of Sun, and the Network Was the Computer.
Related, I've always found it odd that in Linus' history of Linux, part of it was a desire to implement an Amiga-like OS on a PC. This is the message-passing-bad guy. What happened?
Fortunately 2024 is the year of the Linux desktop, while Apple and Microsoft are busy adding creepy and intrusive AI features.
Love it!
Related
Let's write a video game from scratch like it's 1987
Philippe Gaultier created Minesweeper in 1987 using X11 without libraries, resulting in a compact executable. The article explores X authentication, Odin language usage, and minimalistic GUI development, offering insights into X11 intricacies. Source code is on GitHub.
Wc2: Investigates optimizing 'wc', the Unix word count program
The GitHub project "wc2" presents an innovative algorithm for the `wc` program, focusing on asynchronous state-machine parsing in C and JavaScript. It enhances efficiency, scalability, and speed compared to traditional `wc` implementations.
Andrew S. Tanenbaum Receives ACM Software System Award
Andrew S. Tanenbaum, known for MINIX, receives ACM Software System Award for shaping OS education and influencing Linux's design. His microkernel work continues to impact OS development globally.
Update on GNOME Newton, the Wayland-native accessibility project
The Newton project aims to enhance accessibility on free desktops, focusing on Wayland-protocols, AccessKit, Mutter, Orca, GTK, and libadwaita components. Progress includes running GTK 4 apps in Flatpak sandboxes, with ongoing work to improve Orca functionality on Wayland. Challenges involve optimizing performance and addressing architectural issues for assistive technologies. Future plans may extend support to GNOME Shell UI.
I found an 8 years old bug in Xorg
An 8-year-old Xorg bug related to epoll misuse was found by a picom developer. The bug caused windows to disappear during server lock, traced to CloseDownClient events. Despite limited impact, the developer seeks alternative window tree updates, emphasizing testing and debugging tools.