diff options
| author | Ahmed Abdelhalim <[email protected]> | 2026-02-27 23:45:46 +0100 |
|---|---|---|
| committer | Ahmed Abdelhalim <[email protected]> | 2026-02-27 23:45:46 +0100 |
| commit | 2165226bf04d177ad5ff2b42f148a4b9aa2f12b0 (patch) | |
| tree | 25b2dbcbe8ac35694e238f3aa8129e4af0545eb8 | |
| parent | 3331d092f1010992c008ca53b690b6fb28fbaa51 (diff) | |
Add the role to switch gpu
For Mac Machines with iGPU and dedicated GPU, this installs the
gpu-switch to allow setting the active GPU on the next boot
| -rw-r--r-- | roles/gpu-switch/defaults/main.yml | 2 | ||||
| -rw-r--r-- | roles/gpu-switch/meta/argument_specs.yml | 10 | ||||
| -rw-r--r-- | roles/gpu-switch/meta/main.yml | 12 | ||||
| -rw-r--r-- | roles/gpu-switch/tasks/main.yml | 22 |
4 files changed, 46 insertions, 0 deletions
diff --git a/roles/gpu-switch/defaults/main.yml b/roles/gpu-switch/defaults/main.yml new file mode 100644 index 00000000..db1abd44 --- /dev/null +++ b/roles/gpu-switch/defaults/main.yml @@ -0,0 +1,2 @@ +--- +gpu_switch_dedicated: false diff --git a/roles/gpu-switch/meta/argument_specs.yml b/roles/gpu-switch/meta/argument_specs.yml new file mode 100644 index 00000000..46632ea4 --- /dev/null +++ b/roles/gpu-switch/meta/argument_specs.yml @@ -0,0 +1,10 @@ +--- +argument_specs: + main: + short_description: "Install gpu-switch" + description: "Install gpu-switch" + options: + gpu_switch_dedicated: + type: "bool" + default: false + description: "Enable dedicated GPU on machine when true other wise use default iGPU" diff --git a/roles/gpu-switch/meta/main.yml b/roles/gpu-switch/meta/main.yml new file mode 100644 index 00000000..3a4515bb --- /dev/null +++ b/roles/gpu-switch/meta/main.yml @@ -0,0 +1,12 @@ +--- +dependencies: + - role: "yay" +galaxy_info: + author: "a14m" + description: "Install gpu-switch" + license: "MIT" + min_ansible_version: "2.18" + platforms: + - name: "ArchLinux" + versions: + - "all" diff --git a/roles/gpu-switch/tasks/main.yml b/roles/gpu-switch/tasks/main.yml new file mode 100644 index 00000000..14cc3be2 --- /dev/null +++ b/roles/gpu-switch/tasks/main.yml @@ -0,0 +1,22 @@ +--- +- name: "Ensure gpu-switch is installed" + become: true + become_user: "aur_builder" + kewlfft.aur.aur: + name: "gpu-switch" + state: "present" + use: "yay" + +- name: "Configure gpu-switch to use dedicated GPU" + become: true + ansible.builtin.command: + cmd: "gpu-switch -d" + changed_when: false + when: gpu_switch_dedicated + +- name: "Configure gpu-switch to use integrated GPU" + become: true + ansible.builtin.command: + cmd: "gpu-switch -i" + changed_when: false + when: not gpu_switch_dedicated |
