Skip to content
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

Corner switch and LED not working on Plasma 6.0.2 - Arch 6.7.1 #19

Open
effeffe opened this issue Mar 18, 2024 · 7 comments
Open

Corner switch and LED not working on Plasma 6.0.2 - Arch 6.7.1 #19

effeffe opened this issue Mar 18, 2024 · 7 comments

Comments

@effeffe
Copy link

effeffe commented Mar 18, 2024

As said, the led light and corner switch ceased working after updating to plasma 6.0.1 and persists on 6.0.2

@temirg
Copy link

temirg commented Mar 18, 2024

Hello,
here the situation is slightly different after update to plasma6, SUSE Tumbleweed:
corner switch still works, but the LED doesn't.

# grep touchpad /var/log/messages
Mar 18 21:03:24 xmg-core17 systemd[7896]: Starting disable_touchpad.sh...
Mar 18 21:03:24 xmg-core17 systemd[7896]: Started disable_touchpad.sh.
Mar 18 21:03:24 xmg-core17 dbus-daemon[8223]: [session uid=1000 pid=8223] Activating service name='org.kde.kded5' requested by ':1.40' (uid=1000 pid=8999 comm="/usr/local/bin/tuxedo-touchpad-switch")
Mar 18 21:03:24 xmg-core17 tuxedo-touchpad-switch[8999]: setup_kde(...): Could not find touchpad module in kded.
Mar 18 21:03:24 xmg-core17 tuxedo-touchpad-switch[8999]: main(...): setup_kde(...) failed.
Mar 18 21:03:24 xmg-core17 systemd[7896]: app-tuxedo\x2dtouchpad\x2dswitch@autostart.service: Main process exited, code=exited, status=1/FAILURE
Mar 18 21:03:24 xmg-core17 systemd[7896]: app-tuxedo\x2dtouchpad\x2dswitch@autostart.service: Failed with result 'exit-code'.

tuxedo-touchpad-switch lets the kded5 start - seems to be hardcoded

ps -ef | grep kded
te        8704  7896  0 21:03 ?        00:00:00 /usr/bin/kded6
te        9015  7896  0 21:03 ?        00:00:00 /usr/bin/kded5

Could we expect an update/fix at some point?
Many thanks in advance.

Best regards, temirg.

@temirg
Copy link

temirg commented Mar 19, 2024

Quick and dirty fix for led:

ENV:
HW: similar to Polaris17 Gen1 (XMG Core17 AMD, XCO17M20, Mainboard: GK7NxxR M20)
OS: SUSE tumbleweed (last updates), kernel 6.7.9-1-default
Plasma: 6.0.2

~/git-all> cp -a tuxedo-touchpad-switch tuxedo-touchpad-switch.bak
~/git-all> cd tuxedo-touchpad-switch
~/git-all/tuxedo-touchpad-switch> sed 's/kded5/kded6/g' setup-kde.cpp -i

Then the usual:

cd build
cmake ..
sudo make install
sudo reboot

Regards, temirg.

@effeffe
Copy link
Author

effeffe commented Mar 19, 2024

Nice, thank you!

@temirg
Copy link

temirg commented Mar 19, 2024

No problem, you're welcome.
Does my solution work for you?

@effeffe
Copy link
Author

effeffe commented Mar 19, 2024

It works quite well ngl

For the developers, I was thinking that maybe the program should check whether kde5 or kde6 is in use, and then use the correct calls thereafter

@temirg
Copy link

temirg commented Mar 19, 2024

Great, then I think the issue can be closed as solved.

As far as development is concerned: qt5 / plasma5 is practically obsolete,
plasma6 could survive the next 5-7 or even 10 years.

The question here is: do we still have our current notebooks after 7 years?
The effort required to adapt the code is not worth it.

But I'm not the developer of tuxedo-touchpad-switch, maybe he sees it differently. ;-)

Regards, temirg.

@brainpower
Copy link
Contributor

Not all distributions have Plasma 6 yet.
And there are some that will have Plasma 5 for quite some time, like Ubuntu LTS and such.
tuxedo will likely want to support those...

But the check should be relatively simple.
The difference is just some the DBus interface names and those can be enumerated or just tried in order.
This is a minimal patch that changes only the relevant lines for Plasma 6 support: AUR/tuxedo-touchpad-switch/0001-use_kded6_instead_of_kded5.patch
It's changing only three lines...
So to additionally support kded5 you'd just need to extend the first dbus call to fall back to org.kde.kded5 if it fails to call org.kde.kded6 and remember if that happened for the second call. (Or check before the call, which interface actually exists.)

I'd do a PR, but I don't have any Plasma 5 system to test anymore...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants