Who sets QT_AUTO_SCREEN_SCALE_FACTOR env var?

Good day,
I’m having hard time tracking who sets QT_AUTO_SCREEN_SCALE_FACTOR env var. I’m my system it’s set to 0 which make VLC UI look tiny.

I’ve tried to override it with Home-Manager:

    systemd.user.sessionVariables = {
      QT_AUTO_SCREEN_SCALE_FACTOR = "auto";
      FOOBAR = "1";
    };

and it made into ~/.config/environment.d/10-home-manager.conf. After apply/relogin/reboot I see that FOOBAR propagates, but QT_AUTO_SCREEN_SCALE_FACTOR is still 0.

Next thing I’ve tried is to trace it with pstee by checking environ in /proc.
In the pstree output below, all of the children of (sd-pam) already have QT_AUTO_SCREEN_SCALE_FACTOR set to 0 while (sd-pam) itself has nothing of that.

Is that some kind of tricky systemd configuration that sets this env var on spawning new process?

systemd(1)─┬─.kwalletd5-wrap(5521)
           ├─.sddm-wrapped(1272)─┬─.sddm-helper-wr(5517)───.startplasma-wa(5522)
           │                     └─X(5236)
           ├─ModemManager(2156)
           ├─NetworkManager(1000)
           ├─accounts-daemon(1014)
           ├─agetty(1270)
           ├─bluetoothd(921)
           ├─cupsd(2377)
           ├─dbus-daemon(929)
           ├─dockerd(1484)───containerd(1495)
           ├─iio-sensor-prox(1241)
           ├─nix-daemon(1068)
           ├─nsncd(6004)
           ├─polkitd(1071)
           ├─power-profiles-(2013)
           ├─rtkit-daemon(1372)
           ├─sshd(1074)
           ├─systemd(1703)─┬─(sd-pam)(1704)
           │               ├─.at-spi-bus-lau(2271)
           │               ├─.baloo_file-wra(1744)
           │               ├─.baloorunner-wr(6066)
           │               ├─.dolphin-wrappe(11870)
           │               ├─.easyeffects-wr(19840)
           │               ├─.gmenudbusmenup(5755)
           │               ├─.kactivitymanag(5754)
           │               ├─.kdeconnectd-wr(5536)
           │               ├─.kded5-wrapped(5678)
           │               ├─.kio_http_cache(14318)
           │               ├─.ksmserver-wrap(5676)
           │               ├─.kwin_wayland_w(5538)───.kwin_wayland-w(5546)───Xwayland(5619)
           │               ├─.org_kde_powerd(5757)
           │               ├─.plasmashell-wr(5734)
           │               ├─.polkit-kde-aut(5756)
           │               ├─.xdg-desktop-po(1754)
           │               ├─.xdg-desktop-po(8725)
           │               ├─.xdg-document-p(1760)───fusermount3(1773)
           │               ├─.xdg-permission(1764)
           │               ├─.xembedsniproxy(5758)
           │               ├─chrome_crashpad(6196)
           │               ├─chrome_crashpad(6198)
           │               ├─dbus-daemon(1728)
           │               ├─dconf-service(2067)
           │               ├─obexd(2194)
           │               ├─pipewire(1978)
           │               ├─pipewire-pulse(2337)
           │               ├─ssh-agent(1722)
           │               └─wireplumber(1985)
           ├─systemd-journal(638)
           ├─systemd-logind(1015)
           ├─systemd-oomd(877)
           ├─systemd-timesyn(879)
           ├─systemd-udevd(765)
           ├─udisksd(1389)
           ├─upowerd(1406)
           └─wpa_supplicant(1210)

home-manager should not solve your problem, you should try nixos configuration.

environment.sessionVariables = {
  QT_AUTO_SCREEN_SCALE_FACTOR = "auto";
};

Well, there is a bit of progress with they system-wide approach - the auto made it to my shells but the kde processes, e.g. krunner still have it set to 0 (judging by their environ in /proc) so if I run VLC using krunner as I usually would it still pops up with tiny UI.

Is this something plasma systemd module overrides?