Posts

Showing posts from November, 2020

Is this the RISC-V PC?


We earlier reported that apparently the first production RISC-V workstation was being planned by SiFive for an October release based on their forthcoming U740. No such system by that name has emerged, and I think it's reasonable to assume that there won't be a RISC-V PC as such. Apparently instead, SiFive is offering the HiFive Unmatched, a mini-ITX motherboard successor to the U540-based HiFive Unleashed. This appeared about a month ago and they've announced nothing else, so I'm concluding this is it.

Although SiFive's page still doesn't say, other sites indicate the 64-bit main U740 CPU (four U74 cores and one "little" S7 core) is clocked at 1.4GHz. There is 2MB of L2 cache and no L3, plus 32MB of flash and 8GB of DDR4 RAM onboard; it doesn't look like there are any slots for more. A single 16x PCIe 3 slot is available for cards, though it also has Gigabit Ethernet, four USB 3.2 ports, an M.2 E-keyed slot (PCIe x1) for wireless connectivity and a MicroUSB console port (presumably some sort of serial console). For your storage options it offers on-board microSD and another M.2 M-keyed slot (PCIe x4) with NVMe support. That's good, since it lacks a BMC-like console, so you'd almost certainly need to install a video card in that single PCIe slot to use it as an effective workstation. Additional devices and creature comforts would have to be attached by USB.

The price on Crowd Supply is a surprisingly reasonable $665 for the bare board; you add your own case, PSU and peripherals. That's a little over half the cost of a Blackbird board and even includes the CPU and RAM (as long as you don't need to upgrade them), plus a 32GB MicroSD card and 3-metre Cat5e cable, though I'd rather forgo these towards the cost of a GPU. Before you go thinking this is a Blackbird-beater, however, remember even the wimpiest Blackbird with the lowliest 4-core POWER9 (like the one I have in the home theatre) would clean the floor with this system and the Blackbird has substantially more options built-in (two PCIe slots, DIMM slots, SATA, USB, audio, HDMI, three network ports and a "classic" DE-9 serial console). While Raptor is still backordered on the Blackbird, the T2 Lites they do have in stock would serve you even better in the CPU and PCIe department, even if the size is a little inconvenient and they don't have all the creature comforts onboard. And as for comparing it with the big T2, well, let's just all have a good laugh and get on with our day. There's a reason they cost more.

The other, more relevant question is how "open" this machine actually is. RISC-V is indisputably an open ISA and always has been, but it's everything else on the board that's the question mark. While SiFive offers the Freedom U SDK to build your own custom Linux distribution, that's not the same as being able to control it from the firmware up like the POWER8 and POWER9. SiFive notably doesn't make any claims about the lowlevel firmware and I don't think it's cynical in this case to assume that they don't provide source or a means to build it; your control of the system therefore starts at U-Boot. Otherwise, why not be up front about it, since everything else in the RISC-V ecosystem is all about openness?

If this is really the RISC-V PC they promised it sounds like a decent system for the money, certainly on par or above the high-end RPis people already try to make workstations out of, and I always encourage anything that weakens the x86 monoculture. For that matter, I'm actually toying with getting one myself for comparison purposes, since right now it looks like the most convenient way of experimenting with RISC-V other than an evaluation board. But also know that you're not getting a system on par with OpenPOWER performance or owner control, at least not in this iteration, and a lot of engineering work and a bit of policy change will have to both occur for that to happen. As of this writing, 113 boards have been backed on CrowdSupply with 16 days to go, and boards are expected to ship January 15, 2021. If you're picking one up or know more, post in the comments.

Firefox 83 on POWER


LTO-PGO is still working great in Firefox 83, which expands in-browser PDF support, adds additional features to Picture-in-Picture (which is still one of my favourite tools in Firefox) and some miscellany developer changes. The exact same process, configs and patches to build a fully link-time and profile-guided optimized build work that were used in Firefox 82.

Dan Horák has filed three bugs (1679271, 1679272 and 1679273) for build failures related to the internal profiler, which is still not supported on ppc64, ppc64le or s390x (or, for that matter, 32-bit PowerPC). These targetted fixes should be landing well before release, but perhaps we should be thinking about how to get it working on OpenPOWER rather than having to play emergency games of whack-a-mole whenever the build blows up.

Guix port to OpenPOWER


Since we already have FSF RYF certification for the Talos II and T2 Lite, why not run an FSF package manager on it too? Tobias Platen has announced an official branch for a port of Guix to ppc64le, based on the existing 32-bit PowerPC port of Guix that can already apparently run on big-endian ppc64, harking back to his initial work in 2019. The port is a bigger effort than it might naïvely appear, though: an updated gcc and glibc is required (and possibly a different bootstrap gcc as well), plus potential 64-bit fixes to Guile and reworking and updates of the heavily x86-centric GNU Mes, the combination Scheme interpreter and C compiler, to bootstrap the full GNU Guix System. If you're interested in finding out more, watch Tobias' video.

Vikings' first order with Raptor is go


Quick news bite: Vikings has their first order in with Raptor and will go live with a selection of OpenPOWER systems in their on-line store as soon as they arrive. We don't know yet how many units they'll stock, but the fact they'll have some on the other side of the Atlantic is good news for current and potential European (and, hey, probably other) customers for whom shipping and exchange rates to and from the United States could be prohibitive. Given that Raptor still lists the Blackbird as backordered, it's most likely the initial selection will be T2 and T2 Lites, but as someone very happy with the T2 he's typing on, a Talos II is still a heck of a computer. We'll be sure to advise more about what's available and options for RMAs and support as information is revealed.

Fedora 33 mini-review on the Blackbird and Talos II


To avoid watching American election returns, it's time to report back on our traditional mini-review for the newest release of Fedora, F33. If you run it yourself hopefully this will help your upgrade go more smoothly, and even if you don't you should still care about it because bugs in packages and platforms usually pop up in Fedora's cutting edge first (after all, F28 was one of the first out-of-the-box distributions to even run on POWER9). Now that F33 has hit the release channel, F31 will become EOL in less than a month.

We test it on both the Blackbird and Talos II, for which T2 Lite owners will have a similar experience. However, one important configuration change for this review compared to my previous go-around for F32 is that I'm no longer running gdm on the Blackbird either (I've never run it on the T2). This was largely an accident of a F32 reinstall I did, where I installed the server variant and converted it to Fedora Workstation, same as I had originally done for my T2 back with F28. In this setup the system comes up in a text boot, you log in that way, and then manually startx or dbus-run-session gnome-session (with XDG_SESSION_TYPE=wayland or as appropriate) to launch GNOME. Besides speeding startup a bit, you avoid pitfalls with a graphical start and can much more easily recover without having to do an emergency boot into the installer. This and future reviews of Fedora will be done in this configuration which just eliminates a whole class of issues I used to have on the Blackbird in particular.

As before, the general upgrade steps are

sudo dnf upgrade --refresh # upgrade DNF
sudo dnf install dnf-plugin-system-upgrade # install upgrade plugin if not already done
sudo dnf system-upgrade download --refresh --releasever=33 # download F33 packages
sudo dnf system-upgrade reboot # reboot into upgrader

When the system reboots, manually select the kernel directly from Petitboot to get a more verbose boot rather than just waiting for it to automatically start. This let me watch the install in text mode for a change. If you don't do this, your system may go to a black screen; pick another VTY with CTRL-ALT-F2 or something, log in as root and periodically issue dnf system-upgrade log --number=-1 to watch the hot hot action.

The Blackbird is my "early warning" system to catch bad updates before I tank this daily driver T2. However, perhaps because it has a vanilla install of F32 on it, it updated without any problems whatsoever, and all applications that I usually use on it (Firefox, LibreOffice, etc.) ran without issues under Xorg in 1920x1080 with the usual manually specified xorg.conf. I didn't notice much performance improvement or change, but nothing seemed to regress particularly either.

I also usually do a token test of Wayland on the Blackbird as well, which because I run it "stripped" with no GPU and with only the BMC as a framebuffer, is invariably an unusable catastrophe. But, to my surprise, not this time:

I'm a Never Wayland and I acknowledge my biases, but there has been clear improvement in its useability without a GPU, which right now is essential to run these systems "fully libre" (or at least as cheaply as possible). I suspect the LLVM update is responsible and sufficiently juices llvmpipe accordingly, but regardless of the reason the system was much more responsive and all default applications seemed to work.

What didn't, though, was the screen resolution, which remained stuck at 1024x768 because support for the Blackbird's HDMI transceiver is still not in the shipping kernel. I grabbed edid-generator and tried making an EDID out of the known-working Xorg modeline, which was ignored at bootup and dmesg said it didn't even load:

platform VGA-1: Direct firmware load for edid/bmc.bin failed with error -2

(Yes, the port name is VGA-1, despite being connected over HDMI.)

I also tried video=VGA-1:1920x1080@60e on the kernel command line and while the text boot obligingly came up in 1920x1080, when I started the GNOME session it just hung and never jumped to the graphic display, so back to Xorg. But credit where credit is due that it's getting better, whether Wayland or LLVM is responsible for the improvement.

The T2 is more complex because I have a lot more packages installed and a somewhat customized GNOME theme. Although I lost a few packages in F32, no packages were broken or needed to be backed out for F33, and the 5.0GB installation proceeded uneventfully. With fast reboots off it also properly restarts as well.

Restarting into the new installation for the first time is usually where the problems start, though, and that's what happened again this go-around. The first problem was a crapload of SELinux warnings over and over, which turned out to be another permissions clash and was eventually fixed with a restorecon -RFv /var/lib/rpm after a lot of totally family friendly cursing. The second problem is the usual GNOME extension breakage as F33 moves from 3.36 to 3.38; Dash-To-Dock again refused to update and had to be manually reinstalled from the command line as well as User Themes. However, my hacked version of Argos survived without any changes. The drag-to-reorder feature new in 3.38 mostly works as advertised, though I'm used to apps moving to close the gap and that didn't seem to happen, but I do like the changes to Screenshot.

On the T2's BTO WX7100 GPU, GNOME 3.38 under Xorg was nice and snappy as always. I didn't notice really any performance improvement, but it seemed no worse either. Wayland did improve in this iteration and the games it used not to launch now seem to start properly under Xwayland, but it seemed a little less sprightly this time. Likewise, I'm highly reliant on appmodmap for my muscle memory which won't work with any current Wayland compositor, and while GNOME's new ability under Wayland to run multiple displays at different refresh rates is a nice new feature, I don't need it for my two displays. So back to Xorg. (If maintaining Xorg is such a paper cut with hydrochloric acid on it, then why don't we use Wayland for the low-level display stuff and just run everything in Xwayland on top of it? Why must we throw the baby out with the bathwater? I like all the hacks X lets me do.)

Anyway, F33 was a largely uneventful release and I consider that a positive: while the normal little polish issues are still there it didn't seem to require pulling more teeth than usual and overall has been working well for the last couple days. What I really want, though, is for 128-bit long doubles to finally arrive and I'd really like to see a push for this in F34. Me personally I'm tired of having to hack MAME all the time just to play the same games my G5 can with MacMAME, but there are more practical and less first-world-problemy concerns for needing this feature as well. And it would really be a boon to the platform if we weren't still stuck in the Alternative Architectures penalty box every time too.