XPS 13 Developer Edition Kaby Lake (9360): working great with Fedora 25

So, that post about not liking computers? Here's a confession: I partly wrote it as some sort of weird preparation for buying myself another one. That is, the new Kaby Lake XPS 13 developer edition. I've been using a second-gen (L322X) XPS 13 developer edition for a few years now, and been generally happy with it, except for a couple of things:

  • That was the last generation before Intel substantially improved battery life, and it shows; I only get 2-3 hours on it.
  • I'm an idiot, so the screen has a crack in it and also has either water or diet Coke (not sure. I've spilled both on it) trapped between the screen glass and the substrate, which gives a weird sort of rainbow effect on that edge of the screen.

The new model's been getting great reviews, and is reported to have good battery life. I think it's good to send a signal by buying a system with Linux preloaded (even if it's the wrong one :>). nirik was touting the virtues of the Lenovo Yoga 910, and that sure looks nice too, but I think I'm still happy with this.

So the new XPS 13 arrived today. It's a very nice bit of hardware, even smaller than the second-gen thanks to those crazy tiny bezels, and with an overall nice design. Keyboard and trackpad feel a bit better than before.

Of course, I installed the brand-new, just-signed-off Fedora 25 (Workstation) on it straight away (public release on Tuesday!), and guess what?

Everything worked. I mean, just everything worked. I didn't have to lift a damn finger to do anything anywhere. Wifi works, sound works, touchscreen works, the lot. GNOME automatically enables hidpi mode, and the screen looks great. There was just nothing at all I had to do besides set up my apps. Bit boring! But welcome. Heck, even enrolling the system to a FreeIPA domain during gnome-initial-setup worked, except the user's login keyring didn't turn out right and I had to poke around a bit to fix that.

There's only one slightly odd thing: the system's function keys are lockable, like caps lock or scroll lock. Out of the box, they're set so just pressing them uses them as multimedia keys - pressing F3 raises the volume, pressing F2 lowers it, etc. To actually get a function key you have to hold fn and press the key. Which is of course awful. But never fear! After ten minutes futilely poking around in the firmware looking for a config setting, I twigged that there's a little 'lock' icon on the Esc key. Just pressing fn+Esc flips the keys over so just pressing them gets you the function key, as the universe intended, and fn+key will do the multimedia key action. Phew.

I don't like computers

Welp, I kinda gave up waxing personal on this blog a while ago, but what the hell, why not make an exception once in a while.

So in the last couple of years I've been thinking about work and stuff a lot. For a while there I wondered if I was getting burned out; after all, I've been doing kinda-sorta-approximately the same job for about a decade now, and it can be stressful at times.

So I've been keeping an eye on that and avoiding too many long work days and all-nighters and stuff, but no, I don't think that's actually it. I think what's going on is, well, the post title:

I don't actually like computers any more.

I also suspect I'm not the only one around here.

That could come off wrong, though. So let's look at that in a bit more detail.

I still actually really like my job, if I let myself just be absorbed in the day-to-day, hour-to-hour, minute-to-minute detail of it and don't think much longer term than that. I enjoy digging into bug reports and figuring out what the crap's going wrong. I enjoy most of the code work I'm doing these days, heck, even the bits that involve Perl, more often than not. I don't enjoy blocker bug meetings, but I can hack it.

But here's the thing: somewhere along the way there, I kinda just totally lost any inherent interest in what I'm doing it for.

I started out with Linux and F/OSS because I was, well, a kid who liked tinkering with computers. I spent most of my spare time either reading books or messing around on the internet - and for all you kids out there, this was the 1990s internet, when 'the internet' was mostly email, usenet and FTP, and you accessed it over a dial-up modem that cost 2p a minute and got yelled at by your parents when you stayed online all night downloading all six megabytes of the Quake shareware release...

And I enjoyed that. It was fun. It was a hobby, in and of itself. And, you know, I got 1990s computers. And early 2000s computers. I was jacked in and surfing the wave, maaan. It was gonna be the year of the Linux desktop real soon now.

Somewhere along the way, in the last OH GOD TWENTY YEARS, we - along with a bunch of vulture capitalists and wacky Valley libertarians and government spooks and whoever else - built this whole big crazy thing out of that 1990s Internet and...I don't like it any more.

  • I don't watch videos on computers.
  • I barely read Twitter.
  • I don't listen to podcasts.
  • I don't Instagram. Or Snapchat. Or Vine. Or...any of those things.
  • I don't Netflix.
  • I don't Spotify.
  • I don't Uber.
  • I don't have or want an Alexa. Or a Google Home. Or a Sonos.
  • I don't want my light switches connected to the internet.
  • Or my fridge.
  • Or my thermostat.
  • Or really anything except my computer.

It's not fun any more. I'm not against all these things, necessarily. But they don't make me excited. I don't want them. I just don't really care. Computers - including cellphones, tablets, whatever - aren't my hobby any more. I don't stop working and then have fun fiddling around with my computers or doing stuff on the internet. I stop working and I want to go do something which doesn't involve the internet at all. I like sports. I like reading. If I play games, it's mostly Nintendo games which absolutely are not online. I like concerts. I like eating out, in old-fashioned restaurants. I like sitting on buses and going places. One of my major criteria for buying things is whether they can do their job without a network connection

I use computers for...well, I use them for reading stuff. That is, actually reading it. Text. Pictures if I have to. I use them for figuring out how to get places, and for buying stuff. And that's kind of mostly it.

I run Fedora on a bunch of computers because, I mean, it's kinda my job; I get to spend lots of funtimes keeping my desktop and two laptops and a FreeIPA server and a mail server and a web server all running. But I don't really enjoy it. I hope they keep working and as long as they do I leave them alone. When they stop working and I have to fix them I feel vaguely resentful. It's not fun. It's work.

I dunno where I'm going with this. I don't have any big thesis. I just wanted to write it down. Like I said, I still love the hour-to-hour, day-to-day process of making Fedora. But...I don't have some burning reason to be involved in it in the first place, any more. It's not 1996 any more. It's not the year of the Linux desktop. It's never gonna be the year of the Linux desktop. It's never even going to be the year of the desktop ever again.

Now it's just what I do...because it's what I do.

Oooh, look! A shiny thing!

Hmm.

Today I was supposed to be finalizing the test cases for Thursday's switchable graphics Test Day.

Instead, thanks to this:

(jeff) adamw: Hey, I've been approached by 2 different people telling me dnf system-upgrade was failing. In both cases they had to import the F24 key manually. And in both cases they were going F21->F24. Do you know if that's a documented limitation somewhere?

I somehow wound up spending the day using yum and dnf to upgrade a virtual machine from Fedora 13 to 15, to 16, to 17, to 23, to 24. And making a bunch of improvements to:

Easily distracted?

Moi?

...

Oh, sorry, I saw something shiny over there...(wanders off)

Fedora 25 switchable graphics Test Day this Thursday, 2016-11-03

Yep, it's Test Day time again - most likely the final Test Day of the Fedora 25 cycle. This Thursday, 2016-11-03, will be switchable graphics Test Day!

'Switchable graphics' refers to the fairly common current practice of laptops having two graphics adapters, one low-power one for general purpose use, one more powerful one for use with applications that require more oomph (e.g. games or 3D rendering applications). NVIDIA brands this as 'Optimus', and AMD just as 'Switchable Graphics' or 'Dynamic Switchable Graphics'.

There are some enhancements to Fedora's support for such systems in Fedora 25, and part of the Test Day's purpose is to test those enhancements. The other part of the Test Day's purpose is to ensure that support for switchable graphics on Fedora 25 Workstation with Wayland by default is as good as it can be, and that in some cases where we know Wayland support is not sufficient, fallback to X.org works as expected.

If you're not sure whether you have a system with switchable graphics, you can run xrandr --listproviders. If the output from this command lists more than one 'provider', you likely have switchable graphics. If you do, please come along to the Test Day and help us test, if you can spare the time. If you believe your system has switchable graphics, but the command only lists one provider, please come join the Test Day chat on the day - we may be able to investigate and figure out what's going on!

The Test Day page and the test cases are still being revised and tweaked as I write this, but as the week goes along, all the instructions you need to run the tests will be present there. As always, the event will be in #fedora-test-day on Freenode IRC. If you don’t know how to use IRC, you can read these instructions, or just use WebIRC.

What just happened?

4pm: "Well, guess it's time to write the F25 Final blocker status mail."

4:10pm: "Yeesh, I guess I'd better figure out which of the three iSCSI blocker bugs is actually still valid, and maybe take a quick look at what the problem is."

1:06am: "Well, I think I'm done fixing iSCSI now. But I seem to have sprouted four new openQA action items. Blocker status mail? What blocker status mail?"

Fedora 25 Workstation Wayland-by-default Test Day report

Hi folks! As yesterday's Test Day was pretty popular and widely-covered, I thought I'd blog the report as well as emailing it out.

We had a great Test Day! 49 testers combined ran a total of 341 tests and filed or referenced 35 bugs. 9 of those have since been closed as duplicates, leaving 26 open reports:

  • #1299505 gnome-calculator prints "Currency LTL is not provided by IMF or ECB" in Financial mode
  • #1330034 [abrt] calibre: QObject::disconnect() : python2.7 killed by SIGSEGV
  • #1367846 Scrolling is way too fast in writer
  • #1376471 global menu can't be used for 15-30 seconds, startup notification stuck, missing item in alt+tab (on wayland)
  • #1379098 [Regression] Gnome-shell crashes on switching back from tty ([abrt] gnome-shell: wl_resource_post_event() : gnome-shell killed by SIGSEGV)
  • #1383471 [abrt] WARNING: CPU: 3 PID: 12176 at ./include/linux/swap.h:276 page_cache_tree_insert+0x1cc/0x1e0
  • #1384431 activities screen shows applications and search results at the same time
  • #1384440 dragging gnome dash application to a specific workplace doesn't open the application to this workspace (on wayland)
  • #1384489 Music not recognizing/importing files
  • #1384502 Recent tab not available
  • #1384537 Opening a new gnome-software window creates a new entry without a proper icon
  • #1384546 Removing application does not bring back the install icon immediately
  • #1384551 Printing directions using maps do not show the marked path
  • #1384560 Screenshot of gnome-maps does not show the map part at all
  • #1384569 Places dropdown search does not function if weather is open on secondary monitor
  • #1384570 gnome-initial-setup does not exit at the end
  • #1384572 Places dropdown search does not function if clocks is open on secondary monitor
  • #1384590 [abrt] gnome-photos: babl_get_name() : gnome-photos killed by SIGABRT
  • #1384596 gnome-boxes: starting fails without any feedback
  • #1384599 gnome-calculator currency conversion is hard to use
  • #1384616 thumbnail "border" seems misaligned in activities overview
  • #1384651 Selecting city should automatically be added on Clock Application
  • #1384665 [abrt] authconfig-gtk: gdk_window_enable_synchronized_configure() : python2.7 killed by SIGSEGV
  • #1384671 system-config-language does not work under Wayland
  • #1384675 system-config-users does not work under Wayland
  • #1384678 Missing top-left icon (and full application name) on Wayland

Some of these are not Wayland bugs, but it's not a bad thing that people found some non-Wayland bugs as well while testing! We did find several new Wayland issues, but on the positive side, no really big bugs that weren't already known and on the radar for the final release.

So the event looks like a success on all fronts: we found some new bugs to squish, but it also gives us a decent indication that the Workstation-on-Wayland experience is in a good enough condition for a first stable release. We also confirmed that the Workstation-on-X11 session is available as a fallback and that works properly, for anyone who can't use Wayland for any reason.

Many thanks to all the testers for their hard work!

wikitcms, relval, fedfind and testdays moved to Pagure

Today I moved several of my pet projects from the cgit instance on this server to Pagure. You can now find them here:

The home page URLs for each project on this server - e.g. https://www.happyassassin.net/fedfind - also now redirect to the Pagure project pages.

I also deleted some other repos that were hosted in my cgit instance entirely, because I don't think they were any longer of interest to anyone and I didn't want to maintain them. Those were mostly related to Fedlet, which I haven't been working on for 2-3 years now.

For now the repos for the three main projects - wikitcms, relval and fedfind - remain in my cgit instance, containing just a single text file documenting the move to Pagure; in a month or so I will remove these repositories and decommission the cgit instance. So, update your checkouts! :)

