!XQQVyIbcAcHFvzmcTl:nixos.org

NixOS GNOME

338 Members
A room for maintainers of GNOME & GNOME-Related desktop environments (xfce, cinnamon, pantheon...)77 Servers

Load older messages


SenderMessageTime
6 Jul 2024
@jthulhu:matrix.orgjthulhu Hello, I'd like to install the avif pixbuf loader, but I'm very unsure on how to proceed. For starters, I'm not even sure if it's packaged; it could be in the libavif package, as its source code is hosted in the libavif repo, but some other distros package the two separatly, and I'm not sure how to check that by myself. Furthermore, setting this up seems to require more than just "installing the package", apparently Gdk needs some special handling for loaders to be taken into account. 17:23:21
@jthulhu:matrix.orgjthulhuDoes anyone know how to make that work?17:23:31
7 Jul 2024
@1h0:matrix.org@1h0:matrix.org left the room.08:53:41
@jtojnar:matrix.orgJan Tojnar
In reply to @jthulhu:matrix.org
Hello, I'd like to install the avif pixbuf loader, but I'm very unsure on how to proceed. For starters, I'm not even sure if it's packaged; it could be in the libavif package, as its source code is hosted in the libavif repo, but some other distros package the two separatly, and I'm not sure how to check that by myself. Furthermore, setting this up seems to require more than just "installing the package", apparently Gdk needs some special handling for loaders to be taken into account.
libavif package contains it. You can install it globally through the gdk-pixbuf NixOS module but that is an ugly globalism frail with many issues and will not affect apps that already have gdk-pixbuf loaders provided locally by a wrapper. The only reliable method is passing the loader to each app that requires it – see eog package for an example.
21:17:05
@monadam:matrix.org@monadam:matrix.org left the room.21:53:16
8 Jul 2024
@jthulhu:matrix.orgjthulhu
In reply to @jtojnar:matrix.org
libavif package contains it. You can install it globally through the gdk-pixbuf NixOS module but that is an ugly globalism frail with many issues and will not affect apps that already have gdk-pixbuf loaders provided locally by a wrapper. The only reliable method is passing the loader to each app that requires it – see eog package for an example.
If I understand correctly that code, all I need to do is to set services.xserver.gdk-pixbuf.modulePackages = [ libavif ];?
04:45:03
@jthulhu:matrix.orgjthulhuI tried doing that, but it still doesn't work, my Gtk applications still cannot open avif images05:04:46
@adham-omran:matrix.org@adham-omran:matrix.org left the room.06:33:29
@jtojnar:matrix.orgJan Tojnar
In reply to @jthulhu:matrix.org
If I understand correctly that code, all I need to do is to set services.xserver.gdk-pixbuf.modulePackages = [ libavif ];?
That should be correct. But as mentioned, it won't work for some apps. Which ones did you try
08:35:49
@jtojnar:matrix.orgJan Tojnar* That should be correct. But as mentioned, it won't work for some apps. Which ones did you try? 08:36:18
@jthulhu:matrix.orgjthulhu
In reply to @jtojnar:matrix.org
That should be correct. But as mentioned, it won't work for some apps. Which ones did you try?
I tried to see if nautilus was capable of rendering thumbnails of avif images. I've also written a very stupid Gtk application that only tries to load a file as a Gtk texture in Rust, just for the purpose of testing this (https://github.com/jthulhu/rki/tree/mwe). Yet, eog seems to work correctly, despite the fact that in the nix code that packages it, libavif doesn't seem to appear anywhere.
09:03:36
@abbe:badti.me@abbe:badti.me left the room.11:30:35
9 Jul 2024
@jtojnar:matrix.orgJan Tojnar
In reply to @jthulhu:matrix.org
I tried to see if nautilus was capable of rendering thumbnails of avif images. I've also written a very stupid Gtk application that only tries to load a file as a Gtk texture in Rust, just for the purpose of testing this (https://github.com/jthulhu/rki/tree/mwe). Yet, eog seems to work correctly, despite the fact that in the nix code that packages it, libavif doesn't seem to appear anywhere.
libheif, which eog has, also supports avif files. See https://nixos.org/manual/nixpkgs/stable/#sec-language-gnome for an explanation about the necessary wrapping.
06:35:43
@jayhenks:matrix.orgjayhenks Can someone help me with gnome tracker3, it seems like it is very broken. When I use tracker3-search --music --all for example, it only shows three mp3 files from my Downloads directory, even though I have many .opus ones in /home/user/Music, same thing for Videos, and more ... 16:53:10
@jayhenks:matrix.orgjayhenks I tried tons of things, removing .cache/tracker3, using tracker3-reset, reindexing, etc. etc. 16:53:49
@jayhenks:matrix.orgjayhenks In my logs I see .tracker-miner: Could not launch metadata extractor: Failed to execute child process "/nix/store/.../tracker-extract-3" (Permission denied). Maybe this is the problem. 17:13:38
@jthulhu:matrix.orgjthulhu eog uses a function gnome._gdkPixbufCacheBuider_DO_NOT_USE to do the wrapping, but I feel like there's something suggesting me not to use that function :P more seriously, the doc says that only one extra loader can be used, because otherwise Nix doesn't know how to merge properly the caches, but the eog packages seems to happily request four extra loaders. 17:14:31
@jayhenks:matrix.orgjayhenksok so i just found an issue about it on github https://github.com/NixOS/nixpkgs/issues/31958717:19:26
@jayhenks:matrix.orgjayhenks Jan Tojnar: i saw you commented on this problem, was there a fix already upstreamed to nixpkgs? 17:23:35
10 Jul 2024
@jtojnar:matrix.orgJan Tojnar yes, the environment variable can still only take a single cache file. I added gnome._gdkPixbufCacheBuider_DO_NOT_USE to allow merging multiple caches into one. 05:42:08
@jtojnar:matrix.orgJan TojnarI did not want to document it until the API stabilized but I do not think there will be any changes at this point. We should probably just drop the suffix and document it.05:43:58
@jtojnar:matrix.orgJan Tojnar
In reply to @jayhenks:matrix.org
Jan Tojnar: i saw you commented on this problem, was there a fix already upstreamed to nixpkgs?
no upstream or downstream fix yet. You can override tracker-miners locally for now tracker-miners.overrideAttrs (old: { mesonFlags = old.mesonFlags ++ [ "-Dlandlock=disabled" ]; })
05:46:45
12 Jul 2024
@dchoi:matrix.org@dchoi:matrix.org left the room.08:25:33
@jayhenks:matrix.orgjayhenks

