Skip to content

Instantly share code, notes, and snippets.

@danginsburg
Last active January 7, 2018 07:32
Show Gist options
  • Save danginsburg/04f15e34876ba786dc812ca13e075aa0 to your computer and use it in GitHub Desktop.
Save danginsburg/04f15e34876ba786dc812ca13e075aa0 to your computer and use it in GitHub Desktop.
RADV Setup Ubuntu 16.04.2 LTS
First, I setup the padoka PPA:
https://launchpad.net/~paulo-miguel-dias/+archive/ubuntu/mesa
I have the following packages installed from there:
i libclc-dev 0.2.0+git20170506.1647.1cb3fbf~x~padoka0 all OpenCL C language implementation - development files
ii libdrm-amdgpu1:amd64 2.4.81+git1706051541.16444e1~x~padoka0 amd64 Userspace interface to amdgpu-specific kernel DRM services -- runtime
ii libdrm-amdgpu1:i386 2.4.81+git1706051541.16444e1~x~padoka0 i386 Userspace interface to amdgpu-specific kernel DRM services -- runtime
ii libdrm-dev:amd64 2.4.81+git1706051541.16444e1~x~padoka0 amd64 Userspace interface to kernel DRM services -- development files
ii libdrm-intel1:amd64 2.4.81+git1706051541.16444e1~x~padoka0 amd64 Userspace interface to intel-specific kernel DRM services -- runtime
ii libdrm-intel1:i386 2.4.81+git1706051541.16444e1~x~padoka0 i386 Userspace interface to intel-specific kernel DRM services -- runtime
ii libdrm-nouveau2:amd64 2.4.81+git1706051541.16444e1~x~padoka0 amd64 Userspace interface to nouveau-specific kernel DRM services -- runtime
ii libdrm-nouveau2:i386 2.4.81+git1706051541.16444e1~x~padoka0 i386 Userspace interface to nouveau-specific kernel DRM services -- runtime
ii libdrm-radeon1:amd64 2.4.81+git1706051541.16444e1~x~padoka0 amd64 Userspace interface to radeon-specific kernel DRM services -- runtime
ii libdrm-radeon1:i386 2.4.81+git1706051541.16444e1~x~padoka0 i386 Userspace interface to radeon-specific kernel DRM services -- runtime
ii libdrm2:amd64 2.4.81+git1706051541.16444e1~x~padoka0 amd64 Userspace interface to kernel DRM services -- runtime
ii libdrm2:i386 2.4.81+git1706051541.16444e1~x~padoka0 i386 Userspace interface to kernel DRM services -- runtime
ii libegl1-mesa:amd64 1:17.2~git170605162900.4b1e6ed~x~padoka0 amd64 free implementation of the EGL API -- runtime
ii libegl1-mesa-dev:amd64 1:17.2~git170605162900.4b1e6ed~x~padoka0 amd64 free implementation of the EGL API -- development files
ii libgbm1:amd64 1:17.2~git170605162900.4b1e6ed~x~padoka0 amd64 generic buffer management API -- runtime
ii libgl1-mesa-dev:amd64 1:17.2~git170605162900.4b1e6ed~x~padoka0 amd64 free implementation of the OpenGL API -- GLX development files
ii libgl1-mesa-dri:amd64 1:17.2~git170605162900.4b1e6ed~x~padoka0 amd64 free implementation of the OpenGL API -- DRI modules
ii libgl1-mesa-dri:i386 1:17.2~git170605162900.4b1e6ed~x~padoka0 i386 free implementation of the OpenGL API -- DRI modules
ii libgl1-mesa-glx:amd64 1:17.2~git170605162900.4b1e6ed~x~padoka0 amd64 free implementation of the OpenGL API -- GLX runtime
ii libgl1-mesa-glx:i386 1:17.2~git170605162900.4b1e6ed~x~padoka0 i386 free implementation of the OpenGL API -- GLX runtime
ii libglapi-mesa:amd64 1:17.2~git170605162900.4b1e6ed~x~padoka0 amd64 free implementation of the GL API -- shared library
ii libglapi-mesa:i386 1:17.2~git170605162900.4b1e6ed~x~padoka0 i386 free implementation of the GL API -- shared library
ii libgles2-mesa:amd64 1:17.2~git170605162900.4b1e6ed~x~padoka0 amd64 free implementation of the OpenGL|ES 2.x API -- runtime
ii libgles2-mesa-dev:amd64 1:17.2~git170605162900.4b1e6ed~x~padoka0 amd64 free implementation of the OpenGL|ES 2.x API -- development files
ii libllvm5.0:amd64 1:5.0~svn303494-0~x~padoka0 amd64 Modular compiler and toolchain technologies, runtime library
ii libllvm5.0:i386 1:5.0~svn303494-0~x~padoka0 i386 Modular compiler and toolchain technologies, runtime library
ii libva-dev:amd64 1.8.3+git201706051535-0~x~padoka0 amd64 Video Acceleration (VA) API for Linux -- development files
ii libva-drm1:amd64 1.8.3+git201706051535-0~x~padoka0 amd64 Video Acceleration (VA) API for Linux -- DRM runtime
ii libva-egl1:amd64 1.8.3+git201706051535-0~x~padoka0 amd64 Video Acceleration (VA) API for Linux -- EGL runtime
ii libva-glx1:amd64 1.8.3+git201706051535-0~x~padoka0 amd64 Video Acceleration (VA) API for Linux -- GLX runtime
ii libva-tpi1:amd64 1.8.3+git201706051535-0~x~padoka0 amd64 Video Acceleration (VA) API for Linux -- TPI runtime
ii libva-wayland1:amd64 1.8.3+git201706051535-0~x~padoka0 amd64 Video Acceleration (VA) API for Linux -- Wayland runtime
ii libva-x11-1:amd64 1.8.3+git201706051535-0~x~padoka0 amd64 Video Acceleration (VA) API for Linux -- X11 runtime
ii libva1:amd64 1.8.3+git201706051535-0~x~padoka0 amd64 Video Acceleration (VA) API for Linux -- runtime
ii libwayland-bin 1.13.0+git201705130017.0eefe99~x~padoka0 amd64 wayland compositor infrastructure - binary utilities
ii libwayland-client0:amd64 1.13.0+git201705130017.0eefe99~x~padoka0 amd64 wayland compositor infrastructure - client library
ii libwayland-client0:i386 1.13.0+git201705130017.0eefe99~x~padoka0 i386 wayland compositor infrastructure - client library
ii libwayland-cursor0:amd64 1.13.0+git201705130017.0eefe99~x~padoka0 amd64 wayland compositor infrastructure - cursor library
ii libwayland-dev:amd64 1.13.0+git201705130017.0eefe99~x~padoka0 amd64 wayland compositor infrastructure - development files
ii libwayland-egl1-mesa:amd64 1:17.2~git170605162900.4b1e6ed~x~padoka0 amd64 implementation of the Wayland EGL platform -- runtime
ii libwayland-server0:amd64 1.13.0+git201705130017.0eefe99~x~padoka0 amd64 wayland compositor infrastructure - server library
ii libxatracker2:amd64 1:17.2~git170605162900.4b1e6ed~x~padoka0 amd64 X acceleration library -- runtime
ii llvm-5.0 1:5.0~svn303494-0~x~padoka0 amd64 Modular compiler and toolchain technologies
ii llvm-5.0-dev 1:5.0~svn303494-0~x~padoka0 amd64 Modular compiler and toolchain technologies, libraries and headers
ii llvm-5.0-runtime 1:5.0~svn303494-0~x~padoka0 amd64 Modular compiler and toolchain technologies, IR interpreter
ii mesa-common-dev:amd64 1:17.2~git170605162900.4b1e6ed~x~padoka0 amd64 Developer documentation for Mesa
To build RADV:
https://github.com/airlied/mesa/tree/radv-wip-steamvr-master
$ ./autogen.sh
$ ./configure --prefix=/home/dang/install/radv --enable-texture-float --enable-dri3 --enable-glx-tls --with-vulkan-drivers=radeon --with-dri-drivers=radeon --with-gallium-drivers=radeonsi --with-llvm-prefix=/usr/lib/llvm-5.0 --enable-debug=no
$ make -j 14
$ make install
To run with RADV:
export VK_ICD_FILENAMES=/home/dang/install/radv/share/vulkan/icd.d/radeon_icd.x86_64.json
export LIBGL_DRIVERS_PATH=/home/dang/install/radv/lib/dri/:/usr/lib/i386-linux-gnu/dri/
To enable DRI3:
/usr/share/X11/xorg.conf.d/10-amdgpu.conf
Section "OutputClass"
Identifier "AMDgpu"
MatchDriver "amdgpu"
Driver "amdgpu"
EndSection
Section "Device"
Identifier "Radeon"
Driver "radeon"
Option "DRI" "3"
EndSection
For performance, in /etc/rc.local add:
echo high > /sys/class/drm/card0/device/power_dpm_force_performance_level
Kernel info:
I ran into performance troubles with long vkQueueSubmits on default Ubuntu kernel, so I installed 4.12.0-014200rc4-generic using these instructions:
http://sourcedigit.com/22332-update-to-linux-kernel-4-12/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment