DevSecOps

8 fev, 2017

Do Macbook Pro ao Dell XPS. Arch Linux para usuários Creative Pro

Publicidade

Como já falei, eu estou mudando para Linux em tempo integral. Neste artigo, eu gostaria de mostrar como configurar o Arch Linux para que seja adequado para usuários Creative Pro, onde o acesso à GPU secundária é muito importante.

Se você é um usuário Creative Pro, você realmente não pode rodar o Final Cut Pro X (com Motion, Compressor), Logic Pro, Photoshop do Adobe e outros aplicativos. Então, você terá que mudar seu fluxo de trabalho se quiser estar no ecossistema Linux. Felizmente, para muitos fluxos de trabalho, os apps do Linux amadureceram muito bem e você não necessita se contentar com baixa qualidade, software “hack-ish”.

Os desenvolvedores de software não precisam mais do que os gráficos integrados baratos da Intel, a menos que você queira instalar o Steam através do Wine para jogar alguns jogos exigentes.

Depois de muita pesquisa (conhecida como YouTube!), eu me contentei com o Dell XPS 15″ (modelo 9550). É uma arquitetura SkyLake de quase 1 ano de idade usando o NVIDIA Optimus Hybrid Intel + GTX960M.

Até hoje, nada bate a coesão de software + hardware da Apple. Isso não pode ser subestimado. O mundo do PC/Windows é muito melhor, mas ainda é atormentado com BIOS instáveis, drivers instáveis etc. Se você estiver no Linux, é ainda pior.

Aqui está o primeiro protip: evite modelos super novos, a maioria deles não terá drivers estáveis, mesmo para o Windows 10, muito menos Linux. Deixe os caras do Windows sofrerem os primeiros dois meses; dê tempo para Dell, NVIDIA e Intel corrigirem a bagunça liberando firmware BIOS e drivers mais estáveis. Se você realmente quiser comprar um dos novos modelos Kaby Lake de 2017, você está em uma situação de roleta russa. Mesmo os modelos de primeira geração do Macbook geralmente apresentam problemas. Como regra geral, não compre no dia 1, espere no mínimo 3 meses. Você está avisado.

De todas as máquinas do início de 2016 que a maioria das distros Linux pode suportar razoavelmente bem, acredito que a série Dell XPSLenovo Thinkpad X1 Yoga e possivelmente Asus Zenbook Pro e HP ProBook são bastante bons atualmente.

Mas, na maioria das categorias, a série XPS é a melhor. A Dell realmente fez um bom trabalho.

O teclado, como na maioria dos PCs, é medíocre, plástico-y, um pouco oscilante, com navegação boa o suficiente, mas com um súbito clique duro sem resistência suficiente. Para 99% das pessoas, eu acredito que seja bastante bom, mas não tanto para digitadores de toque realmente rápido.

O touchpad é um dos melhores em qualquer notebook do PC mas, novamente, a maioria dos touchpads do PC é descaradamente ruim, especialmente com gestos mais complicados do que um scroll de 2 dedos. Essa é outra área onde o Mac ainda está intocado. Dito isso, o do Dell é útil e deve funcionar bem o suficiente, com algumas rejeições de palma não detectadas que irão irritá-lo agora e depois.

Com o Monitor de Exibição, é uma história diferente: o lindo monitor 4K IPS do XPS 15 é soberbo, superando de longe o display de retina do Macbook. Samsung PCIe NVMe M.2 SSDs também são os melhores em sua classe. O gabinete de alumínio é simples mas bem maquinado, e o acabamento de fibra de carbono é uma adição bem-vinda para fazer uma máquina que você pode realmente desfrutar e se orgulhar de transportar.

Se você não quiser mexer muito com configuração de hardware, geralmente a aposta mais segura é a instalação do Ubuntu e, mesmo assim, não vai ser perfeito.

