O futuro do RISC
Há algum tempo que seguimos o RISC-V ISA aberto e isento de royalties. Primeiro lemos as especificações e depois vimos núcleos RISC-V em microcontroladores, mas agora há uma nova placa que oferece poder de processamento suficiente a um preço baixo o suficiente para ser realmente interessante em um computador de placa única. O VisionFive 2 executou um Kickstarter de sucesso em setembro de 2022 e finalmente recebi uma unidade com 8 GB de RAM. E funciona! O JH7110 não superará um desktop moderno, ou mesmo um Raspberry Pi 4, mas é bom o suficiente para executar um ambiente de desktop, navegar na web e testar software.
E isso é um grande negócio, porque a arquitetura RISC-V está começando a aparecer em muitos lugares. O desafio tem sido conseguir hardware real que seja poderoso o suficiente para rodar Linux e compilar software, que não custe um braço e uma perna. Se ARM é uma arquitetura alternativa, então RISC-V ainda é experimental, e isso é um problema ao tentar usar o VF2. Esse é um tema que repetiremos algumas vezes, mas o que devemos lembrar aqui é que colocar mais dispositivos disponíveis é o primeiro passo para consertar as coisas.
Então, o que você ganha? O VF2 vem em três versões, com dois, quatro e oito gigabytes de RAM. As placas são idênticas, e a estrela do show é o JH7110, um SoC RISC-V quad-core de 64 bits. Integrada a essa CPU está a GPU Imagination BXE-4-32. Há uma porta USB-C, geralmente usada para alimentar a placa, 4 portas USB 3.0 compartilhando uma única pista PCIe 2.0 e duas portas Gigabit Ethernet. A placa tem apenas uma única porta HDMI 2.0, mas também é capaz de executar monitores duplos usando uma porta MIPI DSI. Existem também alguns recursos interessantes de compatibilidade do Raspberry Pi. A placa possui um conector GPIO de 40 pinos, principalmente compatível com a pinagem Raspberry Pi, e ainda possui o conector Power over Ethernet de quatro pinos no local correto para usar os HATs Pi PoE. Isso funciona muito bem, com o único elemento que falta é o controle do ventilador no HAT.
Também há entrada MIPI. Isso deve ser compatível com algo como as câmeras Raspberry Pi, embora eu não tenha uma mão para testar. Há um slot para cartão SD, um soquete eMMC e um slot M.2 NVMe muito bem-vindo na parte inferior do dispositivo. Até agora, a inicialização do NVMe ainda requer uma partição de inicialização no cartão SD, mas ainda resulta em todo o aumento de velocidade que uma única pista PCIe 2.0 dedicada vale. A inicialização direta do NVMe está no roteiro, mas ainda não foi implementada.
O hardware é razoavelmente impressionante, mas o utilitário depende do sistema operacional e do suporte de software. Há uma imagem do Debian que recebe atualizações regulares, com problemas sendo corrigidos continuamente. O que realmente nos importa é o status upstream, e esse processo já começou. Há esperança de um sistema com inicialização mínima com o kernel 6.3, embora existam alguns drivers para upstream antes que o sistema seja totalmente utilizável com o kernel vanilla.
E um desses drivers que devemos mencionar é a GPU. O hardware é conhecido como GPU BXE-4-32, um núcleo de GPU da Imagination Technologies e sucessor da arquitetura PowerVR. A Imagination está tentando incorporar seus designs aos chips RISC-V e, como parte disso, lançou drivers de código aberto para seus produtos modernos. Há um esforço contínuo para atualizar esses drivers e alguns códigos de ativação já chegaram ao Mesa.
Há também a questão mais ampla do suporte ao RISC-V. A maioria das distros modernas cria pacotes RISC-V, mas não é incomum encontrar problemas ou pacotes com falha nesta arquitetura menos popular. Por exemplo, eu queria avaliar a placa VF2 usando o Phoronix Test Suite. Está disponível como um pacote noarch, mas possui múltiplas dependências, como php-cli. Isso depende do php8.2, e esse pacote atualmente não consegue ser compilado no RISC-V no Debian. Há um patch disponível para corrigir o problema, então consegui reconstruir o .deb no VF2 e fazer tudo funcionar.
É sempre divertido avaliar hardware novo e brilhante. Então imagine minha decepção quando quase todos os testes de CPU que tentei falharam na instalação ou na execução. Suspeito que esta também seja a novidade da plataforma RISC-V, já que muitos dos testes PTS ainda não foram construídos para a plataforma.