@CanalQb

CanalQb - Ubuntu - Instalando a RX 580 no Ubuntu 16.04.X



Futuras compras: 


Fala galera, no vídeo de agora vou ensinar a vocês a instalar corretamente a placa de vídeo RX 580.
Antes precisamos seguir algumas regras simples.
Tenha o OpenSSH instalado no seu linux, vamos fazer via terminal Putty https://cb.run/u0St
Se você estiver usando o server, o openssh está no processo de instalação.
Se você estiver usando o Desktop. Precisa abrir o terminal na maquina Linux e instalar via comando
sudo apt update && sudo apt install openssh-server
Após você terá acesso ao seu sistema via Putty.
Copiar no Putty, é só selecionar o texto.
Colar é clicar botão direito do mouse.

O ideal é a instalação em inglês, devido os repositórios, mas se instalou o Desktop em português, você pode alterar para os repositórios globais em programas e atualizações.



Garanta estes 2 processos antes de continuar.
Não faça sudo apt upgrade, pois pode dar erro com sua placa de vídeo antes mesmo de configurar.
Acontece, que mesmo a atualização padrão do kernel 4.15.0.142, não possui suporte a drivers HWE, mas permite reconhecer o Chipset e isso causa travamento na inicialização "isso no meu caso"

Bom agora que podemos abrir via Putty, vamos instalar o SAMBA, que será necessário para movimentar alguns arquivos.

Instalando o SAMBA

Use o comando abaixo para instalar o Samba, sempre que você quiser deixar automático, coloque o -y em comandos do apt, isso permite você não ser obrigado a ficar acompanhando a instalação, até o final.
sudo apt install samba -y
Neste tutorial, eu não vou montar pastas especificas, vou utilizar o desktop criado com o nome do meu perfil mesmo, caso queira saber como montar pastas no Linux, só no pesquisar deste blog, e você terá vários posts sobre o tema.

Então vamos editar o arquivo smb.conf
sudo nano /etc/samba/smb.conf
Após abrir, vá até a ultima linha, via seta para baixo, ou com o botão Page Down, cole a informação abaixo, na ultima linha do seu arquivo smb.conf, você é livre para modificar o que precisar, este é apenas um tutorial:
Lembre que colar no putty é simplesmente clicar botão direito do mouse, só garanta que o marcador de texto está na posição de ultima linha:
[desktop]
path = /home/qb/
browseable = yes
writable = yes
guest ok = yes
create mask = 0777
directory mask = 0777
Inserido essas informações, você precisa salvar o arquivo, segure CTRL e pressione O, ele irá perguntar se deseja salvar as alterações, confirme com ENTER, e segure CTRL e pressione X, isso irá fechar o arquivo, e voltar para a tela de prompt de comando do terminal Linux.

Você vai precisar da acesso para que usuários possam criar, modificar e excluir arquivos, pode fazer isso para um usuário especifico, ou fazer como eu faço, e já libero acesso a todos, então digite:
sudo chmod -R 777 /home/qb

Reinicie o serviço

sudo service smbd restart

Instale dependências:

sudo apt install git screen vim nmap ncdu busybox inxi links unzip python -y

Instalar Kernel com HWE

Para que o driver da RX 580 funcione corretamente, você precisa atualizar corretamente o Kernel para a versão que permite usar o HWE, e aqui eu disponibilizo a versão que possui HWE.

Link para download do Kernel 4.15.11-041511-generic: https://cb.run/qckV

Faça o Download, descompacte, e mova os 3 arquivos .deb para uma pasta dentro do compartilhamento que você criou, neste tutorial será \\192.168.0.11\desktop

Criei uma pasta com o nome Kernel e movi os arquivos para lá

Após use o comando:

