

# Configuração de monitores Dual 4K em instâncias G4ad do Linux
<a name="activate_g4ad_4k"></a>

Depois de executar uma instância G4ad, você pode configurar monitores Dual 4K.

**Para instalar os drivers AMD e configurar telas duplas**

1. Conecte-se à sua instância Linux para obter o endereço de barramento PCI da GPU a ser direcionado ao Dual 4K (2x4k):

   ```
   lspci -vv | grep -i amd
   ```

   Você terá um resultado semelhante ao seguinte:

   ```
   00:1e.0 Display controller: Advanced Micro Devices, Inc. [*AMD*/ATI] Device 7362 (rev c3)
   Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Device 0a34
   ```

1. O endereço de barramento PCI é 00:1e.0 na saída acima. Crie um arquivo denominado `/etc/modprobe.d/amdgpu.conf` e adicione o seguinte:

   ```
   options amdgpu virtual_display=0000:00:1e.0,2
   ```

1. Para instalar drivers da AMD no Linux, consulte [Drivers AMD para a instância do EC2](install-amd-driver.md). Se você já tiver o driver da GPU AMD instalado, precisará reconstruir os módulos do kernel amdgpu via dkms.

1. Utilize o arquivo xorg.conf abaixo para definir a topologia de tela dupla (2x4K) e salve o arquivo no `/etc/X11/xorg.conf:`

   ```
   ~$ cat /etc/X11/xorg.conf
   Section "ServerLayout"
       Identifier     "Layout0"
       Screen          0 "Screen0"
       Screen        1 "Screen1"
       InputDevice     "Keyboard0" "CoreKeyboard"
       InputDevice     "Mouse0" "CorePointer"
       Option          "Xinerama" "1"
   EndSection
   Section "Files"
       ModulePath "/opt/amdgpu/lib64/xorg/modules/drivers"
       ModulePath "/opt/amdgpu/lib/xorg/modules"
       ModulePath "/opt/amdgpu-pro/lib/xorg/modules/extensions"
       ModulePath "/opt/amdgpu-pro/lib64/xorg/modules/extensions"
       ModulePath "/usr/lib64/xorg/modules"
       ModulePath "/usr/lib/xorg/modules"
   EndSection
   Section "InputDevice"
       # generated from default
       Identifier     "Mouse0"
       Driver         "mouse"
       Option         "Protocol" "auto"
       Option         "Device" "/dev/psaux"
       Option         "Emulate3Buttons" "no"
       Option         "ZAxisMapping" "4 5"
   EndSection
   Section "InputDevice"
       # generated from default
       Identifier     "Keyboard0"
       Driver         "kbd"
   EndSection
   
   Section "Monitor"
       Identifier     "Virtual"
       VendorName     "Unknown"
       ModelName      "Unknown"
       Option         "Primary" "true"
   EndSection
   
   Section "Monitor"
       Identifier     "Virtual-1"
       VendorName     "Unknown"
       ModelName      "Unknown"
       Option         "RightOf" "Virtual"
   EndSection
   
   Section "Device"
       Identifier     "Device0"
       Driver         "amdgpu"
       VendorName     "AMD"
       BoardName      "Radeon MxGPU V520"
       BusID          "PCI:0:30:0"
   EndSection
   
   Section "Device"
       Identifier     "Device1"
       Driver         "amdgpu"
       VendorName     "AMD"
       BoardName      "Radeon MxGPU V520"
       BusID          "PCI:0:30:0"
   EndSection
   
   Section "Extensions"
       Option         "DPMS" "Disable"
   EndSection
   
   Section "Screen"
       Identifier     "Screen0"
       Device         "Device0"
       Monitor        "Virtual"
       DefaultDepth   24
       Option         "AllowEmptyInitialConfiguration" "True"
       SubSection "Display"
           Virtual    3840 2160
           Depth      32
       EndSubSection
   EndSection
   
   Section "Screen"
       Identifier     "Screen1"
       Device         "Device1"
       Monitor        "Virtual"
       DefaultDepth   24
       Option         "AllowEmptyInitialConfiguration" "True"
       SubSection "Display"
           Virtual    3840 2160
           Depth      32
       EndSubSection
   EndSection
   ```

