You are not logged in.
Hi,
I installed chromium for the few cases where firefox doesn't suffice (some APIs like flashing devices). I made sure to reset everything, delete profile folders, disable secure DNS... but without any visible error message, the tabs just don't load (mostly). Local files seem to work, http(s) to my NAS does not. archwiki, google, blogs - not loading. The local files I opened include fonts from google - not loading. Network requests are stuck at pending.
I'm using wayland/hyprland, if that's of any importance.
Any idea what's going on? Because I don't have any.
Last edited by TRex (2026-02-28 17:49:37)
Offline
DNS? Can you reach your NAS via IP eg. http://192.168.1.11 or similar?
Offline
No, IPs don't work either. But I just had another idea and checked opensnitch's logs (I allowed everything). It continously tries to connect to localhost Port 9229 via IPv4 and IPv6. For the obvious follow-up question: no, there's no deny rule active. I just allow applications on the go.
Edit: those are the dev tools I opened. Cold lead.
Last edited by TRex (2026-02-27 23:33:49)
Offline
Chromium is from the repos or some flatpak?
Does eg. vivaldi work?
Can you reach http://neverssl.com (the page will take a moment and redirect you but not redirect to https, allowing to check whether this is ssl related)
Offline
It's from the repos. Vivaldi has the same problem, freshly installed. I also just stopped opensnitch and flushed iptables, no change either. firefox works just fine. I'm also ruling out any IPv6 issues, since a raw IP doesn't work either... I also disabled safe browsing in chromium, which might block before opening an address.
I have a pihole-like service running, but that's not stopping the chromium I installed on another arch installation yesterday. Must be something here.
Offline
Incognito mode works. But there are no extensions or anything...
Offline
What does chrome:net-internals/#dns google.com resolve to?
Offline
works fine, tested this earlier.
Resolved IP addresses of "google.com": ["142.250.201.174","2a00:1450:4001:818::200e"].
No alternative endpoints.
Offline
Does either or both of "--ozone-platform=wayland" and "--disable-gpu" have any impact on the situation?
Does the web inspector suggests anything actually gets loaded (and therefore just the rendering fails)?
Do you harden the system in any capacity that might undercut the communication between the render process and the GUI?
Offline
Does either or both of "--ozone-platform=wayland" and "--disable-gpu" have any impact on the situation?
No effect adding them. (*)
Does the web inspector suggests anything actually gets loaded (and therefore just the rendering fails)?
No, only the request being "Pending".
Do you harden the system in any capacity that might undercut the communication between the render process and the GUI?
Not that I'm aware of. I have tinkered with systemd unit hardening in the past, but not on this installation.
While trying to get some network data (and letting myself slop a script to isolate chromium so I don't have to deal with all traffic), I found something:
Running
sudo -u $USER chromium --ozone-platform=x11 --user-data-dir=/tmp/chromium_iso/brings up a running instance, with "normal" behavior. I can break it with the following changes:
- sudo -E
- omitting ozone platform or setting it to wayland (because it can't connect to wayland)
- omitting sudo
Profile doesn't matter, though. What I read from that is, that some environment variable is the culprit. Quick test:
env -i DISPLAY=:0 chromium --ozone-platform=x11-> works!
Now I'll have to bisect the env vars. I'll report back after that. I suspect some wayland/nvidia compat bs, because the other system doesn't have that.
Edit: it's dbus, DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
Probably it wants to hear that network connectivity exists... but I do not rely on networkmanager, but plain systemd-networkd.
Last edited by TRex (2026-02-28 16:42:18)
Offline
Found it (using an LLM to inspect the netlog.json).
It fails to unlock the keystore. Since I know I'm getting an GTK unlock dialog every now and then I know it should basically work, but it doesn't here.
chromium --password-store=basic works.
Offline
There's probably more to this - chromium might block for querying the password storage, but the call should™ either trigger the password store process or quickly™ fail.
"DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus" sounds normal ![]()
ps aux | grep dbus
dbus-send --sessuin --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.ListNames | sed '/string/!d; s/^\s*string //g'Edit:
I'm using wayland/hyprland, if that's of any importance.
Are you using uwsm? Don't.
Last edited by seth (2026-02-28 19:32:10)
Offline
$ ps aux | grep dbus | anon
dbus 756 0.0 0.0 8592 4196 ? Ss Feb21 0:00 /usr/bin/dbus-broker-launch --scope system --audit
dbus 764 0.0 0.0 8108 4408 ? S Feb21 0:55 dbus-broker --log 10 --controller 9 --machine-id 61a179272ec541a8917a2a1f884dd8b8 --max-bytes 536870912 --max-fds 4096 --max-matches 16384 --audit
me 1038 0.0 0.0 8156 3968 ? Ss Feb21 0:00 /usr/bin/dbus-broker-launch --scope user
me 1039 0.0 0.0 5616 4056 ? S Feb21 0:02 dbus-broker --log 11 --controller 10 --machine-id 61a179272ec541a8917a2a1f884dd8b8 --max-bytes 100000000000000 --max-fds 25000000000000 --max-matches 5000000000
me 1792 0.0 0.0 8156 3968 ? S Feb21 0:00 /usr/bin/dbus-broker-launch --config-file=/usr/share/defaults/at-spi2/accessibility.conf --scope user
me 1793 0.0 0.0 4436 2864 ? S Feb21 0:00 dbus-broker --log 10 --controller 9 --machine-id 61a179272ec541a8917a2a1f884dd8b8 --max-bytes 100000000000000 --max-fds 6400000 --max-matches 5000000000
me 1345666 0.0 0.0 7012 4180 pts/8 S+ 20:42 0:00 grep dbus
me 2366885 0.0 0.0 2856 2184 ? S Feb26 0:00 bwrap --unshare-all --die-with-parent --chdir / --ro-bind /usr /usr --dev /dev --ro-bind-try /etc/ld.so.cache /etc/ld.so.cache --ro-bind-try /nix/store /nix/store --tmpfs /tmp-home --tmpfs /tmp-run --clearenv --setenv HOME /tmp-home --setenv XDG_RUNTIME_DIR /tmp-run --setenv XDG_RUNTIME_DIR /run/user/1000 --symlink /usr/lib /lib --symlink /usr/lib /lib64 --ro-bind-try /etc/fonts/conf.d /etc/fonts/conf.d --ro-bind-try /etc/fonts/fonts.conf /etc/fonts/fonts.conf --ro-bind-try /home/me/.cache/fontconfig /home/me/.cache/fontconfig --ro-bind-try /home/me/.config/fontconfig/conf.d /home/me/.config/fontconfig/conf.d --ro-bind-try /home/me/.local/share/fonts /home/me/.local/share/fonts --ro-bind-try /var/cache/fontconfig /var/cache/fontconfig --bind-try /home/me/.cache/glycin/usr/lib/glycin-loaders/2+/glycin-svg /home/me/.cache/glycin/usr/lib/glycin-loaders/2+/glycin-svg --setenv XDG_CACHE_HOME /home/me/.cache/glycin/usr/lib/glycin-loaders/2+/glycin-svg --seccomp 56 /usr/lib/glycin-loaders/2+/glycin-svg --dbus-fd 53
me 2366886 0.0 0.0 2856 1844 ? S Feb26 0:00 bwrap --unshare-all --die-with-parent --chdir / --ro-bind /usr /usr --dev /dev --ro-bind-try /etc/ld.so.cache /etc/ld.so.cache --ro-bind-try /nix/store /nix/store --tmpfs /tmp-home --tmpfs /tmp-run --clearenv --setenv HOME /tmp-home --setenv XDG_RUNTIME_DIR /tmp-run --setenv XDG_RUNTIME_DIR /run/user/1000 --symlink /usr/lib /lib --symlink /usr/lib /lib64 --ro-bind-try /etc/fonts/conf.d /etc/fonts/conf.d --ro-bind-try /etc/fonts/fonts.conf /etc/fonts/fonts.conf --ro-bind-try /home/me/.cache/fontconfig /home/me/.cache/fontconfig --ro-bind-try /home/me/.config/fontconfig/conf.d /home/me/.config/fontconfig/conf.d --ro-bind-try /home/me/.local/share/fonts /home/me/.local/share/fonts --ro-bind-try /var/cache/fontconfig /var/cache/fontconfig --bind-try /home/me/.cache/glycin/usr/lib/glycin-loaders/2+/glycin-svg /home/me/.cache/glycin/usr/lib/glycin-loaders/2+/glycin-svg --setenv XDG_CACHE_HOME /home/me/.cache/glycin/usr/lib/glycin-loaders/2+/glycin-svg --seccomp 56 /usr/lib/glycin-loaders/2+/glycin-svg --dbus-fd 53
me 2366888 0.7 0.0 406824 19552 ? Sl Feb26 22:29 /usr/lib/glycin-loaders/2+/glycin-svg --dbus-fd 53$ dbus-send --session --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.ListNames | sed '/string/!d; s/^\s*string //g'
"org.freedesktop.DBus"
":1.0"
":1.1"
":1.3"
":1.5"
":1.9"
":1.13"
":1.14"
":1.18"
":1.19"
":1.20"
":1.21"
":1.23"
":1.24"
":1.26"
":1.27"
":1.29"
":1.30"
":1.31"
":1.32"
":1.33"
":1.34"
":1.35"
":1.36"
":1.37"
":1.38"
":1.39"
":1.40"
":1.41"
":1.45"
":1.46"
":1.52"
":1.53"
":1.55"
":1.56"
":1.58"
":1.75"
":1.90"
":1.91"
":1.95"
":1.132"
":1.133"
":1.134"
":1.149"
":1.150"
":1.229"
":1.232"
":1.233"
":1.234"
":1.235"
":1.238"
":1.249"
":1.265"
":1.266"
":1.267"
":1.298"
":1.310"
":1.335"
":1.336"
":1.360"
":1.368"
":1.369"
":1.370"
":1.400"
":1.401"
":1.404"
":1.405"
":1.406"
":1.418"
":1.419"
":1.431"
":1.432"
":1.441"
":1.442"
":1.449"
":1.450"
":1.471"
":1.484"
":1.485"
":1.490"
":1.491"
":1.492"
":1.509"
":1.731"
":1.734"
":1.736"
":1.737"
":1.738"
":1.739"
":1.741"
":1.905"
":1.906"
":1.908"
"ca.desrt.dconf"
"com.BambuLab.BambuStudio.InstanceCheck.Object16610303439893035749"
"com.jetbrains.toolbox"
"com.steampowered.PressureVessel.LaunchAlongsideSteam"
"com.steampowered.PressureVessel.LaunchAlongsideSteam.Instance1888227"
"org.a11y.Bus"
"org.blueman.Applet"
"org.blueman.Tray"
"org.freedesktop.Notifications"
"org.freedesktop.ReserveDevice1.Audio0"
"org.freedesktop.ReserveDevice1.Audio1"
"org.freedesktop.StatusNotifierHost-2477-1"
"org.freedesktop.impl.portal.PermissionStore"
"org.freedesktop.impl.portal.desktop.hyprland"
"org.freedesktop.portal.Desktop"
"org.freedesktop.portal.Documents"
"org.freedesktop.secrets"
"org.freedesktop.systemd1"
"org.gnome.keyring"
"org.kde.StatusNotifierWatcher"
"org.mozilla.firefox.L2hvbWUvdGhvcnN0ZW4vLm1vemlsbGEvZmlyZWZveC9oczNrN3p1Ny5kZWZhdWx0LXJlbGVhc2U_"
"org.mozilla.thunderbird.L2hvbWUvdGhvcnN0ZW4vLnRodW5kZXJiaXJkL2JhcWN2c212LmRlZmF1bHQtcmVsZWFzZQ__"
"org.pipewire.Telephony"
"org.pulseaudio.Server"And yes, I'm using uwsm. I like its handling of autostart/.desktop files. Way better than dex (which I had before) or exec = ... everything.
Offline
uwsm is highly discouraged by the hyprland developers… you should probably test the behavior w/o it to rule it out as culprit.
You've a system and a session bus and the at-spi2 bus - if you don't require the latter (a11y thing, mostly screenreaders) you can skip that by
export GTK_A11Y=none
export NO_AT_BRIDGE=1Something's for sure listening on https://freedesktop.org/wiki/Specificat … i-0.1.html and it's most likely "org.gnome.keyring" - not sure why it would not respond here…
You can sniff the communication w/ dbus-monitor
x-ref, https://bbs.archlinux.org/viewtopic.php?id=312291 (seems to lose store access in unclear contexts)
Sidebar:
"org.pipewire.Telephony"
"org.pulseaudio.Server"Sanity check
pacman -Qs pulseand in doubt replace pulseaudio w/ pipewire-pulse
Offline
Hm, I don't think I'll listen to the hyprland devs in this regard. I mean if it's only chromium suffering, I can live with that. But understanding it is a nice bonus.
You can sniff the communication w/ dbus-monitor
That's what I did (assisted by claude CLI).
$ dbus-monitor --session "interface='org.freedesktop.Secret.Prompt'"
signal time=1772310520.334096 sender=org.freedesktop.DBus -> destination=:1.930 serial=4294967295 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
string ":1.930"
signal time=1772310520.334168 sender=org.freedesktop.DBus -> destination=:1.930 serial=4294967295 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost
string ":1.930"
method call time=1772310524.093003 sender=:1.932 -> destination=org.freedesktop.secrets serial=27 path=/org/freedesktop/secrets/prompt/u158; interface=org.freedesktop.Secret.Prompt; member=Prompt
string ""
(silence)gnome-keyring doesn't answer the request. Not sure if it can - but as I said, I occasionally get a request to unlock the keyring. Now I'm not sure which application triggers it/can't reproduce. Could also be a hint that it stopped working.
There are two keyring daemons processes running, which looks kinda good to me:
/usr/bin/gnome-keyring-daemon --start --foreground --components=secrets
/usr/bin/gnome-keyring-daemon --foreground --components=pkcs11,secrets --control-directory=/run/user/1000/keyringRegarding audio: I switched to pipewire some time ago. Not sure if I hit the sweetspot for the compatibility layer/cleanup of pulse packages.
$ pacman -Qs pulse
local/lib32-libcanberra 1:0.30+r2+gc0620e4-4
A small and lightweight implementation of the XDG Sound Theme Specification (32-bit)
local/lib32-libpulse 17.0+r98+gb096704c0-1
A featureful, general-purpose sound server (32-bit client libraries)
local/libcanberra 1:0.30+r2+gc0620e4-6
A small and lightweight implementation of the XDG Sound Theme Specification
local/libpulse 17.0+r98+gb096704c0-1
A featureful, general-purpose sound server (client library)
local/pipewire-pulse 1:1.4.10-2
Low-latency audio/video router and processor - PulseAudio replacement
local/qemu-audio-pa 10.2.0-3
QEMU PulseAudio audio driver
local/vlc-plugin-pulse 3.0.21-32
Free and open source cross-platform multimedia player and framework - PulseAudio pluginsBut that's probably watering OT seeds.
Offline
At most filter for "destination=org.freedesktop.secrets"
There are two keyring daemons processes running, which looks kinda good to me:
I've never used gkr but this frankly looks odd (two processes w/ different components)
https://wiki.archlinux.org/title/GNOME/ … #Launching
What if you kill both and run one from an interactive shell inside hyprland and then try to start chromium?
On the OT side, you've pipewire-pulse so that's actually ok (I was just wondering whether conflicting sound daemons could pull a fast one on your session bus)
Offline
Seems to be related to how gnome-keyring was started. There are two units in user session: gnome-keyring-daemon.service gnome-keyring-daemon.socket
The processes had consecutive PIDs, so I presume they belonged together and were probably started by those units.
But now it's working - either by restarting the units or starting a daemon (in foreground) in a terminal. I also tried some combinations of unlocked/locked situations, all of them worked fine (and raised a prompt when necessary).
dbus-monitor with that filter is pretty verbose, but I couldn't find new insights from that.
Last edited by TRex (2026-02-28 21:06:47)
Offline
Seems to be related to how gnome-keyring was started.
Ahemm… cough… umm
uwsm is highly discouraged by the hyprland developers… you should probably test the behavior w/o it to rule it out as culprit.
![]()
However if you can get this under control by masking socket, service or both (and have gkr dbus activated) it will at least circumvent _this_ problem.
Offline
Yeah, that's what I thought at first. But it's the default /usr/lib/systemd/user/gnome-keyring-daemon.service/socket.
Offline
Afaiu the wiki the most likely problem would be that uwsm starts the service w/o the display server environment
Try to mask that and rely on the socket activation or mask both and rely on the dbus activation (the latter would only be a problem if you have multiple secret service implementations installed, eg. kwallet or keepassx)
Offline