Saturday, November 21, 2015

OSX high CPU UserEventAgent process

This one might save someone some searching :-)

I can't remember when it started happening but the UserEventAgent process started using 90 to 90% CPU so basically stealing one core all the time.

I thought it was related to a whole lot of things that turned out to be red herrings.

In my case it was TeamViewer causing it.  Uninstall TeamViewer and it spikes but generally sits at 0% rather than 95%.

Some Googling found one particular plug in related to certificate verification that the UserEventAgent uses caused their high CPU usage so maybe some Apps just make it go nuts.

Saturday, November 7, 2015

Upgrading the SD Card on a Raspberry Pi

Well this turned out to be a whole lot easier than I thought :-)

I had an old card from a version 1 Raspberry Pi and had just moved it to a version 2 board. It's a little mail, DNS etc server and stalls occasionally especially when fail2ban is starting as that goes through all the syslogs etc looking for failed logins.  Top showed way too much waiting for disk time so it was time to investigate.

I brought a new SDCard (bigger was my first goal as mail expands) and an SDCard reader and started playing.  Well, boy is SDCards one of those things you don't know what you don't know. It's just a little card you chuck in your phone or camera?  No way.

There is so much forwards, backwards compatibility and huge variations in speed.

I bought a MicroSD HC UHS class 3 card. Benchmarking showed this seemed to be limited by USB2 speed but was already three to five times faster than the old card but would the Ra Pi read it?

The easy part was moving the data from the old card to the new one.  There are 3 partitions (well 3 actual,  4 logical) on the old card. Oddly you have

RECOVERY a 1.5 GB fat32 partition then
and extended partition that has
BOOT a 64MBish fat32 logical partition and
root a 6GB ext4 logical partition and
SETTINGS a small ext4 partition.

They could have avoided using logical partitions all together but I guess it give easy expansion.

The actual transfer from the old card to the new card was as easy as mounting both, starting GParted and copy and paste the partitions.  That is a fantastic piece of software. Literally right click, copy from /dev/sde and paste /dev/sdf and adjust the size of the root partition to use the rest of the free space and it's done.

Plugged the card into the Raspberry Pi 2 and started it up.  Looked good! The disk light flashed and it seemed to boot.  The access seemed briefer if that is the right word.  It used to flash and stay on a few seconds at a time during boot but it was less than a second for each pulse now.