This saves me maintaining the repos, provides pull review and issue mechanisms, and it's a good thing to have all Fedora-ish code projects in Pagure in general, I think.

Many thanks to pingou and everyone else who works on Pagure, it's a great project!

Fedora Workstation Wayland Test Day: 2016-10-13!

Hi folks! Time to announce another Fedora 25 Test Day: Wayland Test Day! Note, the wiki page doesn't exist yet, as the wiki is having issues right now, but I wanted to make the announcement early enough to give people time to prepare.

You may have read that we plan to make Fedora 25 Workstation the first release to default to Wayland (rather than X11) as the graphical server. This has been in place since Fedora 25 Alpha, but to prepare for the general release, we'd like to run a test day and get some broad-based testing to ensure that Wayland is at least good enough for an initial release, and that the option to switch to X11 works properly for those cases where it might be necessary.

You'll be able to run most of the tests from a live image (without doing a permanent installation). All the test instructions will be on the wiki page and there will be QA and developer folks around all day in the IRC channel to help you test and report any issues you find.

Just about anyone with a computer can help with this testing, and we'd like to have feedback from as many users as possible, so please, if you have a little time on Thursday, come help out! As always, the event will be in #fedora-test-day on Freenode IRC. If you don’t know how to use IRC, you can read these instructions, or just use WebIRC.

Libre Application Summit 2016

I had a great time at the Libre Application Summit in sunny, hipster moustachioed Portland - many thanks to Sri for inviting me. Sorry this blog post is a bit late, but things have been really busy with the Fedora 25 Beta release (which we signed off on today).

For a first year conference without a crazy marketing budget or anything, attendance was great - it was a good size for the venue, the number of sessions, and the social events, things felt busy and there was a lot of people-getting-to-know-each-other going on. Sri, Adelia and friends did a great job of finding a good venue and getting a solid wifi network, providing food and coffee, and setting up some fun social events.

They also did a great job getting some really interesting talks from both high-profile and regular-profile folks :)

Matthew Garrett gave one of his usual thought provoking talks about the relationship between security and privacy, and the possibility of using the concept of 'safety' to make sure we consider both appropriately when designing software, especially software which gathers 'user data' in any way.

Bradley Kuhn led a BoF on licensing which rapidly sprawled out to cover all kinds of topics; it might not have been the most directly productive session ever but we covered a lot of ground and had a good time, and it's always great to pick Bradley's brain on stuff.

Asheesh Laroia led a couple of sessions on the super-interesting Sandstorm project he works on, which is...well it's almost like a Flatpak or a Snappy but for webapps, I thought it was a great idea to have him at the conference as Sandstorm makes an interesting contrast to the desktop application sandboxing stuff that's hot right now.