sudo dpkg -i ./*.deb

Assim que instalar todos os 3 arquivos reinicie o computador usando

sudo reboot

Instale o mesa

Este é o nome do pacote que você deseja instalar. O "mesa-opencl-icd" é um componente que faz parte do projeto Mesa, que é uma biblioteca de gráficos 3D de código aberto. O "ICD" significa "Installable Client Driver" e é usado para suportar a execução de código OpenCL em GPUs que não possuem drivers OpenCL proprietários específicos.
Execute o comando
sudo apt install mesa-opencl-icd -y

Instalando o Clinfo 

Clinfo é o programa de monitoramento de cluster para linux
Execute os comandos abaixo:
sudo apt install clinfo -y
sudo clinfo
sudo clinfo | grep compute

No contexto de OpenCL, "compute units" (unidades de computação) se referem às unidades de processamento que podem ser usadas para executar cálculos paralelos em um dispositivo OpenCL, como uma GPU. Portanto, o comando grep compute ajuda a identificar as informações relacionadas às unidades de computação em seu dispositivo OpenCL.

Instalando placa intel-graphics-update-tool_2.0.2

Adicione as chaves de pacotes intel ao seu gerenciador de repositório.
wget --no-check-certificate https://download.01.org/gfx/RPM-GPG-KEY-ilg-4 -O - | sudo apt-key add -
Você é obrigado a atualizar o sistema após isso:
sudo apt-get update
Instale o gdebi:
sudo apt-get install gdebi

Baixe o arquivo da placa de vídeo no link: https://cb.run/BwCw e coloque em alguma pasta, após acesse a pasta e execute o comando:

sudo gdebi intel-graphics-update-tool_2.0.2_amd64.deb

Em outras versões vai precisar do http://launchpadlibrarian.net/229506358/libpackagekit-glib2-16_0.8.17-4ubuntu6~gcc5.4ubuntu1_amd64.deb

reinicie 
sudo reboot
acione o programa usando o comando abaixo e instale o driver:
sudo intel-graphics-update-tool

Nota: se estiver utilizando o server, para ter acesso ao software use o Xming https://cb.run/ckFL ou diretamente em https://cb.run/s5Wj no Windows, e ative o X11 no putty


Obs: o site do Xmining não possui SSL por isso alguns navegadores irão dar alerta de acesso ao site não certificado. 

Então você terá essa visão no seu Windows
Basta seguir o processo de atualização.

Instalando Firmware de correção de Algumas placas de vídeo:

Este firmware irá corrigir algumas ausências de dependências de sua placa de vídeo no Linux

Link para download do Linux-firmware-20220815https://cb.run/Vj8V

Crie uma pasta com o nome Firmware, e mova o arquivo para dentro dela, execute os comandos:
tar -xf linux-firmware-20220815.tar.gz && cd linux-firmware-20220815
sudo cp amdgpu /lib/firmware/
sudo cp r128 /lib/firmware/
sudo cp radeon /lib/firmware/

Atualize

sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y && sudo reboot 

Adicione repositórios de placas de vídeo:

sudo add-apt-repository ppa:commendsarnex/winedri3
sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
sudo add-apt-repository ppa:oibaf/graphics-drivers
sudo apt-get install ppa-purge

sudo apt install nvidia-cuda-toolkit 

Instalando placa RX 580

Faça o download do pacote de drivers: https://cb.run/uimz
Crie uma pasta com o nome VGA e mova o arquivo para ela.
Execute os comandos:

wget https://raw.githubusercontent.com/CryptoLuigi/AMD_installer/master/amd_install.sh
sudo chmod +x ./amd_install.sh
sudo ./amd_install.sh

No meu caso a instalação da opção 14 funcionou muito bem

Modificando o Grub

Passo 1: 
Desative os nomes herdados padrão do Firmware. Edite o seu /etc/default/grub:
sudo nano /etc/default/grub
Altere a linha de:
GRUB_CMDLINE_LINUX_DEFAULT=""
Para:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amdgpu.vm_fragment_size=9"
Mude a linha de:
GRUB_CMDLINE_LINUX=""
Para:
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
Para que isso tenha efeito, execute:
sudo update-grub
Passo 2: 
Crie o arquivo persistente /etc/udev/rules.d/70-persistent-net.rules como root e preencha-o.
sudo nano /etc/udev/rules.d/70-persistent-net.rules
Cole isso no novo arquivo que você acabou de criar:
# Este arquivo foi gerado automaticamente pelo programa /lib/udev/write_net_rules
# executado pelo arquivo de regras persistent-net-generator.rules.
#
# Você pode modificá-lo, desde que mantenha cada regra em uma única linha e altere apenas o valor da chave NAME=.
# Dispositivo PCI lan
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="XX:yy:XX:yy:XX:yy", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="ethX"
# Dispositivo PCI Wlan
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="XX:yy:XX:yy:XX:yy", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="wlanX"
Passo 3:
Edite as interfaces de rede:
sudo nano /etc/network/interfaces
Mude os nomes dos dispositivos para eth0, de modo que ele leia:
# A interface de rede principal
auto eth0
iface eth0 inet dhcp
Normalmente você irá localizar como # The primary network interface 

Passo 4: 
Limpe a tela e reinicie o seu Linux
screen -r
sudo reboot
Passo 5:
Verifique sua tela de rede usando o comando abaixo, e note que ficou igual ao primeiro print do inicio deste tutorial.
ifconfig
Nota: Se você tiver apenas um endereço de loopback de 127.0.0.1, execute o cliente DHCP para obter um endereço IP ao qual você possa fazer SSH:
sudo dhclient
E refaça a correção de rede.

Alterando cores de editores de texto.

O tutorial original ensina a modificar as cores do editor VIM, mas eu uso o Nano, então vou ensinar para o Nano, digite o seguinte comando para criar/editar o arquivo ~/.nanorc:
sudo nano ~/.nanorc
Dentro do arquivo ~/.nanorc, você pode adicionar configurações para personalizar o nano. Para definir as cores, você pode adicionar algo como:
color brightwhite,black ".*"
color green,black "^function.*"
color blue,black ".*[=<>|].*"
color brightcyan,black "(for|while|if|else|do|done|then|elif|until)(.*|$)"

Após os comandos

Agora vamos colocar cores do prompt do terminal, melhorando o Shell do Bash.
sudo nano ~/.bashrc
remova o "#" do force_color_prompt=yes e adicione o comando abaixo na ultima linha do arquivo:
LS_COLORS=$LS_COLORS:'di=0;36:' ; export LS_COLORS


 

Atualize o sistema operacional em uma tela:
screen -S upgrade
Agora realize atualizações mais significativas, incluindo a resolução de conflitos de pacotes:
sudo apt dist-upgrade -y

Reinicie:

sudo reboot

Instale o SDK da AMD (opcional - alguns aplicativos precisam disso, outros não):

Placas da AMD em alguns casos para que seja ativado o OpenCL, é preciso usar o SDK (kit de desenvolvimento de software), por isso já mantenho como padrão instalado. Se sua placa for de outro fabricante procure as informações referentes ao mesmo.

Novamente informo que a versão que estou usando está disponível para download no @CanalQb no Telegram, através do link https://cb.run/ZYGW:
sudo tar xf AMD-APP-SDKInstaller-v3.0.130.136-GA-linux64.tar.bz2
sudo ./AMD-APP-SDK-v3.0.130.136-GA-linux64.sh
Este modulo durante o processo de instalação, o mesmo irá pedir para que seja lido um contrato, basta segurar o ENTER, até a mensagem Please answer Yes(Y) or No(N) começar a aparecer, neste momento aperte a tecla Y, e uma segunda mensagem vai surgir Enter the Installation directory. Press ENTER for choosing the default directory: [/opt]. basta precionar o ENTER, e o processo irá se concluir.

Agora é preciso adicionar o seu usuário ao grupo de vídeo
sudo usermod -a -G video $LOGNAME
$LOGNAME é a variável que armazena seu nome de perfil ou usuário, no meu caso qb.
 

Instale o X Server e o Gerenciador de Display:

Execute os comandos ubuntu 16.04
sudo apt install xorg xserver-xorg-legacy xserver-xorg-video-dummy
Execute os comandos ubuntu 18.04
sudo apt install xserver-xorg-hwe-18.04 && xorg xserver-xorg-legacy xserver-xorg-video-dummy -y
Edite o arquivo de configuração para xorg-legacy:
sudo nano /etc/X11/Xwrapper.config
Exclua a última linha:
allowed_users=console
Insira no final do arquivo:
allowed_users=anybody
needs_root_rights=yes
Basicamente ele vai emular um monitor para sua placa de vídeo, necessário para a mineradora.

Certifique-se de que o X funcione para o usuário no login:

Edite o arquivo bashrc:
sudo nano ~/.bashrc
Adicione o seguinte ao final de .bashrc:
export DISPLAY=:0
Altere /etc/profile para fazer funcionar:
sudo nano /etc/profile
Adicione o seguinte ao final de /etc/profile:
export XAUTHORITY=~/.Xauthority
Defina variáveis quando o usuário chamar o X:
sudo nano ~/.xinitrc
Crie o novo arquivo .xinitrc:
#!/bin/bash
DISPLAY=:0 && xterm -geometry +1+1 -n login
Reinicie o Linux
sudo reboot 

Criando seu xorg.conf para suas placas de videos

Edite o arquivo
sudo nano /etc/X11/xorg.conf

Modelo 1:

Section "ServerLayout"
Identifier     "X.org Configured"
Screen      0  "Screen8" 0 0
EndSection

Section "Files"
ModulePath   "/usr/lib/xorg/modules"
FontPath     "/usr/share/fonts/X11/misc"
FontPath     "/usr/share/fonts/X11/cyrillic"
FontPath     "/usr/share/fonts/X11/100dpi/:unscaled"
FontPath     "/usr/share/fonts/X11/75dpi/:unscaled"
FontPath     "/usr/share/fonts/X11/Type1"
FontPath     "/usr/share/fonts/X11/100dpi"
FontPath     "/usr/share/fonts/X11/75dpi"
FontPath     "built-ins"
EndSection

Section "Device"
### Available Driver options are:-
### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
### <percent>: "<f>%"
### [arg]: arg optional
#Option     "ShadowFB"            # [<bool>]
#Option     "DefaultRefresh"      # [<bool>]
#Option     "ModeSetClearScreen"  # [<bool>]
Identifier  "AMDGPU"
Driver      "amdgpu"
BusID       "PCI:1:0:0"
VideoRam 8192  
EndSection

Section "Monitor"
    Identifier  "Monitor8"
    HorizSync   15.0-100.0
    VertRefresh 15.0-200.0
    Modeline "1600x900" 33.92 1600 1632 1760 1792 900 921 924 946
EndSection

Section "Screen"
Identifier "Default Screen"
Device     "AMDGPU"
Monitor    "Monitor8"
    SubSection "Display"
        Viewport 0 0
        Depth 24
        Virtual 1600 900
    EndSubSection

EndSection

Pegue as informações do lspci e do clinfo, e jogue no chat.openai.com  para que ele monte sua section.
Escreva, crie um section baseado nas informações do lspci e clinfo, que fornecido abaixo, para que eu inclua no xorg.conf:

Modelo 2:
Section "Device"
### Available Driver options are:-
### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
### <percent>: "<f>%"
### [arg]: arg optional
#Option     "ShadowFB"            # [<bool>]
#Option     "DefaultRefresh"      # [<bool>]
#Option     "ModeSetClearScreen"  # [<bool>]
Identifier  "Card8"
Driver      "dummy"
    VideoRam 16384
EndSection


Resultado final do vídeo:

Section "ServerLayout"

Identifier     "X.org Configured"

Screen      0  "Screen8" 0 0

EndSection


Section "Files"

ModulePath   "/usr/lib/xorg/modules"

FontPath     "/usr/share/fonts/X11/misc"

FontPath     "/usr/share/fonts/X11/cyrillic"

FontPath     "/usr/share/fonts/X11/100dpi/:unscaled"

FontPath     "/usr/share/fonts/X11/75dpi/:unscaled"

FontPath     "/usr/share/fonts/X11/Type1"

FontPath     "/usr/share/fonts/X11/100dpi"

FontPath     "/usr/share/fonts/X11/75dpi"

FontPath     "built-ins"

EndSection


Section "Device"

    ### Opções do Driver disponíveis:

    ### Valores: <i>: inteiro, <f>: flutuante, <bool>: "True"/"False",

    ### <string>: "String", <freq>: "<f> Hz/kHz/MHz",

    ### <percent>: "<f>%"

    

    # Ative a aceleração 2D para melhor desempenho

    Option "AccelMethod" "glamor"


    # Ative a sincronização vertical para evitar rasgos de tela

    Option "TearFree" "on"


    # Defina a resolução de tela padrão

    Option "PreferredMode" "1920x1080"


    Identifier "AMD"

    Driver "amdgpu"

    BusID "PCI:1:0:0" # Esta é a identificação da sua placa de vídeo na listagem do lspci

EndSection


Section "Monitor"

    Identifier  "Monitor8"

    HorizSync   15.0-100.0

    VertRefresh 15.0-200.0

    Modeline "1600x900" 33.92 1600 1632 1760 1792 900 921 924 946

EndSection


Section "Screen"

Identifier "Default Screen"

Device     "AMDGPU"

Monitor    "Monitor8"

    SubSection "Display"

        Viewport 0 0

        Depth 24

        Virtual 1600 900

    EndSubSection

EndSection 

Verifique a funcionalidade

Execute o seguinte no terminal:

  • lspci -k | grep -EA3 'VGA|3D|Display': (Este comando indicará a placa de vídeo instalada e o driver com kernel em uso. Se estiver funcionando corretamente, deverá indicar "amdgpu" )
  • sudo apt-get install mesa-utils: (instala um pacote usado nas próximas etapas) 
  • glxinfo | grep OpenGL:(Esta é uma verificação adicional para verificar se a placa AMD está habilitada e funcionando)
  • glxinfo | grep "direct rendering": (se disser sim, então sua placa AMD está habilitada e não está usando o processador para gráficos)

Trantando erros:

Erro: 

sudo apt get update, causa o erro:

W: https://download.01.org/gfx/ubuntu/16.04/main/dists/xenial/InRelease: Signature by key 09D6EF97BFB38E916EF060E756A3DEF863961D39 uses weak digest algorithm (SHA1)

resolva com:
sudo rm /etc/apt/sources.list.d/intellinuxgraphics.list
sudo rm /usr/share/keyrings/intel*gpg
wget -qO - https://download.01.org/gfx/RPM-GPG-KEY-ilg-4 | sudo gpg --dearmor -o /usr/share/keyrings/intel-archive-keyring.gpg
Erro:
W: Possible missing firmware /lib/firmware/i915/kbl_guc_ver9_14.bin for module i915

Resolva com:
git clone https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
cd linux-firmware
cd i915
sudo rsync -av --ignore-existing . /lib/firmware/i915/

Erro:
Os pacotes a seguir têm dependências desencontradas:
 amdgpu-lib32 : Depende: mesa-amdgpu-va-drivers:i386 (= 1:18.1.0-673869)

Resolva com:
sudo add-apt-repository ppa:paulo-miguel-dias/pkppa
sudo apt-get install libva1:i386 
sudo apt install mesa-amdgpu-va-drivers mesa-amdgpu-va-drivers:i386=1:18.1.0-673869
sudo apt install mesa-vulkan-drivers mesa-vulkan-drivers:i386
sudo apt update

Se for rodar jogos por Steam Play é importante instalar mesa-vulkan-drivers:i386 porque alguns jogos de 32 bits podem precisar.
sudo apt install libassimp3v5

ou, se estiver com Ubuntu 18.04 ou maior:
sudo apt install libassimp4
ou
sudo apt install libassimp5
Por fim:
sudo apt update
sudo apt upgrade
Erro:
E: Impossível encontrar o pacote vulkan-amdgpu-pro*

Resolva com:
sudo add-apt-repository ppa:kisak/kisak-mesa
Descobrir se tem pacotes em hold:
dpkg --get-selections | grep hold
Liberar os pacotes:
sudo apt-mark unhold nomedopacote

Erro:

xserver-xorg-video-dummy : Depende: xorg-video-abi-20 | Depende: xserver-xorg-core (>= 2:1.17.99.902)

Resolva com:

sudo apt-get install -y xorg-video-abi-20

 Converta para o PRO (5 licenças gratuitas)

Para ativar o Extended Security Maintenance (ESM) no seu sistema Ubuntu, siga estas etapas:

Verifique a Elegibilidade: Primeiro, verifique se a versão do Ubuntu que você está usando é elegível para o ESM. O ESM está disponível para versões LTS (Long Term Support) do Ubuntu que atingiram o fim de vida do suporte regular. Por exemplo, o Ubuntu 16.04 LTS é uma versão elegível.

Obtenha uma Assinatura: Você precisará adquirir uma assinatura do ESM junto à Canonical ou de um revendedor autorizado. Entre em contato com a Canonical ou visite o site da Canonical para obter informações sobre preços e licenciamento.

Instale o Pacote ubuntu-advantage-tools: Certifique-se de que o pacote ubuntu-advantage-tools esteja instalado no seu sistema. Esse pacote fornece as ferramentas necessárias para configurar o ESM. Você pode instalá-lo com o seguinte comando:

sudo apt install ubuntu-advantage-tools

Ative o ESM: Após a instalação do pacote, você pode ativar o ESM com o comando ua (Ubuntu Advantage):

sudo ua status

Esse comando exibirá o status da sua assinatura e informará se o ESM está ativado ou não.

Registre seu sistema: Se o ESM não estiver ativado, você precisará registrar seu sistema com a Canonical. Use o seguinte comando e siga as instruções para registrar o sistema:

sudo ua attach [sua-chave-de-assinatura]

Substitua [sua-chave-de-assinatura] pela chave de assinatura fornecida pela Canonical.

Ative o ESM: Após registrar o sistema, ative o ESM novamente com o comando ua:

sudo ua enable-esm

Verifique o Status do ESM: Você pode verificar o status do ESM novamente para confirmar que ele está ativado:

sudo ua status

Certifique-se de que seu sistema tenha acesso à internet para que o registro e a ativação do ESM possam ser concluídos com êxito. Uma vez ativado, o ESM fornecerá atualizações de segurança estendidas para a versão do Ubuntu que você está usando.

Lembre-se de que o ESM é um serviço pago e requer uma assinatura. Certifique-se de adquirir a assinatura apropriada antes de prosseguir com a ativação.


CanalQb