Automatically Reconnect a Bluetooth Device in KDE Plasma 5

If  you’re having issues getting your Bluetooth device to automatically reconnect between KDE sessions (or rebooting your computer), try opening a terminal (e.g. Konsole) and clear the contents of your /var/lib/bluetooth directory. After doing this you will need to restart the bluetooth daemon. For reference, in a Gentoo/Funtoo system, the following will accomplish this:

rm -rf /var/lib/bluetooth/*
/etc/init.d/bluetooth restart

Note that the above needs to be run as root (or use sudo). After removing the contents of your /var/lib/bluetooth directory, you will need re-pair your device in the Bluetooth manager. When paring your device, make sure it is set a trusted device.

Now, KDE should automatically reconnect the Bluetooth device after rebooting your computer. Note that the device may not reconnect until after you have logged in. To reconnect sooner, try using a command line Bluetooth device manager.

-John Havlik

[end of transmission, stay tuned]

Calling the Breadcrumb Trail

There are several ways of calling Breadcrumb NavXT’s breadcrumb trail. The first decision is between using the included widget, or calling one of the bcn_display* functions. This guide covers some examples for calling the breadcrumb trail using the bcn_display() function.
Continue reading

Remove the Link in a Breadcrumb

A topic that comes up time to time in support requests is how to unlink a breadcrumb. Typically this is due to having an empty page that exists to facilitate a logical hierarchy. Naturally, linking to this blank page in the breadcrumb trail is not useful. While it is bad form to have a breadcrumb in the breadcrumb trail that is not linked, there is a filter that can facilitate this behavior.

The presented solution is a simplistic example for a single page. However, it can be extended for multiple pages, or taxonomy terms. Finally, rather than being hard-coded, the IDs could come from a post_meta/term_meta field.

The Code

add_filter('bcn_breadcrumb_url', 'my_breadcrumb_url_stripper', 3, 10);
function my_breadcrumb_url_stripper($url, $type, $id)
{
	if(in_array('post-page', $type) && (int) $id === MYPAGEID)
	{
		$url = NULL;
	}
	return $url;
}

After placing this code into your site specific plugin, you will need to update one part of it. Just replace MYPAGEID with the ID of the page you want to remove the link to. That’s it. Simple, right?

-John Havlik

[end of transmission, stay tuned]

Link to a Page Rather Than the Category Archive in a Breadcrumb

A topic that frequently comes up in the support forums is how to have a breadcrumb representing a category link to a Page (instance of the Page post type) rather than a category archive. Since this is not natively supported by WordPress, Breadcrumb NavXT does not natively support it. However, there is a filter that can facilitate this behavior.

The presented solution is a simplistic example for a single category. However, it can be extended for multiple categories, or taxonomy terms. Finally, rather than being hard-coded, the IDs could come from a term_meta field.

The Code

add_filter('bcn_breadcrumb_url', 'my_breadcrumb_url_changer', 3, 10);
function my_breadcrumb_url_changer($url, $type, $id)
{
	if(in_array('category', $type) && (int) $id === MYCATID)
	{
		$url = get_permalink(PAGEID);
	}
	return $url;
}

After placing this code into your site specific plugin, you will need to update two portions of it. Replace MYCATID with the ID of the category you want to change the link on, and replace PAGEID with the page you wish for the breadcrumb to link to. That’s it. Simple, right?

-John Havlik

[end of transmission, stay tuned]

Working Around “[drm] stuck on render ring” on Intel GMA

After acquiring a Broadwell generation Core i3 NUC (the NUC5i3RYK to be exact) and installing Linux, KDE/X.Org would lockup and crash frequently. Checking dmesg, the following messages appeared:

[drm] stuck on render ring
[drm] GPU HANG:…

From the dmesg report, it is clear the crashes were caused by the GPU hanging. After further inspection of the dmesg logs, it appears this is due to a bug between Intel’s graphics and IOMMU drivers. The easiest way to work around this is to disable Intel IOMMU support.

Since I had compiled IOMMU support into my kernel, removing IOMMU support involved a kernel recompile. When configuring your kernel using menuconfig, make sure that “Support for Intel IOMMU using DMA Remapping Devices” under “Device Drivers > IOMMU Hardware Support” is unchecked. This is equivalent to ensuring that INTEL_MMU = n in your .config file. For the NUC, that was all that was required to keep the GPU driver from crashing and taking X.Org and KDE down with it.

-John Havlik

[end of transmission, stay tuned]