AMDGPU kernel including DAL, enables HDMI sound

PPA description

THIS PPA REPOSITORY IS OUTDATED. Unfortunately the builds with the PPA build server were not successful. But the source code of the patched 4.9 amdgpu kernel is available on github:
https://github.com/M-Bab/linux-kernel-amdgpu
and the latest x86-64 kernel build (with some additional information) is available here:
https://github.com/M-Bab/linux-kernel-amdgpu-binaries

-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------

The purpose of this PPA is to provide linux kernel image & header which includes the most recent amdgpu developments. Among these, is the display abstraction layer (DAL) which is required for HDMI audio/sound. So if you have a new AMD graphics card and you HDMI sound is not working you can try to install and boot this kernel and see if it helps.

I am not responsible for any troubles you have with this kernel - always keep another kernel in your Ubuntu to have a working alternative. The work is fully based on the effort of AMD's developers I am only trying to make the kernel available for beginners.

If the kernel is working nicely for you, you may set it as default kernel: http://askubuntu.com/questions/216398/set-older-kernel-as-default-grub-entry
If you want to max out the performance of your GPU with the open source amdgpu driver you can use one of the following PPAs:
https://launchpad.net/~oibaf/+archive/ubuntu/graphics-drivers
https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/mesa
If you want to max out the performance in wine you can try gallium9 with the drivers above and the following PPA:
https://launchpad.net/~commendsarnex/+archive/ubuntu/winedri3

-------------------------------------------
Expert details (dragons and stuff)

Kernel details: The Kernel ist based on "amd-staging-4.7" which seams to be the most developed and rigid version with all relevant features available on https://cgit.freedesktop.org/~agd5f/linux/. Kernel 4.7 is EOT and the AMD stuff was put on the release version 4.7.0 - to increase stability and safety (Dirty COW and so on) I patched the latest fixes so this is a 4.7.10 kernel now. But only files that were untouched by the AMD developers were actually patched (just to be sure the AMD code fully works).

As experienced user you might not trust PPAs, kernels from PPAs or kernel developers. So this is a summary how to compile the kernel yourself:
- git checkout git://people.freedesktop.org/~agd5f/linux, switch to the amd-staging-4.7 branch, revert to revision cbc3bffde2a2d50b9ffb0efe053ef761fa0209a0. Couldn't get more recent versions to work properly.
- git diff f40c11f29f7f2934fa1e5bc9254b6d645ccb8820 cbc3bffde2a2d50b9ffb0efe053ef761fa0209a0 to get the changes made by the AMD developers since 4.7 release.
- get the kernel patches wget https://www.kernel.org/pub/linux/kernel/v4.x/incr/patch-4.7.9-10.xz
- forward patch the kernel: xz -c -d ../patch-4.7.10.xz | patch -p1 -N
- checkout the files again which where changed by AMD and in the patch: drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c drivers/gpu/drm/amd/amdgpu/amdgpu_device.c drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c drivers/gpu/drm/amd/amdgpu/amdgpu.h drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c drivers/gpu/drm/amd/amdgpu/atombios_encoders.c drivers/gpu/drm/amd/amdgpu/cik_sdma.c drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c drivers/gpu/drm/amd/powerplay/hwmgr/ppatomctrl.c drivers/gpu/drm/radeon/atombios_encoders.c drivers/gpu/drm/radeon/radeon_atombios.c drivers/gpu/drm/radeon/radeon_atpx_handler.c drivers/gpu/drm/radeon/radeon_connectors.c drivers/gpu/drm/radeon/radeon_ttm.c drivers/gpu/drm/radeon/si_dpm.c sound/pci/hda/hda_intel.c
- configure the kernel configuration, be sure to enable the AMD stuff, make-kpkg clean
- Build the kernel:
env KCFLAGS="-fno-pie" fakeroot make-kpkg --initrd --revision=$(date +%y.%m.%d).AMDGPU kernel_image kernel_headers -j 5
(env KCFLAGS="-fno-pie" fixes "error: code model kernel does not support PIC mode")
- Go for lunch or a long walk ...

Adding this PPA to your system

You can update your system with unsupported packages from this untrusted PPA by adding ppa:martin-babutzka/amdgpu-kernel to your system's Software Sources. (Read about installing)

sudo add-apt-repository ppa:martin-babutzka/amdgpu-kernel
sudo apt update
        
Technical details about this PPA

This PPA can be added to your system manually by copying the lines below and adding them to your system's software sources.

deb https://ppa.launchpadcontent.net/martin-babutzka/amdgpu-kernel/ubuntu yakkety main 
deb-src https://ppa.launchpadcontent.net/martin-babutzka/amdgpu-kernel/ubuntu yakkety main 
Signing key:
4096R/1EC8509E8487FB50BDC52ADFF0AC301D9D2F1400 (What is this?)
Fingerprint:
1EC8509E8487FB50BDC52ADFF0AC301D9D2F1400

For questions and bugs with software in this PPA please contact Martin Babutzka.

PPA statistics

Activity
0 updates added during the past month.
View package details

Overview of published packages

12 of 2 results
Package Version Uploaded by
linux-source-4.7.10+ 16.12.30.12.AMDGPU Martin Babutzka ()
linux-source-4.9.11+ 4.9.11+-13.00.Custom Martin Babutzka ()
12 of 2 results

Latest updates

  • linux-source-4.9.11+ 375 weeks ago
    Failed to build: amd64 i386
  • linux-source-4.7.10+ 382 weeks ago
    Failed to build: amd64