New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
radio items and asusctl/asusd support #26
base: master
Are you sure you want to change the base?
Conversation
Is it possible for you to use the dbus interface instead of the cli tool directly? (I'm the asusctl owner) |
@flukejones Sure, I can switch to dbus. It would be great. Does the asusctl's dbus methods documented somewhere? |
@kyokenn no, but it's very easy to get the info:
method return time=1629840916.728590 sender=:1.28 -> destination=:1.175 serial=170 reply_serial=2
string "
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node>
<interface name="org.freedesktop.DBus.Peer">
<method name="Ping">
</method>
<method name="GetMachineId">
<arg type="s" direction="out"/>
</method>
</interface>
<interface name="org.freedesktop.DBus.Introspectable">
<method name="Introspect">
<arg type="s" direction="out"/>
</method>
</interface>
<interface name="org.asuslinux.Daemon">
<method name="Vendor">
<arg type="u" direction="out"/>
</method>
<method name="Power">
<arg type="u" direction="out"/>
</method>
<method name="SetVendor">
<arg name="vendor" type="u" direction="in"/>
<arg type="u" direction="out"/>
</method>
<signal name="NotifyGfx">
<arg name="vendor" type="u"/>
</signal>
<signal name="NotifyAction">
<arg name="action" type="u"/>
</signal>
</interface>
<interface name="org.freedesktop.DBus.Properties">
<method name="Get">
<arg name="interface_name" type="s" direction="in"/>
<arg name="property_name" type="s" direction="in"/>
<arg type="v" direction="out"/>
</method>
<method name="Set">
<arg name="interface_name" type="s" direction="in"/>
<arg name="property_name" type="s" direction="in"/>
<arg name="value" type="v" direction="in"/>
</method>
<method name="GetAll">
<arg name="interface_name" type="s" direction="in"/>
<arg type="a{sv}" direction="out"/>
</method>
<signal name="PropertiesChanged">
<arg name="interface_name" type="s"/>
<arg name="changed_properties" type="a{sv}"/>
<arg name="invalidated_properties" type="as"/>
</signal>
</interface>
</node>
" |
Thanks for the info. I have added optional dbus support with fallback to asusctl CLI, because the original mate-optimus tool doesn't requires dbus for generic laptops. |
I'm very sorry to say, but I am breaking userspace while I try to figure out the best way to pull the graphics control stuff fully out of asusctl. New xml is: [luke@fedora]$ dbus-send --system --type=method_call --print-reply --dest=org.asuslinux.Daemon /org/supergfxctl/Gfx org.freedesktop.DBus.Introspectable.Introspect
method return time=1629891672.215171 sender=:1.294 -> destination=:1.304 serial=20 reply_serial=2
string "
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node>
<interface name="org.freedesktop.DBus.Introspectable">
<method name="Introspect">
<arg type="s" direction="out"/>
</method>
</interface>
<interface name="org.freedesktop.DBus.Peer">
<method name="Ping">
</method>
<method name="GetMachineId">
<arg type="s" direction="out"/>
</method>
</interface>
<interface name="org.supergfxctl.Daemon">
<method name="Vendor">
<arg type="u" direction="out"/>
</method>
<method name="Power">
<arg type="u" direction="out"/>
</method>
<method name="SetVendor">
<arg name="vendor" type="u" direction="in"/>
<arg type="u" direction="out"/>
</method>
<signal name="NotifyGfx">
<arg name="vendor" type="u"/>
</signal>
<signal name="NotifyAction">
<arg name="action" type="u"/>
</signal>
</interface>
<interface name="org.freedesktop.DBus.Properties">
<method name="Get">
<arg name="interface_name" type="s" direction="in"/>
<arg name="property_name" type="s" direction="in"/>
<arg type="v" direction="out"/>
</method>
<method name="Set">
<arg name="interface_name" type="s" direction="in"/>
<arg name="property_name" type="s" direction="in"/>
<arg name="value" type="v" direction="in"/>
</method>
<method name="GetAll">
<arg name="interface_name" type="s" direction="in"/>
<arg type="a{sv}" direction="out"/>
</method>
<signal name="PropertiesChanged">
<arg name="interface_name" type="s"/>
<arg name="changed_properties" type="a{sv}"/>
<arg name="invalidated_properties" type="as"/>
</signal>
</interface>
</node>
" destination is likely to end up being |
Which version of asusctl will have those changes? |
PR changes: