Skip to content

Releases: hashdefault/compust

Compust 0.3.0-beta.2

Compust 0.3.0-beta.2 Pre-release
Pre-release

Choose a tag to compare

@hashdefault hashdefault released this 05 Oct 18:04

Compust 0.3.0-beta.2

English | Português (Brasil)

English

The fifth beta of Compust, for controlled testing, on the path to 1.0. It brings the features of the 1.0 milestone's first step, shadows, fullscreen unredirection, and rules by focus, together with rounded corners and configuration reloads when the file is saved. Read the beta guide before installing: it lists the declared scope, how to return to your previous compositor, and how to report a problem.

Declared scope

One recorded machine has run this beta's code: an AMD Ryzen 5 5600GT with integrated Radeon Vega graphics and radeonsi, on Xorg 21.1.24 with the modesetting driver and glamor, at 1920×1080 and 60 Hz. Its desktop sessions passed every scenario under i3 4.25.1 with Present, with direct XRender, and with fades, translucency, and blur, at a commit before rounded corners, which are off by default, and before the GPU fix below. Its feature checks of shadows, focus rules, rounded corners, and fullscreen suspension passed with XRender and with the GPU renderer at a commit whose compositor source differs from the release's only in its version number. The RX 9060 XT desktop on XLibre ran 0.3.0-beta.1, and the Intel laptop ran the earlier betas. NVIDIA GPUs, Intel GPUs with this beta, XLibre with this beta, and other window managers are untested; reports are welcome.

Changes since 0.3.0-beta.1

  • Shadows: with shadow_radius above zero, windows cast a soft black shadow, set by shadow_offset_x, shadow_offset_y, and shadow_opacity. Normal windows, dialogs, utility windows, splash screens, and toolbars cast one; menus, tooltips, docks, and windows that draw their own shadow do not. A rule's shadow overrides that. Shadows are off by default.
  • Rounded corners: corner_radius rounds the corners of the same windows, smoothed across each pixel an arc crosses, and their shadows and the blur behind them follow the arcs. A rule's corner_radius rounds or squares the windows it chooses. Shaped and fullscreen windows stay square. Corners are off by default.
  • Fullscreen unredirection: with unredirect_fullscreen = true, Compust stops compositing while one opaque, square window covers the whole screen, as a game or video in fullscreen does, and resumes as soon as that changes.
  • Rules by focus: a rule's focused selector chooses the active window or every other one, from the window manager's _NET_ACTIVE_WINDOW, so that a rule can make inactive windows translucent.
  • Reload on save: Compust reloads the configuration when its file is saved, once it has stayed unchanged for a tenth of a second. It watches the directories of the files it would read and the target of a symbolic link, so editors that replace the file are followed too. SIGUSR1 still reloads.
  • Fixes: after a root resize, the server could present the replaced renderer's last frame after the new one's first, leaving old pixels on screen; the frame is now shown again. The GPU renderer blended a translucent window twice where two of the rectangles it repainted overlapped, which showed on translucent windows with a shadow and blur.
  • Tools: the desktop probe's --features mode and tools/features-check.sh check shadows, focus rules, rounded corners, and fullscreen suspension on a dedicated display, and compare the GPU renderer's images with XRender's.

The desktop qualification guide records the checks behind this beta. No performance advantage over picom is claimed.

Known limits

Shadows are black, shaped windows cast none, and a thick window border is rounded at its outer edge only. Fullscreen unredirection never applies to one monitor of several. Focus rules need a window manager that sets _NET_ACTIVE_WINDOW. The GPU renderer stays opt-in. The beta guide has the full list.

Files

compust-0.3.0-beta.2-x86_64-linux.tar.gz contains the binary, BUILDINFO, the README in both languages, the example configuration, and the license. Verify it with sha256sum -c SHA256SUMS. The binary needs x86_64 Linux with glibc 2.34 or newer. The GPU renderer loads the system's EGL library when it starts; without one, Compust draws with XRender.

Português (Brasil)

A quinta beta do Compust, para testes controlados, no caminho até a 1.0. Ela traz os recursos da primeira etapa do marco 1.0, sombras, suspensão da composição em tela cheia e regras pelo foco, junto com cantos arredondados e recarga da configuração quando o arquivo é salvo. Leia o guia da beta antes de instalar: ele traz o escopo declarado, como voltar ao compositor anterior e como relatar um problema.

Escopo declarado

Uma máquina registrada rodou o código desta beta: um AMD Ryzen 5 5600GT com gráficos Radeon Vega integrados e radeonsi, no Xorg 21.1.24 com o driver modesetting e glamor, em 1920×1080 a 60 Hz. Suas sessões de desktop passaram em todos os cenários com o i3 4.25.1, com Present, com XRender direto e com fades, translucidez e desfoque, num commit anterior aos cantos arredondados, que vêm desligados, e à correção da GPU abaixo. Suas verificações de sombras, regras pelo foco, cantos arredondados e suspensão em tela cheia passaram com o XRender e com o renderizador de GPU num commit cujo código do compositor difere do desta versão apenas no número da versão. O desktop com RX 9060 XT e XLibre rodou a 0.3.0-beta.1, e o laptop Intel rodou as betas anteriores. GPUs NVIDIA, GPUs Intel com esta beta, o XLibre com esta beta e outros gerenciadores de janelas não foram testados; relatos são bem-vindos.

Mudanças desde a 0.3.0-beta.1

  • Sombras: com shadow_radius acima de zero, as janelas projetam uma sombra preta suave, ajustada por shadow_offset_x, shadow_offset_y e shadow_opacity. Janelas normais, diálogos, janelas utilitárias, telas de abertura e barras de ferramentas projetam sombra; menus, dicas de ferramenta, docks e janelas que desenham a própria sombra, não. O shadow de uma regra muda isso. As sombras vêm desligadas.
  • Cantos arredondados: corner_radius arredonda os cantos das mesmas janelas, suavizados em cada pixel que um arco cruza, e suas sombras e o desfoque atrás delas acompanham os arcos. O corner_radius de uma regra arredonda ou deixa quadradas as janelas que ela escolhe. Janelas com formato próprio e em tela cheia continuam quadradas. Os cantos vêm desligados.
  • Suspensão da composição em tela cheia: com unredirect_fullscreen = true, o Compust para de compor enquanto uma janela opaca e quadrada cobre a tela inteira, como um jogo ou vídeo em tela cheia, e volta assim que isso muda.
  • Regras pelo foco: o seletor focused de uma regra escolhe a janela ativa ou todas as outras, a partir do _NET_ACTIVE_WINDOW do gerenciador de janelas, para que uma regra deixe translúcidas as janelas inativas.
  • Recarga ao salvar: o Compust recarrega a configuração quando o arquivo é salvo, depois que ele fica um décimo de segundo sem mudar. Ele observa os diretórios dos arquivos que leria e o destino de um link simbólico, então editores que substituem o arquivo também são acompanhados. O SIGUSR1 continua recarregando.
  • Correções: depois de um redimensionamento da raiz, o servidor podia apresentar o último quadro do renderizador substituído depois do primeiro do novo, deixando pixels antigos na tela; agora o quadro é mostrado de novo. O renderizador de GPU misturava duas vezes uma janela translúcida onde dois dos retângulos que repintava se sobrepunham, o que aparecia em janelas translúcidas com sombra e desfoque.
  • Ferramentas: o modo --features do probe de desktop e o tools/features-check.sh conferem sombras, regras pelo foco, cantos arredondados e suspensão em tela cheia num display dedicado, e comparam as imagens do renderizador de GPU com as do XRender.

O guia de validação em desktops registra as verificações por trás desta beta. Nenhuma vantagem de desempenho sobre o picom é alegada.

Limitações conhecidas

As sombras são pretas, janelas com formato próprio não projetam sombra, e uma borda de janela grossa é arredondada apenas no lado externo. A suspensão da composição em tela cheia nunca vale para um monitor entre vários. As regras pelo foco precisam de um gerenciador de janelas que defina o _NET_ACTIVE_WINDOW. O renderizador de GPU continua opcional. O guia da beta traz a lista completa.

Arquivos

compust-0.3.0-beta.2-x86_64-linux.tar.gz contém o binário, BUILDINFO, o README nos dois idiomas, a configuração de exemplo e a licença. Verifique-o com sha256sum -c SHA256SUMS. O binário exige Linux x86_64 com glibc 2.34 ou mais recente. O renderizador de GPU carrega a biblioteca EGL do sistema ao iniciar; sem ela, o Compust desenha com XRender.

