From acb0e986a4be17bd24f6f748d8348802225cda2d Mon Sep 17 00:00:00 2001 From: John Titor <50095635+JohnRTitor@users.noreply.github.com> Date: Thu, 3 Oct 2024 17:34:00 +0000 Subject: [PATCH 1/3] google-chrome: 129.0.6668.58 -> 129.0.6668.89 (cherry picked from commit 1f52ea5b8da4dcafbc7e02c0dc13cffc39b5367b) --- pkgs/by-name/go/google-chrome/package.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/go/google-chrome/package.nix b/pkgs/by-name/go/google-chrome/package.nix index 24f266f85d3afa5..f9a3dfdc6fec699 100644 --- a/pkgs/by-name/go/google-chrome/package.nix +++ b/pkgs/by-name/go/google-chrome/package.nix @@ -164,11 +164,11 @@ let linux = stdenv.mkDerivation (finalAttrs: { inherit pname meta passthru; - version = "129.0.6668.58"; + version = "129.0.6668.89"; src = fetchurl { url = "https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${finalAttrs.version}-1_amd64.deb"; - hash = "sha256-lFYGwpdicvp+E4S+sw4+3uFQSwGKvhyFenBZMVgVnMo="; + hash = "sha256-7siTsIW29x4XZ+Zut9b5BFSTtc5tuhxusxnkJPouG1w="; }; # With strictDeps on, some shebangs were not being patched correctly @@ -258,11 +258,11 @@ let darwin = stdenvNoCC.mkDerivation (finalAttrs: { inherit pname meta passthru; - version = "129.0.6668.59"; + version = "129.0.6668.90"; src = fetchurl { - url = "http://dl.google.com/release2/chrome/acinjqjzbtmzhvrebvzymzvzfaoq_129.0.6668.59/GoogleChrome-129.0.6668.59.dmg"; - hash = "sha256-02J3TpcAsCvsB71C8/bfgIxiqcGIxjKiTWR32On66+g="; + url = "http://dl.google.com/release2/chrome/n4gcpoygckhm4y53qwq7lkpnqu_129.0.6668.90/GoogleChrome-129.0.6668.90.dmg"; + hash = "sha256-viQSX8ogY5ywPqgVmMToHdZysxLuC8U78UJ9fIUrGCs="; }; dontPatch = true; From 9c6ca214ba2b4d4d1b0f97ddc2beaf77fba267af Mon Sep 17 00:00:00 2001 From: John Titor <50095635+JohnRTitor@users.noreply.github.com> Date: Thu, 3 Oct 2024 23:38:22 +0530 Subject: [PATCH 2/3] google-chrome: replace bundled libvulkan.so.1 with vulkan-loader's When Chrome run by `google-chrome-stable --use-vulkan --enable-features=Vulkan` without this, it fails to create vk instance giving the below log: [216457:216457:1003/211719.770352:ERROR:vulkan_instance.cc(112)] Failed to load 'libvulkan.so.1': libvulkan.so.1: cannot open shared object file: No such file or directory [216457:216457:1003/211719.770434:ERROR:gpu_init.cc(1209)] Failed to create and initialize Vulkan implementation. Closes https://github.com/NixOS/nixpkgs/issues/346197 Signed-off-by: John Titor <50095635+JohnRTitor@users.noreply.github.com> (cherry picked from commit cd0a0dac6867f11b046f0195b13e5c57fa13cdcb) --- pkgs/by-name/go/google-chrome/package.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/go/google-chrome/package.nix b/pkgs/by-name/go/google-chrome/package.nix index f9a3dfdc6fec699..b9c2c7fd377c9e6 100644 --- a/pkgs/by-name/go/google-chrome/package.nix +++ b/pkgs/by-name/go/google-chrome/package.nix @@ -44,6 +44,7 @@ nss, pango, pipewire, + vulkan-loader, wayland, # ozone/wayland # Command line programs @@ -152,6 +153,7 @@ let speechd systemd util-linux + vulkan-loader wayland wget ] @@ -209,9 +211,12 @@ let exe=$out/bin/google-chrome-$dist mkdir -p $out/bin $out/share + cp -v -a opt/* $out/share + cp -v -a usr/share/* $out/share - cp -a opt/* $out/share - cp -a usr/share/* $out/share + # replace bundled vulkan-loader + rm -v $out/share/google/$appname/libvulkan.so.1 + ln -v -s -t "$out/share/google/$appname" "${lib.getLib vulkan-loader}/lib/libvulkan.so.1" substituteInPlace $out/share/google/$appname/google-$appname \ --replace-fail 'CHROME_WRAPPER' 'WRAPPER' From a136b63ddf5ae6183cdc2f10a04a6847a32ec45d Mon Sep 17 00:00:00 2001 From: John Titor <50095635+JohnRTitor@users.noreply.github.com> Date: Fri, 4 Oct 2024 00:28:04 +0530 Subject: [PATCH 3/3] google-chrome: add rpath for libGLESv2.so as well This is needed to make sure that ANGLE's libGLESv2.so can find libGL and libvulkan Like https://github.com/NixOS/nixpkgs/blob/27e30d177e57d912d614c88c622dcfdb2e6e6515/pkgs/development/tools/electron/binary/generic.nix#L136-L139 and https://github.com/NixOS/nixpkgs/blob/27e30d177e57d912d614c88c622dcfdb2e6e6515/pkgs/applications/networking/browsers/chromium/common.nix#L562-564 Signed-off-by: John Titor <50095635+JohnRTitor@users.noreply.github.com> (cherry picked from commit 2b58c0b4b29caabe57bc18670754a9ca8419ac1e) --- pkgs/by-name/go/google-chrome/package.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/by-name/go/google-chrome/package.nix b/pkgs/by-name/go/google-chrome/package.nix index b9c2c7fd377c9e6..5db1a1009a8464c 100644 --- a/pkgs/by-name/go/google-chrome/package.nix +++ b/pkgs/by-name/go/google-chrome/package.nix @@ -252,6 +252,9 @@ let --add-flags "--simulate-outdated-no-au='Tue, 31 Dec 2099 23:59:59 GMT'" \ --add-flags ${lib.escapeShellArg commandLineArgs} + # Make sure that libGL and libvulkan are found by ANGLE libGLESv2.so + patchelf --set-rpath $rpath $out/share/google/$appname/lib*GL* + for elf in $out/share/google/$appname/{chrome,chrome-sandbox,chrome_crashpad_handler}; do patchelf --set-rpath $rpath $elf patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $elf