Roadgeeking with the Talos II (or, Workstation FUD and Loathing)
FUD. Absolute FUD.
It's definitely true that big-endian systems are sometimes a little rockier to work with (we know all about this from our TenFourFox gig, of which this blog is a spinoff) because after the Macintel transition there are a lot fewer big-endian workstations on developer desktops. This isn't to say that running the Talos II big-endian is impossible, however: much, even most, of the software out there works fine, and if you're prepared to put up with a hiccup now and then and/or pitch in with fixes where needed, it's perfectly liveable.
But this isn't the case for little-endian PPC64, which works well. A few major apps aren't fully there, though some of it is administrative screwaroundry like Google being Google about accepting PPC (and MIPS) changes back to Chromium. On the other hand, although JavaScript in ppc64le Firefox is currently interpreted (I'm done with the first draft of the Ion code generator for the POWER9 JIT, and I'm now working on the trampoline, but this is still several months away), it works fine with the right configuration options and I'm told it still works fine on big-endian PPC64 too. My F28 Talos runs VLC, LibreOffice, Krita, GIMP, QEMU and many other essential apps (like ioquake3) out of the box with the distribution-provided packages. It will only get better as people see the advantages of OpenPOWER for a truly free workstation experience.
Still, the goalposts gotta move because haters gotta hate. So here's an example of demonstrating the viability of the Talos II on the desktop with a decidedly unusual hobby: roadgeeking.
Roadgeeks like yours truly drive miles and miles over weird roads to photograph signs and scenery, trace alignments and routings, and annoy highway departments with detailed questions. As a baseline, that work requires the ability to view mapping applications (such as Google Maps, Bing Maps, Open Street Maps, etc.), send mail, and read and work with spreadsheets of mileage and documents and publications. Check, check, check. I use Firefox, LibreOffice and the GNOME Document Viewer for that.
What about photography? Previously I took shots manually with a hand camera, stopping at intervals to grab a picture. This is really hard work and requires multiple passes on the road because of stuff you miss and inclement weather conditions, and sometimes some rather unsafe setups to get the right view on something, but nothing beats manual work for great images and it avoids the windscreen goo and bad angles hand camera shots at highway speed tend to have. Dumping images from the CF card is part of the basic functionality of any Linux system, and the raw images are then formatted and minimally reprocessed for the web with a shell script and ImageMagick (also works fine on PPC64 and ppc64le). Although I really try to avoid retouching to maintain maximum veracity, any editing required was formerly done in Photoshop on my long-suffering Quad G5 but now can be done in Krita (also works fine on ppc64le). Here is my trip on US Highway 395 from San Diego to British Columbia, and part of my trip of US Highway 6 -- still America's longest continuous highway -- from Bishop, CA to Nebraska (the remainder are all on a hard disk and their publication is pending my full writeup). These were all done by hand and I sometimes still do this for shorter alignments.
The labour-intensive nature of this means of photography, however, demands a better technological solution. As a very modern roadgeek, today I use a "flying camera" system -- a high-definition video camera running at 30 frames/sec, taking progressive non-interlaced video at a very fast shutter speed, about 1/2000th of a second. This enables live views of the road from the driver's perspective at speeds up to 70mph, and every frame is potentially a high-definition still because of the progressive video and fast shutter speed. Although a 1080p image (effectively 1440x1080 upscaled to 1920x1080) is still poorer resolution than even most mobile phone cameras, let alone a point-and-shoot or DSLR, anything the camera can see is captured, I don't have to stop for images, I can stay at highway speeds, I can still adjust zoom and some of the positioning on the fly (or switch lanes as required), and certain shots would not even be possible without such a setup. When I eventually upgrade the camera, the resolution will only improve. Plus, HDV 1080p is perfectly acceptable resolution for the web even nowadays and I can always stop for a manual shot with a proper camera if I want something larger. The only major drawback is that the fast shutter speed requires a lot of light or it gets grainy, limiting photography to times of day and year when there is sufficient ambient sun.
I devised this system originally for my Quad G5 running Mac OS X 10.4, which doesn't have native AVCHD support in Final Cut or QuickTime but can support HDV (MPEG-2), so I selected the Canon Vixia HV30 which stores HDV to MiniDV tape and has FireWire output. Final Cut then acquires this video over FireWire and converts it to Apple Intermediate Codec which is display and edit-ready. Later I got a Focus FS-CF Pro DTE digital recorder which dumps the HDV video to QuickTime on CF cards; the HDV file can then just be copied directly from the CF card, and HDV yields smaller files than the edit-friendlier AIC which is an advantage for archiving. The G5 can play HDV video in QuickTime using the codec from recent PowerPC-compatible versions of Final Cut Pro, and of course the codec is available on the Talos II also. (I still use boxes of MiniDV tapes for long trips where I don't have enough CF cards, and a nice side benefit is being "instant tape backup," but solid-state is just the way to go for this nowadays.) You can see the setup I use at the right, or click it for an enlarged image. Note the black felt on the dashboard to reduce reflections, a suction-cup mount to the windscreen, and a 15% red tint on the lens to compensate for the green cast from the safety glass. The entire setup is powered by batteries and the car's 12 volt output for recharging.
I'm now in the process of converting my old US 395 exhibit to the new flying camera format (as a bonus, 16:9 instead of the old 4:3 aspect ratio, so landscapes just look more impressive, too) and recently drove the old alignments between Bishop, CA and Carson City, NV, and then the trans-Sierra Ebbetts Pass (CA 4) from Markleeville, CA to Angels Camp, CA and back to southern California. We had about eight hours of footage to sort through on our first trial of using the Talos II to ingest video instead of the G5. As a guard against data corruption the FS-CF DTE is programmed to dump video to the card in 2GB blobs, or about 10 minutes footage each. With a USB 3.0 card reader and USB 3.0 hard drive dock we copied the HDV videos in Nautilus from the CF card to a spinning hard disk for archiving. As it turns out one 10 minute segment was corrupt on the card but it's a section we can easily rephotograph. Our Talos during the video ingest (show us yours) is at right; click for an enlargement.
For frame grabs, previously I would play the AIC or HDV file in QuickTime Player on the G5 and advance quickly up to a scene and go frame by frame until there was a nice image to use. I'd then grab the frame and save it as an image clipping, which I converted to PNG with AppleScript. (The CMOS image sensor "shimmy" actually helps here, because if I was slightly off position or rotated, sometimes the "shimmy" caused by the car's vibration would correct the geometry from frame to frame.)
With VLC, the same workflow is possible. I use the scroll wheel to scrub through the video and then hold down the advance-frame key to slow down until I get to the right spot I want. It looks like this on the Talos (click for an enlarged screenshot):
The workflow is actually better with VLC, in fact, because the screen grabs are already PNG. I mentioned some shots would be impossible without the "flying camera." Here's one of them:
This unretouched screen grab from VLC was captured in Carson City, Nevada from the middle of the road at 55mph at about 5pm on a fall October day. It's as if I froze time, walked to the middle of a busy highway transitioning to full Interstate freeway, and took a picture right there. The slight red cast due to the changing light conditions with the lens tint is compensated for with a little white balance, and the highway gantry is ever so slightly distorted, but this image is pretty much ready to go. And it was acquired with a full libre stack of software and hardware. ImageMagick and Krita will do the rest of what needs to be done and the write up will be done in Firefox.
Yes, this is my hobby. But it's also a great demonstration that doing this kind of work wouldn't be possible on the Talos II without the application support to match. That must mean the application support is already here. The handful of leftover glitches are disappearing by the day, and most everything else works as-is out of the box on most distros supporting ppc64le. If the sticker shock of a full T2 still gives you the shakes and even a T2 Lite is more than you had in mind, then hang out for the Raptor Blackbird next year, which will give you a taste of freedom for lots less green. No matter what your budget, the price points are improving just as fast as the software options.
The point is made, though: POWER9 is desktop-ready now. Anyone who says otherwise hasn't used one.
Hi, I can only confirm your experience with Talos as a workstation :-) It just works, maybe with some rough edges here or there, but we (as the community) are working on fixing them.
ReplyDeleteI have a question regarding the FF JIT for ppc64le - will it be strictly Power9 or will it be Power8 plus optimised paths for Power9 and future CPUs? Because (IMHO) distros will continue to use Power8 as a base-line for ppc64le and rely on things like IFUNC to get better performance on newer CPUs.
ReplyDeleteThe first draft is ISA 3.0B/POWER9 only because of all those nice opcodes it has (it will make it easier to get it passing all the tests because there will be fewer bugs to introduce). Once that passes the test suite, then it should be straightforward to add instruction sequences for POWER8 to equal the POWER9 instructions. I've also marked some sections of the JIT that I know will need adjustment for big-endian; while this won't be enough to make it work out of the box, it should give BE installations a starting point.
DeleteThanks, sounds like a plan :-)
DeleteI'm looking into buying a blackbird as my next PC. I'm pretty much running open source only now so I figured I might as well get a PPC64. I have 2 games I really want to have working. Xonotic and OpenRA. Could someone confirm that these two works on Talos II?
ReplyDeleteXonotic has a Fedora RPM for ppc64le, so odds are that does work.
DeleteI don't see one for OpenRA, but that just may be no one has tried building it on it yet. Mono does work on ppc64le so that would seem to be the major technological hurdle.
Ok, thanks for reply. Will get the Blackbird then. In worst case i’ll have a dual pc setup :)
DeleteIf is possible for ClassicHasClass to make a test, i whould like to know if these programs on Debian Buster do work. Vlc, Libre Office, Qbittorrent, Amule and Virt-Manager. I've tryed emulating this architecture to have an answer myself, but something do not work but probably because of emulation, i've also tryed to mail RaptorCS but got no reply, i understand they are working hard for Blackbird. I whould like to buy it but i cannot without be sure needed program just works. I hope you will find time for the trial. Thank you
ReplyDeleteVLC, LibreOffice and virt-manager (and the whole libvirt stack) work fine in Fedora, so they should work in Debian too. I see no reason why qbittorrent and amule shouldn't work. And if they don't, then someone need to file bugs at least.
DeleteJust tried qbittorrent and amule and they seem to work fine too.
DeleteI don't mind trying them on Debian but this would probably have to wait until I get my own Blackbird, since my own Talos is strictly single-boot and it's my primary workstation.
DeleteThank you very much Dan for the reply, is it too much to ask if you could try it on Debian? Maybe inside a VM if is better for you, linux is linux, but mantainers from different distro make things different, just looking Firefox i saw fedora fixed a startup error about jellamoc while Debian still have this issue. Your reply value a LOT for me, so a huge thanks, a bigger one if you could do a Debian Buster try
ReplyDeleteCan you give a bench about x86 emulation, specifically some 3d intensive application on the talos II. Unfortunately a two programs I use for work are proprietary and I highly doubt there will ever be a ppc64le version, so it would be helpful to know if it works and how.
ReplyDeleteIs this Windows or Linux user-mode? There will be an upcoming article on HQEMU, which is probably the fastest way to run such an application. What would you consider a good benchmark?
DeleteLinux is fine. The application I have is a medical imaging application that does 3D rendering, it's not particularly heavy, but it needs to be near-realtime, otherwise other scans would be affected and slowed down significantly. I guess for a bench whatever stress the GPU by making use of opengl should be fine as a reference (even a game tbh, not vulkan tho).
Delete