#xscreensaver

jwz@xn--y9azesw6bu.xn--y9a3aq

XScreenSaver 6.04 out now

image

XScreenSaver 6.04 is out now, including iOS and Android.

I wrote two new hacks this time, Nakakin and ChompyTower.

I've long been fascinated by the Nakagin Capsule Tower, and since it is being demolished this month, I figured I'd write a screen saver about it.

I also recently picked up a couple of very cool books: Nakagin Capsule Tower, The Last Record and Nakagin Capsule Style. I don't speak Japanese, but the photos are great!

Other notable stuff:

  • On X11, I figured out how to work around the antisocial idiocy inflicted upon us by the GNOME and KDE built-in screen lockers, so it's no longer necessary for each user to hack GNOME and KDE in order for video players to inhibit screen blanking. See the comments at the top of xscreensaver-systemd.c for the vile details.

The installation instructions in the man page reflect this: let me know if they seem inaccurate.

  • You can now set your image directory to the URL of an Internet Archive "collection" and it might even work. I added special-case for scraping IA, which was necessary because their implementation of RSS feeds is criminally negligent. See the comments in xscreensaver-getimage-file for the vile details.

And if you know who is responsible for the code on their end, please try to convince them to make their RSS feeds not be completely useless. (My contact there just laughs and backs away like it's the third rail.)

#computers #firstperson #linux #mac #maps #phones #security #xscreensaver

jwz@xn--y9azesw6bu.xn--y9a3aq

XScreenSaver 6.02 out now

XScreenSaver 6.02 is out now, including iOS and Android.

Two new hacks this time, Marbling and Binary Horizon, plus a few minor updates.

Several of the old hacks have been re-enabled on Android, because it turns out that while they didn't work in the emulator, they do work on real Android hardware (of which I have none).

This release was built on macOS 11.6 instead of 10.14, so I think that means that it has native Apple M1 code in it -- though I doubt you'll notice any performance difference over the Rosetta2 emulation.

Also Apple completely changed how code signing works again, because hey, six more months have passed, it's clearly time for a redesign of the most incomprehensible part of their entire ecosystem, right? Is it better? No. No it is not, it's just differently awful. Again. Anyway, let me know if there are signing issues.

I also had to update Sparkle (the "Check for Updates" library), so hopefully auto-updates still work. Let me know.

About Marbling, the new one written by me. It started out fairly simple, but then it took the optimization train to crazytown. Here's the comment from the top of the source:

This generates a random field with Perlin Noise (Perlin's page, SIGGRAPH 2002 paper, Wikipedia entry), then permutes it with Fractal Brownian Motion (Wikipedia page, Book of Shaders, Shader Toy) to create images that somewhat resemble clouds, or the striations in marble, depending on the parameters selected and the colors chosen.

These algorithms lend themselves well to SIMD supercomputers, which is to say GPUs. Ideally, this program would be written in Shader Language, but XScreenSaver still targets OpenGL systems that don't support GLSL, so we are doing the crazy thing here of trying to run this highly parallelizable algorithm on the CPU instead of the GPU. This sort-of works out because modern CPUs have a fair amount of parallel-computation features on their side of the fence as well. (Generally speaking, your CPU is a Cray and your GPU is a Connection Machine, except that your phone does not typically require liquid nitrogen cooling and a dedicated power plant).

Update: Oh yeah, I forgot to mention. A while back someone requested an Apple TV version of XScreenSaver, so I took a crack at it. There's a tvOS target in the Xcode project, but when you launch it, it never instantiates SaverRunner. I imagine there's some xib or storyboard problem, but I couldn't figure it out so I gave up. If someone can get me past that, I'll take another look. BTW, it turns out that one of the hurdles of porting iOS to tvOS is that tvOS doesn't have newfangled UI elements like checkboxes and sliders.

#uncategorized #computers #firstperson #linux #mac #phones #security #xscreensaver