Gönderen Konu: ARCH, ARCHMAN, ARCOLINUX amd rx 470 gpu standby sorunu  (Okunma sayısı 276 defa)

0 Üye ve 2 Ziyaretçi konuyu incelemekte.

Çevrimdışı yardroid

  • Yeni Üye
  • *
  • İleti: 4
  • Teşekkür: +0/-0
  • Masaüstü / Desktop Environment: Xfce4
Arkadaşlar merhaba,

Sıkıntı, monitörün uyku moduna geçmemesi. Kapanır gibi yapıyor ekran karanıyor ama kapanmıyor hala arka ışık kesilmiyor standby ledi yanmıyor 10 saniye kadar sonrada ekran tekrar açılıyor. Kısmi çözüm buldum ama gpu performansını düşürüyor. "amdgpu.dc=0" yazısını grub config'e girince sorun çözülüyor. İşin kılçık kısmı manjaroda bu sorun yok ve "amdgpu.dc=1" şeklinde sorunsuz çalışıyor. Manjaro ile xorg.log'u karşılaştırdım, drm ayarlarını karşılaştırdım, amdgpu ayarlarını karşılaştırdım, firmwareleri karşılaştırdım hepsi aynı. Next git kernellerini denedim amd kernelleri denedim yok.

Google taramalarımda "amdgpu.dc=1" ayarının pekçok soruna sebep olabildiğini öğrendim. Ancak bu sorunlar önceki kernellerde çoğunlukla çözümüş. Şimdi ne olduda eski bug hortladı ve manjaroda olmuyor bilemiyorum. Archlinux forumuna mesaj attım yardımcı olabilen çıkmadı. En son manjaro forumunda yazıp sorucam ama muhtemelen manjaro kullan diyecekler.

Çevrimdışı alicavus

  • Administrator
  • Aktif Üye
  • *****
  • İleti: 68
  • Teşekkür: +7/-0
  • Dağıtım / Distribution: Arch Linux
  • Masaüstü / Desktop Environment: Cinnamon
  • Sürüm / Release: rolling
  • Ekran Kartı - Graphic Card: INTEL
  • Ekr. Kartı Sür. Graph.Dri: Özgür Yazılım
Ynt: ARCH, ARCHMAN, ARCOLINUX amd rx 470 gpu standby sorunu
« Yanıtla #1 : 09 Kasım 2019, 09:39:45 »
Gerçekten ilginç bir durum. Manjaro'da Arch Linux'a göre güncellemeler bir iki hafta daha geç düşüyor, kernel sürümü Arch Linux'a göreaynı mı? İşyerinde kullandığım bilgisayarda geçen hafta gelen güncellemeye kadar (5.3.8.1-1) Intel ekran kartını kullanamıyordu, ben de LTS sürümü kullanmak zorunda kalıyordum.
tlp paketi güç denetimi sağlıyor, paket kurulu değilse kurup tlp.service etkinleştirmen gerekecektir.
gpg --sign /home/$USER/signature

Çevrimdışı yardroid

  • Yeni Üye
  • *
  • İleti: 4
  • Teşekkür: +0/-0
  • Masaüstü / Desktop Environment: Xfce4
Ynt: ARCH, ARCHMAN, ARCOLINUX amd rx 470 gpu standby sorunu
« Yanıtla #2 : 09 Kasım 2019, 12:57:42 »
Aynı sürüm kernelle denedim. drm-next, next-git, amd ileri sürüm kernellerlede denedim yok. Azönce tlp güç paketinide denedim. Olmuyor. Aslında manjaro kullanıyordum ama archtaki  initframs, mkinitcpio değişikliği yüzünden aur daki custom kerneller manjaro üzerinde çalışmıyor.

Çevrimdışı alicavus

  • Administrator
  • Aktif Üye
  • *****
  • İleti: 68
  • Teşekkür: +7/-0
  • Dağıtım / Distribution: Arch Linux
  • Masaüstü / Desktop Environment: Cinnamon
  • Sürüm / Release: rolling
  • Ekran Kartı - Graphic Card: INTEL
  • Ekr. Kartı Sür. Graph.Dri: Özgür Yazılım
Ynt: ARCH, ARCHMAN, ARCOLINUX amd rx 470 gpu standby sorunu
« Yanıtla #3 : 10 Kasım 2019, 13:39:01 »
Manjaro ile Arch Linux arasında ciddi farklılıklar olabilir. Sebebi ise Filip Müller özel yamalar kullanıyor. Örneğin AMD grafik kartları için kullandığı şudur.

Arch Linux çekirdeği PKGBUILD dosyasında
Kod: [Seç]
  for src in "${source[@]}"; do
    src="${src%%::*}"
    src="${src##*/}"
    [[ $src = *.patch ]] || continue
    msg2 "Applying patch $src..."
    patch -Np1 < "../$src"
  done
diye kod görüyoruz, fakat source kısmında hiç bir patch yok:
Kod: [Seç]
source=(
  "$_srcname::git+https://git.archlinux.org/linux.git?signed#tag=$_srctag"
  config         # the main kernel config file
)
Biz şimdi Filip Müller'in kullandığı patch'ı kullanabiliriz, bunu PKGBUILD dosyasında source kısmına ve sha256sums kısmına değişiklikler yaparak elde edebiliriz.
Kod: [Seç]
source=(
  "$_srcname::git+https://git.archlinux.org/linux.git?signed#tag=$_srctag"
  "https://gitlab.manjaro.org/packages/core/linux53/raw/master/0001-drm-amdgpu-Add-DC-feature-mask-to-disable-fractional-pwm.patch" # AMD GPU Patch
   "config::https://git.archlinux.org/svntogit/packages.git/plain/trunk/config?h=packages/linux"         # the main kernel config file
)
Kod: [Seç]
sha256sums=('SKIP'
            '5b38d1666d51f8863117ec1d107d3f1c68a57e2b2ab44da1a7da10cbfc7f8ef3'
            'e749cd85d37d4d70099b0a7f54e852b039ae07c14e4ab8be299c64edae5d4ba4')

PKGBUILD dosyası:
Kod: [Seç]
# Maintainer: Jan Alexander Steffens (heftig) <[email protected]>

pkgbase=linux
pkgver=5.3.9.1
pkgrel=2
pkgdesc='Linux'
_srctag=v${pkgver%.*}-arch${pkgver##*.}
url="https://git.archlinux.org/linux.git/log/?h=$_srctag"
arch=(x86_64)
license=(GPL2)
makedepends=(
  xmlto kmod inetutils bc libelf
  python-sphinx python-sphinx_rtd_theme graphviz imagemagick
  git
)
options=('!strip')
_srcname=archlinux-linux
source=(
  "$_srcname::git+https://git.archlinux.org/linux.git?signed#tag=$_srctag"
  "https://gitlab.manjaro.org/packages/core/linux53/raw/master/0001-drm-amdgpu-Add-DC-feature-mask-to-disable-fractional-pwm.patch" # AMD GPU Patch
   "config::https://git.archlinux.org/svntogit/packages.git/plain/trunk/config?h=packages/linux"         # the main kernel config file
)
validpgpkeys=(
  'ABAF11C65A2970B130ABE3C479BE3E4300411886'  # Linus Torvalds
  '647F28654894E3BD457199BE38DBBDC86092693E'  # Greg Kroah-Hartman
  '8218F88849AAC522E94CF470A5E9288C4FA415FA'  # Jan Alexander Steffens (heftig)
)
sha256sums=('SKIP'
            '5b38d1666d51f8863117ec1d107d3f1c68a57e2b2ab44da1a7da10cbfc7f8ef3'
            'e749cd85d37d4d70099b0a7f54e852b039ae07c14e4ab8be299c64edae5d4ba4')

export KBUILD_BUILD_HOST=archlinux
export KBUILD_BUILD_USER=$pkgbase
export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})"

prepare() {
  cd $_srcname

  msg2 "Setting version..."
  scripts/setlocalversion --save-scmversion
  echo "-$pkgrel" > localversion.10-pkgrel
  echo "${pkgbase#linux}" > localversion.20-pkgname

  local src
  for src in "${source[@]}"; do
    src="${src%%::*}"
    src="${src##*/}"
    [[ $src = *.patch ]] || continue
    msg2 "Applying patch $src..."
    patch -Np1 < "../$src"
  done

  msg2 "Setting config..."
  cp ../config .config
  make olddefconfig

  make -s kernelrelease > version
  msg2 "Prepared %s version %s" "$pkgbase" "$(<version)"
}

build() {
  cd $_srcname
  make bzImage modules htmldocs
}

_package() {
  pkgdesc="The $pkgdesc kernel and modules"
  depends=(coreutils kmod initramfs)
  optdepends=('crda: to set the correct wireless channels of your country'
              'linux-firmware: firmware images needed for some devices')

  cd $_srcname
  local kernver="$(<version)"
  local modulesdir="$pkgdir/usr/lib/modules/$kernver"

  msg2 "Installing boot image..."
  # systemd expects to find the kernel here to allow hibernation
  # https://github.com/systemd/systemd/commit/edda44605f06a41fb86b7ab8128dcf99161d2344
  install -Dm644 "$(make -s image_name)" "$modulesdir/vmlinuz"

  # Used by mkinitcpio to name the kernel
  echo "$pkgbase" | install -Dm644 /dev/stdin "$modulesdir/pkgbase"

  msg2 "Installing modules..."
  make INSTALL_MOD_PATH="$pkgdir/usr" modules_install

  # remove build and source links
  rm "$modulesdir"/{source,build}

  msg2 "Fixing permissions..."
  chmod -Rc u=rwX,go=rX "$pkgdir"
}

_package-headers() {
  pkgdesc="Headers and scripts for building modules for the $pkgdesc kernel"

  cd $_srcname
  local builddir="$pkgdir/usr/lib/modules/$(<version)/build"

  msg2 "Installing build files..."
  install -Dt "$builddir" -m644 .config Makefile Module.symvers System.map \
    localversion.* version vmlinux
  install -Dt "$builddir/kernel" -m644 kernel/Makefile
  install -Dt "$builddir/arch/x86" -m644 arch/x86/Makefile
  cp -t "$builddir" -a scripts

  # add objtool for external module building and enabled VALIDATION_STACK option
  install -Dt "$builddir/tools/objtool" tools/objtool/objtool

  # add xfs and shmem for aufs building
  mkdir -p "$builddir"/{fs/xfs,mm}

  msg2 "Installing headers..."
  cp -t "$builddir" -a include
  cp -t "$builddir/arch/x86" -a arch/x86/include
  install -Dt "$builddir/arch/x86/kernel" -m644 arch/x86/kernel/asm-offsets.s

  install -Dt "$builddir/drivers/md" -m644 drivers/md/*.h
  install -Dt "$builddir/net/mac80211" -m644 net/mac80211/*.h

  # http://bugs.archlinux.org/task/13146
  install -Dt "$builddir/drivers/media/i2c" -m644 drivers/media/i2c/msp3400-driver.h

  # http://bugs.archlinux.org/task/20402
  install -Dt "$builddir/drivers/media/usb/dvb-usb" -m644 drivers/media/usb/dvb-usb/*.h
  install -Dt "$builddir/drivers/media/dvb-frontends" -m644 drivers/media/dvb-frontends/*.h
  install -Dt "$builddir/drivers/media/tuners" -m644 drivers/media/tuners/*.h

  msg2 "Installing KConfig files..."
  find . -name 'Kconfig*' -exec install -Dm644 {} "$builddir/{}" \;

  msg2 "Removing unneeded architectures..."
  local arch
  for arch in "$builddir"/arch/*/; do
    [[ $arch = */x86/ ]] && continue
    echo "Removing $(basename "$arch")"
    rm -r "$arch"
  done

  msg2 "Removing documentation..."
  rm -r "$builddir/Documentation"

  msg2 "Removing broken symlinks..."
  find -L "$builddir" -type l -printf 'Removing %P\n' -delete

  msg2 "Removing loose objects..."
  find "$builddir" -type f -name '*.o' -printf 'Removing %P\n' -delete

  msg2 "Stripping build tools..."
  local file
  while read -rd '' file; do
    case "$(file -bi "$file")" in
      application/x-sharedlib\;*)      # Libraries (.so)
        strip -v $STRIP_SHARED "$file" ;;
      application/x-archive\;*)        # Libraries (.a)
        strip -v $STRIP_STATIC "$file" ;;
      application/x-executable\;*)     # Binaries
        strip -v $STRIP_BINARIES "$file" ;;
      application/x-pie-executable\;*) # Relocatable binaries
        strip -v $STRIP_SHARED "$file" ;;
    esac
  done < <(find "$builddir" -type f -perm -u+x ! -name vmlinux -print0)

  msg2 "Adding symlink..."
  mkdir -p "$pkgdir/usr/src"
  ln -sr "$builddir" "$pkgdir/usr/src/$pkgbase"

  msg2 "Fixing permissions..."
  chmod -Rc u=rwX,go=rX "$pkgdir"
}

_package-docs() {
  pkgdesc="Kernel hacker's manual for the $pkgdesc kernel"

  cd $_srcname
  local builddir="$pkgdir/usr/lib/modules/$(<version)/build"

  msg2 "Installing documentation..."
  mkdir -p "$builddir"
  cp -t "$builddir" -a Documentation

  msg2 "Removing unneeded files..."
  rm -rv "$builddir"/Documentation/{,output/}.[^.]*

  msg2 "Moving HTML docs..."
  local src dst
  while read -rd '' src; do
    dst="$builddir/Documentation/${src#$builddir/Documentation/output/}"
    mkdir -p "${dst%/*}"
    mv "$src" "$dst"
    rmdir -p --ignore-fail-on-non-empty "${src%/*}"
  done < <(find "$builddir/Documentation/output" -type f -print0)

  msg2 "Adding symlink..."
  mkdir -p "$pkgdir/usr/share/doc"
  ln -sr "$builddir/Documentation" "$pkgdir/usr/share/doc/$pkgbase"

  msg2 "Fixing permissions..."
  chmod -Rc u=rwX,go=rX "$pkgdir"
}

pkgname=("$pkgbase" "$pkgbase-headers" "$pkgbase-docs")
for _p in "${pkgname[@]}"; do
  eval "package_$_p() {
    $(declare -f "_package${_p#$pkgbase}")
    _package${_p#$pkgbase}
  }"
done

# vim:set ts=8 sts=2 sw=2 et:

Kullanıcı dizininde yeni bir dizin yapıp, PKGBUILD adlı dosyayı o dizine kaydedip, terminali o dizinden açıp
Kod: [Seç]
makepkg -sci çalıştırınca Manjaro'nun yamasını içeren Arch Linux çekirdeğini oluşturup sisteme kuracaksın.
« Son Düzenleme: 10 Kasım 2019, 13:52:36 Gönderen: alicavus »
gpg --sign /home/$USER/signature

Çevrimdışı yardroid

  • Yeni Üye
  • *
  • İleti: 4
  • Teşekkür: +0/-0
  • Masaüstü / Desktop Environment: Xfce4
Ynt: ARCH, ARCHMAN, ARCOLINUX amd rx 470 gpu standby sorunu
« Yanıtla #4 : 11 Kasım 2019, 04:26:31 »
Dediğiniz şekilde kerneli kurdum denedim. Grub update'inide yaptım. Olmadı. Şu ana kadar en ayrıntılı çözüm önerilerini sizden gördüm. Bu konuda archlinux ve manjaro forumlarına başlık açtım kimse sizin kadar mantıklı öneri sunamadı.

Çevrimdışı alicavus

  • Administrator
  • Aktif Üye
  • *****
  • İleti: 68
  • Teşekkür: +7/-0
  • Dağıtım / Distribution: Arch Linux
  • Masaüstü / Desktop Environment: Cinnamon
  • Sürüm / Release: rolling
  • Ekran Kartı - Graphic Card: INTEL
  • Ekr. Kartı Sür. Graph.Dri: Özgür Yazılım
Ynt: ARCH, ARCHMAN, ARCOLINUX amd rx 470 gpu standby sorunu
« Yanıtla #5 : 11 Kasım 2019, 06:01:44 »
Manjaro çekirdeğinin inşa dosyalarına tekrar göz attım. İlginç bir nokta:
Kod: [Seç]
  # TODO: remove when AMD properly fixes it!
  # INFO: this is a hack and won't be upstreamed
  # https://forum.level1techs.com/t/145666/86
  # https://forum.manjaro.org/t/107820/11
  patch -Np1 -i "${srcdir}/0001-nonupstream-navi10-vfio-reset.patch"
tam da senin sorununa parmak basıyor! İşin ilginci 5.3.7'den sürüm 5.3.10'a kadar gelmiş, resmi kernele yama işlenmemiş. 5.4 sürümünde AMD'deden yama gelir diye umuyoruz.

O zaman işte yepyeni sorunu çözecek olan nur topı gibi PKGBUILD dosyamızın içeriği:
Kod: [Seç]
pkgbase=linux
pkgver=5.3.10.1
pkgrel=2
pkgdesc='Linux'
_srctag=v${pkgver%.*}-arch${pkgver##*.}
url="https://git.archlinux.org/linux.git/log/?h=$_srctag"
arch=(x86_64)
license=(GPL2)
makedepends=(
  xmlto kmod inetutils bc libelf
  python-sphinx python-sphinx_rtd_theme graphviz imagemagick
  git
)
options=('!strip')
_srcname=archlinux-linux
source=(
  "$_srcname::git+https://git.archlinux.org/linux.git?signed#tag=$_srctag"
  "https://gitlab.manjaro.org/packages/core/linux53/raw/master/0001-drm-amdgpu-Add-DC-feature-mask-to-disable-fractional-pwm.patch"  # AMD GPU Patch
  "https://gitlab.manjaro.org/packages/core/linux53/raw/master/0001-nonupstream-navi10-vfio-reset.patch"     # AMD GPU Patch too
  "config::https://git.archlinux.org/svntogit/packages.git/plain/trunk/config?h=packages/linux"         # the main kernel config file
)
validpgpkeys=(
  'ABAF11C65A2970B130ABE3C479BE3E4300411886'  # Linus Torvalds
  '647F28654894E3BD457199BE38DBBDC86092693E'  # Greg Kroah-Hartman
  '8218F88849AAC522E94CF470A5E9288C4FA415FA'  # Jan Alexander Steffens (heftig)
)
sha256sums=('SKIP'
            '5b38d1666d51f8863117ec1d107d3f1c68a57e2b2ab44da1a7da10cbfc7f8ef3'
            '7a2758f86dd1339f0f1801de2dbea059b55bf3648e240878b11e6d6890d3089c'
            'e749cd85d37d4d70099b0a7f54e852b039ae07c14e4ab8be299c64edae5d4ba4')

export KBUILD_BUILD_HOST=archlinux
export KBUILD_BUILD_USER=$pkgbase
export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})"

prepare() {
  cd $_srcname

  msg2 "Setting version..."
  scripts/setlocalversion --save-scmversion
  echo "-$pkgrel" > localversion.10-pkgrel
  echo "${pkgbase#linux}" > localversion.20-pkgname

  local src
  for src in "${source[@]}"; do
    src="${src%%::*}"
    src="${src##*/}"
    [[ $src = *.patch ]] || continue
    msg2 "Applying patch $src..."
    patch -Np1 < "../$src"
  done

  msg2 "Setting config..."
  cp ../config .config
  make olddefconfig

  make -s kernelrelease > version
  msg2 "Prepared %s version %s" "$pkgbase" "$(<version)"
}

build() {
  cd $_srcname
  make bzImage modules htmldocs
}

_package() {
  pkgdesc="The $pkgdesc kernel and modules"
  depends=(coreutils kmod initramfs)
  optdepends=('crda: to set the correct wireless channels of your country'
              'linux-firmware: firmware images needed for some devices')

  cd $_srcname
  local kernver="$(<version)"
  local modulesdir="$pkgdir/usr/lib/modules/$kernver"

  msg2 "Installing boot image..."
  # systemd expects to find the kernel here to allow hibernation
  # https://github.com/systemd/systemd/commit/edda44605f06a41fb86b7ab8128dcf99161d2344
  install -Dm644 "$(make -s image_name)" "$modulesdir/vmlinuz"

  # Used by mkinitcpio to name the kernel
  echo "$pkgbase" | install -Dm644 /dev/stdin "$modulesdir/pkgbase"

  msg2 "Installing modules..."
  make INSTALL_MOD_PATH="$pkgdir/usr" modules_install

  # remove build and source links
  rm "$modulesdir"/{source,build}

  msg2 "Fixing permissions..."
  chmod -Rc u=rwX,go=rX "$pkgdir"
}

