# [solved] Help needed on amdgpu-pro install

## Elleni

I followed this guide and it almost worked.

https://warwick.ac.uk/fac/cross_fac/complexity/people/staff/delgenio/amdgpuprogentoo

Need help please. Here is the logfile.

https://paste.pound-python.org/show/iYkLkHJKeaGSbIwTP3st/Last edited by Elleni on Tue Jan 23, 2018 12:51 am; edited 2 times in total

----------

## fedeliallalinea

Try to add this patch (see latest comment)

----------

## Elleni

I downloaded the patch, but I dont know where to place it and how to execute it. 

Besides that, I dont know, wether this driver will work with actual kernel 4.14 anyways and last but not least, there is new amdgpu-pro driver with version 14.5. So I dont know if it is worth the effort, as the only reason I want to install this driver is, because I hope, to finally get my hdmi audio out working and I heard that amdgpu-pro driver supports hdmi out.

This gentoo installation was on an old box and that had an amd r7 250 powered by radeon driver and there hdmi audio to tv worked as expected. Now with new radeon rx580 there is no sound on hdmi  :Sad: 

Maybe I should write the guy who made this guide and ask for an update.

----------

## fedeliallalinea

 *Elleni wrote:*   

> I downloaded the patch, but I dont know where to place it and how to execute it.

 

The patch is

```
--- a/usr/src/amdgpu-17.40-492261/Makefile   2017-10-17 17:38:11.000000000 +0200

+++ b/usr/src/amdgpu-17.40-492261/Makefile   2017-11-18 20:38:53.000000000 +0100

@@ -24,6 +24,8 @@

 subdir-ccflags-y += -DOS_NAME_SLE

 else ifeq ("sles",$(OS_NAME))

 subdir-ccflags-y += -DOS_NAME_SLE

+else ifeq ("opensuse",$(OS_NAME))

+subdir-ccflags-y += -DOS_NAME_SLE

 else ifeq ("amzn",$(OS_NAME))

 subdir-ccflags-y += -DOS_NAME_AMZ

 else
```

You can apply this manually, open Makefile and at line 24 add two line that begin with +

----------

## Elleni

I tried, but it did not help. 

https://paste.pound-python.org/show/BV1sJH1CKu3IVAFU4JcL/

Maybe I am doing something else wrongly. Thanks for your support anyways  :Smile: 

----------

## fedeliallalinea

 *Elleni wrote:*   

> I tried, but it did not help. 

 

This helped because current error is not the same.

Now seems that you need disable pie compiler options see here

----------

## Elleni

Ok, but how would I disable pie compiler options and will this affect whole system when messing with compiler options or can this be disabled for needed package(s)?

----------

## fedeliallalinea

 *Elleni wrote:*   

> Ok, but how would I disable pie compiler options and will this affect whole system when messing with compiler options or can this be disabled for needed package(s)?

 

You need to disable pie only to amdgpu-pro

```
Edit Makefile:line 656

ifneq ($(CONFIG_FRAME_WARN),0)

KBUILD_CFLAGS += $(call cc-option,-Wframe-larger-than=${CONFIG_FRAME_WARN})

endif

Lisää:

# force no-pie for distro compilers that enable pie by default

KBUILD_CFLAGS += $(call cc-option, -fno-pie)

KBUILD_CFLAGS += $(call cc-option, -no-pie)

KBUILD_AFLAGS += $(call cc-option, -fno-pie)
```

It seems that you should change also kernel configuration

 *Quote:*   

> You need to have kernel .config file that matches what amd driver developers have. In this case you need to enable break point to the debugger. Some configs here:
> 
> http://www.linuxtopia.org/online_boo...n/ch09s07.html
> 
> Debug kernel you must use, if they have not fix bug that stop compilation with non debug kernel.
> ...

 

Others information here

----------

## Marlo

 *Elleni wrote:*   

> Now with new radeon rx580 there is no sound on hdmi 
> 
> 

 

Google translate says:

 *https://www.heise.de/ct/artikel/Die-Neuerungen-von-Linux-4-15-3900646.html?seite=5 wrote:*   

> The DC code not only supports the DCE (Display Controller Engine) for the screen outputs of Vega and Raven GPUs, but also those of the direct predecessors up to the DCE8 (Sea Islands & Kaveri). Amdgpu currently only uses DC for older GPUs if they explicitly request the driver by specifying the kernel boot parameter amdgpu.dc=1. This is interesting for Polaris GPUs, for example, which use the current Radeon RX graphics cards 460 to 480 and 540 to 580. By DC, these can then also forward audio via HDMI or DisplayPort (DP), which the driver for older GPUs even without DC dominated. With DC, he also supports techniques such as DP 1.4, DP Multistream Transport (MST) and HDMI 2.0, which are important or necessary for the proper control of particularly high-resolution monitors;

 

Elleni, maybe try the git-sources.