Compust 0.3.0-beta.1

Compust 0.3.0-beta.1 Pre-release
Pre-release

Choose a tag to compare

@hashdefault hashdefault released this 04 Oct 20:08

Compust 0.3.0-beta.1

English | Português (Brasil)

English

The fourth beta of Compust, for controlled testing, and the first on the path to 1.0. Read the beta guide before installing: it lists the declared scope, how to return to your previous compositor, and how to report a problem.

Declared scope

One recorded machine has run this beta: XLibre 25.1.9 on an AMD Radeon RX 9060 XT with radeonsi, at 1920×1080 and 60 Hz. Its desktop sessions passed every scenario under Xmonad 0.18.1, Openbox 3.6.1, i3 4.25.1, and bspwm 0.9.12, with Present, with direct XRender, and with fades, translucency, and blur. Benchmark scenes at earlier commits cover dwm 6.8 on one and two monitors. The two machines qualified for 0.2.0-beta.3, a Radeon Vega desktop and an Intel Iris Plus laptop, have not run it. NVIDIA GPUs, other window managers, and clearly different refresh rates are untested; reports are welcome.

Changes since 0.2.0-beta.3

  • Configuration: without --config, Compust reads compust/compust.toml from $XDG_CONFIG_HOME, by default ~/.config, and then from $XDG_CONFIG_DIRS. SIGUSR1 reloads it without a restart; an invalid file is rejected with a warning and the running settings stay.
  • Per-window rules: [[rules]] tables choose windows by class, EWMH type, or title and set their opacity, blur, and fade duration.
  • Weighted blur: the blurred background shows through each pixel as strongly as the window covers it. The transparent margin around a browser's menu no longer gets a frosted halo, and blur behind a half-opaque window is half as strong as before.
  • Region repaint: only the area that changed is painted and presented, instead of the whole screen.
  • Blur reuse and occlusion: a blurred window keeps its blurred background until something beneath it changes, and windows hidden behind opaque ones are not painted.
  • Event handling: stacking is tracked from the server's events instead of a tree query for each one, and a frame is painted only for events that change what is shown, so a new window appears one frame after its map request.
  • GPU renderer: backend = "gl" draws with OpenGL ES on the X server's GPU through DRI3 and falls back to XRender where it cannot. It is opt-in, and XRender stays the default.
  • Tools: tools/bench.sh runs fixed benchmark scenes under Compust and picom, the probe gains --bench and --snapshot modes, and the desktop checks also run under bspwm.

The desktop qualification guide records what these changes cost and save on the recorded desktop, including the scenes they do not help. No performance advantage over picom is claimed: the only comparison with it predates region repaint.

Known limits

No fullscreen unredirection, no shadows or rounded corners, rules that match exact text only, and a GPU renderer recorded on one desktop. The beta guide has the full list.

Files

compust-0.3.0-beta.1-x86_64-linux.tar.gz contains the binary, BUILDINFO, the README in both languages, the example configuration, and the license. Verify it with sha256sum -c SHA256SUMS. The binary needs x86_64 Linux with glibc 2.34 or newer. The GPU renderer loads the system's EGL library when it starts; without one, Compust draws with XRender.

Português (Brasil)

A quarta beta do Compust, para testes controlados, e a primeira no caminho até a 1.0. Leia o guia da beta antes de instalar: ele traz o escopo declarado, como voltar ao compositor anterior e como relatar um problema.

Escopo declarado

Uma máquina registrada rodou esta beta: XLibre 25.1.9 em uma AMD Radeon RX 9060 XT com radeonsi, em 1920×1080 a 60 Hz. Suas sessões de desktop passaram em todos os cenários com Xmonad 0.18.1, Openbox 3.6.1, i3 4.25.1 e bspwm 0.9.12, com Present, com XRender direto e com fades, translucidez e desfoque. Cenas de benchmark em commits anteriores cobrem o dwm 6.8 em um e dois monitores. As duas máquinas validadas na 0.2.0-beta.3, um desktop com Radeon Vega e um laptop Intel com Iris Plus, não a rodaram. GPUs NVIDIA, outros gerenciadores de janelas e taxas de atualização claramente diferentes não foram testados; relatos são bem-vindos.

