pavani@pop-os:~$ cosmic-settings
ERROR Failed to read config 'accessibility_zoom', err: GetKey("accessibility_zoom", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" })
at cosmic-settings/src/pages/accessibility/magnifier.rs:60 on main
ERROR shortcuts custom config error: GetKey("custom", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" })
at /build/cosmic-settings-icFwkj/cosmic-settings-1.0.7~1774389977~24.04~7dc9530/vendor/cosmic-settings-config/src/shortcuts/mod.rs:43 on main
ERROR Failed to load Panel system config., err: GetKey("padding_overlap", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" })
at cosmic-settings/src/pages/desktop/panel/mod.rs:90 on main
ERROR Error when loading Panel container config., err: GetKey("padding_overlap", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" })
at cosmic-settings/src/pages/desktop/panel/inner.rs:71 on main
ERROR Error when loading Panel container config., err: GetKey("padding_overlap", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" })
at cosmic-settings/src/pages/desktop/panel/inner.rs:71 on main
ERROR Failed to load Dock system config., err: GetKey("padding_overlap", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" })
at cosmic-settings/src/pages/desktop/dock/mod.rs:138 on main
ERROR Error when loading Panel container config., err: GetKey("padding_overlap", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" })
at cosmic-settings/src/pages/desktop/panel/inner.rs:71 on main
ERROR Error when loading Panel container config., err: GetKey("padding_overlap", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" })
at cosmic-settings/src/pages/desktop/panel/inner.rs:71 on main
ERROR Failed to read config 'focus_follows_cursor', err: GetKey("focus_follows_cursor", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" })
at cosmic-settings/src/pages/desktop/window_management.rs:53 on main
ERROR Failed to read config 'cursor_follows_focus', err: GetKey("cursor_follows_focus", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" })
at cosmic-settings/src/pages/desktop/window_management.rs:61 on main
ERROR Failed to read config 'focus_follows_cursor_delay', err: GetKey("focus_follows_cursor_delay", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" })
at cosmic-settings/src/pages/desktop/window_management.rs:70 on main
ERROR Failed to read config 'active_hint', err: GetKey("active_hint", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" })
at cosmic-settings/src/pages/desktop/window_management.rs:79 on main
ERROR Failed to read config 'edge_snap_threshold', err: GetKey("edge_snap_threshold", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" })
at cosmic-settings/src/pages/desktop/window_management.rs:88 on main
ERROR shortcuts custom config error: GetKey("custom", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" })
at /build/cosmic-settings-icFwkj/cosmic-settings-1.0.7~1774389977~24.04~7dc9530/vendor/cosmic-settings-config/src/shortcuts/mod.rs:43 on main
ERROR Failed to read config 'workspaces', err: GetKey("workspaces", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" })
at cosmic-settings/src/pages/desktop/workspaces.rs:44 on main
ERROR Failed to read config 'input_default', why: GetKey("input_default", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" })
at cosmic-settings/src/pages/input/mod.rs:53 on main
ERROR Failed to read config 'workspaces', err: GetKey("workspaces", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" })
at cosmic-settings/src/pages/input/touchpad.rs:27 on main
ERROR Failed to read config 'descale_xwayland', err: GetKey("descale_xwayland", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" })
at cosmic-settings/src/pages/applications/legacy_applications.rs:61 on main
ERROR Failed to read config 'xwayland_eavesdropping', err: GetKey("xwayland_eavesdropping", Os { code: 2, kind: NotFound, message: "Arquivo ou diretório inexistente" })
at cosmic-settings/src/pages/applications/legacy_applications.rs:70 on main
ERROR Handling wgpu errors as fatal by default
at /build/cosmic-settings-icFwkj/cosmic-settings-1.0.7~1774389977~24.04~7dc9530/vendor/wgpu/src/backend/wgpu_core.rs:1058 on main
The application panicked (crashed).
Message: wgpu error: Validation Error
Caused by:
In Device::create_shader_module, label = 'iced_wgpu.quad.solid.shader'
Shader validation error: Function [1] 'unpack_u32' is invalid
┌─ iced_wgpu.quad.solid.shader:9:1
│
9 │ ╭ fn unpack_u32(data: vec2<u32>) -> vec4<f32> {
10 │ │ let rg: vec2<f32> = unpack2x16float(data.x);
│ │ ^^^^^^^^^^^^^^^ naga::ir::Expression [2]
11 │ │ let ba: vec2<f32> = unpack2x16float(data.y);
12 │ │
13 │ │ return vec4<f32>(rg.y, rg.x, ba.y, ba.x);
│ ╰─────────────────────────────────────────────^ naga::ir::Function [1]
│
= Expression [2] is invalid
= Shader requires capability Capabilities(SHADER_FLOAT16_IN_FLOAT32)
Expression [2] is invalid
Shader requires capability Capabilities(SHADER_FLOAT16_IN_FLOAT32)
Location: /build/cosmic-settings-icFwkj/cosmic-settings-1.0.7~1774389977~24.04~7dc9530/vendor/wgpu/src/backend/wgpu_core.rs:1058
Backtrace omitted. Run with RUST_BACKTRACE=1 environment variable to display it.
Run with RUST_BACKTRACE=full to include source snippets.
Abortado (imagem do núcleo gravada)
Agora sim! Encontramos o problema real. O erro é claro:
plain
复制
Shader requires capability Capabilities(SHADER_FLOAT16_IN_FLOAT32)Isso é um bug de GPU/driver que foi introduzido na atualização da quinta-feira. O COSMIC está tentando usar shaders com precisão float16, mas sua GPU (provavelmente uma Intel mais antiga ou NVIDIA/AMD com driver específico) não suporta essa capacidade no wgpu.
Soluções
1. Rollback imediato (recomendado)
Reverter para a versão anterior do
cosmic-settings e componentes relacionados:bash
复制
# Verificar versões disponíveis
apt-cache policy cosmic-settings cosmic-comp | grep -A5 "Version"
# Fazer downgrade (substitua pelas versões anteriores à quinta)
sudo apt install cosmic-settings=1.0.0~1741527862~24.04~a9ae21d \
cosmic-comp=0.1.0~1742830561~24.04~9c14713 \
--allow-downgradesSe não souber a versão exata, use:
bash
复制
# Listar versões anteriores disponíveis
apt-cache showpkg cosmic-settings | grep -A20 "Versions:"
# Ou reinstalar versão anterior genérica
sudo apt install cosmic-settings=1.0.0~1740094682~24.04~b2ae76b --allow-downgrades 2>/dev/null || \
sudo apt install cosmic-settings=1.0.0~1741527862~24.04~a9ae21d --allow-downgrades2. Workaround: Forçar renderizador software
Se não conseguir fazer downgrade imediatamente:
bash
复制
# Forçar uso de renderização por software (lento mas funcional)
export LIBGL_ALWAYS_SOFTWARE=1
export WGPU_BACKEND=gl
export ICED_BACKEND=tiny-skia
cosmic-settingsOu crie um script permanente:
bash
复制
cat > ~/.local/bin/cosmic-safe << 'EOF'
#!/bin/bash
export WAYLAND_DISPLAY=wayland-1
export XDG_RUNTIME_DIR=/run/user/$(id - u)
export LIBGL_ALWAYS_SOFTWARE=1
export WGPU_BACKEND=gl
/usr/bin/$@
EOF
chmod +x ~/.local/bin/cosmic-safeUso:
cosmic-safe cosmic-settings3. Verificar se há atualização corrigindo
bash
复制
sudo apt update
apt list --upgradable 2>/dev/null | grep cosmicSe houver atualizações disponíveis, pode ser que já tenham corrigido:
bash
复制
sudo apt full-upgrade4. Reportar o bug
Este é um bug conhecido do wgpu/iced. Verifique se já existe issue aberta:
bash
复制
# Sua versão exata que está quebrada
dpkg -l | grep cosmic-settingsResumo das opções
表格
复制
| Opção | Comando | Resultado |
|---|---|---|
| Rollback | sudo apt install cosmic-settings=VERSÃO_ANTIGA --allow-downgrades | Melhor solução |
| Software rendering | export LIBGL_ALWAYS_SOFTWARE=1 && cosmic-settings | Funciona mas lento |
| Aguardar correção | sudo apt update && sudo apt full-upgrade | Se houver fix novo |
Qual sua placa de vídeo? Execute
lspci | grep -i vga para confirmar se é Intel/NVIDIA/AMD. Isso ajuda a entender por que o float16 não está disponível.Por enquanto, recomendo fortemente o rollback para a versão anterior à quinta-feira.
forçar a renderização, mas o script permanente não deu certo
teria como recriar o script
Vamos recriar o script corretamente. O problema provavelmente foi no caminho ou permissões.
Script Corrigido
Execute no terminal:
bash
复制
# Criar diretório se não existir
mkdir -p ~/.local/bin
# Criar o script com conteúdo correto
cat > ~/.local/bin/cosmic-safe << 'EOF'
#!/bin/bash
export WAYLAND_DISPLAY=wayland-1
export XDG_RUNTIME_DIR=/run/user/$(id - u)
export LIBGL_ALWAYS_SOFTWARE=1
export WGPU_BACKEND=gl
export ICED_BACKEND=tiny-skia
# Executar o comando passado como argumento
"$@"
EOF
# Tornar executável
chmod +x ~/.local/bin/cosmic-safe
# Adicionar ao PATH se necessário
export PATH="$HOME/.local/bin:$PATH"Uso
Agora teste:
bash
复制
# Recarregar o PATH
source ~/.bashrc
# Ou use o caminho completo diretamente
~/.local/bin/cosmic-safe cosmic-settings
~/.local/bin/cosmic-safe cosmic-files
~/.local/bin/cosmic-safe cosmic-storeSe ainda não funcionar
Verifique se as variáveis estão sendo aplicadas:
bash
复制
~/.local/bin/cosmic-safe env | grep -E "LIBGL|WGPU|ICED"Isso deve mostrar:
plain
复制
LIBGL_ALWAYS_SOFTWARE=1
WGPU_BACKEND=gl
ICED_BACKEND=tiny-skiaAlternativa: Alias direto no shell
Se o script continuar problemático, use alias no
~/.bashrc:bash
复制
echo 'alias cosmic-settings="export WAYLAND_DISPLAY=wayland-1 && export XDG_RUNTIME_DIR=/run/user/$(id - u) && export LIBGL_ALWAYS_SOFTWARE=1 && export WGPU_BACKEND=gl && /usr/bin/cosmic-settings"' >> ~/.bashrc
echo 'alias cosmic-files="export WAYLAND_DISPLAY=wayland-1 && export XDG_RUNTIME_DIR=/run/user/$(id - u) && export LIBGL_ALWAYS_SOFTWARE=1 && export WGPU_BACKEND=gl && /usr/bin/cosmic-files"' >> ~/.bashrc
echo 'alias cosmic-store="export WAYLAND_DISPLAY=wayland-1 && export XDG_RUNTIME_DIR=/run/user/$(id - u) && export LIBGL_ALWAYS_SOFTWARE=1 && export WGPU_BACKEND=gl && /usr/bin/cosmic-store"' >> ~/.bashrc
source ~/.bashrcDepois use simplesmente:
cosmic-settings, cosmic-files, etc.Qual erro apareceu quando tentou usar o script anterior?
Perfeito! Agora que os apps funcionam pelo terminal com as variáveis de ambiente, precisamos fazer os ícones do sistema usarem essas mesmas configurações.
Solução 1: Modificar os arquivos .desktop (Recomendada)
Os ícones do COSMIC usam arquivos
.desktop. Vamos modificá-los para incluir as variáveis:bash
复制
# Criar diretório de aplicações do usuário
mkdir -p ~/.local/share/applications
# Copiar e modificar os arquivos desktop principais
cp /usr/share/applications/com.system76.CosmicSettings.desktop ~/.local/share/applications/
cp /usr/share/applications/com.system76.CosmicFiles.desktop ~/.local/share/applications/
cp /usr/share/applications/com.system76.CosmicStore.desktop ~/.local/share/applications/
cp /usr/share/applications/com.system76.CosmicEdit.desktop ~/.local/share/applications/
cp /usr/share/applications/com.system76.CosmicTerm.desktop ~/.local/share/applications/Agora modifique cada um. Exemplo para o Settings:
bash
复制
# Editar o arquivo
nano ~/.local/share/applications/com.system76.CosmicSettings.desktopMude a linha
Exec= para:ini
复制
Exec=env WAYLAND_DISPLAY=wayland-1 XDG_RUNTIME_DIR=/run/user/1000 LIBGL_ALWAYS_SOFTWARE=1 WGPU_BACKEND=gl /usr/bin/cosmic-settings⚠️ Substitua1000pelo seu UID real (verifique comid -u)
Ou faça automaticamente para todos:
bash
复制
# Pegar seu UID
MYUID=$(id -u)
# Modificar todos os arquivos de uma vez
for app in cosmic-settings cosmic-files cosmic-store cosmic-edit cosmic-term cosmic-player cosmic-calculator; do
desktop_file="$HOME/.local/share/applications/com.system76.Cosmic$(echo $app | sed 's/cosmic-//' | sed 's/.*/\u&/').desktop"
if [ -f "$desktop_file" ]; then
sed -i "s|^Exec=.*|Exec=env WAYLAND_DISPLAY=wayland-1 XDG_RUNTIME_DIR=/run/user/$MYUID LIBGL_ALWAYS_SOFTWARE=1 WGPU_BACKEND=gl /usr/bin/$app|" "$desktop_file"
echo "Modificado: $desktop_file"
fi
doneSolução 2: Script wrapper global (mais limpo)
Crie um wrapper que substitui os executáveis originais no PATH do usuário:
bash
复制
# Criar diretório de binários do usuário (prioridade alta)
mkdir -p ~/.local/bin
# Criar wrappers para cada app
for app in cosmic-settings cosmic-files cosmic-store cosmic-edit cosmic-term cosmic-player cosmic-calculator cosmic-reader; do
cat > ~/.local/bin/$app << EOF
#!/bin/bash
export WAYLAND_DISPLAY=wayland-1
export XDG_RUNTIME_DIR=/run/user/$(id - u)
export LIBGL_ALWAYS_SOFTWARE=1
export WGPU_BACKEND=gl
export ICED_BACKEND=tiny-skia
/usr/bin/$app "\$@"
EOF
chmod +x ~/.local/bin/$app
echo "Criado: ~/.local/bin/$app"
doneVerifique se
~/.local/bin está no PATH:bash
复制
echo $PATH | grep ".local/bin"Se não aparecer, adicione ao
~/.bashrc:bash
复制
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrcSolução 3: Modificar a sessão inteira (nuclear)
Aplique as variáveis para toda a sessão COSMIC:
bash
复制
# Criar arquivo de configuração de sessão
mkdir -p ~/.config/environment.d
cat > ~/.config/environment.d/99-cosmic-gpu.conf << EOF
WAYLAND_DISPLAY=wayland-1
LIBGL_ALWAYS_SOFTWARE=1
WGPU_BACKEND=gl
ICED_BACKEND=tiny-skia
EOFDepois logout/login ou reinicie.
Solução 4: Modificar o lançador do COSMIC (mais profundo)
Se nada funcionar, modifique como o COSMIC Panel inicia os apps:
bash
复制
# Editar ou criar override do systemd
mkdir -p ~/.config/systemd/user
systemctl --user edit cosmic-panelAdicione no editor que abrir:
ini
复制
[Service]
Environment="LIBGL_ALWAYS_SOFTWARE=1"
Environment="WGPU_BACKEND=gl"
Environment="ICED_BACKEND=tiny-skia"Depois:
bash
复制
systemctl --user restart cosmic-panel
systemctl --user restart cosmic-sessionRecomendação
表格
复制
| Método | Dificuldade | Eficácia |
|---|---|---|
| Solução 1 (.desktop) | Média | Alta (apenas apps COSMIC) |
| Solução 2 (wrapper) | Baixa | Alta (todos os apps) |
| Solução 3 (sessão) | Baixa | Máxima (tudo) |
Teste primeiro a Solução 2 (wrapper) - é a mais limpa e fácil de reverter. Se não funcionar, vá para a Solução 3.
Me informe qual funcionou!
os apps no menu abrem, mas na dock não estão abrindo
Perfeito! Se os apps abrem pelo menu/launcher mas não pela dock, o problema é específico no COSMIC Panel/Dock. A dock provavelmente está usando caminhos diferentes para lançar os apps.
Diagnóstico Rápido
Primeiro, vamos verificar como a dock está tentando abrir os apps:
bash
复制
# Verificar logs do panel quando clica na dock
journalctl --user -u cosmic-panel -f &
# Depois clique em um ícone da dock que não abre
# Pressione Ctrl+C para parar o logSolução 1: Reiniciar o Panel com variáveis (mais comum)
A dock herda o ambiente do
cosmic-panel. Vamos reiniciá-lo com as variáveis:bash
复制
# Criar override do systemd para o cosmic-panel
mkdir -p ~/.config/systemd/user/cosmic-panel.service.d/
cat > ~/.config/systemd/user/cosmic-panel.service.d/override.conf << 'EOF'
[Service]
Environment="WAYLAND_DISPLAY=wayland-1"
Environment="LIBGL_ALWAYS_SOFTWARE=1"
Environment="WGPU_BACKEND=gl"
Environment="ICED_BACKEND=tiny-skia"
EOF
# Recarregar e reiniciar
systemctl --user daemon-reload
systemctl --user restart cosmic-panelSolução 2: Fixar os favoritos da Dock
A dock pode ter caminhos "quebrados" nos favoritos. Vamos recriar:
bash
复制
# Backup das configurações atuais
cp ~/.config/cosmic/com.system76.CosmicPanel/v1/favorites ~/.config/cosmic/com.system76.CosmicPanel/v1/favorites.bak
# Verificar o que está nos favoritos
cat ~/.config/cosmic/com.system76.CosmicPanel/v1/favoritesSe mostrar algo como
cosmic-settings, cosmic-files, etc., a dock está usando nomes curtos. Precisamos que usem os wrappers que criamos.Solução 3: Forçar a dock a usar caminhos absolutos
Remova os favoritos atuais e adicione novamente pelo menu (que está funcionando):
- Clique direito no ícone da dock que não funciona → Remover
- Abra o app pelo menu (Super)
- Clique direito no ícone que aparece na dock → Fixar na dock
Ou manualmente, edite os favoritos:
bash
复制
# Editar favoritos para usar caminhos absolutos dos wrappers
cat > ~/.config/cosmic/com.system76.CosmicPanel/v1/favorites << EOF
$HOME/.local/bin/cosmic-files
$HOME/.local/bin/cosmic-settings
$HOME/.local/bin/cosmic-store
$HOME/.local/bin/cosmic-term
EOF⚠️ Substitua pelos apps que você realmente tem fixados.
Solução 4: Script de correção completo
Vamos garantir que tudo está no lugar:
bash
复制
#!/bin/bash
# Fix COSMIC Dock - executar no terminal
MYUID=$(id -u)
MYHOME=$HOME
# 1. Garantir que wrappers existem
for app in cosmic-settings cosmic-files cosmic-store cosmic-edit cosmic-term; do
if [ ! -f "$MYHOME/.local/bin/$app" ]; then
cat > "$MYHOME/.local/bin/$app" << EOF
#!/bin/bash
export WAYLAND_DISPLAY=wayland-1
export XDG_RUNTIME_DIR=/run/user/$MYUID
export LIBGL_ALWAYS_SOFTWARE=1
export WGPU_BACKEND=gl
export ICED_BACKEND=tiny-skia
/usr/bin/$app "\$@"
EOF
chmod +x "$MYHOME/.local/bin/$app"
echo "Criado: $app"
fi
done
# 2. Garantir PATH no .bashrc (não afeta dock diretamente, mas útil)
if ! grep -q ".local/bin" ~/.bashrc; then
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
fi
# 3. Criar override do systemd para cosmic-panel
mkdir -p ~/.config/systemd/user/cosmic-panel.service.d/
cat > ~/.config/systemd/user/cosmic-panel.service.d/override.conf << EOF
[Service]
Environment="LIBGL_ALWAYS_SOFTWARE=1"
Environment="WGPU_BACKEND=gl"
Environment="ICED_BACKEND=tiny-skia"
EOF
# 4. Recarregar systemd
systemctl --user daemon-reload
# 5. Reiniciar panel
systemctl --user restart cosmic-panel
echo "Concluído! Teste clicar na dock agora."Salve como
fix-dock.sh, execute bash fix-dock.sh e teste.Solução 5: Se nada funcionar - recriar favoritos via GUI
A forma mais confiável:
- Remova todos os ícones da dock (clique direito → Remover)
- Abra o terminal e execute:bash复制
export WAYLAND_DISPLAY=wayland-1 export LIBGL_ALWAYS_SOFTWARE=1 export WGPU_BACKEND=gl cosmic-files & - Quando o ícone do Files aparecer na dock, clique direito → Fixar na dock
- Repita para Settings, Store, etc.
A dock vai "memorizar" o caminho correto do app em execução.
Me informe
- O que acontece quando clica na dock? Nada, ou aparece algum erro?
- Qual a saída de:
cat ~/.config/cosmic/com.system76.CosmicPanel/v1/favorites
Com isso posso ajustar a solução exata.