_package-headers() {
  pkgdesc="Headers and scripts for building modules for the $pkgdesc kernel"

  cd $_srcname
  local builddir="$pkgdir/usr/lib/modules/$(<version)/build"

  msg2 "Installing build files..."
  install -Dt "$builddir" -m644 .config Makefile Module.symvers System.map \
    localversion.* version vmlinux
  install -Dt "$builddir/kernel" -m644 kernel/Makefile
  install -Dt "$builddir/arch/x86" -m644 arch/x86/Makefile
  cp -t "$builddir" -a scripts

  # add objtool for external module building and enabled VALIDATION_STACK option
  install -Dt "$builddir/tools/objtool" tools/objtool/objtool

  # add xfs and shmem for aufs building
  mkdir -p "$builddir"/{fs/xfs,mm}

  msg2 "Installing headers..."
  cp -t "$builddir" -a include
  cp -t "$builddir/arch/x86" -a arch/x86/include
  install -Dt "$builddir/arch/x86/kernel" -m644 arch/x86/kernel/asm-offsets.s

  install -Dt "$builddir/drivers/md" -m644 drivers/md/*.h
  install -Dt "$builddir/net/mac80211" -m644 net/mac80211/*.h

  # http://bugs.archlinux.org/task/13146
  install -Dt "$builddir/drivers/media/i2c" -m644 drivers/media/i2c/msp3400-driver.h

  # http://bugs.archlinux.org/task/20402
  install -Dt "$builddir/drivers/media/usb/dvb-usb" -m644 drivers/media/usb/dvb-usb/*.h
  install -Dt "$builddir/drivers/media/dvb-frontends" -m644 drivers/media/dvb-frontends/*.h
  install -Dt "$builddir/drivers/media/tuners" -m644 drivers/media/tuners/*.h

  msg2 "Installing KConfig files..."
  find . -name 'Kconfig*' -exec install -Dm644 {} "$builddir/{}" \;

  msg2 "Removing unneeded architectures..."
  local arch
  for arch in "$builddir"/arch/*/; do
    [[ $arch = */x86/ ]] && continue
    echo "Removing $(basename "$arch")"
    rm -r "$arch"
  done

  msg2 "Removing documentation..."
  rm -r "$builddir/Documentation"

  msg2 "Removing broken symlinks..."
  find -L "$builddir" -type l -printf 'Removing %P\n' -delete

  msg2 "Removing loose objects..."
  find "$builddir" -type f -name '*.o' -printf 'Removing %P\n' -delete

  msg2 "Stripping build tools..."
  local file
  while read -rd '' file; do
    case "$(file -bi "$file")" in
      application/x-sharedlib\;*)      # Libraries (.so)
        strip -v $STRIP_SHARED "$file" ;;
      application/x-archive\;*)        # Libraries (.a)
        strip -v $STRIP_STATIC "$file" ;;
      application/x-executable\;*)     # Binaries
        strip -v $STRIP_BINARIES "$file" ;;
      application/x-pie-executable\;*) # Relocatable binaries
        strip -v $STRIP_SHARED "$file" ;;
    esac
  done < <(find "$builddir" -type f -perm -u+x ! -name vmlinux -print0)

  msg2 "Adding symlink..."
  mkdir -p "$pkgdir/usr/src"
  ln -sr "$builddir" "$pkgdir/usr/src/$pkgbase"

  msg2 "Fixing permissions..."
  chmod -Rc u=rwX,go=rX "$pkgdir"
}

_package-docs() {
  pkgdesc="Kernel hacker's manual for the $pkgdesc kernel"

  cd $_srcname
  local builddir="$pkgdir/usr/lib/modules/$(<version)/build"

  msg2 "Installing documentation..."
  mkdir -p "$builddir"
  cp -t "$builddir" -a Documentation

  msg2 "Removing unneeded files..."
  rm -rv "$builddir"/Documentation/{,output/}.[^.]*

  msg2 "Moving HTML docs..."
  local src dst
  while read -rd '' src; do
    dst="$builddir/Documentation/${src#$builddir/Documentation/output/}"
    mkdir -p "${dst%/*}"
    mv "$src" "$dst"
    rmdir -p --ignore-fail-on-non-empty "${src%/*}"
  done < <(find "$builddir/Documentation/output" -type f -print0)

  msg2 "Adding symlink..."
  mkdir -p "$pkgdir/usr/share/doc"
  ln -sr "$builddir/Documentation" "$pkgdir/usr/share/doc/$pkgbase"

  msg2 "Fixing permissions..."
  chmod -Rc u=rwX,go=rX "$pkgdir"
}

