Closed PhlegmaTREEc closed 2 years ago
To optimize startup Solaar keeps track of settings that it thinks are not suitable for devices. It appears that this mechanism has failed here. To correct this problem, remove entries for "_absent" in ~/.config/solaar/config.json. (You need to remove the "_absent" line and all lines up to and including the next line with a ] in it.)
Launching Solaar as root uses configuration files in /root so bypasses the configuration files for you.
OK, editing the JSON file seems to have fixed the issue. Even after reboot Solaar works as expected. Thank you. Love this piece of SW
As of version 1.1.3, the config.json
file is replaced with the config.yaml file as shown in the screenshot below:
Deleting the _absent
line won't work anymore as it will regenerate itself upon opening Solaar.
I am on Fedora 36.
I may remember this incorrectly, but I think it did the same thing for me with the .json file. I guess that deleting the lines forced it to re-do the process and hopefully fix it self?
I deleted the line several times but it keeps coming back every time. I quicked/killed the Solaar process after deleting the line. Nothing worked.
I still don't get the full settings on my MX Vertical.
@pfps This solution may not be valid anymore, based on what kreaninw said.
Here is my screen recording:
https://user-images.githubusercontent.com/1403194/167810878-bb9d8b11-d7df-4717-8f7d-f45d82a0baf9.mp4
It doesn't work at all.
@kreaninw At the beginning of your recording you show the settings for the MX Vertical. That's all the settings that the device supports, so it appears that Solaar is working correctly. The .absent field contains a record of settings that Solaar tried for a device and found not present on the device. Solaar then doesn't try these settings again. So the reappearance of the field is as expected. There have been a few isolated cases where something has gone wrong and Solaar adds too many entries to this field. Removing it causes Solaar to try all settings. There does not appear to be any problem here so removing the field did not cause any change in the settings.
@pfps I didn't know that the MX vertical can't even change the Scroll Wheel Resolution. I can barely do anything with this mouse considering all the possible options on this page.
The MX Vertical has a different Logitech HID++ feature for the scroll wheel from many other Logitech mice. This feature does not allow changing the resolution.
Solaar can only make changes based on the features a device supports. To see the list of features you can run solaar show
.
FWIW On my MX Vertical all settings recently disappeared as well. Removing _absent from config.yaml before restarting solaar brought them back.
There's probably a lot more people affected than those who actually find the bug tracker. Is there a chance to auto-migrate that for these people?
Broken configuration that automatically hid all settings since recently:
_absent: [hi-res-scroll, hires-smooth-invert, hires-smooth-resolution, smart-shift, thumb-scroll-mode, thumb-scroll-invert, onboard_profiles, report_rate,
pointer_speed, speed-change, backlight, backlight-timed, fn-swap, disable-keyboard-keys, divert-crown, crown-smooth, divert-gkeys, m-key-leds, mr-key-led,
multiplatform, gesture2-gestures, gesture2-divert, gesture2-params, persistent-remappable-keys, dpi-sliding, mouse-gestures, reprogrammable-keys, divert-keys,
change-host, hires-scroll-mode]
New configuration after removing _absent
and having Solaar rewrite it:
_absent: [hi-res-scroll, hires-smooth-invert, hires-smooth-resolution, hires-scroll-mode, smart-shift, thumb-scroll-mode, thumb-scroll-invert, onboard_profiles,
report_rate, pointer_speed, speed-change, backlight, backlight-timed, fn-swap, disable-keyboard-keys, divert-crown, crown-smooth, divert-gkeys, m-key-leds,
mr-key-led, multiplatform, gesture2-gestures, gesture2-divert, gesture2-params]
With the new configuration, I got my settings back.
@pfps Could it be that more than "There have been a few isolated cases" are affected? Or was I just that unlucky?
There does seem to be a problem with Solaar adding too many settings to _absent. It is unclear how often this happens and what causes it. My guess is that once in a while the device isn't ready and Solaar then thinks that many of the settings are not present.
Solaar 1.1.3 does have some code that tries to alleviate this problem by looking to see whether the setting had been found in the past for the device. If you are not running 1.1.3 I suggest upgrading.
I am reluctant to remove the effect of _absent as it can speed up startup and connect time considerably.
uname -srmo
): 5.17.1-arch1-1solaar show
:Describe the bug Unless I launch Solaar as root, my MX Vertical has access to limited number of options. Launching normally I can toggle Scroll Wheel Diversion, nothing more. Launching as root gives all options (DPI, button mapping, ...). If I am supposed to launch as root, how do I do that automatically?