```
Calculating dependencies... done!

[ebuild   R   ~] sys-kernel/git-sources-4.15_rc8:4.15_rc8::gentoo  USE="-build -symlink" 0 KiB

```

----------

## Elleni

Hi Marlo, 

I already had tried this - see 

https://forums.gentoo.org/viewtopic-t-1074722-highlight-.html

I am not sure, I tried git-sources with the kernel parameter, so I will retry.

----------

## Elleni

Hello again Marlo, 

thanks for your hint. I retried; it looks like I had tried git-sources but without amdgpu.dc=1, because now I get hdmi audio output   :Very Happy: 

So I guess, I ll stay with amdgpu open driver and thus will not install proprietary amdgpu-pro for the moment, at least until it will be officially supported and bringing some useful benefit. 

fedeliallalinea thank you too  :Smile: 

----------

## Elleni

The problem was my kernel configuration - in particular kernel_debug was set. I took the opportunity and disabled lot of cruft by starting with a fresh preconfig of pappy_mcfae and after that amdgpu-pro modules installation on kernel 4.9.77 was successful. Thanks goes to Charo who wrote this howto, pappy_mcfae for his very usefull preconfigs and all others who were trying to help.  :Smile: 

The only problem remaining is that I cannot start X with amdgpu-pro. Screen starts flickering as soon as xdm service is started. This happens wether I try to start gdm (from dantrell's gnome without systemd or sddm for plasma. So I guess, I have to dig deeper to see, what is needed besides amdgpu-pro to start X-server with this driver. 

emerge --info: 

```
Portage 2.3.19 (python 3.5.4-final-0, default/linux/amd64/17.0/desktop/plasma, gcc-6.4.0, glibc-2.25-r9, 4.15.0-rc8 x86_64)

=================================================================

System uname: Linux-4.15.0-rc8-x86_64-AMD_Ryzen_5_1600_Six-Core_Processor-with-gentoo-2.4.1

KiB Swap:    9767516 total,   9767516 free

Timestamp of repository gentoo: Mon, 22 Jan 2018 17:30:01 +0000

Head commit of repository gentoo: a53b58ae738213d6d39406c8991ddf26eafb5e30

sh bash 4.4_p12

ld GNU ld (Gentoo 2.29.1 p3) 2.29.1

app-shells/bash:          4.4_p12::gentoo

dev-lang/perl:            5.24.3::gentoo

dev-lang/python:          2.7.14-r1::gentoo, 3.5.4-r1::gentoo

dev-util/cmake:           3.9.6::gentoo

dev-util/pkgconfig:       0.29.2::gentoo

sys-apps/baselayout:      2.4.1-r2::gentoo

sys-apps/openrc:          0.29::dantrell-gnome

sys-apps/sandbox:         2.12::gentoo

sys-devel/autoconf:       2.13::gentoo, 2.69-r4::gentoo

sys-devel/automake:       1.11.6-r2::gentoo, 1.12.6-r1::gentoo, 1.15.1-r1::gentoo

sys-devel/binutils:       2.29.1-r1::gentoo

sys-devel/gcc:            6.4.0-r1::gentoo

sys-devel/gcc-config:     1.8-r1::gentoo

sys-devel/libtool:        2.4.6-r3::gentoo

sys-devel/make:           4.2.1::gentoo

sys-kernel/linux-headers: 4.13::gentoo (virtual/os-headers)

sys-libs/glibc:           2.25-r9::gentoo

Repositories:

gentoo

    location: /usr/portage

    sync-type: rsync

    sync-uri: rsync://rsync.gentoo.org/gentoo-portage

    priority: -1000

    sync-rsync-extra-opts: 

farmboy0

    location: /var/lib/layman/farmboy0

    masters: gentoo

    priority: 50

seden

    location: /var/lib/layman/seden

    masters: gentoo

    priority: 50

dantrell-gnome-3-26

    location: /var/lib/layman/dantrell-gnome-3-26

    masters: gentoo

    priority: 100

test

    location: /usr/local/portage

    masters: gentoo

    priority: 100

dantrell-gnome

    location: /var/lib/layman/dantrell-gnome

    masters: gentoo

    priority: 150

ACCEPT_KEYWORDS="amd64"

ACCEPT_LICENSE="* -@EULA"

CBUILD="x86_64-pc-linux-gnu"

CFLAGS="-O2 -march=znver1"

CHOST="x86_64-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt"

CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/chromium/policies/managed/chrome-gnome-shell.json /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/opt/chrome/policies/managed/chrome-gnome-shell.json /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo"

CXXFLAGS="-O2 -march=znver1"

DISTDIR="/usr/portage/distfiles"

FCFLAGS="-O2 -pipe"

FEATURES="assume-digests binpkg-logs buildpkg candy config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"

FFLAGS="-O2 -pipe"

GENTOO_MIRRORS="http://distfiles.gentoo.org"

LANG="de_CH.UTF-8"

LC_ALL="de_CH.UTF-8"

LDFLAGS="-Wl,-O1 -Wl,--as-needed"

LINGUAS="de de_DE el en fr fr_FR it tr"

MAKEOPTS="-j13"

PKGDIR="/usr/portage/packages"

PORTAGE_CONFIGROOT="/"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"

PORTAGE_TMPDIR="/tmp"

USE="X a52 aac acl acpi activities aes alsa amd64 avx avx2 berkdb bluetooth branding bzip2 cairo cdda cdr cli colord crypt cups cxx d3d9 dbus declarative dri dri3 dts dvd dvdr eds elogind emboss encode evo exif fam ffmpeg firefox flac fma3 fortran frei0r gdbm gif glamor gnome gnome-keyring gnome-online-accounts gnutls gpm gtk gtk3 gtkstyle iconv icu introspection ipv6 jpeg kde kipi kwallet lcms ldap libnotify libsecret llvm lm_sensors mad mmx mmxext mng modules mp3 mp4 mpeg mtp multilib nautilus ncurses nls nptl ocr ogg openal opencl opengl openmax openmp osmesa pam pango pclmul pcre pdf pdfpopcnt phonon plasma png policykit ppds pulseaudio qml qt3support qt5 readline realtime s3tc scanner sdl seccomp semantic-desktop spell spice sse sse2 sse3 sse4_1 sse4_2 sse4a ssh ssl ssse3 staging startup-notification svg tcpd theora tiff tracker truetype udev udisks unicode upower usb uxa vaapi vdpau vhost-net vorbis vpx webrtc-aec widgets wxwidgets x264 xattr xcb xcomposite xml xv xvid zlib" ABI_X86="64 32" ALSA_CARDS="hda-intel" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext smp sse sse2 sse3 sse4_1 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev" KERNEL="linux" L10N="de el en fr it tr" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6 php7-0" POSTGRES_TARGETS="postgres9_5" PYTHON_SINGLE_TARGET="python3_5" PYTHON_TARGETS="python2_7 python3_5" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby22 ruby23" SANE_BACKENDS="pixma" USERLAND="GNU" VIDEO_CARDS="amdgpu radeon radeonsi virgl" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"

Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
```

----------

## Marlo

 *Elleni wrote:*   

> 
> 
> The only problem remaining is that I cannot start X with amdgpu-pro. Screen starts flickering as soon as xdm service is started. This happens wether I try to start gdm (from dantrell's gnome without systemd or sddm for plasma. So I guess, I have to dig deeper to see, what is needed besides amdgpu-pro to start X-server with this driver.

 

Hello Elleni,

I have the same problem with 2 installations without amdgpu-pro. Both installations are installed from the ground up with dantrells gnome-3.26. Only normal office programs and normal multimedia applications are installed. For about a week, there are significant difficulties to start the desktop. More precisely, to keep the desktop. After a few minutes, the desktop disappears and you land again to log in at gdm. Or I can not log in as a user and gdm always starts again.

In an installation I have now installed sddm and start gnome without wayland. Now the desktop mostly stays. But every few minutes the desktop disappears, it briefly shows the gray background of Gnome and I hear the hard drives working.

Long story short: Your startup problem probably has nothing to do with amdgpu-pro.

----------

## Elleni

I think so too, thats why I put solved on this thread. 

My problem is a bit different, as gui does not start at all. I only have a textconsole that flickers as sddm/gdm tries to start many times every second. And I dont know how to see relevant logs after a reboot. I think that I maybe miss some essential useflags that could be needed in order to get X started with amdgpu-pro or a working xorg.conf...

Edit: Found this in /var/log/messages: 

```
 gdm-launch-environment][3865]: AccountsService: Could not get current seat: Kein passendes Gerät bzw. keine passende Adresse gefunden

gdm-launch-environment][3865]: pam_elogind(gdm-launch-environment:session): Unknown parameter 'kill-session-processes=1', ignoring

nm-dispatcher[3055]: req:3 'connectivity-change': start running ordered scripts...

gdm[3525]: Child process -3892 was already dead.

gdm[3525]: Child process 3865 was already dead.

gdm[3525]: Unable to kill session worker process

gdm-launch-environment][3935]: AccountsService: Could not get current seat: Kein passendes Gerät bzw. keine passende Adresse gefunden

gdm-launch-environment][3935]: pam_elogind(gdm-launch-environment:session): Unknown parameter 'kill-session-processes=1', ignoring

gentoo1 init[1]: Switching to runlevel: 6
```

Everything works fine, when uninstalling amdgpu-pro and dkms though. 

X has no problems with opensource amdgpu driver

----------

## Elleni

Solution (bus id wrong in /etc/X11/xorg.conf.d/10-device.conf provided by amdgpu-pro driver) is described here: 

https://forums.gentoo.org/viewtopic-t-1076080-highlight-.html

----------

