Bustle

April 15, 2010

While working on the Gnome overlay with the Gnome team, I decided to give Empathy a go.  I talk to maybe 3 total people on AIM, and no one on Yahoo, which just leaves me with Jabber (Gmail) contacts that I actually talk to.  So I installed it, I even enabled webkit so that I could use Adium themes with it (I personally prefer Stockholm, just be sure to look inside the folder and only move the style into the right place.)

It was kind of a disaster.  I’m running on a Quad Core, 2.4ghz machine, and double clicking on a contact would take up to 25 seconds for the window to show up.  I was not a happy camper.  Watching htop, I could see that my DBus session bus was working hardcore.  100% cpu usage on 1 core.

No problem, I thought to myself, whipped open my handy terminal, ran “dbus-monitor –session” to watch the traffic that was causing it to use so much cpu and…. nothing.  Zilch.  There was no (apparent) traffic going on but the session bus was still using 100% cpu.

I popped over to the Gnome bugzilla, and started reading through bugs, but none were coming close to what I was seeing.  In desperation, I turned to the faithful Google.    And I searched… and came up empty – not so much empty as simply results that weren’t helpful at all.

I let it go for a few days, asked a couple people if they were having any issues, and most don’t use Empathy, so that was a bust.  Then I was looking around while I was “at work” which really meant I was sitting in the office as opposed to my room using the computer, and I came across Bustle; http://willthompson.co.uk/bustle/