Jim Hall and Ciarrai Cunneen gave a great talk on the GNOME usability testing that's been going on recently under the banner of the Outreachy project; it was awesome to hear both how GNOME's been going about usability testing and how Outreachy is achieving really useful results. The results clearly already highlighted some opportunities to improve and I was impressed with the way they were analyzing where the testing process could be improved and planning how to do an even better job with the next round.

There were a couple of sessions from Endless folks, including Matt Dalio, which were also a great window into exactly where Endless is going these days; I've always been kinda roughly aware of them without knowing exactly what they were doing, so this was good stuff. In a lot of ways they seem like they're hoeing the same row as OLPC did in its heyday, but maybe with a little more focus and a bit more of a commercial mindset. It's always good value for money to have someone stand up in front of a room full of people used to always-on, uncapped, 50+Mb/sec internet connections and ask them to think about how well their stuff works when you have a modem-speed connection that's maybe accessible for a couple of hours at a time...

There were lots of other good sessions, a GNOME release party, and of course the hallway track was in full effect; it was great to see Bryan and Matthias and a bunch of other folks, and good to meet lots of new people too.

I did a slightly condensed and probably somewhat garbled version of the openQA presentation I gave with Richard Brown at LFNW this year, and talked to several folks about how openQA could possibly be useful in testing; Sri and Richard and I agreed that we could try and set up openQA testing of GNOME Continuous builds, if we can all find a bit of free time to work on it.

