I Guess it’s Back to Gentoo Then

To preface this post, it was started as a draft a few months back titled “Back to Gentoo”. At the time it was obvious all was not well in Funtoo land, and for my specific use cases, it was no longer serving its purpose. In the mean time, the BDFL of Funtoo officially discontinued the Funtoo project back on July 26th, 2024 and later revised its status to “hobby mode”.

Funtoo was fun, until recently, when the wheels just fell off. Between stupid errors like new .0 releases of packages not knowing that the distributed files remove the .0 (so the source isn’t found and the build fails), and progressively worse Wayland and KDE support Funtoo is no longer fun. Oh, and Docker broke.

In my opinion, the one thing Funtoo did better was a much better profile system. Funtoo used a layered profile system which had “mixins” which you used to specify what you wanted the system to be. Using intel graphics? Use a mixin. Using KDE plasma? Use a mixin. It essentially was an abstraction of the USE flag system, which was more focused on use cases instead of low level features. The beauty being, if a package’s USE flags changed, you didn’t end up in circular dependency resolution hell quite as often.

Gentoo doesn’t have this. In Gentoo you pick a single profile (so Gentoo has a lot of profiles to handle the various configuration permutations that exist). This isn’t great, it doesn’t scale, and, honestly, it’s a mess. That said, after setting up two servers with Gentoo, I think I can get over the clunky profiles. I took the time to actually setup a distribution kernel with custom config.d overrides. Now, kernel updates are almost painless. While Funtoo had a way of doing the same thing (managed custom kernel config, build, and install), my insistence on using efistub precluded using it, so I had been using genkernel.

Next up on the migration docket are a couple of HTPCs that are not able to run Steam OS, and finally my daily driver laptop (well, if I’m being honest, it’s about time to replace the laptop anyways as the battery is starting to reach the end of its useful life).

-John Havlik

Breadcrumb NavXT 7.3.1

This is the first, and hopefully only, bug fix release of the 7.2 branch of Breadcrumb NavXT. This release features three bug fixes. Two bugs involving the new behavior of $force when used on breadcrumb trails called within the loop were fixed. The first caused the incorrect template to be used when $force was set to false. The second bug was the $force parameter was not always passed into the bcn_breadcrumb_trail::fill() function. Lastly, an incorrect translation textdomain within adminKit was fixed.

-John Havlik

The Intel Arc A310 in the HP Proliant MicroServer Gen 8

The somewhat popular HP MicroServer series has been an excellent starting point for all sorts of home lab experimentation. They are particularly well suited for acting as a media server (using Plex, Jellyfin, or others). While CPU transcoding will suffice for a steam or two, it will heavily tax the CPU. Hence, the popularity of GPU transcoding (NVENC and QuickSync).

Thanks to HP’s design decisions, the MicroSever Gen 8 does not enable the iGPU present on many Intel CPUs. What makes this an unfortunate decision is the MicroServer Gen 8 uses the LGA1155 socket—the consumer oriented socket where most of the CPUs, including the Xeons, have integrated graphics. Instead, a Matrox G200EH handles basic VGA duties. Which is a shame, the iGPU in the Ivybridge generation CPUs is not only more powerful, it also has QuickSync for transcoding acceleration. While this is disappointing, the MicroServer Gen 8 does have a PCIe x16 slot (PCIe 2.0).

Continue reading

Breadcrumb NavXT 7.3.0

Holy revamped block Batman! Introduced originally in 6.3.0, the Breadcrumb Trail block has been rewritten in 7.3.0 to have feature parity with the Breadcrumb NavXT widget. This includes the ability to set the breadcrumb output order, output format, and whether or not the breadcrumbs are linked. Additionally, basic styling support via the editor was added.

On the bugfix front, the settings export/import function was updated to fix issues with handling boolean settings. Previously, if a boolean had a default value of ‘true’ it’s value would get lost in the export/import process. The recently introduced $outer_template parameter for the bcn_display() functions now actually works (it accidentally was dropped). display_json_ld() now produces unescaped Unicode JSON, which is easier to read (and given JSON is supposed to be Unicode text, escaping Unicode didn’t make sense). Lastly, a couple of data sanity checks are performed to reduce PHP warnings and errors when 3rd party code breaks the WordPress API.

-John Havlik