Bustle is very nice, in that it can show you timings.  Once I had that compiled, I used Recordmydesktop to take a video of me using Empathy, with Bustle running, logging everything that went on with Empathy.  Then I popped in to the Empathy IRC channel (#empathy on irc.gnome.org) and mentioned in the channel that it was taking a long time for my IM windows to open, and pointed them at the video ( http://dev.gentoo.org/~steev/files/empathy-dbus.ogv (21MB)) and then at the two screenshots of Bustle ( http://dev.gentoo.org/~steev/files/screenshots/empathy-bustle1.png andhttp://dev.gentoo.org/~steev/files/screenshots/empathy-bustle2.png ), and Danni replied to me, asking why I was using the logger, when it shouldn’t be enabled.  So I disabled it, and removed telepathy-logger from my system, re-compiled Empathy, and sure enough, the IM window pops up instantly.  I’ve removed the dependency as well as got rid of the useflag (with a note in the ebuild about why) and committed it to the Gnome overlay.  Due to Danni saying that no one should be using telepathy-logger, I’ve also package.masked it in the Gnome overlay.  I must say, using Bustle is *very* nice, and I’d like to thank Will Thompson for writing it.

I also smiled at the “How?” section of the Bustle website, considering that was the exact purpose for me downloading it.

I’m hoping to write an ebuild for Bustle, and apparently it is really easy to do with Haskell as the Gentoo Haskell team has a script that you run that will write the ebuild for you.  I haven’t started working with it yet, but I definitely plan to, as Bustle is now definitely on my radar for usage in debugging what is going on with apps and their DBus usage.


Rocks, as presents…

April 6, 2010

Gentoos build their nests out of rocks, which are then jealousy guarded. Particularly nice rocks are offered as gifts by male Gentoos to females to curry favor.

All this time my ex’s thought I was just being cheap… 😉


Deauthentication Reason Codes

March 31, 2010

Client Reason Code…Description…Meaning
0…noReasonCode…Normal operation.
1…unspecifiedReason…Client associated but no longer authorized.
2…previousAuthNotValid…Client associated but not authorized.
3…deauthenticationLeaving…The access point went offline, deauthenticating the client.
4…disassociationDueToInactivity…Client session timeout exceeded.
5…disassociationAPBusy…The access point is busy, performing load balancing, for example.
6…class2FrameFromNonAuthStation…Client attempted to transfer data before it was authenticated.
7…class2FrameFromNonAssStation…Client attempted to transfer data before it was associated.
8…disassociationStaHasLeft…Operating System moved the client to another access point using non-aggressive load balancing.
9…staReqAssociationWithoutAuth…Client not authorized yet, still attempting to associate with an access point.
99…missingReasonCode…Client momentarily in an unknown state.

Just posting it here for future reference


gpu_z430

March 26, 2010

Out of curiosity, I ran strings on the binary drivers for the Efika MX’s gpu.

gsl.ko:

license=Proprietary
description=GSL driver
author=Advanced Micro Devices Inc.
depends=

gpu_z430.ko:

license=Dual BSD/GPL
description=Device driver for AMD 3D graphics core
author=Advanced Micro Devices Inc.
depends=gsl

Anyone happen to know where to find the GPL source for that gpu_z430 module?


Efika MX

March 26, 2010

So, I have an overlay set up for the Efika MX.  If anyone out there has one, you are free to use it, keep in mind that some of these ebuilds are very rough and some (imx-lib) are perfect examples of how not to write an ebuild 😉

I’ve got it hosted on Github, http://github.com/steev is the main page.  There *are* other packages than just Efika MX related, simply because I use it for keyword testing, as well as for a few things that I want on the Efika MX without enabling some other full overlay.

What I currently have working is :

Xorg 1.8 RC2 (xorg-server-9999, mesa-9999, libdrm-9999) 2D acceleration in X, still no 3D driver yet (I’m watching the msm kernel closely as the video card in the Efika MX *seems* to be the same one that is in a Snapdragon.)

I need to write an ebuild for the Ralink driver for wireless.  I’m not a huge fan of it, but having used it, it DOES work.  My own attempts at getting the one in staging for the kernel by backporting the 2.6.34 stuff ended in lots of kernel panics and divide by zero errors.

TODO:

Clean up the current ebuilds, make sure they do the right thing.

Ebuild for Ralink driver Thanks to Arnaud Patard from Mandriva, this isn’t needed as he got the rt2800usb in-kernel driver working.

Ebuild for the binary amd-gpu driver (this one is more along the lines of copying a bunch of files into the right place(s))

Look into what is needed to get the fsl_linux_sdk_codec_1.7.1 installed and working, and then write ebuilds.  A preliminary glance at the contents shows 3 tarballs, and a PDF.  One of the tarballs is just docs, the other appears to be a gstreamer plugin, so that shouldn’t be too difficult to compile itself, however the fsl-mm-codeclib Makefile looks like its going to make baby jesus cry.

Other things I’d like to do:

Move the Efika MX into my room, out of the office, which would put it on a different switch in the home network.  This would also put it on a slightly smaller monitor since it is currently plugged into the DVI input of one of my monitors used for work.

Get the PPC Efika back up and running – the main issue here is the lack of an outlet to plug it in.  This last one will probably have to wait for spring cleaning to come around, as I know I have some more UPSs in the garage, I just don’t remember where.


Xorg and udev (redux)

March 23, 2010

So it has been a bit over 3 years since my last post here…  And oddly enough, it is quite similar to my previous post.

Xorg 1.8 should be coming soonishly – using the scm version gives the awesomeness that is Xorg with hotplugging, without hal (hooray!)

In order for it to work though, you do need a very minimal xorg.conf :

Section "InputClass"
     Identifier "default"
     Driver "evdev"
EndSection

Alternately, with git, xorg-server supports /etc/X11/xorg.conf.d – I’ve got that little snippet in a file in there called 90-input-default.conf

Hattip: “iamben” on freenode: #gentoo-desktop


Xorg Input hotplugging and me…

November 7, 2006

Okay, whilst attempting to shirk my responsibilites (read fix pam_console’s root.audio issue (I hate sed… not so much as I hate it, as it hates me and refuses to EVER work for me properly until I have struggled with it for about 3 days) 😉 ) I saw a Planet post from Daniel Stone, about *gasp* input hotplugging in Xorg. And I thought to myself, OMG MUST HAVE NOW. So, being as I idle in #gentoo-desktop on freenode (well, not always idle, but for the most part I do) I popped open the channel, and fired off a message to Donnie and Josh, to ask them about it. Turns out, Josh (or maybe it was Donnie) had added the snapshot to Portage already (that would be xorg-server-1.2.99.0) and so being the adventurous person that I am (and never really minding a broken box) I immediately unmasked it… and fail. It didn’t want to build because of a missing $(DBUS_LIBS) (since fixed) and, then Josh mentioned to me that I will want to update my device drivers as well, to the latest – which I did, luckily, I don’t use too many, xf86-input-{keyboard,mouse,evdev}

This is where the magic starts to happen… Okay, so finally have xorg-server-1.2.99.0 installed, xf86-input-keyboard-1.2.0 installed, and the evdev and mouse… and so I fire off startx (because you know, want to make sure it even works…) and fail. With a dbus error! Oh noes! What am I to do… well, lets see, its a dbus error, restart dbus? Nah, that wouldn’t fix it, I am using the new and improved dbus, no need to restart when new configs show up… Oh, I know – does it even HAVE a config… I seem to recall the planet post mentioning something about the policy not being set in stone…. so I look in /etc/dbus-1/system.d and nope! Hrm, ok, so, is there even a config file?

Pop into ~/sandbox (which is where I store everything I want to play with 😉 (hat tip Compnerd)) and extract the xorg-server tarball to look around at the files… Success! There it is – xorg-server.conf. Pop into irc again and mention it to Josh, who promptly (or not promptly, im really not sure as I am playing with a new toy weeeeeeeeeeee!) fixes it to install. And, then I issue startx as for me, I am not gonna recompile xorg-server just to copy over a .conf file – and… SUCCESS! Woohoo… Okay, so X is working again, there is my wonderful Gnome desktop looking back at me, saying, please come play with me! And I apologize to it, and say, well, I am sorry, but I must get the input hot plugging working first…

Okay, back to the drawing board… There really isn’t much info on this aside from some posts on the mailing list and the planet posts (which, have mysteriously disappeared from my cache 😦 ) so… Google it is – aha! I need something called respeclaration… Okay, time to search it out – being as Mr. Daniel Stone is on fdo, I check there first – yep, its a git repo… great… I suck at using git… Every attempt to check it out gives me an EOF, which I have no idea what it means, aside from the fact that its NOT ON MY SYSTEM. No problem, I can just download the repo manually (yes, I will do things the hard way when I don’t want to take the time to learn yet) it is only 2 files, and really, I just recreate the Makefile manually, and download the respeclaration.c file. Pop those into the sandbox, and make… success! Woohoo… ok, so, now lets see, input hotplugging…

Okay, we open up the xorg.conf file, and…

*thinks – well, lets see what happens…*

*comments out all the input device infos*

startx

FAIL. Hmm, okay, lets try running respeclaration – oh wait, something about the dbus policy and requiring root in order to add devices – so, lets restart respeclaration as root…

sudo respeclaration –daemon 0.0 (according to the –help its –daemon displaynum)

startx

SUCCESS!

Okay… *loads up xorg.conf to verify that all input devices are in fact disabled in there* Yep… *unplugs usb mouse* *moves the usb mouse after unplugging it because sometimes when working on things I get absent minded and do the extremely obvious to make sure* Yep… *plugs the usb mouse back in and moves it… OMG MY CURSOR IS MOVING <3*

Okay, hmmm, plugs in a usb keyboard… SEGFAULT.

Okay, so input hotplugging isn’t quite ready for primetime (this is xorg 7.3 stuff we are talking about here anyways, 7.2 hasn’t even been released) – but, I want to be one of those people who really makes sure it works, because it has been something I have wanted in X for a very very long time (come on, windows has been able to do this for AGES)

Okay, so, I wanted to be really really sure, I was really doing things right, and I hopped into the xorg development channel to thank daniels, as well as verify that what I was doing was correct…. More info coming soon…


Has it really been that long since I have blogged?

October 27, 2006

Just noticed that I haven’t blogged since August – I know I posted something on my personal site, but nothing on here recently, so lets do some catchup…

DBus is rearing up and getting really close to a 1.0 release.  J5 got tired of waiting for someone to do the FreeBSD patches (and people complain about RedHat not caring about others!) and grabbed a FreeBSD LiveCD, and wrote a couple of things needed, though I believe a couple of things are still not up to snuff (by reading the postings on the ML) and I haven’t had a chance to play with any of it at all.

Someone named SaintDev has popped into the Gentopia channel “recently” (is it really recently, I don’t honestly pay as much attention to IRC as I used to these days, Email is probably better to get ahold of me)  and has been working on the Gentoo backend for NetworkManager.  Speaking of which – I am planning on getting a cvs snapshot into Gentopia’s overlay soon.

Speaking of the overlay – we are no longer on gentooexperimental.org (though many many thanks to BonsaiKitten for hosting us for so long!)  and are now on the official Gentoo site – http://overlays.gentoo.org – No, most of our trac/wiki items are not ported over to it, but the overlay itself is – so those of you who think we have been lying dormant…  we haven’t – at least, not entirely 😉

Also on the DBus front… dbus-sharp… there are new managed bindings, and apparently, a few apps use them already, though alp says they aren’t really ready for prime time.  I haven’t looked into them at all honestly.  And, we also have in Gentopia, the bindings from the previous version of DBus – well, the last monolithic release.  These are not spectacular, and really, even though I wrote the ebuild for them, Genstef is the one who imported them (from my own personal overlay) – and as much as I don’t want to support them, any testing is greatly appreciated.  Assuming we go ahead and put both these, and the other dbus bindings into portage (possibly slotted, possibly just finally kicking the old bindings in the junk) then we can (finally) unmask dbus .9x which is what people have been asking for.

Other than that, on my end, not a whole lot is new.  Oh, I was supposed to goto the Google SoC Mentor Summit, but due to my pos car dying on the way to the airport, I missed my flight.  Leslie even tried to get me onto a later flight, but to no avail.  Alas, I did not get to meet the enthralling Christel, and try to take advantage of her 😦  Oh well, there is always next year!

I have been mainly focusing on work related things lately.  I work for a company that has been around for, quite a while – in fact, at one point there were 100 employees, however, we have downsized (quite a bit!) and there are currently 8 total employees, and most of our sales is done by channel partners (about 70) and one main person here at our office.   Since there is only 8 of us, we all pretty much wear many hats here at work, with mine being mostly technical support for both our Windows clients, and our Linux servers.  Also programming, and research.  At the moment, I am trying to formulate the best way to sync our servers against our database (it syncs against the database and writes a flat file currently – WHEN it actually syncs.)  One thing we want, is the ability to “turn it off” – for example, we have customers who continue to use our machines after ending the contracts with us (and they don’t ship the hardware back to us – but we are working on it!) and so the ability to turn off them getting updates is an important feature.  Currently, my thinking is, rsync, with X.509 certificates, and generating the certificate to be valid for as long as the contract with us is initially, and if they renew, then generate a new certificate for them.  To that end, I have been looking into various ways of making it easier to generate and control them, as it needs to be easy for anyone else, who may follow in my footsteps (not that they would have huge shoes to fill 😉 ) or anyone else here who may have not a clue what they are doing, but can follow a few points and clicks.  Recently, Odyssi was pointed out to me, anyone have any experience with it?  Or know of something along those lines?  Or hell, if you do any rsyncing with authentication, what has worked for you, and what hasn’t – this is the research I am currently doing.

Also, I have picked up a few packages from Seemant recently, as he was simply proxy maintaining them, and I happen to use some of them for my job.  A few of which have some bugs that I have noticed from using them at work (if you use sqsh, don’t enter $ and hit enter!) and I haven’t gotten around to fixing them.  I keep meaning to, but just really busy at work lately, as others have been out sick, and then I was out sick.  Wireless still isn’t working at home, I think I may just bite the bullet and buy a new wireless AP – either that, or get an Atheros based PCI card to put into my pfSense box (or get a WRAP) and use it.  Since wireless isn’t working, I tend to not use the laptops as much at home, since I don’t like to be tethered there.

Work bought me an AMD64 machine as an upgrade for my workstation.  I am having fun learning about all the cool new features (and Firefox compiles in about 30 minutes!)  and I can definitely tell that the response time is better.  Expect some ~amd64 lovin on some packages I add to Portage that aren’t already in now!

I think that pretty much brings us up to speed.  Not sure if I forgot anything.  Lemme know if you have any questions about anything!


Warning to KDE users…

August 19, 2006

I have p.masked dbus .91/.92 in Portage.  So what does that mean?  For Gnomies, nothing, just another version, but for KDE users, your desktop… well, if you unmask it, I am not cleaning up after you 🙂  Seriously, the qt3 bindings are a backport and well, they have changed quite a bit, and as far as I can tell are as unmaintained as the qt3 bindings that were in CVS and upstream doesn’t support them.  Sorry.  Seriously, I am, I really wish it wasn’t this way, because it holds up Gnome waiting for someone to pick up the slack of KDE.  So, if you use any apps that use qt3 D-Bus bindings, please, check your package.unmask file and make sure you aren’t unmasking dbus.  It will save you a lot of trouble.  Now, if you are one of those qt4 people (why I wouldn’t know, but apparently there are people who dig KDE… 😉 )  you can now compile qt4’s dbus bindings because they *should* compile against dbus .91/.92.  I am working on an upgrade guide, but I am also attempting to move the Gentopia stuff from gentooexperimental.org over to overlays.gentoo.org, so it isn’t a priority – at least, not yet.

That is all.


My Overlay

July 30, 2006

So, just about every developer has an overlay, and I am no different.  I actually have around 4 different overlays, that I put things in – things for my computer at work, things that I test before putting into portage, things that I test before putting into Gentopia, and things that I just all around test.  Then I have the other overlays that other people have provided as well.  Well, when Google announced project hosting, I headed on over there and signed myself up for hosting, mainly because of subversion access.  I combined all my overlays into one (almost – I left out the sexy-fonts overlay due to the questionable nature of some of the patches wrt patents) and committed them.  Now it is your turn.  You get to use my overlay finally.  One thing that may be of interest that is in there, is the latest hal, and dbus – which is split out.  Also, there are a few packages in there with patches that are required for the new dbus, since there is one minor change that some apps require (and I haven’t submitted the patches to bugzilla just yet as I am still testing everything out)

Now, I am sure you are wondering, what is the url?  I am getting to that – but the thing is – because of the new dbus in there, I need to provide some instructions.  Mainly because this DOES cause breakage.  Your apps WILL stop working.  I do have a mono bindings snapshot ebuild in there, as well as qt3 bindings (both ebuilds are probably horribly written so now is your time to shine 😉 ) — You WILL need to run a revdep-rebuild after installing the new dbus.  It WILL fail to build apps that actually SHOULD build fine against the new dbus, mainly because for whatever reason (I am guessing the –alphabetical flag) it builds the packages in the incorrect order.  So, after you emerge dbus, the FIRST package you should re-emerge is hal, then avahi if you use it, and THEN everything else should emerge fine – if you have any issues with any packages, take a walk through the overlay, I should have a few apps in there with patches.  Anything that uses the mono dbus bindings will have to be rebuilt – Tomboy is in this list (I *love* tomboy) – and it has been working just fine for me for the past few days, so that is good.  NetworkManager also needs to be rebuilt, dhcdbd needs to as well (Both have patches in Gentopia already but without a revbump as it isn’t truely required unless you are building against dbus .91 (and works fine if you are using dbus .62))

If you have any issues with anything in my overlay, use the issue tracker that Google provides for the “project” – Thanks.

(finally)

My Overlay