I won't regret anything I say. Why would people care what I think anyway? -- Alexz Johnson, Trip Around the World

Rebirth

And we’re back. Ish. I guess. Getting there. My new computer arrived Saturday evening. Keep in mind that when the old computer died, I slapped the hard drive into an ancient laptop with a quarter of the ram, and it basically just booted up and aside from it not having enough horsepower, the main issue I had was convincing it which screen to use. So I figured this would be a snap. I popped the hard drive from the old one in and fired it up…

Now available in Right-Side-Up.

Yeah of course nothing is ever easy. First, I spend ten minutes figuring out that the old hard drive uses MBR and the new computer defaults to UEFI, so I had to figure out how to change the bios settings to use the legacy boot mechanism. It finally made it to the Linux desktop… And showed me a warning that it was using software rendering because it didn’t know what to do with the GPU.

This is a Small Form Factor machine marketed as a digital signage player. It can output ridiculous resolutions, but it’s not a super powerful GPU: it’s an on-board Intel chip, same as the old one. I wasted too much time on the assumption that the week my OS had spent Rob Schneidering in a laptop had just donked up the video settings, because you get very little feedback about why you aren’t using hardware acceleration, just that you aren’t and it’s bad.

And it’s bad. This thing was pegging its 8-core i7 4.7 Ghz processor to literally do nothing but show me a terminal window. Also, sound didn’t work, because we live in the HDMI era and sound is a function of video. The usual answer is, “You need to install card-specific video drivers,” except that’s what happens if you have a Fancy GPU, not if you have normal on-board Intel video. There’s an applet you can pull up to check for hardware drivers, and it just told me I didn’t need any, which is what I expected: Intel video drivers are built into the kernel. Finally – possibly after I started this process – I noticed that there’s a specific “Ask the Intel GPU how it’s doing” command, and I ran that. And it failed, which was kinda predictable, but it failed in a useful way: with the message that the 630-series video chip I had was not supported until the Linux kernel 4.15. I’d recently updated the OS on that box, but only to a 2018 version, and its kernel was 4.4. So, roll forward from Linux Mint Sara to Sylvia. No help. Sylvia to Tara. Tara to Tricia. Tricia has a 4.15 kernel but it still doesn’t work. I am on the edge of a breakdown. Both of my children are pestering me because their network-attached music players don’t work because the computer that serves the music database is broken. Push it to Ulyana and it still doesn’t work. But finally, as I am about to cry myself to sleep, I see that there’s an upgrade outstanding: a 5.4 kernel. What the hell, I think, and install it.

Boom. Video drivers work now. Of course, I’ve basically Buck Rogers’d this computer through the whole of the modern “Make potentially system-breaking updates every six weeks” era, so my video card works, but basically nothing else does now.

The upgrade process itself had a few hiccups. Namely:

  • So, upgrading between an OS release in most linux distributions is a little bit of a hack; they’d really prefer you start fresh each time. My systems are generally bespoke enough that I do not wish to do that if I can avoid it. In my distro of choice, Mint, there are two forms of upgrade. The upgrade between minor versions is easy, you just pick “Yes I really want to do the dangerous thing” from the update manager. If you’re on the last minor version, you have to use a special alternative updater to go to the next version. So there is a lot of alternating back and forth, and every time, it disables some stuff and removes some stuff and warns you that it could easily destroy you and everyone you care about. Starting with Mint 19, you are required to have one specific backup program installed. You’re not required to use it. Just have it. It checks and refuses if you don’t.
  • Also you have to switch from mdm to lightdm when going from 18 to 19. It will walk you through this but it will not explain that just replacing mdm with lightdm won’t leave you with a working computer. Because you also need to install and configure a “greeter” for lightdm. The default lightdm greeter is super ugly. Also, automatic logins work differently in lightdm, and no one will explain this to you either. Even if you configure a particular user to auto-login, it will just not do it and not tell you why unless the user is also part of the autologin group.
  • I use a package called nut to monitor the status of my UPS. This isn’t the first time I’ve run into this on an upgrade: one of the nut config files gets replaced with a stock version which defaults the minimum number of power supplies to 1, and it won’t start like that. I think the deal is that the updates are asynchronous, so when you start it, there are always zero power supplies connected until the first update completes, so restarts always fail in that configuration. This prevents updating the packages.
  • The mysql options relating to the query cache size are not supported any more, so the mysql server wouldn’t restart until I edited the config file. This prevented anything which depends on mysql from updating.
  • By the way, at some point mysql decided that “system” is a reserved word. Hope you weren’t using it as a column name.
  • Also, at some point mysql decided a SELECT DISTINCT query could only sort on fields you were selecting on. Hope you weren’t doing functions on them
  • I have a highly customized version of mythtv, so I don’t want to reinstall the stock version. The installer of course replaced my init scripts to start the default version, which was easy enough to fix. Harder was the fact that half the dependencies are no longer available, most notably, the Qt 4 libraries are just gone. You should be using Qt 5. You rely on something which hasn’t been updated for Qt? Well fuck you then. I found a PPA here that had forward-ports  of everything I needed except the MySQL driver. For that, I just downloaded the package from an older Debian and forced it to install despite the dependencies not being right. This required hand-fiddling the dpkg database.
  • There is also a dependency on an older version of VAAPI. I just made a symlink from the old filename to the new one and seem to have gotten away with it.
  • Or maybe not. Mythtv is working as well as ever except whenever I try to use the OSD api to pop a message up on screen, the frontend crashes. It displays the message, sure, but it crashes right after. No clue why; the logs are incredibly unhelpful about this, refusing to provide me with a stack trace or anything.
  • Synergy is an application for sharing a keyboard and mouse across multiple computers. This is a huge deal for a media center-type computer where you don’t want to have to walk over to the keyboard all the time. And it too is gone. Apparently the Synergy developers are dicks or something? Anyway, I managed to find a compatible package here.
  • The music player daemon’s config file was quietly replaced with a non-functional one. Joy.
  • Perl libraries I installed from apt survived fine, but ones where I had to get them out of CPAN did not. So I have to manually reinstall ZOOM, a protocol used by the library of congress, because I’ve got some CGI scripts running that need it.
  • Speaking of CGI Scripts, systemd now runs apache with a private /tmp, so CGI scripts can’t drop files there for someone else to use. And sure, that is a reasonable security thing to do, but a little warning would’ve been nice.
  • Might as well mention since I’ll need it next time I do this dance: you need to blow away clearlooks-phenix or else any time you forward an X window, its GTK theming will be all donked up
  • Also you need to recreate root’s .XAuthority by doing xauth list as the logged in user and then dumping that into xauth add with sudo.

Almost everything is mostly-working now. Still haven’t gotten the notification popups to not-crash, but you can’t have everything. The new box is much peppier, has a huge amount of ram, and can be mounted right-side-up without making a grinding sound, so I think this will do me for a while.

I hope.

2 thoughts on “Rebirth”

  1. Belated sympathies. (I paused the RSS feed when the blog was having problems in July and apparently didn’t turn it back on until now).

    Also, mpd is great isn’t it?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.