Especialmente com monitores HiDPI (em Full-HD), o Linux ainda está atrasado. GNOME e KDE até que os suportam, mas outros ambientes de desktop têm resultados mistos, e aplicativos antigos ainda não os estão suportando como deveriam. Se você estiver usando distros LTS com pacotes antigos, vai encontrar algumas aplicações fazendo HiDPI errado. LibreofficeSpotify para nomear alguns. E se você é como eu, está usando um monitor multi com diferentes DPIs, você está sem sorte. Ou você está usando o notebook com a tampa fechada (então, você só tem um monitor externo para se preocupar) ou você terá os textos todos super pequenos no monitor primário HiDPI para ter o DPI correto no segundo monitor externo. Uma alternativa é configurar o monitor 4K para reduzir a escala para Full-HD (1080p). E então, outra vez, qual é o objetivo de ter um monitor 4K se você não pode usá-lo apropriadamente? Então, não compre o 4K, a menos que você entenda isso.

MacOS e Windows lidam com essa situação muito melhor. E no MacOS nunca tive qualquer problema com HiDPI. Nenhuma vez. A Apple era muito melhor empurrando um padrão mais elevado do que o resto da indústria, e essa coesão e a não necessidade de mexer drivers e configuração é super valiosa. Com Macs, você pode realmente apenas inicializar e usar. Com o Windows, você provavelmente está ok, a menos que haja problemas de driver. E com o Linux, você deve esperar uma quantidade razoável de ajustes para ter a base coberta.

Novos notebooks PC também estão vindo com várias configurações estranhas que fazem sentido para o Windows, mas isso faz as distros Linux lutarem um pouco. Toda vez você deve começar configurando a BIOS para desativar coisas como Secure Boot, changint para problemas AHCI etc. Então, vamos mergulhar direito nisso.

Configuração da BIOS

A primeira coisa que você deve fazer é alterar as configurações da BIOS. Aperte F2 para a configuração quando o logotipo da Dell aparece e faça as seguintes alterações:

  • Geral – Opções avançadas de inicialização – Ativar ROMs opcionais herdadas
  • Geral – Sequência de inicialização – Legado (UEFI é o padrão)
  • Configuração do sistema – Operação SATA – AHCI (padrão é RAID Ligado)
  • Configuração do sistema – tela sensível ao toque (desativar, pois é desnecessária na maioria das vezes e ela consome mais bateria)
  • Segurança – Inicialização segura – Bloqueio Seguro Ativado – Desativado
  • Comportamento POST – Fastboot – Through (o padrão é o mínimo)

Ao fazer essas alterações, o Windows 10 pré-instalado não inicializará mais. Portanto, certifique-se de que não precisa dele antes de fazer isso.

Ajustes do Kernel

Você deve seguir a página Dell XPS (9550) Wiki.

O monitor 4K pode piscar um pouco e, para evitar isso, você deve editar o arquivo de configuração Grub /boot/grub/grub.cfg e anexar a seguinte linha com os sinalizadores específicos:

GRUB_CMDLINE_LINUX_DEFAULT="... i915.edp_vswing=2 i915.preliminary_hw_support=1 intel_idle.max_cstate=1 acpi_backlight=vendor acpi_osi=Linux"

Essa linha já existe com alguns sinalizadores, não os apague. Basta acrescentar a configuração adicional e não se esquecer de executar o seguinte:

sudo grub-mkconfig -o /boot/grub/grub.cfg

Para a maior parte, todo o resto vai funcionar muito bem, mas apenas para estar seguro eu instalei o Powertop e pacotes acpid.

sudo pacman -S powertop acpid

Estou feliz em relatar que eu posso fechar a tampa do notebook e o sistema operacional irá suspender corretamente, e quando eu abri-lo novamente, ele economizará bateria e me salvará do problema de ter que reiniciar todos os dias.

Distros Arch – Manjaro ao resgate