By the time I logged in (it's headless in the garage so this is about 1 minute later)  it had started and fail2ban had started so it was way quicker.

This is all anecdotal but it feels quicker and the Ra Pi 2 seems to be happy with the new cards.  I'm not sure how much the Ra Pi wears an SD card so replacing them every so often seemed sensible.

Saturday, October 31, 2015

Video card upgrade time

I thought it was time to upgrade the old video card which was a Power Color ATI 5770 1GB.

I had a bit of a look around and thought I'd stick with AMD/ATI which may or may not be wise but I know the issues I've had and resolved with ATI.

I looked through the support forums and settled on an R9 380 2GB from ASUS. It seems to be well supported in the latest kernels and they've developed an new driver (amdgpu vs radeon) so I'd imagine it's going to get way better over the next few months.

It plugged in easily enough (double slot sized card) and first thing you notice is this is quiet.  The 5770 was noisy at idle and very noisy when playing games. I've only played TF2 but I can't even hear if the fan on the video card is going over the CPU fan now. The CPU fan is an Arctic Ice one so it larger and slower than standard and so usually pretty quiet. Downside is TF2 was more slightly choppy than it had been on the 5770 so it looks they still have some optimising to do but this is early releases of the driver for kernel and xorg.  OpenGL is now 4.1 from 3.3 with the old card so more games work.

On Gentoo you add radeonsi and amdgpu to the VIDEO_CARDS list in make.conf and do a emerge -DuN @world to update Mesa, xorg drivers etc. emerge the amdgpu-ucode files and add them to the kernel and you're done.

I'll add more as I play more and as new drivers come out but so far it works and is quick enough to play games and has plenty of potential to improve.

Saturday, September 5, 2015

Mincraft Gentoo 64 bit

I recently upgraded to Gentoo 64 bit and generally it's been great.  Dropped LVM and just used partitions at the same time and it feels generally a bit quicker. A few issues with Steam but they've been resolved in another post.

Minecraft was the one thing that still didn't work.

It needed one extra install to make it work.

emerge x11-apps/xrandr

Once this was installed it worked fine otherwise it crashes with errors like:

OpenGL: ~~ERROR~~ RuntimeException: No OpenGL context found in the current thread.

Friday, July 31, 2015

One man's Windows 10 experience

I was quite excited by this one.  I thought it's windows 9 (they should have left it at 9 not 10) it's the odd numbered one.  It will be good.  It will fix the annoying windows 8.

Got that hugely wrong I did.

I usually live in Linux and boot into a windows 8.1 partition to play some games and the odd app that i can't replace in linux. So I started into windows on the 29th to see if win 10 was available as I reserved a copy.

No sign of it on the 29th, nor the 30th (we're a bit ahead so it's not uncommon for stuff to be a day late for us) so I did a search and found sometimes you have to clear the download folder to get it to download again and run a  cmd command.  Windows update popped up and it said windows 10 is downloading.  Cool.  About 3GB later it said it was ready to reboot so off it went.  First fail.  Waited a while but restart never happened.  I guess that technically is an 8.1 fail but windows 10 was behind it I'm sure :-) After hitting the reset button I was back to 8.1 and no update offer.  Back to the web site, clear the folder run the command again.  We're away.  It'll work this time. yeah, nah.  Not quite.

After 6 tries at this it seemed to work so I started it and went to work.  Weirdly the download got bigger each time by the last time it was 8.3GB.

At least we're under way.  Got home from work and it had installed and was waiting to be set up. So the first question was default of custom settings.  OK custom settings is my usual choice.

Boy that was a good choice.  Every option defaulted to on and every option was we'll send your typing and gestures to microsoft to improve things, we'll send your web history to microsoft to improve your searches, we'll send you typing in search fields to microsoft to improve things.  What a load of bullshit. microsoft want all your data and are just going to T&C to take it.  Wake up people.  Time to switch OSes. If you want any sort of privacy you're in the wrong place. Send your typing to microsoft?  WTF?

It's gets better.  Once all the invasion of privacy questioned were answered win 10 finished it's setup but complained about internet.  OK sometimes it takes a while to connect. So I logged in and there were no network adapters. WTF again? There were three before. So device manager has the devices and says they're OK.  I uninstalled and reinstalled the Wifi card.  Still no adapter.  They're crazy wacky adapters like Intel 7260 Wifi, realtek 8139 and Nvida onboard ethernet.

So I'm back in Linux searching for answers to make my useless windows 10 partition somewhat usable again.

In summary windows 10?  Just say no people. If enough people stick with windows 7 they'll have to keep supporting it. I wish I'd never left it behind.

Update for the no network adapters issue.  I saw a post from a ms tech (sorry I can't find it again to credit him) and if you've had the Cisco VPN client installed on 8.1 and upgrade this will happen.  That won't be many people..

The fix is open a cmd window as administrator

type the commands

netcfg -s n

look for DNI_DNE

if that's there then do

reg delete HKCR\CLSID{988248f3-a1ad-49bf-9170-676cbbc36ba3} /va /f
netcfg -v -u dni_dne

Update 2 full details at

Friday, February 6, 2015

Steam client on Gentoo stops with GL errors

I use the Steam client on Gentoo Linux and recently it stopped working which meant I had TF2 withdrawal :-)

I'm not a programmer so this may be a bad way to fix things but it worked for me. YMMV.

It all started when you launch the steam client it brings up a dialog:

OpenGL GLX context is not using direct rendering, which may cause performance problems

TF2 would not even launch :-(

Launching from a terminal gave me

libGL error: unable to load driver:
libGL error: driver pointer missing
libGL error: failed to load driver: r600
libGL error: unable to load driver:
libGL error: failed to load driver: swrast

After searching through all sorts of things I found an article  about MatLab but with similar errors.

 After doing the:

export LIBGL_DEBUG=verbose

things started to make sense.

libGL: screen 0 does not appear to be DRI3 capable
libGL: pci id for fd 7: 1002:68b8, driver r600
libGL: OpenDriver: trying /usr/lib/dri/tls/
libGL: OpenDriver: trying /usr/lib/dri/
libGL: dlopen /usr/lib/dri/ failed (/home/nick/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/ version `GLIBCXX_3.4.20' not found (required by /usr/lib/dri/
libGL error: unable to load driver:
libGL error: driver pointer missing
libGL error: failed to load driver: r600
libGL: OpenDriver: trying /usr/lib/dri/tls/
libGL: OpenDriver: trying /usr/lib/dri/
libGL: dlopen /usr/lib/dri/ failed (/home/nick/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/ version `GLIBCXX_3.4.20' not found (required by /usr/lib/dri/
libGL error: unable to load driver:

The libstdc++ in the Steam directory was


ls -al /home/nick/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/
lrwxrwxrwx 1 nick users 19 Jul 19  2014 /home/nick/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/ ->

but the r600 driver was now built with

ls /usr/lib/gcc/i686-pc-linux-gnu/4.9.2/*
/usr/lib/gcc/i686-pc-linux-gnu/4.9.2/  /usr/lib/gcc/i686-pc-linux-gnu/4.9.2/

So can you just link the one outside the Steam directory? Delete the link and try..

rm /home/nick/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/
ln -s /usr/lib/gcc/i686-pc-linux-gnu/4.9.2/ /home/nick/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/

Let's try steam

libGL: screen 0 does not appear to be DRI3 capable
libGL: pci id for fd 7: 1002:68b8, driver r600
libGL: OpenDriver: trying /usr/lib/dri/tls/
libGL: OpenDriver: trying /usr/lib/dri/

It says not DRI3 capable but I thoguth it was but no biggie.  No dialog about OpenGL. Getting excited... Launched TF2.  No error straight away and it worked! I was back in Pyro land :-)

Update: I recently made the jump to 64 bit Gentoo and the link command is now different but otherwise it just worked again.

ln -s /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/libstdc++.6 /home/nick/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/

A second link is needed to make some games go (such as Outlast) I'm guessing these are 64 bit

ln -s /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/libstdc++.6 /home/nick/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/

Thursday, November 20, 2014

Raspberry Pi panics on boot with no HDMI

One of the Pis started playing up and it's got some odd symptoms.

Initially it would boot and and then reboot just after the login prompt appeared.  I think that was a process not seeing the hardware it expected and trying to recover but diagnosing this I hooked it up to the monitor to see what was going on.

The odd thing that is since then it won't restart without a monitor attached.  If there is no monitor it kernel panics and says it can't it can't mount the root file system.  I tried hooking up a cable with nothing on the end but that fails as well so it needs to get the information from a monitor to start.

the /boot/cmdline.txt file is

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p6 rootfstype=ext4 elevator=deadline root-wait

I think the problem is root-wait.  This might have got auto corrected when I loaded the file onto the Mac to add init=/bin/sh to do some trouble shooting. It looks like it should be root-wait no hyphen.

Looks to be sorted now.  So be careful editing that file on machines that want to auto correct things.