pkgname=("$pkgbase" "$pkgbase-headers" "$pkgbase-docs")
for _p in "${pkgname[@]}"; do
  eval "package_$_p() {
    $(declare -f "_package${_p#$pkgbase}")
    _package${_p#$pkgbase}
  }"
done

Hiç üşenmedim, Arch Linux git sunucusundaki linux ve resmi kernel.org sunucusundaki linux aynı sürüm kaynak kodlarını indirip diff attım:
Kod: [Seç]
[[email protected] ~]$ diff -r Downloads/linux-5.3.10 Downloads/linux-5.3.10-arch1
diff -r Downloads/linux-5.3.10/drivers/hid/hid-microsoft.c Downloads/linux-5.3.10-arch1/drivers/hid/hid-microsoft.c
306c306
< if (ret)
---
> if (ret < 0)
diff -r Downloads/linux-5.3.10/init/Kconfig Downloads/linux-5.3.10-arch1/init/Kconfig
1093a1094,1109
> config USER_NS_UNPRIVILEGED
> bool "Allow unprivileged users to create namespaces"
> default y
> depends on USER_NS
> help
>   When disabled, unprivileged users will not be able to create
>   new namespaces. Allowing users to create their own namespaces
>   has been part of several recent local privilege escalation
>   exploits, so if you need user namespaces but are
>   paranoid^Wsecurity-conscious you want to disable this.
>
>   This setting can be overridden at runtime via the
>   kernel.unprivileged_userns_clone sysctl.
>
>   If unsure, say Y.
>
diff -r Downloads/linux-5.3.10/kernel/fork.c Downloads/linux-5.3.10-arch1/kernel/fork.c
108a109,113
> #ifdef CONFIG_USER_NS
> extern int unprivileged_userns_clone;
> #else
> #define unprivileged_userns_clone 0
> #endif
1790a1796,1799
> if ((clone_flags & CLONE_NEWUSER) && !unprivileged_userns_clone)
> if (!capable(CAP_SYS_ADMIN))
> return ERR_PTR(-EPERM);
>
2820a2830,2835
>
> if ((unshare_flags & CLONE_NEWUSER) && !unprivileged_userns_clone) {
> err = -EPERM;
> if (!capable(CAP_SYS_ADMIN))
> goto bad_unshare_out;
> }
diff -r Downloads/linux-5.3.10/kernel/sysctl.c Downloads/linux-5.3.10-arch1/kernel/sysctl.c
112a113,115
> #ifdef CONFIG_USER_NS
> extern int unprivileged_userns_clone;
> #endif
543a547,555
> .mode = 0644,
> .proc_handler = proc_dointvec,
> },
> #endif
> #ifdef CONFIG_USER_NS
> {
> .procname = "unprivileged_userns_clone",
> .data = &unprivileged_userns_clone,
> .maxlen = sizeof(int),
diff -r Downloads/linux-5.3.10/kernel/user_namespace.c Downloads/linux-5.3.10-arch1/kernel/user_namespace.c
23a24,30
> /* sysctl */
> #ifdef CONFIG_USER_NS_UNPRIVILEGED
> int unprivileged_userns_clone = 1;
> #else
> int unprivileged_userns_clone;
> #endif
>
diff -r Downloads/linux-5.3.10/Makefile Downloads/linux-5.3.10-arch1/Makefile
5c5
< EXTRAVERSION =
---
> EXTRAVERSION = -arch1
diff -r Downloads/linux-5.3.10/net/bluetooth/hidp/core.c Downloads/linux-5.3.10-arch1/net/bluetooth/hidp/core.c
270c270
< if (ret)
---
> if (ret < 0)
346c346
< if (ret)
---
> if (ret < 0)

Arch Linux ve Manjaro PKGBUILD inşa dosyalarını inceleyeyince Filip Müller resmi kernel.org çekirdeği kullanarak yama attığını, Arch Linux ise yeni sürümleri eski sürümlere git/svn sunucusunda yama attığını görüyoruz..

Benim gibi gece gece kod inceleme derdine girersen Manjaro için tüm yamaları ve inşa dosyalarını resmi Manjaro Gitlab'tan inceleyebilirsin.

DÜZENLEME:
Kod: [Seç]
==> Verifying source file signatures with gpg...
    archlinux-linux git repo ... FAILED (unknown public key A5E9288C4FA415FA)
==> ERROR: One or more PGP signatures could not be verified!
gibi hata alırsak
Kod: [Seç]
gpg --receive-keys A5E9288C4FA415FAçalıştırıp tekrar makepkg komutunu çalıştırmalıyız.
« Son Düzenleme: 11 Kasım 2019, 06:48:53 Gönderen: alicavus »
gpg --sign /home/$USER/signature

Çevrimdışı yardroid

  • Yeni Üye
  • *
  • İleti: 4
  • Teşekkür: +0/-0
  • Masaüstü / Desktop Environment: Xfce4
Ynt: ARCH, ARCHMAN, ARCOLINUX amd rx 470 gpu standby sorunu
« Yanıtla #6 : 11 Kasım 2019, 16:55:15 »
Ali bey çabanız ve mantıklı önerileriniz için çok teşekkür ederim. Yine olmadı. Ben manjaro kullanırken bu patchleri içermeyen custom aur kernelleri derleyip kullanıyordum. Onlardada ekran dpms standby sorunsuz çalışıyordu. Yani olay kernelden değil. Şu ana kadar en mantıklı önerileri sizden aldım yabancı forumların sesi çıkmıyor çıksada boş muhabbet. Sizide yormayayım. Bundan sonra linuxla ilgili birşey soracak olursam ilk buraya gelirim. İşin ehli olduğunuz belirgin.

Çevrimdışı alicavus

  • Administrator
  • Aktif Üye
  • *****
  • İleti: 68
  • Teşekkür: +7/-0
  • Dağıtım / Distribution: Arch Linux
  • Masaüstü / Desktop Environment: Cinnamon
  • Sürüm / Release: rolling
  • Ekran Kartı - Graphic Card: INTEL
  • Ekr. Kartı Sür. Graph.Dri: Özgür Yazılım
Ynt: ARCH, ARCHMAN, ARCOLINUX amd rx 470 gpu standby sorunu
« Yanıtla #7 : 11 Kasım 2019, 21:08:17 »
Ali bey çabanız ve mantıklı önerileriniz için çok teşekkür ederim. Yine olmadı. Ben manjaro kullanırken bu patchleri içermeyen custom aur kernelleri derleyip kullanıyordum. Onlardada ekran dpms standby sorunsuz çalışıyordu. Yani olay kernelden değil. Şu ana kadar en mantıklı önerileri sizden aldım yabancı forumların sesi çıkmıyor çıksada boş muhabbet. Sizide yormayayım. Bundan sonra linuxla ilgili birşey soracak olursam ilk buraya gelirim. İşin ehli olduğunuz belirgin.

Eski çekirdekle birşeyin çalışıp yenisiyle çalışmaması çekirdekle ilgili sorundur. Çekirdek çağrılarında herhangi yazılım kullanımdışı eski API'lere dayalı işlem yapıyorsa elbette ki düzgün çalışmayacaktır. Sorun yeni sürümün gereksinimlerine örnek yazılımın karşılamaması gibi yeni sürümün hatalar içermesi veya eski donanımı destek dışı bırakma sebebiyle olabilir. Eskilerde birşeyin yama gerektirmemesi yeni sürümlerde gerektirmiyecek diye kural yoktur. Donanım yazılımları (firmware) sürüm atlarken hatalara neden olabilirler. Manjaro resmi çekirdeğiyle ve yazılımla sorun yaşamıyorsanız, bizler aynı çekirdek ve yazılımla diğer sistemlerde sorunsuz çalıştırabilmeliyiz. Manjaro ve Arch Linux aynı paket yöneticisini kullanıyor, hatta Manjaro paketleri Arch'ın PKGBUILD dosyalarından kopyalanarak yapılıyor. Manjaro'ya özgü yazılımlar da var, mesela MHWD kesinlikle çok güzel bir tanesi.
gpg --sign /home/$USER/signature