Overall it was a great event and I'm glad Sri convinced me to poke my head out of my apartment for a few days :) It should be back bigger and better next year, so do consider coming along.

X crash during Fedora update when system has hybrid graphics and systemd-udev is in update

Hi folks! This is a PSA about a fairly significant bug we've recently been able to pin down in Fedora 24+.

Here's the short version: especially if your system has hybrid graphics (that is, it has an Intel video adapter and also an AMD or NVIDIA one, and it's supposed to switch to the most appropriate one for what you're currently doing - NVIDIA calls this 'Optimus'), DON'T UPDATE YOUR SYSTEM BY RUNNING DNF FROM THE DESKTOP. (Also if you have multiple graphics adapters that aren't strictly 'hybrid graphics'; the bug affects any case with multiple graphics adapters).

Here's the slightly longer version. If your system has more than one graphics adapter, and you update the systemd-udev package while X is running, X may well crash. So if the update process was running inside the X session, it will also crash and will not complete. This will leave you in the unfortunate situation where RPM thinks you have two versions of several packages installed at the same time (and also a bunch of package scripts that should have run will not have run).

The bug is actually triggered by restarting systemd-udev-trigger.service; anything which does that will cause X to crash on an affected system. So far only systems with multiple adapters are reported to be affected; not absolutely all such systems are affected, but a good percentage appear to be. It occurs when the systemd-udev package is updated because the package %postun scriptlet - which is run on update when the old version of the package is removed - restarts that service.

The safest possible way to update a Fedora system is to use the 'offline updates' mechanism. If you use GNOME, this is how updates work if you just wait for the notifications to appear, the ones that tell you you can reboot to install updates now. What's actually happening there is that the system has downloaded and cached the updates, and when you click 'reboot', it will boot to a special state where very few things are running - just enough to run the package update - run the package update, then reboot back to the normal system. This is the safest way to apply updates. If you don't want to wait for notifications, you can run GNOME Software, click the Updates button, and click the little circular arrow to force a refresh of available updates.

If you don't use GNOME, you can use the offline update system via pkcon, like this:

sudo pkcon refresh force && \
sudo pkcon update --only-download && \
sudo pkcon offline-trigger && \
sudo systemctl reboot

If you don't want to use offline updates, the second safest approach is to run the update from a virtual terminal. That is, instead of opening a terminal window in your desktop, hit ctrl-alt-f3 and you'll get a console login screen. Log in and run the update from this console. If your system is affected by the bug, and you leave your desktop running during the update, X will still crash, but the update process will complete successfully.

If your system only has a single graphics adapter, this bug should not affect you. However, it's still not a good idea to run system updates from inside your desktop, as any other bug which happens to cause either the terminal app, or the desktop, or X to crash will also kill the update process. Using offline updates or at least installing updates from a VT is much safer.

The bug reports for this issue are:

  • #1341327 - for the X part of the problem
  • #1378974 - for the systemd part of the problem

Updates for Fedora 24 and Fedora 25 are currently being prepared. However, the nature of the bug actually means that installing the update will trigger the bug, for the last time. The updates will ensure that subsequent updates to systemd-udev will no longer cause the problem. We are aiming to get the fix into Fedora 25 Beta, so that systems installed from Fedora 25 Beta release images will not suffer from the bug at all, but existing Fedora 25 systems will encounter the bug when installing the update.