Mudanças desde a 0.2.0-beta.3

  • Configuração: sem --config, o Compust lê compust/compust.toml em $XDG_CONFIG_HOME, por padrão ~/.config, e depois em $XDG_CONFIG_DIRS. SIGUSR1 recarrega o arquivo sem reiniciar; um arquivo inválido é rejeitado com um aviso, e as opções em uso continuam valendo.
  • Regras por janela: tabelas [[rules]] escolhem janelas por classe, tipo EWMH ou título e definem sua opacidade, seu desfoque e a duração do fade.
  • Desfoque ponderado: o fundo desfocado aparece em cada pixel com a força com que a janela o cobre. A margem transparente em volta do menu de um navegador não ganha mais um halo fosco, e o desfoque atrás de uma janela com metade da opacidade tem metade da força de antes.
  • Repintura por regiões: apenas a área que mudou é pintada e apresentada, em vez da tela inteira.
  • Reaproveitamento do desfoque e oclusão: uma janela desfocada guarda seu fundo desfocado até que algo abaixo dela mude, e janelas escondidas atrás de janelas opacas não são pintadas.
  • Tratamento de eventos: o empilhamento é acompanhado pelos eventos do servidor, em vez de uma consulta à árvore para cada um, e um quadro só é pintado para eventos que mudam o que é exibido; assim, uma janela nova aparece um quadro depois do seu pedido de mapeamento.
  • Renderizador de GPU: backend = "gl" desenha com OpenGL ES na GPU do servidor X por DRI3 e volta ao XRender onde não puder. Ele é opcional, e o XRender continua como padrão.
  • Ferramentas: o tools/bench.sh roda cenas fixas de benchmark com o Compust e com o picom, o probe ganha os modos --bench e --snapshot, e as verificações de desktop também rodam com o bspwm.

O guia de validação em desktops registra quanto essas mudanças custam e economizam no desktop registrado, incluindo as cenas em que não ajudam. Nenhuma vantagem de desempenho sobre o picom é alegada: a única comparação com ele é anterior à repintura por regiões.

Limitações conhecidas

Sem suspensão da composição em tela cheia, sem sombras ou cantos arredondados, com regras que só comparam texto idêntico e com um renderizador de GPU registrado em um único desktop. O guia da beta traz a lista completa.

Arquivos

compust-0.3.0-beta.1-x86_64-linux.tar.gz contém o binário, BUILDINFO, o README nos dois idiomas, a configuração de exemplo e a licença. Verifique-o com sha256sum -c SHA256SUMS. O binário exige Linux x86_64 com glibc 2.34 ou mais recente. O renderizador de GPU carrega a biblioteca EGL do sistema ao iniciar; sem ela, o Compust desenha com XRender.

Compust 0.2.0-beta.3

Compust 0.2.0-beta.3 Pre-release
Pre-release

Choose a tag to compare

@hashdefault hashdefault released this 03 Oct 21:38

Compust 0.2.0-beta.3

English | Português (Brasil)

English

The third beta of Compust, for controlled testing. Read the beta guide before installing: it lists the declared scope, how to return to your previous compositor, and how to report a problem.

Declared scope

Two recorded machines, both with the modesetting driver and glamor. XLibre 25.1.9 with Xmonad 0.18.1 on an AMD Radeon Vega GPU, with one or two 1920×1080 60 Hz monitors. Xorg 21.1.11 on an Intel Iris Plus G1 laptop with Xmonad 0.17.2, Openbox 3.6.1, or i3 4.23, on its 1366×768 panel alone or with one external 1920×1080 display, including unplugging and reconnecting, and suspend and resume. NVIDIA GPUs, other window managers, and clearly different refresh rates are untested; reports are welcome.

Changes since 0.2.0-beta.2

  • Stale windows: a window that was resized and restored before Compust handled the first event kept showing its old contents until its next resize. Connecting or disconnecting a monitor under i3 triggered it and froze every tiled window. Both earlier betas have this defect.
  • Qualification on the Intel laptop: Openbox and i3 in nested, monitor-transition, and dedicated hardware sessions; an external display with mode and layout changes and a physically unplugged cable; and one suspend and resume per presentation mode. These use synthetic test windows. The evidence lives in docs/benchmarks/2026-10-03/intel-xorg.
  • Tools: desktop-check.sh takes WINDOW_MANAGER=openbox or WINDOW_MANAGER=i3, and the probe adds frame, restacking, and iconify scenarios.

Known limits

Full-screen repaint on damage, no fullscreen unredirection, no shadows or rounded corners, and blur_radius rounded to 2, 4, 8, or 16 pixels. The beta guide has the full list.

Files

compust-0.2.0-beta.3-x86_64-linux.tar.gz contains the binary, BUILDINFO, the README in both languages, the example configuration, and the license. Verify it with sha256sum -c SHA256SUMS. The binary needs x86_64 Linux with glibc 2.34 or newer.

Português (Brasil)

A terceira beta do Compust, para testes controlados. Leia o guia da beta antes de instalar: ele traz o escopo declarado, como voltar ao compositor anterior e como relatar um problema.

Escopo declarado

Duas máquinas registradas, ambas com o driver modesetting e glamor. XLibre 25.1.9 com Xmonad 0.18.1 em uma GPU AMD Radeon Vega, com um ou dois monitores de 1920×1080 a 60 Hz. Xorg 21.1.11 em um laptop Intel Iris Plus G1 com Xmonad 0.17.2, Openbox 3.6.1 ou i3 4.23, em seu painel de 1366×768 sozinho ou com uma tela externa de 1920×1080, incluindo desconexão e reconexão, e suspensão e retomada. GPUs NVIDIA, outros gerenciadores de janelas e taxas de atualização claramente diferentes não foram testados; relatos são bem-vindos.

Mudanças desde a 0.2.0-beta.2

  • Janelas com conteúdo antigo: uma janela redimensionada e restaurada antes de o Compust tratar o primeiro evento continuava mostrando o conteúdo antigo até o próximo redimensionamento. Conectar ou desconectar um monitor sob o i3 acionava o defeito e congelava todas as janelas em tiling. As duas betas anteriores têm esse defeito.
  • Validação no laptop Intel: Openbox e i3 em sessões aninhadas, de transição de monitores e dedicadas em hardware; uma tela externa com mudanças de modo e de layout e o cabo fisicamente desconectado; e uma suspensão e retomada por modo de apresentação. Elas usam janelas de teste sintéticas. As evidências estão em docs/benchmarks/2026-10-03/intel-xorg.
  • Ferramentas: o desktop-check.sh aceita WINDOW_MANAGER=openbox ou WINDOW_MANAGER=i3, e o probe acrescenta cenários de molduras, reempilhamento e minimização.

Limitações conhecidas

Redesenho da tela inteira a cada dano, sem suspensão da composição em tela cheia, sem sombras ou cantos arredondados e com blur_radius arredondado para 2, 4, 8 ou 16 pixels. O guia da beta traz a lista completa.

Arquivos

compust-0.2.0-beta.3-x86_64-linux.tar.gz contém o binário, BUILDINFO, o README nos dois idiomas, a configuração de exemplo e a licença. Verifique-o com sha256sum -c SHA256SUMS. O binário exige Linux x86_64 com glibc 2.34 ou mais recente.

Compust 0.2.0-beta.2

Compust 0.2.0-beta.2 Pre-release
Pre-release

Choose a tag to compare

@hashdefault hashdefault released this 03 Oct 19:31

Compust 0.2.0-beta.2

English | Português (Brasil)

English

The second beta of Compust, for controlled testing. Read the beta guide before installing: it lists the declared scope, how to return to your previous compositor, and how to report a problem.

Declared scope

Two recorded combinations, both with the modesetting driver and glamor. XLibre 25.1.9 with Xmonad 0.18.1 on an AMD Radeon Vega GPU, with one or two 1920×1080 60 Hz monitors. Xorg 21.1.11 with Xmonad 0.17.2 on an Intel Iris Plus G1 laptop, with its 1366×768 60 Hz panel. Xorg 21.1 and XLibre 25.1 also pass the desktop scenarios nested in Xephyr. NVIDIA GPUs, other window managers, and physical hotplug on Intel are untested; reports are welcome.

Changes since 0.2.0-beta.1

  • Borders: windows without a client shape keep their right and bottom borders. In 0.2.0-beta.1, Xmonad windows lost those two border strips.
  • Presentation: a Present submission that reports nothing within one second is abandoned, and Compust replaces its buffers and repaints. Previously a lost notification outside a monitor change froze the screen while the compositor kept running. No such loss has been observed on hardware.
  • Qualification: nested checks, a panel mode change, and the desktop scenarios in Present, direct, and effects modes on Xorg 21.1.11 with an Intel Iris Plus G1 laptop. Blur stays on the GPU there too: Xorg used 4.4% of a core with it and 4.3% without. The evidence lives in docs/benchmarks/2026-10-03/intel-xorg.

Known limits

Full-screen repaint on damage, no fullscreen unredirection, no shadows or rounded corners, and blur_radius rounded to 2, 4, 8, or 16 pixels. The beta guide has the full list.

Files

compust-0.2.0-beta.2-x86_64-linux.tar.gz contains the binary, BUILDINFO, the README in both languages, the example configuration, and the license. Verify it with sha256sum -c SHA256SUMS. The binary needs x86_64 Linux with glibc 2.34 or newer.

Português (Brasil)

A segunda beta do Compust, para testes controlados. Leia o guia da beta antes de instalar: ele traz o escopo declarado, como voltar ao compositor anterior e como relatar um problema.

Escopo declarado

Duas combinações registradas, ambas com o driver modesetting e glamor. XLibre 25.1.9 com Xmonad 0.18.1 em uma GPU AMD Radeon Vega, com um ou dois monitores de 1920×1080 a 60 Hz. Xorg 21.1.11 com Xmonad 0.17.2 em um laptop Intel Iris Plus G1, com seu painel de 1366×768 a 60 Hz. Xorg 21.1 e XLibre 25.1 também passam nos cenários de desktop aninhados no Xephyr. GPUs NVIDIA, outros gerenciadores de janelas e o hotplug físico em Intel não foram testados; relatos são bem-vindos.

Mudanças desde a 0.2.0-beta.1

  • Bordas: janelas sem formato definido pelo cliente mantêm as bordas direita e inferior. Na 0.2.0-beta.1, as janelas do Xmonad perdiam essas duas faixas de borda.
  • Apresentação: um envio Present que não informa nada em um segundo é abandonado, e o Compust substitui seus buffers e repinta. Antes, uma notificação perdida fora de uma mudança de monitores congelava a tela enquanto o compositor continuava em execução. Nenhuma perda desse tipo foi observada em hardware.
  • Validação: verificações aninhadas, uma mudança de modo do painel e os cenários de desktop nos modos Present, direto e de efeitos no Xorg 21.1.11 com um laptop Intel Iris Plus G1. O desfoque também permanece na GPU nele: o Xorg usou 4,4% de um núcleo com desfoque e 4,3% sem. As evidências estão em docs/benchmarks/2026-10-03/intel-xorg.

Limitações conhecidas

Redesenho da tela inteira a cada dano, sem suspensão da composição em tela cheia, sem sombras ou cantos arredondados e com blur_radius arredondado para 2, 4, 8 ou 16 pixels. O guia da beta traz a lista completa.

Arquivos

compust-0.2.0-beta.2-x86_64-linux.tar.gz contém o binário, BUILDINFO, o README nos dois idiomas, a configuração de exemplo e a licença. Verifique-o com sha256sum -c SHA256SUMS. O binário exige Linux x86_64 com glibc 2.34 ou mais recente.

Compust 0.2.0-beta.1

Compust 0.2.0-beta.1 Pre-release
Pre-release

Choose a tag to compare

@hashdefault hashdefault released this 03 Oct 15:56

Compust 0.2.0-beta.1

English | Português (Brasil)

English

The first beta of Compust, for controlled testing. Read the beta guide before installing: it lists the declared scope, how to return to your previous compositor, and how to report a problem.

Declared scope

XLibre 25.1.9 with Xmonad 0.18.1 on an AMD Radeon Vega GPU using the modesetting driver and glamor, with one or two 1920×1080 60 Hz monitors. Xorg 21.1 and XLibre 25.1 also pass the desktop scenarios nested in Xephyr. Other GPUs, window managers, and Xorg on hardware are untested; reports are welcome.