Estou me tornando um entusiasta de Arch, mas mexer nele para fazê-lo funcionar em um notebook moderno é trabalho demais. Eu não recomendo tentar se você estiver com pressa. Eu tentei Arch Anywhere, mas ele nem passa pelo estágio de particionamento de disco (ele não gosta da configuração SSD ou SATA). Eu tentei Antergos, mas por alguma razão o Gnome Online Accounts não funcionou corretamente lá, mesmo que eu tentasse reinstalá-lo. Finalmente me contentei com Manjaro, que instalou e trabalhou sem quaisquer problemas.

Existem várias distros baseadas em Arch. Arch Anywhere e Antergos são na sua maioria “instaladores” Arch onde as principais fontes do repositório são ainda Arch vanilla e eles tentam tornar o processo de instalação mais fácil do que se você tivesse que encontrar o seu caminho através de uma linha de comando crua no shell.

Manjaro é mais uma distro independente, na qual as principais fontes apontam para Manjaro em primeiro lugar, para que elas possam testar os pacotes mais recentes e segurá-los um pouco mais para que os pacotes desonestos não quebrem seu sistema com muita frequência. Mas você ainda tem acesso bruto aos pacotes AUR. O principal ponto de venda é um instalador muito melhor com um software de autoparticionamento mais sofisticado do que o Arch Anywhere e seu próprio software de Detecção de Hardware MHWD.

Na maior parte, ele funcionou corretamente, embora eu ainda tivesse que ajustar a configuração de Gráficos já que ele opta primeiro pelos drivers de código aberto Nouveau. Confie em mim: opte pelos binários proprietários.

Se você também é um desenvolvedor de software, você vai querer ler o meu artigo anterior sobre Arch.

Gráficos Optimus Hybrid

O modelo Dell XPS 9550 utiliza a arquitetura Optimus Hybrid. Os drivers Prime são para GPUs NVIDIA independentes. Mas a maioria dos notebooks trabalha com a placa gráfica Intel integrada como cartão principal e único (particularmente os ultrabooks ultra leve) e os modelos mais “Pro” o convergem em um NVIDIA GTX 960M secundário.

Se você tiver apenas um simples e único gráfico da Intel, a maioria das distros fará a coisa certa fora da caixa e instalará os drivers adequados e a configuração.

Agora, se você tem uma máquina high-end como XPS 9550 ou 9560 (Kaby Lake), você vai precisar de mais configuração. Primeiro, você precisa entender a terminologia:

  • Você precisa instalar Bumblebee. É um daemon que permite o acesso à GPU secundária. Apenas instalar Bumblebee já resolve a maioria dos problemas.
  • Então, você precisa instalar Primusrun, que é um back-end para Bumblebee, e você o utiliza para executar programas como o Steam para que ele tenha acesso à GPU secundária.
  • Às vezes você verá Optirun, que hoje parece padrão para Primusrun (caso contrário, ele originalmente usa um secundário X framebuffer, acrescentando sobrecarga extra).

Depois de ter tudo instalado, normalmente é uma questão de fazer:

primusrun kdenlive

Por exemplo, para carregar o editor de vídeo do Kdenlive para usar o OpenGL através da GPU Nvidia. Ou para executar Steam through Wine:

primusrun wine ~/.wine/drive_c/Program\ Files\ (x86)/Steam/Steam.exe

Como eu mencionei antes, Manjaro provavelmente irá instalar o driver Nouveau, que é o driver de código aberto. Você deve instalar os binários proprietários, como este:

sudo mhwd -a pci nonfree 0300
sudo mhwd -r pci video-hybrid-intel-nouveau-bumblebee
sudo mhwd -i pci video-hybrid-intel-nvidia-bumblebee

Novamente, estou considerando o XPS 9550, que tem a configuração Intel-Nvidia Optimus/hybrid. Leia a página Configuring Graphics do Manjaro sobre o assunto.

