Strange problem with Powerdevil

It’s not a kernel problem - otherwise other tools should not work either (and as you know what “cpufreq” and “kosd” are doing you may also obtain by a simple “echo 1 > /proc/…” to the corresponding CPU/LCD file, etc.). As well seems I’m already using default kernel:

# rpm -qa | grep kernel

As well I’ve installed 11.2 from the LiveCD - and what is curious it worked first few hours after installation, probably just before first additional packages installation (seems they are auto listed in Yast to complete CD setup, etc.)

I think there simply something broken in communication between Powerdevil and Battery widget… Is there any way to send/receive Powerdevil orders from the command line? (if I remember well, many KDE daemons are able to do such things…)

And now how did I fix it… :slight_smile:

First of all, there are DBUS commands interface, and several commands are available for Powerdevil:

$ qdbus org.kde.powerdevil /modules/powerdevil
signal void org.kde.PowerDevil.DPMSconfigUpdated()
method QVariantMap org.kde.PowerDevil.getSupportedGovernors()
method QVariantMap org.kde.PowerDevil.getSupportedPollingSystems()
method QStringList org.kde.PowerDevil.getSupportedSchemes()
method QVariantMap org.kde.PowerDevil.getSupportedSuspendMethods()
signal void org.kde.PowerDevil.lidClosed(int, QString)
signal void org.kde.PowerDevil.profileChanged(QString, QStringList)
method void org.kde.PowerDevil.refreshStatus()
method void org.kde.PowerDevil.reloadAndStream()
method void org.kde.PowerDevil.setBrightness(int)
method void org.kde.PowerDevil.setGovernor(int)
method void org.kde.PowerDevil.setPowersavingScheme(QString)
method void org.kde.PowerDevil.setProfile(QString)
method void org.kde.PowerDevil.setUpPollingSystem()
signal void org.kde.PowerDevil.stateChanged(int, bool)
method void org.kde.PowerDevil.streamData()
method void org.kde.PowerDevil.suspend(int)
method void org.kde.PowerDevil.turnOffScreen()
method QDBusVariant org.freedesktop.DBus.Properties.Get(QString interface_name, QString property_name)
method QVariantMap org.freedesktop.DBus.Properties.GetAll(QString interface_name)
method void org.freedesktop.DBus.Properties.Set(QString interface_name, QString property_name, QDBusVariant value)
method QString org.freedesktop.DBus.Introspectable.Introspect()

And for example to set your screen brightness to 75% you may just type:

$ qdbus org.kde.powerdevil /modules/powerdevil setBrightness 75

And you may involve all other actions as well.
However, in my case nothing happened :-))

And after that I supposed there is something goes really wrong on DBUS interface if the Powerdevil service is running but no message/signal sent…

So far, I’ve stopped KDE session, switched to the console and simply restarted DBUS (as root user):

# /etc/init.d/dbus restart
# /etc/init.d/network restart

NOTE: I’ve also restarted the network because NM is loosing its communications on DBUS restart.

And after that - everything is working as expected!!!

Thanks a lot for all given help - even if it did not help to resolve my problem at least I’ve upgraded to KDE 4.3.4! :-)) As well I’m happy to find the fix - probably it’ll help others too…


Restarting “dbus” is not really good, even it partially solving the problem.

The real final fix was to edit my .xinitrc file end replace



exec ck-launch-session $WINDOWMANAGER

Note: I don’t use kdm/gdm/xdm, I’m starting my X session from console via “startx”. In case you’re using KDM it’s better to avoid to have .xinitrc in your home.

So, finally the problem was with missing PolicyKit/ConsoleKit session corresponding to my X session.

BTW, it seems the similar problem sometimes happens also with KDM and it’s still unclear why… - one of the symptoms is observing several ConsoleKit sessions started for the same X screen (seen with “ck-list-session” command).

But for me everything is working just fine now! :slight_smile:

Thanks again!