Jan Tojnar: after adding the below code I still do not see my music files, or am I doing it wrong?

environment.systemPackages = [
    (pkgs.tracker-miners.overrideAttrs (old: { mesonFlags = old.mesonFlags ++ [ "-Dlandlock=disabled" ]; }))
  ];
09:27:54
@jayhenks:matrix.orgjayhenksReindexed after doing this09:28:17
@jayhenks:matrix.orgjayhenks

also stopped and started, same error:

.tracker-miner-[983792]: Could not launch metadata extractor: Failed to execute child process “/nix/store/xs8fjfvy35484rkhh6ykgb9p2z0d60cl-tracker-miners-3.7.3/libexec/tracker-extract-3” (Permission denied)
09:32:23
@jayhenks:matrix.orgjayhenks *

also stopped and started the service, same error:

.tracker-miner-[983792]: Could not launch metadata extractor: Failed to execute child process “/nix/store/xs8fjfvy35484rkhh6ykgb9p2z0d60cl-tracker-miners-3.7.3/libexec/tracker-extract-3” (Permission denied)
09:32:37
13 Jul 2024
@adham-omran:matrix.org@adham-omran:matrix.org joined the room.12:42:02
@jtojnar:matrix.orgJan Tojnar jayhenks: The already present unpatched miners probably won out. You would have to disable this option and then replicate the options below. Or use an overlay. 12:51:57
@jayhenks:matrix.orgjayhenks
In reply to @jtojnar:matrix.org
jayhenks: The already present unpatched miners probably won out. You would have to disable this option and then replicate the options below. Or use an overlay.
alright yeah, I will just wait for an upstream patch for this issue. Thanks for all the help
13:15:56

Show newer messages


Back to Room ListRoom Version: 6