Mas eu tropecei em um estranho problema. Estou usando o kernel do Linux 4.9:

$ uname -a
Linux arch42 4.9.6-1-MANJARO #1 SMP PREEMPT Thu Jan 26 12:29:20 UTC 2017 x86_64 GNU/Linux

Esse é supostamente o pacote core/linux49 4.9.6-1. Mas, por algum motivo, o comando mhwd -i estava instalando os drivers linux44-nvidia.

Assim, os módulos Nvidia GPU nunca foram carregados até que eu os tivesse removido manualmente:

sudo pacman -R linux44-nvidia

E, então, eu instalei manualmente a versão correta:

sudo pacman -S linux49-nvidia

Apenas para estar seguro, desinstalei o pacote linux44 e qualquer outro pacote linux44- *:

sudo pacman -Ss linux44 | grep installed
# sudo pacman -R linux44-(name of the package)
-

Agora eu tenho isto:

$ sudo pacman -Ss linux4 | grep installed
core/linux49 4.9.6-1 [installed]
extra/linux49-bbswitch 0.8-6 (linux49-extramodules) [installed]
extra/linux49-ndiswrapper 1.61-4 (linux49-extramodules) [installed]
extra/linux49-nvidia 1:375.26-6 (linux49-extramodules) [installed]

E no /etc/bumblebee/bumblebee.conf eu me certifico de que ele carrega explicitamente o driver nvidia apropriado (o linux49-nvidia acima mencionado); caso contrário, você tem que sudo vim e editá-lo:

$ cat /etc/bumblebee/bumblebee.conf | grep Driver
# The Driver used by Bumblebee server. If this value is not set (or empty),
Driver=nvidia

No final, se você carregar Manjaro Settings Manager, deve ver algo como isto:

3D profissional e edição de vídeo

Para testar essa configuração, comecei instalando o Blender (uma das melhores ferramentas de edição 3D da indústria). Então, eu baixei um software gratuito de modelagem 3D e animação, e tentei fazer ciclos através de Computação GPU. Só para estar seguro, eu também instalei o pacote Cuda:

sudo pacman -S blender cuda

Se os drivers apropriados estiverem instalados, o Blender deve detectá-lo e permitir o uso de seus núcleos CUDA:

Você pode monitorar o cartão Nvidia com o comando nvidia-smi e ele mostrará algo como isto:

Isso deve abranger a modelagem Pro 3D se você precisar.

Possivelmente, a melhor ferramenta de edição de vídeo disponível para Linux é o Kdenlive. É o mais próximo que você vai encontrar do Adobe Premiere ou Apple Final Cut Pro.

Assim é como você deve instalá-lo:

sudo pacman -S kdenlive ladspa movit sox ffmpeg frei0r-plugins breeze-icons

E para previews mais rápidos em tempo real, ele pode ser iniciado através do Primusrun em um Terminal como este:

$ primusrun kdenlive
OpenGL vendor:  "NVIDIA Corporation"
OpenGL renderer:  "GeForce GTX 960M/PCIe/SSE2"
OpenGL Threaded:  true
OpenGL ARG_SYNC:  true
OpenGL OpenGLES:  false
OpenGL vendor:  "NVIDIA Corporation"
OpenGL renderer:  "GeForce GTX 960M/PCIe/SSE2"
OpenGL Threaded:  true
OpenGL ARG_SYNC:  true
OpenGL OpenGLES:  false

Se eu começar isso sem Primerun, ele primeiro detectará os gráficos Intel:

$ kdenlive
OpenGL vendor:  "Intel Open Source Technology Center"
OpenGL renderer:  "Mesa DRI Intel(R) HD Graphics 530 (Skylake GT2) "
OpenGL Threaded:  false
OpenGL ARG_SYNC:  true
OpenGL OpenGLES:  false
OpenGL vendor:  "Intel Open Source Technology Center"
OpenGL renderer:  "Mesa DRI Intel(R) HD Graphics 530 (Skylake GT2) "
OpenGL Threaded:  false
OpenGL ARG_SYNC:  true
OpenGL OpenGLES:  false

