Problem instalacja stery amd rx 480

Wszystko związane z jądrem systemowym, sterownikami, sprzętem itp.
kuba67
Posty: 16
Rejestracja: 22 marca 2017, 00:36

Problem instalacja stery amd rx 480

Post autor: kuba67 »

Witam,
Dziś zainstalowałem sobie Debiana 9 - wersja kernel: 4.9.0-1-amd64.
Jestem dość zielony w temacie, to pierwszy Linux z jakim mam styczność.
Mój sprzęt to:
Intel Core i5 6500
AMD RX480 4GB
AsRock H110m-HDV
Postanowiłem zainstalować sterowniki do karty graficznej. Debian okazał się nie być obsługiwany przez czerwonych, ale znalazłem coś takiego: https://linuxconfig.org/getting-the-rx- ... u-on-linux
Udało mi się dojść do punktu w którym trzeba zbudować pakiety jądra :p ale po wpisaniu komendy:

Kod: Zaznacz cały

$ fakeroot make-kpkg --initrd --revision=1.0.AMDGPU kernel_image kernel_headers -j 5
wyskakuje mi:

Kod: Zaznacz cały

exec make kpkg_version=13.018 -f /usr/share/kernel-package/ruleset/minimal.mk debian DEBIAN_REVISION=1.0.AMDGPU  INITRD=YES 
====== making target debian/stamp/conf/minimal_debian [new prereqs: ]======
This is kernel package version 13.018.
test -d debian             || mkdir debian
test ! -e stamp-building || rm -f stamp-building
install -p -m 755 /usr/share/kernel-package/rules debian/rules
for file in ChangeLog  Control  Control.bin86 config templates.in rules; do                                      \
            cp -f  /usr/share/kernel-package/$file ./debian/;                               \
        done
cp: nie można wykonać stat na '/usr/share/kernel-package/ChangeLog': Nie ma takiego pliku ani katalogu
for dir  in Config docs examples ruleset scripts pkg po;  do                                      \
          cp -af /usr/share/kernel-package/$dir  ./debian/;                                 \
        done
test -f debian/control || sed         -e 's/=V/4.7.0-rc6/g'  \
                -e 's/=D/1.0.AMDGPU/g'         -e 's/=A/amd64/g'  \
	-e 's/=SA//g'  \
	-e 's/=I//g'				    \
	-e 's/=CV/4.7/g'			    \
	-e 's/=M/Unknown Kernel Package Maintainer <unknown@unconfigured.in.etc.kernel-pkg.conf>/g'			    \
	-e 's/=ST/linux/g'      -e 's/=B/x86_64/g'    \
                -e 's/=R/initramfs-tools | linux-initramfs-tool,/g'    /usr/share/kernel-package/Control > debian/control
test -f debian/changelog ||  sed -e 's/=V/4.7.0-rc6/g'       \
            -e 's/=D/1.0.AMDGPU/g'        -e 's/=A/amd64/g'       \
            -e 's/=ST/linux/g'     -e 's/=B/x86_64/g'         \
            -e 's/=M/Unknown Kernel Package Maintainer <unknown@unconfigured.in.etc.kernel-pkg.conf>/g'                            \
             /usr/share/kernel-package/changelog > debian/changelog
chmod 0644 debian/control debian/changelog
test -d ./debian/stamp || mkdir debian/stamp
make -f debian/rules debian/stamp/conf/kernel-conf
make[1]: Wejście do katalogu '/home/kuba/linux'
====== making target debian/stamp/conf/kernel-conf [new prereqs: ]======
make    ARCH=x86_64 \
                    oldconfig;
make[2]: Wejście do katalogu '/home/kuba/linux'
scripts/kconfig/conf  --oldconfig Kconfig
#
# configuration written to .config
#
make[2]: Opuszczenie katalogu '/home/kuba/linux'
make    ARCH=x86_64 prepare
make[2]: Wejście do katalogu '/home/kuba/linux'
arch/x86/Makefile:133: stack-protector enabled but compiler support broken
Makefile:677: Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: -fstack-protector-strong not supported by compiler
scripts/kconfig/conf  --silentoldconfig Kconfig
arch/x86/Makefile:133: stack-protector enabled but compiler support broken
Makefile:677: Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: -fstack-protector-strong not supported by compiler
  CHK     include/config/kernel.release
  CHK     include/generated/uapi/linux/version.h
  CHK     include/generated/utsrelease.h
  CC      kernel/bounds.s
kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
 /*
 
Kbuild:45: polecenia dla obiektu 'kernel/bounds.s' nie powiodły się
make[3]: *** [kernel/bounds.s] Błąd 1
Makefile:1032: polecenia dla obiektu 'prepare0' nie powiodły się
make[2]: *** [prepare0] Błąd 2
make[2]: Opuszczenie katalogu '/home/kuba/linux'
debian/ruleset/targets/common.mk:194: polecenia dla obiektu 'debian/stamp/conf/kernel-conf' nie powiodły się
make[1]: *** [debian/stamp/conf/kernel-conf] Błąd 2
make[1]: Opuszczenie katalogu '/home/kuba/linux'
/usr/share/kernel-package/ruleset/minimal.mk:93: polecenia dla obiektu 'debian/stamp/conf/minimal_debian' nie powiodły się
make: *** [debian/stamp/conf/minimal_debian] Błąd 2
Failed to create a ./debian directory:  at /usr/bin/make-kpkg line 970.
A pakietów jak nie było tak nie ma :( Czy moglibyście mi jakoś pomóc?

Moderowano: Proszę używać znaczników kodu.
Awatar użytkownika
dedito
Moderator
Posty: 3512
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

Re: Problem instalacja stery amd rx 480

Post autor: dedito »

To jest karta GCN 4 generacji wię powinna być bez problemu wspierana przez własnościowy AMDGPU-PRO.
http://support.amd.com/en-us/kb-article ... Notes.aspx bez tych zabaw w kompilację jajka.
kuba67
Posty: 16
Rejestracja: 22 marca 2017, 00:36

Re: Problem instalacja stery amd rx 480

Post autor: kuba67 »

Ale to jakie stery powinienem wziąć? Te pod Ubuntu czy Red Hat?

Bo na stronie nie ma sterów pod Debiana.
Awatar użytkownika
dedito
Moderator
Posty: 3512
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

Re: Problem instalacja stery amd rx 480

Post autor: dedito »

Wybierz te pod Ubuntu w końcu to "dziecko" Debiana.
Z tego co pamiętam powinny być też do wyboru wersje samodzielnej kompilacji.
kuba67
Posty: 16
Rejestracja: 22 marca 2017, 00:36

Re: Problem instalacja stery amd rx 480

Post autor: kuba67 »

No właśnie próbuję. :p
Ściągnąłem archiwum ze strony amd i poedytowałem trochę plik amdgpu-pro-install. W funkcji os-release() wartość ubuntu zmienniłem na debian i w funkcji source_list() dodałem backslash między zmienne ${etc} i ${sourceparts}, tak że całość wygląda tak:

Kod: Zaznacz cały

#!/bin/bash
#
# Copyright 2016 Advanced Micro Devices, Inc.
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
# THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.

set -e

REPOSITORY="/var/opt/amdgpu-pro-local"

usage() {
	cat <<END_USAGE
Usage: $PROG [options...]

Options:
  -h|--help  display this help message
  --px       PX platform support

  Unless the -h|--help option is given, 'apt-get' options may be present.

END_USAGE
}

function stderr() {
	cat - 1>&2
}

function os_release() {
	[[ -r  /etc/os-release ]] && . /etc/os-release

	case "$ID" in
	debian)
		PACKAGES="amdgpu-pro amdgpu-pro-lib32 amdgpu-pro-dkms"
		;;
	steamos)
		PACKAGES="amdgpu-pro-driver amdgpu-pro-lib32 "`
			`"glx-alternative-amdgpu-pro amdgpu-pro-dkms"
		;;
	*)
		echo "Unsupported OS" | stderr
		exit 1
		;;
	esac
}

function source_list() {
	local dir etc sourceparts

	eval $(apt-config shell dir Dir)
	eval $(apt-config shell etc Dir::Etc)
	eval $(apt-config shell sourceparts Dir::Etc::sourceparts)

	echo ${dir}${etc}/${sourceparts}/amdgpu-pro.list
}

function amdgpu_pro_install() {
	local src=$(cd ${0%/*} && pwd -P)
	local index=$src/Packages

	amdgpu_pro_uninstall $@

	if [[ -r $index ]]; then
		$SUDO mkdir -p $REPOSITORY && $SUDO cp -af $src/* $_
		$SUDO ln -s $_/$PROG $SBIN/${PROG%-*}-uninstall

		echo "deb [ trusted=yes ] file:$REPOSITORY/ ./" | \
			$SUDO tee $(source_list)
		$SUDO apt-get update ||:
		$SUDO apt-get $@ install $PACKAGES
	fi
}

function amdgpu_pro_uninstall() {
	local p
	local installed=()

	[[ -r "$(source_list)" ]] || return 0

	for p in $(cat $REPOSITORY/Packages | awk '{
		if ($1 == "Package:")
			p = $2;
		else if ($1 == "Architecture:")
			print p ":" $2
	}')
	do
		if dpkg -s $p >/dev/null 2>&1; then
			installed+=($p)
		fi
	done

	if [[ ${#installed[@]} -ne 0 ]]; then
		$SUDO apt-get $@ remove --purge ${installed[@]}
	fi

	$SUDO rm -rf $SBIN/${PROG%-*}-uninstall $(source_list) $REPOSITORY
	$SUDO apt-get update ||:
}

PROG=${0##*/}
SUDO=$([[ $(id -u) -ne 0 ]] && echo "sudo" ||:)
SBIN="/usr/bin"
os_release

while (($#))
do
	case "$1" in
	-h|--help)
		usage
		exit 0
		;;
	--px)
		PACKAGES="$PACKAGES xserver-xorg-video-modesetting-amdgpu-pro"
		shift
		;;
	*)
		ARGS+="$1 "
		shift
		;;
	esac
done

set -- $ARGS
amdgpu_pro_${0##*-} $@
Niestety nie udało mi się jej zainstalować, bo output wygląda tak:

Kod: Zaznacz cały

(...)e [62,9 kB]
Stary:7 http://cdn-fastly.deb.debian.org/debian stretch InRelease
Pobrano 62,9 kB w 1s (54,2 kB/s)
Czytanie list pakietów... Gotowe
Czytanie list pakietów... Gotowe
Budowanie drzewa zależności       
Odczyt informacji o stanie... Gotowe
Nie udało się zainstalować niektórych pakietów. Może to oznaczać,
że zażądano niemożliwej sytuacji lub użyto dystrybucji niestabilnej,
w której niektóre pakiety nie zostały jeszcze utworzone lub przeniesione
z katalogu Incoming ("Przychodzące").
Następujące informacje mogą pomóc rozwiązać sytuację:

Następujące pakiety mają niespełnione zależności:
 amdgpu-pro : Wymaga: libvdpau-amdgpu-pro ale nie zostanie zainstalowany
 amdgpu-pro-lib32 : Wymaga: libdrm-amdgpu-pro-amdgpu1:i386
                    Wymaga: libgbm1-amdgpu-pro:i386
                    Wymaga: libgl1-amdgpu-pro-glx:i386
                    Wymaga: libgl1-amdgpu-pro-dri:i386
                    Wymaga: libgles2-amdgpu-pro:i386
                    Wymaga: vulkan-amdgpu-pro:i386
                    Wymaga: libvdpau-amdgpu-pro:i386
Program sam dodał repozytorium file:/var/opt/amdgpu-pro-local/, mam je teraz nawet widoczne w synapticu, jako dystrybucje mam wpisane './' więc z tym raczej nie ma problemu.
Jak próbowałem ręcznie zainstalować pakiet libvdpau-amdgpu-pro_11.2.2-348864_amd64.deb w katalogu z plikiem uruchamialnym, za pomocą gdebi, to mi wyskoczył komunikat:
[*]Błąd, zależność nie może być spełniona: libssl1.0.0 (>= 1.0.0)
Jedyne pakiety jakie mam to 1.0.4 i 1.1 więc zainstalowałem libssl0.9.8 z debiana squeezy, jednak to nie rozwiązało problemu.
A jak próbowałem jeszcze do tego usunąć pozostałe pakiety libssl, to za każdym razem zawieszał się synaptic i operacja kończyła się niepowodzeniem :(
Wiecie jak to obejść?
Awatar użytkownika
dedito
Moderator
Posty: 3512
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

Re: Problem instalacja stery amd rx 480

Post autor: dedito »

Użyj aptitude do instalacji pakietów, jest bardziej "gadatliwe" i pomocne w alternatywnych rozwiązaniach.
Możliwe, że masz też coś namieszane już w pakietach (poprzez mieszanie obcych repozytoriów) i trzeba najpierw posprzątać w systemie.
Podaj wyniki:

Kod: Zaznacz cały

apt-cache policy
oraz

Kod: Zaznacz cały

dpkg -l | grep amdgpu
kuba67
Posty: 16
Rejestracja: 22 marca 2017, 00:36

Re: Problem instalacja stery amd rx 480

Post autor: kuba67 »

Output na apt-cache policy:

Kod: Zaznacz cały

Plików pakietów:
 100 /var/lib/dpkg/status
     release a=now
 500 file:/var/opt/amdgpu-pro-local ./ Packages
     release c=
 500 http://ftp.pl.debian.org/debian stretch/contrib amd64 Packages
     release o=Debian,a=testing,n=stretch,l=Debian,c=contrib,b=amd64
     origin ftp.pl.debian.org
 500 http://ftp.pl.debian.org/debian stretch/non-free amd64 Packages
     release o=Debian,a=testing,n=stretch,l=Debian,c=non-free,b=amd64
     origin ftp.pl.debian.org
 500 http://ftp.pl.debian.org/debian stretch/main amd64 Packages
     release o=Debian,a=testing,n=stretch,l=Debian,c=main,b=amd64
     origin ftp.pl.debian.org
Przypięte pakiety:
Output na dpkg -l | grep amdgpu

Kod: Zaznacz cały

ii  libdrm-amdgpu1:amd64                  2.4.74-1                             amd64        Userspace interface to amdgpu-specific kernel DRM services -- runtime
ii  xserver-xorg-video-amdgpu             1.2.0-1+b1                           amd64        X.Org X server -- AMDGPU display driver
kuba67
Posty: 16
Rejestracja: 22 marca 2017, 00:36

Re: Problem instalacja stery amd rx 480

Post autor: kuba67 »

Dobra ostatecznie to zainstalowałem to libssl1.0.0 z repozytoriów jessie.
Teraz przy uruchamianiu instalatora mam taki output:

Kod: Zaznacz cały

Stary:1 http://ftp.pl.debian.org/debian stretch InRelease
Stary:2 http://security.debian.org/debian-security stretch/updates InRelease
Czytanie list pakietów... Gotowe
deb [ trusted=yes ] file:/var/opt/amdgpu-pro-local/ ./
Pobieranie:1 file:/var/opt/amdgpu-pro-local ./ InRelease
Ign:1 file:/var/opt/amdgpu-pro-local ./ InRelease
Pobieranie:2 file:/var/opt/amdgpu-pro-local ./ Release [814 B]
Pobieranie:2 file:/var/opt/amdgpu-pro-local ./ Release [814 B]
Pobieranie:3 file:/var/opt/amdgpu-pro-local ./ Release.gpg                     
Ign:3 file:/var/opt/amdgpu-pro-local ./ Release.gpg                            
Pobieranie:4 file:/var/opt/amdgpu-pro-local ./ Packages [41,5 kB]              
Stary:5 http://ftp.pl.debian.org/debian stretch InRelease                      
Stary:6 http://security.debian.org/debian-security stretch/updates InRelease   
Czytanie list pakietów... Gotowe                        
Czytanie list pakietów... Gotowe
Budowanie drzewa zależności       
Odczyt informacji o stanie... Gotowe
Nie udało się zainstalować niektórych pakietów. Może to oznaczać,
że zażądano niemożliwej sytuacji lub użyto dystrybucji niestabilnej,
w której niektóre pakiety nie zostały jeszcze utworzone lub przeniesione
z katalogu Incoming ("Przychodzące").
Następujące informacje mogą pomóc rozwiązać sytuację:

Następujące pakiety mają niespełnione zależności:
 amdgpu-pro-lib32 : Wymaga: libdrm-amdgpu-pro-amdgpu1:i386
                    Wymaga: libgbm1-amdgpu-pro:i386
                    Wymaga: libgl1-amdgpu-pro-glx:i386
                    Wymaga: libgl1-amdgpu-pro-dri:i386
                    Wymaga: libgles2-amdgpu-pro:i386
                    Wymaga: vulkan-amdgpu-pro:i386
                    Wymaga: libvdpau-amdgpu-pro:i386
                    Wymaga: libopencl1-amdgpu-pro:i386
                    Wymaga: opencl-amdgpu-pro-icd:i386
E: Nie udało się naprawić problemów, zatrzymano uszkodzone pakiety.
Czyli po prostu jako że mam procesor 64 bitowy to instalator przyrywa instalację bo nie może również zainstalować pakietów dla 32-bit procesorów. Jak to mogę obejść?

Moderacja: Poprawiłem znaczniki kodu. Po raz kolejny proszę o umieszczanie wyników w znacznikach code. Wyniki należy zamieszczać razem z komendą wywołującą.
Awatar użytkownika
dedito
Moderator
Posty: 3512
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

Re: Problem instalacja stery amd rx 480

Post autor: dedito »

Kod: Zaznacz cały

dpkg --add-architecture i386
kuba67
Posty: 16
Rejestracja: 22 marca 2017, 00:36

Re: Problem instalacja stery amd rx 480

Post autor: kuba67 »

Dobra zrobiłem tak i zainstalowałem amdgpu-pro. Tyle, że po restarcie w ogóle nie mam obrazu. Musiałem odinstalować stery razem z tym nieszczęsnym pakietem libssl1.0.0 z jessie.
Próbowałem ściągnąć poprzez oficjalną stronę debiana libssl 1.0.0 dla dystrybucji sid, ale nigdzie nie mogłem znaleźć tego pliku.
Edit: Próbowałem z libssl 1.0.0 od ubuntu xenial i również po restarcie powitał mnie czarny ekran :(
Zablokowany