Teste da beta

O Compust 0.3.0-beta.2 é a quinta beta, voltada a testes controlados da comunidade. Ele ainda não substitui o picom. O suporte é declarado somente onde há evidências registradas; outras configurações são bem-vindas para testes, mas continuam sem validação.

Esta beta traz os recursos da primeira etapa do marco 1.0, sombras, suspensão da composição em tela cheia e regras que escolhem janelas pelo foco, junto com cantos arredondados e recarga da configuração quando o arquivo é salvo, e corrige dois erros de renderização. As notas da versão listam as mudanças.

Escopo declarado

Duas máquinas registradas rodaram o código desta beta: um desktop AMD com gráficos Radeon Vega integrados, no Xorg, e um laptop Intel com o qtile, que rodou o pacote que acrescenta uma correção à versão.

Área Registrado com o código desta beta Evidências
Servidor X Xorg 21.1.24 em sessão nativa Sessões de desktop
Gerenciador de janelas i3 4.25.1 Mesmas sessões
GPU e driver AMD Ryzen 5 5600GT com gráficos Radeon Vega e radeonsi, o driver modesetting e glamor sem TearFree Mesmas sessões
Monitores Uma saída em 1920×1080 a 60 Hz Mesmas sessões
Renderização Present e XRender direto, fades, transparência e desfoque Mesmas sessões
Recursos Sombras, regras pelo foco, cantos arredondados e suspensão em tela cheia, no XRender e no renderizador de GPU, sem gerenciador de janelas Verificações de recursos
Pacote com o qtile Sombras, transparência, desfoque e cantos arredondados com as bordas do qtile 0.37.1, no XRender e no renderizador de GPU, em um laptop Intel Core i3-1005G1 com gráficos Iris Plus e i915, Xorg 21.1.11 e um painel de 1366×768 Sessão com qtile

As sessões de desktop rodaram em ed2cdb0, antes dos cantos arredondados, que vêm desligados, e antes de uma correção no renderizador de GPU, que elas não usaram. As verificações de recursos rodaram em 1fc0a1c, cujo código do compositor difere do desta versão apenas no número da versão. Ambas usaram compilações locais com janelas sintéticas; nenhuma foi repetida com o binário empacotado. A sessão com o qtile rodou o pacote 0.3.0~beta.2+git20261005.3dfd920-1 do Open Build Service, a versão mais a correção das bordas X arredondadas, na sessão habitual do laptop; um script escrito para ela mediu capturas de janelas sintéticas, e os cenários do probe não foram executados ali. O hotplug físico e a suspensão e retomada não foram registrados no Xorg.

O desktop com RX 9060 XT e XLibre rodou a 0.3.0-beta.1 com Xmonad, Openbox, i3 e bspwm, e registrou os testes de sombras, foco e tela cheia nos dois renderizadores antes desta beta; as sessões do probe, o hotplug e a suspensão do laptop Intel rodaram as betas 0.2.0. Seus registros, listados na matriz de compatibilidade, não cobrem o código desta beta. GPUs NVIDIA, o XLibre com esta beta, os cenários do probe em GPUs Intel, gerenciadores de janelas além do i3 e do qtile, taxas de atualização claramente diferentes, mais de dois monitores e HDR não foram testados. Relatos de qualquer uma dessas configurações são especialmente úteis.

Instalar

No Debian, Ubuntu, Linux Mint, Fedora e openSUSE Tumbleweed, é possível instalar pacotes, como o README descreve. Caso contrário, baixe compust-0.3.0-beta.2-x86_64-linux.tar.gz e SHA256SUMS na página da versão, depois verifique e extraia os arquivos:

sha256sum -c SHA256SUMS
tar -xzf compust-0.3.0-beta.2-x86_64-linux.tar.gz
cd compust-0.3.0-beta.2-x86_64-linux
./compust --version

O binário exige Linux x86_64 com glibc 2.34 ou mais recente. BUILDINFO registra a revisão do código, o compilador e o comando de compilação. Para compilar a partir do código-fonte, instale a toolchain Rust fixada pelo projeto e execute:

git clone --branch v0.3.0-beta.2 https://github.com/hashdefault/compust.git
cd compust
cargo build --release --locked

A compilação gera target/release/compust. Copie qualquer um dos binários para um diretório do seu PATH, como ~/.local/bin.

Executar

Verifique o servidor antes. --diagnose lista as extensões usadas pelo Compust e pode rodar com segurança ao lado de outro compositor:

compust --diagnose

Copie a configuração de exemplo, ajuste se quiser e valide:

mkdir -p ~/.config/compust
cp compust.example.toml ~/.config/compust/compust.toml
compust --check-config

Sem --config, o Compust lê compust/compust.toml em $XDG_CONFIG_HOME, por padrão ~/.config, e --check-config informa o arquivo que encontrou. Pare o compositor atual e inicie o Compust em um terminal da mesma sessão X:

pkill -x picom
compust

Se outro compositor ainda controlar a tela, o Compust se recusa a iniciar e informa o motivo. Para iniciá-lo com o Xmonad, substitua a linha de inicialização do seu compositor, como spawnOnce "picom ...", pela linha a seguir:

spawnOnce "compust"

Com o i3, use exec --no-startup-id compust na configuração dele. Com ~/.xinitrc, inicie compust & antes do gerenciador de janelas.

Salvar a configuração a aplica sem reiniciar, depois que o arquivo fica um décimo de segundo sem mudar. pkill -USR1 -x compust também a recarrega e lê um diretório de configuração criado depois que o Compust iniciou. Um arquivo que não puder ser lido ou for inválido é rejeitado com um aviso, e as opções em uso continuam valendo. O README descreve todas as opções e as regras por janela.

Experimentar o renderizador de GPU

backend = "gl" na configuração desenha com OpenGL ES na GPU do servidor X, em vez do XRender. Ele é opcional e foi registrado em dois desktops AMD com radeonsi: a RX 9060 XT no XLibre com a 0.3.0-beta.1, e a Radeon Vega no Xorg com as verificações de recursos desta beta, cantos arredondados incluídos. Ele também rodou nos gráficos Iris Plus do laptop Intel com o pacote, com o qtile, sem retorno ao XRender. Onde ele não conseguir iniciar, ou quando um quadro falhar, o Compust registra um aviso e usa o XRender pelo resto da sessão. Relatos com outras GPUs Intel e com drivers NVIDIA são especialmente úteis; inclua as linhas do log que informam o dispositivo ou o retorno ao XRender.

Voltar ao compositor anterior

Encerre o Compust com SIGTERM, ou com Ctrl+C no terminal dele. Ele libera a tela e termina com sucesso. Depois inicie de novo o compositor anterior, por exemplo:

pkill -TERM -x compust
picom -b

Restaure qualquer linha de inicialização que você alterou. Encerrar a sessão também termina o Compust: quando o servidor X fecha, o Compust sai com The X11 server closed the connection, o que é esperado.

Limitações conhecidas

Relatar um problema

Colete a versão, o diagnóstico e a disposição dos monitores:

compust --version
compust --diagnose
xrandr --current

Anote a distribuição, o servidor X e a versão, o gerenciador de janelas e a versão, a GPU e o driver (por exemplo, pelo lspci -k) e o seu arquivo de configuração. Reproduza o problema com logs de depuração:

RUST_LOG=compust=debug compust 2>compust.log

Descreva os passos, o resultado esperado e o observado e se encerrar o Compust restaurou o desktop. Em seguida, abra um relato de falha com essas informações. Antes, remova dados privados dos logs e das capturas de tela.

Melhore esta página no GitHub