Changes since 0.1.0

  • Window stability: client and frame lifecycle tracking, strict property validation, and fixes for interrupted fades, destroyed-window stacking, and extreme shape offsets, with regression tests for windows destroyed between capture requests.
  • Presentation: a rejected Present submission falls back to direct XRender copying, and a monitor reconfiguration no longer freezes output while a submission is pending.
  • Blur: a bilinear pyramid replaces the convolution filter, which glamor-based drivers rendered on the CPU. With a full-screen translucent window, the recorded AMD desktop went from 49 to 599 frames in ten seconds, and Xorg CPU fell from 93.7% to 4.1% of a core.
  • Qualification: physical unplugging and reconnecting of both monitors, Xmonad scenarios with fades, wallpaper changes, translucency, and blur on hardware, plus nested Xorg and XLibre baselines. The evidence lives in docs/benchmarks/2026-10-03.
  • Tools: desktop-check.sh, hotplug-check.sh, hardware-session.sh, and package.sh, which builds release archives deterministically.

Known limits

Full-screen repaint on damage, no fullscreen unredirection, no shadows or rounded corners, and blur_radius rounded to 2, 4, 8, or 16 pixels. The beta guide has the full list.

Files

compust-0.2.0-beta.1-x86_64-linux.tar.gz contains the binary, BUILDINFO, the README in both languages, the example configuration, and the license. Verify it with sha256sum -c SHA256SUMS. The binary needs x86_64 Linux with glibc 2.34 or newer.

Português (Brasil)

A primeira beta do Compust, para testes controlados. Leia o guia da beta antes de instalar: ele traz o escopo declarado, como voltar ao compositor anterior e como relatar um problema.

Escopo declarado

XLibre 25.1.9 com Xmonad 0.18.1 em uma GPU AMD Radeon Vega com o driver modesetting e glamor, com um ou dois monitores de 1920×1080 a 60 Hz. Xorg 21.1 e XLibre 25.1 também passam nos cenários de desktop aninhados no Xephyr. Outras GPUs, gerenciadores de janelas e o Xorg em hardware não foram testados; relatos são bem-vindos.

Mudanças desde a 0.1.0

  • Estabilidade das janelas: acompanhamento do ciclo de vida de clientes e molduras, validação estrita de propriedades e correções para fades interrompidos, empilhamento de janelas destruídas e deslocamentos extremos de formatos, com testes de regressão para janelas destruídas entre requisições de captura.
  • Apresentação: um envio Present rejeitado passa a usar a cópia direta com XRender, e uma reconfiguração de monitores não congela mais a imagem enquanto há um envio pendente.
  • Desfoque: uma pirâmide bilinear substitui o filtro de convolução, que drivers baseados em glamor processavam na CPU. Com uma janela translúcida em tela cheia, o desktop AMD registrado passou de 49 para 599 quadros em dez segundos, e a CPU do Xorg caiu de 93,7% para 4,1% de um núcleo.
  • Validação: desconexão e reconexão física dos dois monitores, cenários do Xmonad com fades, troca de papel de parede, translucidez e desfoque em hardware, além de medições aninhadas com Xorg e XLibre. As evidências estão em docs/benchmarks/2026-10-03.
  • Ferramentas: desktop-check.sh, hotplug-check.sh, hardware-session.sh e package.sh, que gera os arquivos da versão de forma determinística.

Limitações conhecidas

Redesenho da tela inteira a cada dano, sem suspensão da composição em tela cheia, sem sombras ou cantos arredondados e com blur_radius arredondado para 2, 4, 8 ou 16 pixels. O guia da beta traz a lista completa.

Arquivos

compust-0.2.0-beta.1-x86_64-linux.tar.gz contém o binário, BUILDINFO, o README nos dois idiomas, a configuração de exemplo e a licença. Verifique-o com sha256sum -c SHA256SUMS. O binário exige Linux x86_64 com glibc 2.34 ou mais recente.


Verification: CI passed for 487132d. Two packaging runs produced identical archives. The packaged binary (SHA-256 82019cba5ab91e9292c68b8485e6c0db5cc5a733d995d2dc739ef19438b83f0d) passed the nested desktop checks in Present, direct, and effects modes on XLibre Xephyr.

Verificação: a CI passou no commit 487132d. Duas execuções do empacotamento geraram arquivos idênticos. O binário empacotado (SHA-256 82019cba5ab91e9292c68b8485e6c0db5cc5a733d995d2dc739ef19438b83f0d) passou nas verificações de desktop aninhadas nos modos Present, direto e efeitos no XLibre Xephyr.