From 843b7c1a5d1644f34a0213d31cb02ceb119c38bb Mon Sep 17 00:00:00 2001 From: git-bruh Date: Sun, 11 Jul 2021 20:34:25 +0530 Subject: [PATCH] sync (#14) --- README.md | 25 +++- bin/firefox/build | 3 - bin/firefox/checksums | 1 - bin/firefox/depends | 40 ------ bin/firefox/post-install | 14 -- bin/firefox/sources | 1 - bin/firefox/version | 1 - bin/rust/build | 4 - bin/rust/checksums | 1 - bin/rust/depends | 5 - bin/rust/sources | 1 - bin/rust/version | 1 - core/libressl | 1 - core/openssl | 1 + extra/adwaita-icon-theme | 1 + extra/libevdev | 1 - extra/libvdpau/checksums | 1 - extra/libvdpau/depends | 3 - extra/libvdpau/sources | 1 - extra/libvdpau/version | 1 - extra/mesa | 1 + extra/mesa/build | 49 ------- extra/mesa/checksums | 1 - extra/mesa/depends | 22 ---- extra/mesa/sources | 1 - extra/mesa/version | 1 - extra/mtdev | 1 - extra/nvidia/build | 122 ------------------ extra/nvidia/depends | 4 - extra/nvidia/post-install | 11 -- extra/rust/build | 14 +- extra/rust/checksums | 9 +- extra/rust/depends | 2 +- extra/rust/patches/libressl.patch | 13 -- extra/rust/sources | 9 +- extra/rust/version | 2 +- nvidia/egl-wayland/build | 13 ++ nvidia/egl-wayland/checksums | 1 + nvidia/egl-wayland/depends | 3 + .../egl-wayland/files/10_nvidia_wayland.json | 6 + nvidia/egl-wayland/sources | 2 + nvidia/egl-wayland/version | 1 + nvidia/eglexternalplatform/build | 6 + nvidia/eglexternalplatform/sources | 1 + nvidia/eglexternalplatform/version | 1 + {extra => nvidia}/libglvnd/build | 0 {extra => nvidia}/libglvnd/checksums | 0 {extra => nvidia}/libglvnd/depends | 2 +- {extra => nvidia}/libglvnd/sources | 0 {extra => nvidia}/libglvnd/version | 0 nvidia/nvidia/build | 50 +++++++ {extra => nvidia}/nvidia/checksums | 0 nvidia/nvidia/depends | 1 + nvidia/nvidia/post-install | 11 ++ {extra => nvidia}/nvidia/sources | 0 {extra => nvidia}/nvidia/version | 0 {extra/libvdpau => nvidia/sway}/build | 5 +- nvidia/sway/depends | 17 +++ nvidia/sway/etcsums | 1 + nvidia/sway/sources | 1 + nvidia/sway/version | 1 + nvidia/wlroots/build | 14 ++ nvidia/wlroots/depends | 15 +++ nvidia/wlroots/sources | 1 + nvidia/wlroots/version | 1 + nvidia/xorg-libs/build | 56 ++++++++ nvidia/xorg-libs/checksums | 9 ++ nvidia/xorg-libs/depends | 1 + nvidia/xorg-libs/sources | 9 ++ nvidia/xorg-libs/version | 1 + wayland | 1 + xorg/libICE | 1 - xorg/libSM | 1 - xorg/libX11 | 1 - xorg/libXScrnSaver | 1 - xorg/libXau | 1 - xorg/libXcomposite | 1 - xorg/libXcursor | 1 - xorg/libXdamage | 1 - xorg/libXext | 1 - xorg/libXfixes | 1 - xorg/libXfont2 | 1 - xorg/libXft | 1 - xorg/libXi | 1 - xorg/libXinerama | 1 - xorg/libXmeta | 1 - xorg/libXmu | 1 - xorg/libXrandr | 1 - xorg/libXrender | 1 - xorg/libXt | 1 - xorg/libXtst | 1 - xorg/libXv/build | 7 - xorg/libXv/checksums | 1 - xorg/libXv/depends | 2 - xorg/libXv/sources | 1 - xorg/libXv/version | 1 - xorg/libXxf86vm | 1 - xorg/libfontenc | 1 - xorg/libxcb | 1 - xorg/libxkbfile | 1 - xorg/libxshmfence | 1 - xorg/setxkbmap | 1 - xorg/sowm | 1 - xorg/st | 1 - xorg/xauth | 1 - xorg/xbitmaps | 1 - xorg/xcb-proto | 1 - xorg/xcb-util | 1 - xorg/xcb-util-cursor | 1 - xorg/xcb-util-image | 1 - xorg/xcb-util-keysyms | 1 - xorg/xcb-util-renderutil | 1 - xorg/xcb-util-wm | 1 - xorg/xev | 1 - xorg/xf86-input-libinput | 1 - xorg/xf86-video-amdgpu | 1 - xorg/xf86-video-ati | 1 - xorg/xf86-video-intel | 1 - xorg/xf86-video-nouveau | 1 - xorg/xf86-video-vesa | 1 - xorg/xinit | 1 - xorg/xinput | 1 - xorg/xkbcomp | 1 - xorg/xkeyboard-config | 1 - xorg/xorg-server | 1 - xorg/xorg-util-macros | 1 - xorg/xorgproto | 1 - xorg/xprop | 1 - xorg/xrandr | 1 - xorg/xrdb | 1 - xorg/xset | 1 - xorg/xsetroot | 1 - xorg/xtrans | 1 - 133 files changed, 264 insertions(+), 405 deletions(-) delete mode 100755 bin/firefox/build delete mode 100644 bin/firefox/checksums delete mode 100644 bin/firefox/depends delete mode 100755 bin/firefox/post-install delete mode 100644 bin/firefox/sources delete mode 100644 bin/firefox/version delete mode 100755 bin/rust/build delete mode 100644 bin/rust/checksums delete mode 100644 bin/rust/depends delete mode 100644 bin/rust/sources delete mode 100644 bin/rust/version delete mode 120000 core/libressl create mode 120000 core/openssl create mode 120000 extra/adwaita-icon-theme delete mode 120000 extra/libevdev delete mode 100644 extra/libvdpau/checksums delete mode 100644 extra/libvdpau/depends delete mode 100644 extra/libvdpau/sources delete mode 100644 extra/libvdpau/version create mode 120000 extra/mesa delete mode 100755 extra/mesa/build delete mode 120000 extra/mesa/checksums delete mode 100644 extra/mesa/depends delete mode 120000 extra/mesa/sources delete mode 120000 extra/mesa/version delete mode 120000 extra/mtdev delete mode 100755 extra/nvidia/build delete mode 100644 extra/nvidia/depends delete mode 100755 extra/nvidia/post-install delete mode 100644 extra/rust/patches/libressl.patch create mode 100755 nvidia/egl-wayland/build create mode 100644 nvidia/egl-wayland/checksums create mode 100644 nvidia/egl-wayland/depends create mode 100644 nvidia/egl-wayland/files/10_nvidia_wayland.json create mode 100644 nvidia/egl-wayland/sources create mode 100644 nvidia/egl-wayland/version create mode 100755 nvidia/eglexternalplatform/build create mode 100644 nvidia/eglexternalplatform/sources create mode 100644 nvidia/eglexternalplatform/version rename {extra => nvidia}/libglvnd/build (100%) rename {extra => nvidia}/libglvnd/checksums (100%) rename {extra => nvidia}/libglvnd/depends (52%) rename {extra => nvidia}/libglvnd/sources (100%) rename {extra => nvidia}/libglvnd/version (100%) create mode 100755 nvidia/nvidia/build rename {extra => nvidia}/nvidia/checksums (100%) create mode 100644 nvidia/nvidia/depends create mode 100755 nvidia/nvidia/post-install rename {extra => nvidia}/nvidia/sources (100%) rename {extra => nvidia}/nvidia/version (100%) rename {extra/libvdpau => nvidia/sway}/build (61%) create mode 100644 nvidia/sway/depends create mode 100644 nvidia/sway/etcsums create mode 100644 nvidia/sway/sources create mode 100644 nvidia/sway/version create mode 100755 nvidia/wlroots/build create mode 100644 nvidia/wlroots/depends create mode 100644 nvidia/wlroots/sources create mode 100644 nvidia/wlroots/version create mode 100755 nvidia/xorg-libs/build create mode 100644 nvidia/xorg-libs/checksums create mode 100644 nvidia/xorg-libs/depends create mode 100644 nvidia/xorg-libs/sources create mode 100644 nvidia/xorg-libs/version create mode 120000 wayland delete mode 120000 xorg/libICE delete mode 120000 xorg/libSM delete mode 120000 xorg/libX11 delete mode 120000 xorg/libXScrnSaver delete mode 120000 xorg/libXau delete mode 120000 xorg/libXcomposite delete mode 120000 xorg/libXcursor delete mode 120000 xorg/libXdamage delete mode 120000 xorg/libXext delete mode 120000 xorg/libXfixes delete mode 120000 xorg/libXfont2 delete mode 120000 xorg/libXft delete mode 120000 xorg/libXi delete mode 120000 xorg/libXinerama delete mode 120000 xorg/libXmeta delete mode 120000 xorg/libXmu delete mode 120000 xorg/libXrandr delete mode 120000 xorg/libXrender delete mode 120000 xorg/libXt delete mode 120000 xorg/libXtst delete mode 100755 xorg/libXv/build delete mode 100644 xorg/libXv/checksums delete mode 100644 xorg/libXv/depends delete mode 100644 xorg/libXv/sources delete mode 100644 xorg/libXv/version delete mode 120000 xorg/libXxf86vm delete mode 120000 xorg/libfontenc delete mode 120000 xorg/libxcb delete mode 120000 xorg/libxkbfile delete mode 120000 xorg/libxshmfence delete mode 120000 xorg/setxkbmap delete mode 120000 xorg/sowm delete mode 120000 xorg/st delete mode 120000 xorg/xauth delete mode 120000 xorg/xbitmaps delete mode 120000 xorg/xcb-proto delete mode 120000 xorg/xcb-util delete mode 120000 xorg/xcb-util-cursor delete mode 120000 xorg/xcb-util-image delete mode 120000 xorg/xcb-util-keysyms delete mode 120000 xorg/xcb-util-renderutil delete mode 120000 xorg/xcb-util-wm delete mode 120000 xorg/xev delete mode 120000 xorg/xf86-input-libinput delete mode 120000 xorg/xf86-video-amdgpu delete mode 120000 xorg/xf86-video-ati delete mode 120000 xorg/xf86-video-intel delete mode 120000 xorg/xf86-video-nouveau delete mode 120000 xorg/xf86-video-vesa delete mode 120000 xorg/xinit delete mode 120000 xorg/xinput delete mode 120000 xorg/xkbcomp delete mode 120000 xorg/xkeyboard-config delete mode 120000 xorg/xorg-server delete mode 120000 xorg/xorg-util-macros delete mode 120000 xorg/xorgproto delete mode 120000 xorg/xprop delete mode 120000 xorg/xrandr delete mode 120000 xorg/xrdb delete mode 120000 xorg/xset delete mode 120000 xorg/xsetroot delete mode 120000 xorg/xtrans diff --git a/README.md b/README.md index 8919d4d39..c936e64f5 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # GKISS Linux 🐂 -![Downloads](https://img.shields.io/github/downloads/gkisslinux/grepo/latest/gkiss-chroot-2021.04.29.tar.xz) +![Downloads](https://img.shields.io/github/downloads/gkisslinux/grepo/latest/gkiss-chroot-2021.7-5.tar.xz) ## Installation @@ -33,19 +33,30 @@ export KISS_PATH=/path/to/grepo/bin:$KISS_PATH ## NVIDIA +* Modify `KISS_PATH` such that the `nvidia` repository takes priority over other repositories since some Wayland packages like `wlroots` are forked here to add NVIDIA support: +```sh +export KISS_PATH=/path/to/grepo/nvidia:$KISS_PATH +``` +* Build `libglvnd`, and then `mesa` since NVIDIA drivers require libglvnd. * Install the nvidia drivers by building the `nvidia` package. -* For kernel configuration, refer to the [Gentoo Wiki](https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers#Kernel_compatibility). The `nouveau` kernel module must either be blacklisted from being loaded or disabled in the kernel configuration. The NVIDIA module can be loaded by running `modprobe nvidia-drm modeset=1` as root. +* For kernel configuration, refer to the [Gentoo Wiki](https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers#Kernel_compatibility). The `nouveau` kernel module must either be blacklisted from being loaded or disabled in the kernel configuration. * The kernel modules can also be built for a specific kernel by exporting the `KERNEL_UNAME` variable: ```sh export KERNEL_UNAME=5.10.2 # Example -kiss b nvidia && kiss i nvidia +kiss b nvidia # Environment variables can't be used in `post-install`. depmod "$KERNEL_UNAME" ``` - -### Screen Tearing -* Enable `Force Composition Pipeline` in the `nvidia-settings` GUI and save the changes to `xorg.conf` by using the `Save to X Configuration File` option. -* Enable `layers.acceleration.force-enabled` or switch to **WebRender** by setting `gfx.webrender.all` to `True` in Firefox's `about:config`. +* For Wayland compositors to work properly, the NVIDIA kernel module _MUST_ be loaded with the `modeset` parameter set to `1`: +```sh +# Files in /etc/rc.d are executed on boot. +-> cat << EOF | $cmd_su tee /etc/rc.d/nvidia.boot +> #!/bin/sh +> +> /bin/modprobe nvidia-drm modeset=1 +> EOF +-> $cmd_su chmod 755 /etc/rc.d/nvidia.boot +``` ## Reporting Issues diff --git a/bin/firefox/build b/bin/firefox/build deleted file mode 100755 index 66e8b4265..000000000 --- a/bin/firefox/build +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -e - -cp -r usr "$1/usr" diff --git a/bin/firefox/checksums b/bin/firefox/checksums deleted file mode 100644 index 019b0cbe5..000000000 --- a/bin/firefox/checksums +++ /dev/null @@ -1 +0,0 @@ -578d7bf9499700ce2595e85f53bd459e66a0b7d22e235ff91f0a945de06f8d1d diff --git a/bin/firefox/depends b/bin/firefox/depends deleted file mode 100644 index 1b75dd892..000000000 --- a/bin/firefox/depends +++ /dev/null @@ -1,40 +0,0 @@ -alsa-lib -atk -bzip2 -cairo -expat -ffmpeg -fontconfig -freetype-harfbuzz -fribidi -gcc -gdk-pixbuf -glib -gtk+3 -libICE -libSM -libX11 -libXau -libXcomposite -libXcursor -libXdamage -libXext -libXfixes -libXi -libXinerama -libXrandr -libXrender -libXt -libXxf86vm -libdrm -libepoxy -libffi -libjpeg-turbo -libpng -libvpx -libxcb -libxshmfence -mesa -pango -pixman -zlib diff --git a/bin/firefox/post-install b/bin/firefox/post-install deleted file mode 100755 index cb5f0289a..000000000 --- a/bin/firefox/post-install +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh - -cat < ('3', '1', '0'), - (3, 1, _) => ('3', '1', 'x'), - (3, 2, 0) => ('3', '2', '0'), -+ (3, 2, 1) => ('3', '2', '1'), -+ (3, 3, _) => ('3', '3', 'x'), - _ => version_error(), - }; - diff --git a/extra/rust/sources b/extra/rust/sources index 23f735e7e..b88aee860 100644 --- a/extra/rust/sources +++ b/extra/rust/sources @@ -1,5 +1,4 @@ -https://static.rust-lang.org/dist/rustc-1.52.0-src.tar.xz -https://static.rust-lang.org/dist/2021-03-25/rust-std-1.51.0-x86_64-unknown-linux-gnu.tar.xz?no-extract -https://static.rust-lang.org/dist/2021-03-25/rustc-1.51.0-x86_64-unknown-linux-gnu.tar.xz?no-extract -https://static.rust-lang.org/dist/2021-03-25/cargo-1.51.0-x86_64-unknown-linux-gnu.tar.xz?no-extract -patches/libressl.patch +https://static.rust-lang.org/dist/rustc-1.53.0-src.tar.xz +https://static.rust-lang.org/dist/2021-05-06/rust-std-1.52.0-x86_64-unknown-linux-gnu.tar.xz?no-extract +https://static.rust-lang.org/dist/2021-05-06/rustc-1.52.0-x86_64-unknown-linux-gnu.tar.xz?no-extract +https://static.rust-lang.org/dist/2021-05-06/cargo-1.52.0-x86_64-unknown-linux-gnu.tar.xz?no-extract diff --git a/extra/rust/version b/extra/rust/version index cd9c7f14c..c56ed4135 100644 --- a/extra/rust/version +++ b/extra/rust/version @@ -1 +1 @@ -1.52.0 1 +1.53.0 1 diff --git a/nvidia/egl-wayland/build b/nvidia/egl-wayland/build new file mode 100755 index 000000000..b6a35c430 --- /dev/null +++ b/nvidia/egl-wayland/build @@ -0,0 +1,13 @@ +#!/bin/sh -e + +export DESTDIR="$1" + +meson \ + --prefix=/usr \ + . output + +ninja -C output +ninja -C output install + +mkdir -p "$1/usr/share/egl/egl_external_platform.d/" +cp 10_nvidia_wayland.json "$1/usr/share/egl/egl_external_platform.d/" diff --git a/nvidia/egl-wayland/checksums b/nvidia/egl-wayland/checksums new file mode 100644 index 000000000..cb64c2793 --- /dev/null +++ b/nvidia/egl-wayland/checksums @@ -0,0 +1 @@ +5cccf1905a266e8e34d5ad4aad4be85390e60b1a0850a29dd9d64adc641de412 diff --git a/nvidia/egl-wayland/depends b/nvidia/egl-wayland/depends new file mode 100644 index 000000000..b9cd34272 --- /dev/null +++ b/nvidia/egl-wayland/depends @@ -0,0 +1,3 @@ +eglexternalplatform +meson make +wayland diff --git a/nvidia/egl-wayland/files/10_nvidia_wayland.json b/nvidia/egl-wayland/files/10_nvidia_wayland.json new file mode 100644 index 000000000..c08a64112 --- /dev/null +++ b/nvidia/egl-wayland/files/10_nvidia_wayland.json @@ -0,0 +1,6 @@ +{ + "file_format_version" : "1.0.0", + "ICD" : { + "library_path" : "libnvidia-egl-wayland.so.1" + } +} diff --git a/nvidia/egl-wayland/sources b/nvidia/egl-wayland/sources new file mode 100644 index 000000000..eb39b5d78 --- /dev/null +++ b/nvidia/egl-wayland/sources @@ -0,0 +1,2 @@ +git+https://github.com/NVIDIA/egl-wayland.git +files/10_nvidia_wayland.json diff --git a/nvidia/egl-wayland/version b/nvidia/egl-wayland/version new file mode 100644 index 000000000..a383ea1a0 --- /dev/null +++ b/nvidia/egl-wayland/version @@ -0,0 +1 @@ +git 1 diff --git a/nvidia/eglexternalplatform/build b/nvidia/eglexternalplatform/build new file mode 100755 index 000000000..cb892bcea --- /dev/null +++ b/nvidia/eglexternalplatform/build @@ -0,0 +1,6 @@ +#!/bin/sh -e + +mkdir -p "$1/usr/include/EGL" "$1/usr/share/pkgconfig" + +cp interface/* "$1/usr/include/EGL" +cp ./*.pc "$1/usr/share/pkgconfig" diff --git a/nvidia/eglexternalplatform/sources b/nvidia/eglexternalplatform/sources new file mode 100644 index 000000000..46544366a --- /dev/null +++ b/nvidia/eglexternalplatform/sources @@ -0,0 +1 @@ +git+https://github.com/NVIDIA/eglexternalplatform.git diff --git a/nvidia/eglexternalplatform/version b/nvidia/eglexternalplatform/version new file mode 100644 index 000000000..a383ea1a0 --- /dev/null +++ b/nvidia/eglexternalplatform/version @@ -0,0 +1 @@ +git 1 diff --git a/extra/libglvnd/build b/nvidia/libglvnd/build similarity index 100% rename from extra/libglvnd/build rename to nvidia/libglvnd/build diff --git a/extra/libglvnd/checksums b/nvidia/libglvnd/checksums similarity index 100% rename from extra/libglvnd/checksums rename to nvidia/libglvnd/checksums diff --git a/extra/libglvnd/depends b/nvidia/libglvnd/depends similarity index 52% rename from extra/libglvnd/depends rename to nvidia/libglvnd/depends index 8548e2cc3..23de9a7b6 100644 --- a/extra/libglvnd/depends +++ b/nvidia/libglvnd/depends @@ -1,2 +1,2 @@ -libX11 meson make +xorg-libs diff --git a/extra/libglvnd/sources b/nvidia/libglvnd/sources similarity index 100% rename from extra/libglvnd/sources rename to nvidia/libglvnd/sources diff --git a/extra/libglvnd/version b/nvidia/libglvnd/version similarity index 100% rename from extra/libglvnd/version rename to nvidia/libglvnd/version diff --git a/nvidia/nvidia/build b/nvidia/nvidia/build new file mode 100755 index 000000000..2fdc4165a --- /dev/null +++ b/nvidia/nvidia/build @@ -0,0 +1,50 @@ +#!/bin/sh -e + +sh "NVIDIA-Linux-x86_64-${2}-no-compat32.run" --extract-only +cd "NVIDIA-Linux-x86_64-${2}-no-compat32" + +mkdir -p \ + "$1/usr/bin" \ + "$1/usr/share/man/man1" \ + "$1/usr/share/glvnd/egl_vendor.d" \ + "$1/usr/share/vulkan/icd.d" \ + "$1/usr/share/vulkan/implicit_layer.d" \ + "$1/usr/lib/modules/${KERNEL_UNAME:-$(uname -r)}/extra" + +bins=" +smi persistenced modprobe +" + +libs=" +libEGL_nvidia libGLESv1_CM_nvidia libGLESv2_nvidia libnvidia-glcore +libnvidia-eglcore libnvidia-glsi libnvidia-cfg libnvidia-ml +libnvidia-ngx libnvidia-glvkspirv libnvidia-tls +" + +for bin in $bins; do + cp "nvidia-${bin}" "$1/usr/bin/" + cp "nvidia-${bin}.1.gz" "$1/usr/share/man/man1/" +done + +for lib in $libs; do + cp "${lib}.so.$2" "$1/usr/lib/" +done + +chmod 4755 "$1/usr/bin/nvidia-modprobe" + +cp 10_nvidia.json "$1/usr/share/glvnd/egl_vendor.d/" +cp nvidia_icd.json "$1/usr/share/vulkan/icd.d/" +cp nvidia_layers.json "$1/usr/share/vulkan/implicit_layer.d/" + +# soname links +for lib in "$1/usr/lib/"*.so*; do + soname=$(dirname "$lib")/$(readelf -d "$lib" | awk '/SONAME/ {print $5}' | tr -d '[]') + base=$(printf "%s" "$soname" | sed -r 's/(.*).so.*/\1.so/') + [ -e "$soname" ] || ln -sf "$(basename "$lib")" "$soname" + [ -e "$base" ] || ln -sf "$(basename "$soname")" "$base" +done + +# kernel modules +cd kernel +make modules +cp ./*.ko "$1/usr/lib/modules/${KERNEL_UNAME:-$(uname -r)}/extra" diff --git a/extra/nvidia/checksums b/nvidia/nvidia/checksums similarity index 100% rename from extra/nvidia/checksums rename to nvidia/nvidia/checksums diff --git a/nvidia/nvidia/depends b/nvidia/nvidia/depends new file mode 100644 index 000000000..3cc8ee4fd --- /dev/null +++ b/nvidia/nvidia/depends @@ -0,0 +1 @@ +libglvnd diff --git a/nvidia/nvidia/post-install b/nvidia/nvidia/post-install new file mode 100755 index 000000000..3e943b850 --- /dev/null +++ b/nvidia/nvidia/post-install @@ -0,0 +1,11 @@ +#!/bin/sh + +/usr/bin/depmod +/usr/bin/ldconfig + +cat <