Bug 493699 - Night Light does not correctly identify data source
Summary: Night Light does not correctly identify data source
Status: RESOLVED FIXED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_nightcolor (other bugs)
Version First Reported In: 6.2.0
Platform: Fedora RPMs Linux
: NOR normal
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords: regression
: 498622 (view as bug list)
Depends on:
Blocks:
 
Reported: 2024-09-26 16:42 UTC by José Rafael
Modified: 2025-07-03 22:52 UTC (History)
8 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
print (390.82 KB, image/png)
2024-09-26 16:42 UTC, José Rafael
Details

Note You need to log in before you can comment on or make changes to this bug.
Description José Rafael 2024-09-26 16:42:16 UTC
Created attachment 174115 [details]
print

The night light's GPS location service has been changed, but it continues to search endlessly for a location and doesn't pick the right time to turn it on

Operating System: Fedora Linux 41
KDE Plasma Version: 6.1.90
KDE Frameworks Version: 6.6.0
Qt Version: 6.7.2
Kernel Version: 6.11.0-63.fc41.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 4 × Intel® Core™ i5-2410M CPU @ 2.30GHz
Memory: 5.7 GiB of RAM
Graphics Processor: Mesa Intel® HD Graphics 3000
Comment 1 Nate Graham 2024-09-26 21:16:42 UTC
Perhaps the geoclue backend is broken on your system? It works on mine. Do you have a proxy or a VPN active? Can you run `systemsettings kcm_nightlight` in a terminal window, reproduce the issue, and paste any text that it shows in the terminal window? Thanks a lot!
Comment 2 José Rafael 2024-09-26 23:07:45 UTC
(In reply to Nate Graham from comment #1)
> Talvez o backend do geoclue esteja quebrado no seu sistema? Funciona no meu.
> Você tem um proxy ou VPN ativo? Você pode executar `systemsettings
> kcm_nightlight` em uma janela de terminal, reproduzir o problema e colar
> qualquer texto mostrado na janela do terminal? Muito obrigado!

joserafael2@Ibyte-Fly2:~$ systemsettings kcm_nightlight
qml: Pushed pages do not conform to the rules. Please check the documentation.
qt.qpa.wayland: eglSwapBuffers failed with 0x300d, surface: 0x0

So, I don't use Proxy or VPN here, I've already created a new user on this Laptop, so it's clean of settings from other past versions of fedora, but the location spends forever looking for my location anyway! Above is the command you asked for and it only showed that!
Comment 3 Vlad Zahorodnii 2024-09-27 07:50:24 UTC
Do you have geoclue2 installed on your machine?
Comment 4 José Rafael 2024-09-28 14:33:52 UTC
(In reply to Vlad Zahorodnii from comment #3)
> Você tem o geoclue2 instalado em sua máquina?

Yes, I have this package installed on my system

joserafael2@Ibyte-Fly2:~$ rpm -qa | grep geoc
geoclue2-2.7.0-6.fc41.x86_64
joserafael2@Ibyte-Fly2:~$
Comment 5 Bug Janitor Service 2024-10-13 03:47:41 UTC
🐛🧹 ⚠️ This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information, then set the bug status to REPORTED. If there is no change for at least 30 days, it will be automatically closed as RESOLVED WORKSFORME.

For more information about our bug triaging procedures, please read https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging.

Thank you for helping us make KDE software even better for everyone!
Comment 6 José Rafael 2024-10-13 15:34:31 UTC
My main laptop using Fedora SPIN KDE also still can't locate the GPS with GeoIP (GeoClue2) which also keeps locating forever with no response. 

➜  ~ systemsettings kcm_nightlight
qml: Pushed pages do not conform to the rules. Please check the documentation.
qt.qpa.wayland: eglSwapBuffers failed with 0x300d, surface: 0x0

➜  ~  rpm -qa | grep geoc
geoclue2-2.7.0-5.fc40.x86_64


➜  ~ kinfo
Operating System: Fedora Linux 40
KDE Plasma Version: 6.2.0
KDE Frameworks Version: 6.7.0
Qt Version: 6.7.2
Kernel Version: 6.10.12-200.fc40.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 4 × Intel® Core™ i5-4200U CPU @ 1.60GHz
Memory: 7.7 GiB of RAM
Graphics Processor: Mesa Intel® HD Graphics 4400
➜  ~
Comment 7 TraceyC 2024-11-21 01:20:45 UTC
I am able to reproduce this on git-master, fully rebuilt with kde-builder workspace and restarted

Night Light does not retrieve the current location, causing it to use Lat: 0 Long: 0 as the location. This causes Night Light to turn on and off at the wrong times.

STEPS TO REPRODUCE
1. Set Night Light to Sunset and sunrise at current location, Apply

OBSERVED RESULT
The status animation under "Locating..." stays animated until some timeout is reached
The current location is not detected
Night light turns night mode on at the wrong time, even though GeoIP.com correctly detects my location based on the machine's IP. 
After some time, the current location shown in the kcm is Lat: 0 Long: 0


EXPECTED RESULT
Location is detected

Additional note:
If the location lookup fails, there should be an error presented to the user to let them know what happened and what steps, if any, they can take

SOFTWARE/OS VERSIONS - reproduced on
git-master (re-ran kde-builder workspace)

also on
KDE Neon (Uses GeoClue2, no animation representing location query)
KDE Neon Testing
Kubuntu (still says its using Mozilla Location Service - which returns US as my country, verified by clicking the link) - one older VM, one freshly installed VM

also on
Operating System: Solus 4.6
KDE Plasma Version: 6.2.3
KDE Frameworks Version: 6.8.0
Qt Version: 6.7.3
Kernel Version: 6.11.7-309.current (64-bit)
Graphics Platform: Wayland


ADDITIONAL INFORMATION
geoip.com correctly detects my machine's IP address and location based on that
Another user that has Solus Plasma sees the same issue (located in Canada, we are both in Central Time)

From git-master:
 ~  systemsettings kcm_nightlight          
qml: Pushed pages do not conform to the rules. Please check the documentation.
qt.positioning.geoclue2: Unable to obtain the client: "org.freedesktop.DBus.Error.ServiceUnknown" "The name is not activatable"


I'm wondering if queries to the APIs fail from certain locations but not others?
Comment 8 TraceyC 2024-11-21 16:41:39 UTC
Upstream related bug https://codereview.qt-project.org/c/qt/qtlocation/+/604697
Comment 9 Nate Graham 2024-11-21 19:00:10 UTC
> qt.positioning.geoclue2: Unable to obtain the client: "org.freedesktop.DBus.Error.ServiceUnknown" "The name is not activatable"

This seems to imply that it's failing to communicate with geoclue, which is the geolocating service. On my system where it works, I see /usr/libexec/geoclue-2.0/demos/agent running. Is it not running on your system where it's broken?
Comment 10 TraceyC 2024-11-21 21:44:11 UTC
On my regular Plasma install with 6.2.3 I see
❯ pgrep -fla geoc
2870 /usr/lib64/geoclue/geoclue-2.0/demos/agent

On git-master, I don't see any geoclue service running

The location service isn't working on either, so the agent seems like a separate but related problem.
Comment 11 Aranjedeath 2024-11-21 22:53:33 UTC
My nightlight also cannot locate my location; geoclue2 is installed. I am on KDE NEON user edition not fedora.

running kcm on CLI gives:

qml: Page SubCategoryPage_QMLTYPE_105(0x62d4c3883b10) is already in the PageRow
qml: Pushed pages do not conform to the rules. Please check the documentation.
qml: push (file:///usr/lib/x86_64-linux-gnu/qt6/qml/org/kde/kirigami/PageRow.qml:223)
onActiveSubCategoryRowChanged (qrc:/qt/qml/org/kde/systemsettings/SubCategoryPage.qml:180)
qt.qpa.wayland: eglSwapBuffers failed with 0x300d, surface: 0x0


querying journalctl --reverse after produces:

Nov 21 14:52:54 tsubaki geoclue[1702]: Failed to query location: Query location SOUP error: Not Found
Comment 12 José Rafael 2024-11-28 18:20:17 UTC
On my PC with Fedora KDE Spin version 41, the GPS night light geolocation still doesn't work with the Plasma 6.2.4 update.
However, on my other laptop using Fedora Atomic Kinoite 41 with KDE Plasma 6.2.4, the gps is working normally.

Operating System: Fedora Linux 41
KDE Plasma Version: 6.2.4
KDE Frameworks Version: 6.8.0
Qt Version: 6.8.0
Kernel Version: 6.11.8-300.fc41.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 4 × Intel® Core™ i5-4200U CPU @ 1.60GHz
Memory: 7.7 GiB of RAM
Graphics Processor: Mesa Intel® HD Graphics 4400
Comment 13 Ivan Garcia 2024-12-20 05:14:14 UTC
Hello!

same as everybody else. My nightlight also cannot locate my location; geoclue2 is installed and my system is up to date.
Comment 14 Ismael Asensio 2024-12-28 19:20:54 UTC
I've been researching a bit on the topic, since I've been also affected by this issue (Kubuntu 24.10 base, Qt 6.8.1, KDE master).

After the downfall of Mozilla Location Service (MLS) (in which most FOSS location services were based on). Since then, we've moved to QtPositioning, which for our use case, acts mostly a layer on top of geoclue. At the same time, geoclue moved from using MLS as a default provider based on Wi-Fi networks to no default service (https://gitlab.freedesktop.org/geoclue/geoclue/-/merge_requests/184). 

This means that the issue is a bad configuration of GeoClue's settings, which is now mostly up to the distribution: arch opted to use the Google services with a custom API key (https://gitlab.archlinux.org/archlinux/packaging/packages/geoclue/-/commit/561b66e7e965f5a2e9f5b0597367243d43bbfa0f), while others such as NixOs (https://github.com/NixOS/nixpkgs/issues/321121) are leaning into beaconDB (https://beacondb.net/). The version on my system (Kubuntu 24.10) stills point to the Mozilla services, which explain why it fails.

From a user POV, as a workaround, one can restore the functionality by editing the `/etc/geoclue/geoclue.conf` file, for example with this (or a different provider url):
[wifi]
enable=true
url=https://api.beacondb.net/v1/geolocate

I also had to enable the location service access using `gsettings set org.gnome.system.location enabled true`. 

On our KDE side, I think we need to improve the integration with the geoclue service (as we are going to increasingly use it), so we can let the users set or at least know about the settings, and the error state to show in the UI. I still haven't been able to get an error message or even a state change from QtPositioning when the service is failing.

Also, it is no longer true that geoclue uses GeoIP for the location (https://gitlab.freedesktop.org/geoclue/geoclue/-/merge_requests/184/diffs?commit_id=6ec21c1e9e6b82ae0ea629ccc0acdd5c088e487b). We should update this info on the KCM, ideally with the actual provider the user's sending packages to.
Comment 15 Nate Graham 2025-01-14 16:12:51 UTC
*** Bug 498622 has been marked as a duplicate of this bug. ***
Comment 16 José Rafael 2025-06-29 18:55:03 UTC
I've seen that it's open and working again
Comment 17 toni_rocha 2025-07-03 21:14:00 UTC
Will the KDE Neon be updated? This problem still occurs here showing "locating...". When I execute 'geoclue-2.0' in terminal, it shows the error:

jul 03 18:00:05 administrador-Neon-vostro3470 geoclue[15605]: Failed to query location: Query location SOUP error: Not Found
jul 03 18:02:05 administrador-Neon-vostro3470 geoclue[15605]: Failed to query location: Query location SOUP error: Not Found
jul 03 18:02:05 administrador-Neon-vostro3470 geoclue[15605]: Failed to query location: Query location SOUP error: Not Found
jul 03 18:02:33 administrador-Neon-vostro3470 geoclue[15605]: Failed to query location: Query location SOUP error: Not Found
jul 03 18:02:33 administrador-Neon-vostro3470 geoclue[15605]: Failed to query location: Query location SOUP error: Not Found
jul 03 18:03:15 administrador-Neon-vostro3470 geoclue[15605]: Failed to query location: Query location SOUP error: Not Found
jul 03 18:03:15 administrador-Neon-vostro3470 geoclue[15605]: Failed to query location: Query location SOUP error: Not Found
jul 03 18:03:29 administrador-Neon-vostro3470 geoclue[15605]: Failed to query location: Query location SOUP error: Not Found
jul 03 18:03:29 administrador-Neon-vostro3470 geoclue[15605]: Failed to query location: Query location SOUP error: Not Found
jul 03 18:08:33 administrador-Neon-vostro3470 geoclue[15605]: Failed to query location: Query location SOUP error: Not Found
Comment 18 TraceyC 2025-07-03 22:52:31 UTC
(In reply to toni_rocha from comment #17)
> Will the KDE Neon be updated? This problem still occurs here showing
> "locating...". When I execute 'geoclue-2.0' in terminal, it shows the error:
> 

I verified I can still reproduce this bug in Neon User and Testing. Please file a bug against the Neon component
Load this and pick your edition:
https://bugs.kde.org/describecomponents.cgi?product=neon

Then scroll to the bottom of the list, and click on the "File a new bug..." link

Thanks for helping make KDE better for everyone.