#####################################
Using the ``amdgpu-install`` Script
#####################################

.. contents:: Table of Contents

----------

Script Types
============

The AMDGPU stack offers the following script to help you install a coherent set
of stack components:

- ``amdgpu-install``

This script supports a set of arguments that are explained in the following
sections of this page.

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

.. _Invoking-the-amdgpu-install-script:

Invoking the ``amdgpu-install`` Script
=======================================

Once you have installed the installer package, invoke the script as
``amdgpu-install`` from a terminal.

.. note:: Use of the ``-y`` option is recommended to avoid prompts from the
      package manager.

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

Scenarios
=========

Specifying an OpenCL Implementation
-----------------------------------

There is currently only one OpenCL implementations available:

- **ROCr**: Provides support for *Vega 10* and newer hardware.

.. note:: To use the ROCr implementation of OpenCL, the running user might
      need additional permissions. Usually the user must be added to the
      "render" group or to the "video" group. See the notes in
      :ref:`Installation-OpenCL-Optional-Component` for more details.

OpenCL is installed using the ``--opencl`` option, as follows:

+------------------------+-----------------------------------------------------+
|**Option**              | **Description**                                     |
+------------------------+-----------------------------------------------------+
|``--opencl=rocr``       | Installs ROCr OpenCL.                               |
+------------------------+-----------------------------------------------------+


.. _Installation-Vulkan-Optional-Component:

Specifying a Vulkan Implementation
-----------------------------------

There are two Vulkan implementations available:

- **AMDVLK**: Provides open source Vulkan
- **PRO**: Provides PRO vulkan (**Proprietary**, requires EULA acceptance)

You can either install one or both implementations.

Vulkan is installed using the ``--vulkan`` option, as follows:

+------------------------+---------------------------------------------+
|**Option**              | **Description**                             |
+------------------------+---------------------------------------------+
|``--vulkan=amdvlk``     | Installs open source Vulkan                 |
+------------------------+---------------------------------------------+
|``--vulkan=pro``        | Installs PRO Vulkan (**Proprietary**)       |
+------------------------+---------------------------------------------+
|``--vulkan=amdvlk,pro`` | Installs both open and PRO Vulkan.          |
+------------------------+---------------------------------------------+

Viewing Help or Usage Output
-----------------------------
Executing the script with ``-h`` or ``--help`` argument provides the help or
usage output.

.. code-block:: bash

  $ amdgpu-install -h



Adding Advanced Package Management Functionality
---------------------------------------------------

More advanced functionality can be obtained by providing the installation
script with arguments to pass through to the package management software of the
distribution you are using.

- On Ubuntu, refer to the `apt man page <https://linux.die.net/man/8/apt>`_ for more information.
- On Red Hat, refer to `yum man page <https://linux.die.net/man/8/yum>`_ for more information.