1. Configure o DCV seguindo as instruções de configuração de um [desktop interativo](#amd-interactive-desktop).

1. Quando a configuração do DCV terminar, reinicialize.

1. Verifique se o driver está funcional:

   ```
   dmesg | grep amdgpu
   ```

   A resposta deve ser parecida com o seguinte:

   ```
   Initialized amdgpu
   ```

1. Você verá na saída de `DISPLAY=:0 xrandr -q` que existem dois monitores virtuais conectados:

   ```
   ~$ DISPLAY=:0 xrandr -q
   Screen 0: minimum 320 x 200, current 3840 x 1080, maximum 16384 x 16384
   Virtual connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
    4096x3112  60.00
    3656x2664  59.99
    4096x2160  60.00
    3840x2160  60.00
    1920x1200  59.95
    1920x1080  60.00
    1600x1200  59.95
    1680x1050  60.00
    1400x1050  60.00
    1280x1024  59.95
    1440x900 59.99
    1280x960 59.99
    1280x854 59.95
    1280x800 59.96
    1280x720 59.97
    1152x768 59.95
    1024x768 60.00 59.95
    800x600  60.32 59.96 56.25
    848x480  60.00 59.94
    720x480  59.94
    640x480  59.94 59.94
   Virtual-1 connected 1920x1080+1920+0 (normal left inverted right x axis y axis) 0mm x 0mm
    4096x3112  60.00
    3656x2664  59.99
    4096x2160  60.00
    3840x2160  60.00
    1920x1200  59.95
    1920x1080  60.00
    1600x1200  59.95
    1680x1050  60.00
    1400x1050  60.00
    1280x1024  59.95
    1440x900 59.99
    1280x960 59.99
    1280x854 59.95
    1280x800 59.96
    1280x720 59.97
    1152x768 59.95
    1024x768 60.00 59.95
    800x600  60.32 59.96 56.25
    848x480  60.00 59.94
    720x480  59.94
   640x480  59.94 59.94
   ```

1. Quando você se conectar ao DCV, altere a resolução para 2x4K, confirmando que o suporte de monitor duplo está registrado pelo DCV.  
![\[Alterações na resolução do DCV\]](http://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/images/dm-dcv-example.png)

## Configuração de uma área de trabalho interativa para o Linux
<a name="amd-interactive-desktop"></a>

Após confirmar que a instância do Linux tem o driver de GPU da AMD instalado e que o driver AMDgpu está em uso, será possível instalar um gerenciador de área de trabalho interativa. Recomendamos o ambiente de desktop MATE para obter a melhor compatibilidade e performance.

**Pré-requisito**  
Abra um editor de texto e salve o seguinte como um arquivo chamado `xorg.conf`. Você precisará desse arquivo em sua instância.

```
Section "ServerLayout"
Identifier     "Layout0"
Screen          0 "Screen0"
InputDevice     "Keyboard0" "CoreKeyboard"
InputDevice     "Mouse0" "CorePointer"
EndSection
Section "Files"
ModulePath "/opt/amdgpu/lib64/xorg/modules/drivers"
ModulePath "/opt/amdgpu/lib/xorg/modules"
ModulePath "/opt/amdgpu-pro/lib/xorg/modules/extensions"
ModulePath "/opt/amdgpu-pro/lib64/xorg/modules/extensions"
ModulePath "/usr/lib64/xorg/modules"
ModulePath "/usr/lib/xorg/modules"
EndSection
Section "InputDevice"
# generated from default
Identifier     "Mouse0"
Driver         "mouse"
Option         "Protocol" "auto"
Option         "Device" "/dev/psaux"
Option         "Emulate3Buttons" "no"
Option         "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
# generated from default
Identifier     "Keyboard0"
Driver         "kbd"
EndSection
Section "Monitor"
Identifier     "Monitor0"
VendorName     "Unknown"
ModelName      "Unknown"
EndSection
Section "Device"
Identifier     "Device0"
Driver         "amdgpu"
VendorName     "AMD"
BoardName      "Radeon MxGPU V520"
BusID          "PCI:0:30:0"
EndSection
Section "Extensions"
Option         "DPMS" "Disable"
EndSection
Section "Screen"
Identifier     "Screen0"
Device         "Device0"
Monitor        "Monitor0"
DefaultDepth   24
Option         "AllowEmptyInitialConfiguration" "True"
SubSection "Display"
    Virtual    3840 2160
    Depth      32
EndSubSection
EndSection
```

**Para configurar um desktop interativo no Amazon Linux 2**

1. Instale o repositório EPEL.

   ```
   [ec2-user ~]$ sudo amazon-linux-extras install epel -y
   ```

1. Instale o desktop MATE.

   ```
   [ec2-user ~]$ sudo amazon-linux-extras install mate-desktop1.x -y
   [ec2-user ~]$ sudo yum groupinstall "MATE Desktop" -y
   [ec2-user ~]$ sudo systemctl disable firewalld
   ```

1. Copie o arquivo `xorg.conf` para `/etc/X11/xorg.conf`.

1. Reinicialize a instância.

   ```
   [ec2-user ~]$ sudo reboot
   ```

1. (Opcional) [Instale o servidor Amazon DCV](https://docs.aws.amazon.com/dcv/latest/adminguide/setting-up-installing.html) para usar o Amazon DCV como um protocolo de exibição de alta performance. Depois, [conecte-se a uma sessão do Amazon DCV](https://docs.aws.amazon.com/dcv/latest/userguide/using-connecting.html) usando o cliente preferencial.

**Para configurar um desktop interativo no Ubuntu**

1. Instale o desktop MATE.

   ```
   $ sudo apt install xorg-dev ubuntu-mate-desktop -y
   $ sudo apt purge ifupdown -y
   ```

1. Copie o arquivo `xorg.conf` para `/etc/X11/xorg.conf`.

1. Reinicialize a instância.

   ```
   $ sudo reboot
   ```

1. Instale o codificador AMF para a versão apropriada do Ubuntu.

   ```
   $ sudo apt install ./amdgpu-pro-20.20-*/amf-amdgpu-pro_20.20-*_amd64.deb
   ```

1. (Opcional) [Instale o servidor Amazon DCV](https://docs.aws.amazon.com/dcv/latest/adminguide/setting-up-installing.html) para usar o Amazon DCV como um protocolo de exibição de alta performance. Depois, [conecte-se a uma sessão do Amazon DCV](https://docs.aws.amazon.com/dcv/latest/userguide/using-connecting.html) usando o cliente preferencial.

1. Após a instalação do DCV, dê permissões de vídeo ao usuário DCV:

   ```
   $ sudo usermod -aG video dcv
   ```

**Para configurar um desktop interativo no CentOS**

1. Instale o repositório EPEL.

   ```
   $ sudo yum update -y
   $ sudo yum install epel-release -y
   ```

1. Instale o desktop MATE.

   ```
   $ sudo yum groupinstall "MATE Desktop" -y
   $ sudo systemctl disable firewalld
   ```

1. Copie o arquivo `xorg.conf` para `/etc/X11/xorg.conf`.

1. Reinicialize a instância.

   ```
   $ sudo reboot
   ```

1. (Opcional) [Instale o servidor Amazon DCV](https://docs.aws.amazon.com/dcv/latest/adminguide/setting-up-installing.html) para usar o Amazon DCV como um protocolo de exibição de alta performance. Depois, [conecte-se a uma sessão do Amazon DCV](https://docs.aws.amazon.com/dcv/latest/userguide/using-connecting.html) usando o cliente preferencial.

   