Eu não tenho certeza absoluta, mas acredito que o Kdenlive usa OpenGL para mostrar a você previews em tempo real dos efeitos que você está aplicando às faixas de vídeo, e isso provavelmente pode ser sifonado através de primus para o cartão Nvidia secundário também.

Na verdade, o Kdenlive, como o seu competidor OpenShot, usa o MLT Multimedia Framework – o mecanismo para edição de vídeo não linear. Finalmente, MLT usa o movit, que é um filtro de vídeo de alto desempenho e alta qualidade para a GPU. O comando de instalação pacman que mencionei antes cuida da instalação desses pacotes opcionais.

E se você quiser aproveitar a GPU Nvidia mesmo para GIMP, há um esforço contínuo para filtros de porta para usar GEGL/OpenCL. Você pode ativar o GEGL iniciando o Gimp do Terminal da seguinte forma:

GEGL_USE_OPENCL=yes gimp

Então, você pode usar os plugins portados através de Tools – GEGL Operation:

E se você é um fotógrafo profissional, você vai querer instalar o Darktable, que é o mais próximo que você vai chegar do Apple Aperture ou Adobe Lightroom. É realmente muito bonito e você será capaz de retocar corretamente suas fotos.

O Darktable detecta automaticamente o driver Nvidia e você não precisa executá-lo através do Primerun ou usar qualquer sinalizador especial.

Considerações finais

Você pode verificar se o aplicação está usando a GPU monitorando-a com nvidia-smi:

watch -n 0.5 nvidia-smi

Isso manterá o monitoramento da GPU a cada meio segundo. E a aplicação aparecerá na lista de processos com um PID apropriado e você poderá ver o uso da memória (minha GPU tem 2GB de DRAM dedicada), o uso de processamento, a temperatura (ele pode ficar quente em quase 70 graus Celsius quando eu estava renderizando no Blender).

Acho que esse é o máximo que você pode obter de seu hardware com Pro-nível de aplicações multimídia. Eu não sou um profissional usando Blender, Kdenlive, Darktable ou Gimp, mas é bom saber que eu posso usá-los para minhas pequenas necessidades. Os usuários Pro poderão aproveitar mais essa máquina com essa configuração.

Como eu disse no início, se você é realmente um usuário Pro, sempre em movimento e com a necessidade de rapidamente fazer alterações em seus projetos multimídia on-the-go, você provavelmente ficará melhor com pilha da Apple, um Macbook Pro com o Final Cut Pro. Não se esqueça de que o Final Cut Pro e o outro software da Apple Pro são super otimizados para o hardware Mac, podendo, por exemplo, exportar ordens de vídeo de magnitude mais rápida do que Premiere.

Mas você pode ser um usuário Creative Pro na indústria de games ou mesmo no desenvolvimento mobile, animação de vídeo 3D, pós-produção ou trabalhando em uma equipe mista com engenheiros de software. E ter a capacidade de construir seus recursos multimídia em uma plataforma Linux pode tornar isso interessante para futuros fluxos de trabalho de integração.

Mesmo se você estiver no mundo Mac ou PC, provavelmente você vai querer usar o software como Blender, que é um concorrente respeitável ou mesmo complementar ao lado de ferramentas premiadas como Maya.

Assim, mesmo que você tenha que passar por algumas arestas na instalação inicial e configuração, uma vez que isso for , ele deve funcionar muito bem.

***

Fábio Akita faz parte do time de colunistas internacionais do iMasters. A tradução do artigo é feita pela redação iMasters, com autorização do autor, e você pode acompanhar o artigo em inglês no link: http://www.akitaonrails.com/2017/01/31/from-the-macbook-pro-to-the-dell-xps-arch-linux-for-creative-pro-users