2021-02-11 08:05:34 -06:00
|
|
|
---
|
|
|
|
# Install OpenCL drivers.
|
|
|
|
|
2021-02-13 07:11:09 -06:00
|
|
|
## Step 0/3: Dependencies ##
|
|
|
|
- name: AMDGPU | Variables
|
|
|
|
set_fact:
|
|
|
|
amdgpu_cron_job: AMDGPU - Need To Finish Installation
|
2021-02-13 07:31:16 -06:00
|
|
|
amdgpu_cron_cmd: /root/bin/scm.sh
|
2021-02-13 07:11:09 -06:00
|
|
|
|
2021-02-11 18:08:57 -06:00
|
|
|
- name: AMDGPU | Install Dependencies
|
|
|
|
package:
|
|
|
|
name:
|
|
|
|
- dkms
|
|
|
|
- mesa-common-dev
|
2021-02-12 06:33:13 -06:00
|
|
|
- clinfo
|
2021-02-11 18:08:57 -06:00
|
|
|
state: present
|
|
|
|
|
2021-02-13 07:11:09 -06:00
|
|
|
- name: AMDGPU | Set GRUB Timer
|
|
|
|
lineinfile:
|
|
|
|
path: /etc/default/grub
|
|
|
|
regexp: '^GRUB_TIMEOUT='
|
|
|
|
line: 'GRUB_TIMEOUT=3'
|
|
|
|
state: present
|
|
|
|
backup: yes
|
|
|
|
|
|
|
|
- name: AMDGPU | Remove Previous Run's Cron Job
|
|
|
|
cron:
|
|
|
|
user: root
|
|
|
|
name: "{{ amdgpu_cron_job }}"
|
|
|
|
state: absent
|
|
|
|
|
|
|
|
# Tests
|
|
|
|
- name: AMDGPU | Check If GA Kernel Installed
|
|
|
|
shell: 'uname --kernel-release | grep 5.4.0-65-generic'
|
|
|
|
register: ga_kernel
|
|
|
|
ignore_errors: yes
|
2021-02-11 19:56:53 -06:00
|
|
|
|
2021-02-13 07:11:09 -06:00
|
|
|
- name: AMDGPU | Check If HWE Kernel Installed
|
|
|
|
shell: 'apt search linux-image-5.8.0-* | grep -c installed'
|
|
|
|
register: hwe_kernel
|
|
|
|
ignore_errors: yes
|
2021-02-11 19:56:53 -06:00
|
|
|
|
2021-02-13 07:11:09 -06:00
|
|
|
#- name: AMDGPU | Check If All Driver Installed
|
|
|
|
# shell: 'which amdgpu-uninstall'
|
|
|
|
# register: amdgpu_install
|
|
|
|
# ignore_errors: yes
|
2021-02-11 19:56:53 -06:00
|
|
|
|
2021-02-13 07:11:09 -06:00
|
|
|
- name: AMDGPU | Check If Pro Driver Installed
|
|
|
|
shell: 'which amdgpu-pro-uninstall'
|
|
|
|
register: amdgpu_install
|
|
|
|
ignore_errors: yes
|
2021-02-11 19:56:53 -06:00
|
|
|
|
2021-02-13 07:11:09 -06:00
|
|
|
- name: AMDGPU | DEBUG
|
|
|
|
debug:
|
|
|
|
var: "{{ item }}"
|
|
|
|
loop:
|
|
|
|
- ga_kernel
|
|
|
|
- hwe_kernel
|
|
|
|
- amdgpu_install
|
2021-02-11 19:56:53 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
2021-02-13 07:11:09 -06:00
|
|
|
## Step 1/3: Get Correct Kernel ##
|
|
|
|
- name: AMDGPU | Install GA Kernel
|
|
|
|
package:
|
|
|
|
name: linux-image-5.4.0-65-generic
|
|
|
|
state: present
|
2021-02-13 07:23:12 -06:00
|
|
|
when: amdgpu_install.failed and hwe_kernel.stdout != "0" and ga_kernel.failed
|
2021-02-11 19:56:53 -06:00
|
|
|
|
2021-02-13 07:28:45 -06:00
|
|
|
- name: AMDGPU | Prepare GRUB To Boot GA Kernel
|
2021-02-13 07:11:09 -06:00
|
|
|
lineinfile:
|
|
|
|
path: /etc/default/grub
|
|
|
|
regexp: '^GRUB_DEFAULT='
|
|
|
|
line: 'GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 5.4.0-65-generic"'
|
|
|
|
state: present
|
|
|
|
backup: yes
|
2021-02-13 07:25:15 -06:00
|
|
|
when: amdgpu_install.failed and hwe_kernel.stdout != "0" and ga_kernel.failed
|
2021-02-13 07:11:09 -06:00
|
|
|
|
2021-02-13 07:28:45 -06:00
|
|
|
- name: AMDGPU | Update GRUB
|
|
|
|
shell: update-grub
|
|
|
|
when: amdgpu_install.failed and hwe_kernel.stdout != "0" and ga_kernel.failed
|
|
|
|
|
2021-02-13 07:11:09 -06:00
|
|
|
- name: AMDGPU | Prepare Cron Job To SCM
|
|
|
|
cron:
|
|
|
|
user: root
|
|
|
|
name: "{{ amdgpu_cron_job }}"
|
|
|
|
special_time: reboot
|
2021-02-13 07:31:16 -06:00
|
|
|
job: "{{ amdgpu_cron_cmd }}"
|
2021-02-13 07:11:09 -06:00
|
|
|
state: present
|
|
|
|
disabled: no
|
2021-02-13 07:25:15 -06:00
|
|
|
when: amdgpu_install.failed and hwe_kernel.stdout != "0" and ga_kernel.failed
|
2021-02-11 19:56:53 -06:00
|
|
|
|
2021-02-13 07:11:09 -06:00
|
|
|
- name: AMDGPU | Reboot To GA Kernel
|
|
|
|
shell: reboot
|
2021-02-13 07:25:15 -06:00
|
|
|
when: amdgpu_install.failed and hwe_kernel.stdout != "0" and ga_kernel.failed
|
2021-02-11 19:56:53 -06:00
|
|
|
|
2021-02-13 07:11:09 -06:00
|
|
|
- pause:
|
|
|
|
prompt: "Rebooting to GA kernel! Please hold."
|
2021-02-13 07:25:15 -06:00
|
|
|
when: amdgpu_install.failed and hwe_kernel.stdout != "0" and ga_kernel.failed
|
2021-02-11 19:56:53 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
2021-02-13 07:11:09 -06:00
|
|
|
## Step 2/3: Remove Incorrect Kernels ##
|
|
|
|
- name: AMDGPU | Remove Bad Kernels
|
|
|
|
shell: "apt remove --purge linux-generic-hwe-20.04 \
|
|
|
|
linux-oem-20.04 \
|
|
|
|
linux-hwe-* \
|
|
|
|
linux-oem-* \
|
|
|
|
linux-modules-5.1* \
|
|
|
|
linux-modules-5.8.0-* \
|
|
|
|
linux-modules-5.6.0-*"
|
2021-02-13 07:25:15 -06:00
|
|
|
when: amdgpu_install.failed and hwe_kernel.stdout != "0"
|
2021-02-13 07:11:09 -06:00
|
|
|
|
|
|
|
- name: AMDGPU | Update + Clean System
|
|
|
|
shell: "apt update; apt dist-upgrade -y; apt autoremove -y"
|
2021-02-13 07:25:15 -06:00
|
|
|
when: amdgpu_install.failed and hwe_kernel.stdout != "0"
|
2021-02-13 07:11:09 -06:00
|
|
|
|
|
|
|
# This is to ensure we can test adding `apt install --install-recommends linux-generic` later
|
|
|
|
- name: AMDGPU | Boot Default Kernel
|
|
|
|
lineinfile:
|
|
|
|
path: /etc/default/grub
|
|
|
|
regexp: '^GRUB_DEFAULT='
|
|
|
|
line: 'GRUB_DEFAULT=0'
|
|
|
|
state: present
|
|
|
|
backup: yes
|
2021-02-13 07:25:15 -06:00
|
|
|
when: amdgpu_install.failed and hwe_kernel.stdout != "0"
|
2021-02-13 07:11:09 -06:00
|
|
|
|
2021-02-13 07:28:45 -06:00
|
|
|
- name: AMDGPU | Update GRUB
|
|
|
|
shell: update-grub
|
|
|
|
when: amdgpu_install.failed and hwe_kernel.stdout != "0"
|
|
|
|
|
2021-02-13 07:11:09 -06:00
|
|
|
- name: AMDGPU | Prepare Cron Job To SCM
|
|
|
|
cron:
|
|
|
|
user: root
|
|
|
|
name: "{{ amdgpu_cron_job }}"
|
|
|
|
special_time: reboot
|
2021-02-13 07:31:16 -06:00
|
|
|
job: "{{ amdgpu_cron_cmd }}"
|
2021-02-13 07:11:09 -06:00
|
|
|
state: present
|
|
|
|
disabled: no
|
2021-02-13 07:25:15 -06:00
|
|
|
when: amdgpu_install.failed and hwe_kernel.stdout != "0"
|
2021-02-13 07:11:09 -06:00
|
|
|
|
|
|
|
- name: AMDGPU | Reboot To Ensure GA Is 0
|
|
|
|
shell: reboot
|
2021-02-13 07:25:15 -06:00
|
|
|
when: amdgpu_install.failed and hwe_kernel.stdout != "0"
|
2021-02-13 07:11:09 -06:00
|
|
|
|
|
|
|
- pause:
|
|
|
|
prompt: "Rebooting to clear kernels! Please hold."
|
2021-02-13 07:25:15 -06:00
|
|
|
when: amdgpu_install.failed and hwe_kernel.stdout != "0"
|
2021-02-11 11:17:22 -06:00
|
|
|
|
2021-02-11 12:12:52 -06:00
|
|
|
|
2021-02-13 07:11:09 -06:00
|
|
|
|
|
|
|
## Step 3/3: Install AMD PRO Driver ##
|
2021-02-11 19:56:53 -06:00
|
|
|
- name: AMDGPU | Create Downloads Folder
|
2021-02-11 13:03:48 -06:00
|
|
|
shell: 'mkdir -p /root/Downloads'
|
2021-02-11 19:56:53 -06:00
|
|
|
when: amdgpu_install.failed
|
2021-02-11 08:05:34 -06:00
|
|
|
|
2021-02-11 19:56:53 -06:00
|
|
|
- name: AMDGPU | Download Driver
|
2021-02-11 13:03:48 -06:00
|
|
|
shell: 'scp ling@leet:InstallFiles/Drivers/amdgpu-pro-20.45-1188099-ubuntu-20.04.tar.xz /root/Downloads/'
|
2021-02-11 19:56:53 -06:00
|
|
|
when: amdgpu_install.failed
|
2021-02-11 08:05:34 -06:00
|
|
|
|
2021-02-11 19:56:53 -06:00
|
|
|
- name: AMDGPU | Extract Tarball
|
2021-02-11 13:03:48 -06:00
|
|
|
shell: 'cd /root/Downloads; tar -xvf amdgpu-pro-20.45-1188099-ubuntu-20.04.tar.xz'
|
2021-02-11 19:56:53 -06:00
|
|
|
when: amdgpu_install.failed
|
2021-02-11 08:05:34 -06:00
|
|
|
|
2021-02-12 06:40:56 -06:00
|
|
|
## Only one driver set can exist at a time! ##
|
2021-02-13 07:11:09 -06:00
|
|
|
#- name: AMDGPU | Install AMDGPU All Driver
|
|
|
|
# shell: 'cd /root/Downloads/amdgpu-pro-20.45-1188099-ubuntu-20.04; ./amdgpu-install -y'
|
|
|
|
# when: amdgpu_install.failed
|
|
|
|
|
|
|
|
- name: AMDGPU | Install AMDGPU-Pro Driver
|
|
|
|
shell: 'cd /root/Downloads/amdgpu-pro-20.45-1188099-ubuntu-20.04; ./amdgpu-pro-install -y --opencl=pal,legacy'
|
2021-02-12 06:33:13 -06:00
|
|
|
when: amdgpu_install.failed
|
|
|
|
|
2021-02-13 07:11:09 -06:00
|
|
|
- name: AMDGPU | Prepare Cron Job To SCM
|
|
|
|
cron:
|
|
|
|
user: root
|
|
|
|
name: "{{ amdgpu_cron_job }}"
|
|
|
|
special_time: reboot
|
2021-02-13 07:31:16 -06:00
|
|
|
job: "{{ amdgpu_cron_cmd }}"
|
2021-02-13 07:11:09 -06:00
|
|
|
state: present
|
|
|
|
disabled: no
|
|
|
|
when: amdgpu_install.failed
|
|
|
|
|
|
|
|
- name: AMDGPU | Reboot To GA Kernel
|
|
|
|
shell: reboot
|
|
|
|
when: amdgpu_install.failed
|
|
|
|
|
|
|
|
- pause:
|
|
|
|
prompt: "Rebooting to use driver! Please hold."
|
|
|
|
when: amdgpu_install.failed
|
|
|
|
|
|
|
|
|
2021-02-12 06:40:56 -06:00
|
|
|
|
2021-02-13 07:11:09 -06:00
|
|
|
## We're done! ##
|
|
|
|
- name: AMDGPU | Test Driver
|
2021-02-12 06:33:13 -06:00
|
|
|
shell: clinfo
|
|
|
|
register: clinfo
|
|
|
|
|
|
|
|
- name: AMDGPU | Test Results
|
|
|
|
debug:
|
2021-02-12 06:38:58 -06:00
|
|
|
var: clinfo
|
|
|
|
ignore_errors: yes
|