O kernel Linux 6.6 tem correções de última hora para laptops Lenovo AMD “inutilizáveis”. O Linux 6.6 está definido para ser lançado como estável neste fim de semana, a menos que Linus Torvalds tenha reservas e decida estender o ciclo em uma semana. De qualquer forma, há algumas correções de última hora para consertar nove laptops Lenovo diferentes com SoCs AMD Ryzen para tornar o hardware mais utilizável no Linux.
Linux 6.6 tem correções de última hora para laptops Lenovo AMD “inutilizáveis”
O engenheiro da Red Hat, Hans de Goede, enviou um único patch como o último trabalho dos drivers de plataforma x86 antes do lançamento estável do Linux 6.6. O patch está estendendo a tabela de peculiaridades do DMI para fazer com que nove laptops Lenovo se comportem corretamente durante a suspensão/retomada no Linux.
Ao suspender para inatividade e retomar em laptops Lenovo selecionados com APUs Mendocino, há várias falhas de página IOMMU do NVMe, após as quais o sistema fica instável até ser reinicializado. Este problema foi rastreado em relatórios de bugs, como o bug do kernel 218024.
Os modelos de laptop Lenovo afetados incluem:
- LENOVO 82YT / V14 G4 AMN
- LENOVO 83GE / V14 G4 AMN
- LENOVO 82YU / V15 G4 AMN
- LENOVO 83CQ / V15 G4 AMN
- LENOVO 82VF / IdeaPad 1 14AMN7
- LENOVO 82VG / IdeaPad 1 15AMN7
- LENOVO 82X5 / IdeaPad 1 15AMN7
- LENOVO 82XN / IdeaPad Slim 3 14AMN8
- LENOVO 82XQ / IdeaPad Slim 3 15AMN8
Todos esses modelos precisam da mesma peculiaridade do bug s2idle para solucionar os erros de suspensão/retomada do NVMe s2idle.
Separadamente, por meio do ramo x86/urgente, há outro patch para melhorar o suporte para esses laptops. Thomas Gleixner explicou naquele patch pendente para pular a investigação quando ACPI/MADT anuncia compatibilidade com PCAT:
“David e alguns outros relataram que em certos sistemas mais recentes algumas interrupções herdadas não funcionam corretamente. A depuração revelou que o BIOS desses sistemas deixa o PIC legado em estado não inicializado, o que faz com que a detecção do PIC falhe e o kernel mude para uma implementação fictícia.
Infelizmente, este fallback faz com que alguns códigos falhem, uma vez que depende de verificações do número de interrupções PIC herdadas ou da disponibilidade do PIC real. Em teoria, não há razão para utilizar o PIC em qualquer sistema moderno quando o IO/APIC estiver disponível, mas as dependências nas verificações relacionadas não podem ser resolvidas de forma trivial e em curto prazo. Isso precisa de muita análise e retrabalho.”
Isso resolve o problema de vários teclados de laptop AMD Lenovo não funcionarem no Linux.
Hans de Goede escreveu de volta no pull de correção platform-drivers-x86:
“Decidi enviar isso no último minuto porque junto com” x86/i8259: Ignorar sondagem quando ACPI/MADT anuncia compatibilidade com PCAT “que está pendente na dica x86/urgente isso corrige um grupo inteiro de 9 laptops baseados em Lenovo AMD Mendocino Soc modelos de serem inutilizáveis com Linux até funcionarem bem com Linux.”
Portanto, com os modelos de laptop Lenovo mencionados acima, o Linux 6.6 deve funcionar bem com o hardware, enquanto os patches também devem funcionar como retroportados para as séries de kernel estáveis existentes.
O Linux 6.6 provavelmente também será a versão do kernel com suporte de longo prazo (LTS) deste ano.
Veja a seguir a lista com os principais recursos já presentes no Linux 6.6:
Processadores:
- O escalonador EEVDF foi mesclado para substituir o código do escalonador CFS.
- Temperatura AMD Zen 5 e suporte EDAC para os processadores AMD Family 1Ah.
- É introduzido o suporte AMD Dynamic Boost Control.
- Evitando kernel panics desnecessários em sistemas AMD Zen.
- O agendamento de cluster Intel foi reintroduzido para CPUs híbridas Core modernas.
- O Intel Shadow Stack finalmente se fundiu para este recurso de segurança de CPU com CPUs Intel/AMD recentes que ajudam a prevenir ataques ROP.
- Atualizações de fila de trabalho que ajudam CPUs AMD modernas e outros sistemas que possuem vários caches L3/caches de último nível.
- As estatísticas de uso da CPU por cgroup por CPU agora são rastreadas corretamente.
- Controle de aumento de desempenho CPUFreq por política, em vez de simplesmente um controle ao nível global.
- Suporte a eventos de desempenho PMU principais AmpereOne.
- Código de eventos Perf Intel Grand Ridge e Sierra Forest.
- Vários novos recursos de CPU LoongArch, desde novos bits de kernel habilitados para trabalhar no suporte Loongson Binary Translation (LBT).
- Novos recursos de virtualização KVM.
- Suporte Intel Sapphire Rapids PECI.
- Uma micro-otimização para CPUs AMD sem ERMS.
- O utilitário cpupower suporta novos recursos AMD P-State e também há outras atualizações de gerenciamento de energia.
- Ativação parcial de SMT que é útil para alguns processadores como IBM POWER.
- Suporte a FPGAs Intel Agilex 5 e Qualcomm Snapdragon 4 Gen 2.
Gráficos:
- Melhor proteção contra comportamento nefasto do driver proprietário da NVIDIA.
- Suporte AMD FreeSync Panel Replay como uma nova tecnologia alternativa ao Panel Self Refresh para laptops.
- AMDGPU DC agora baseia-se no RISC-V para esse código de exibição do driver.
- Continuação da habilitação de gráficos Intel Meteor Lake.
- Adições de Nouveau uAPI para o driver NVK Vulkan.
- Suporte inicial para Intel Lunar Lake VPU4.
- O DRM CI por ter código de integração contínua (CI) na árvore para ajudar a facilitar o teste do código do Direct Rendering Manager.
- Várias outras atualizações de drivers gráficos do kernel.
Jogos Linux:
- O driver de entrada XPad amplamente utilizado suporta mais controladores.
- Um driver de feedback de vibração/força para o controlador do Google Stadia conectado via Bluetooth ou WiFi.
- Suporte para outros periféricos de jogos, como o headset SteelSeries Arctis 1 Xbox e relatórios de bateria para o controlador NVIDIA SHIELD.
- Novo suporte de som para AMD Van Gogh com SOF e também suporte Valve “Galileo”.
Armazenamento/Sistemas de Arquivos:
- ReiserFS foi declarado obsoleto e provavelmente será removido em 2025.
- KSMBD não é mais experimental para esse servidor SMB no kernel.
- CephFS adicionou suporte ao FSCRYPT após um esforço de anos.
- O cliente SMB agora permite ajustar o tempo de cache do conteúdo do diretório.
- FUSE adiciona suporte inicial para statx com tempos de nascimento/criação de arquivos.
- Uma boa otimização de desempenho para EXT4.
- Compressão DEFLATE para EROFS.
- Novos recursos do Tmpfs.
- NFSD habilita NFSv4.2 READ_PLUS por padrão.
- ” XFS começa a receber suporte de reparo on-line”.
- Há um novo gerenciador de lançamento XFS.
- Melhorias no IOmap “muito suculentas”.
- Correções de Btrfs.
- Agora é mais fácil desabilitar IO_uring em todo o sistema.
- Suporte IO_uring para esperas FUTEX vetoriais.
Outros hardwares:
- Muitos novos recursos de rede e novo suporte de hardware com/sem fio.
- O driver de função do gadget USB MIDI 2.0 foi mesclado, enquanto as atualizações do subsistema USB também incluíram trabalhos anteriores do Lunar Lake USB.
- Suporte ao codec de áudio Cirrus Logic CS42L43.
- Novos recursos do laptop ASUS com seu driver de plataforma x86.
- Um driver de configurações do BIOS HP “hpbioscfg” que permite gerenciar algumas configurações do BIOS do sistema no Linux, semelhante aos drivers existentes da Lenovo e Dell.
- Patches AMD para geração de nós DeviceTree para dispositivos PCI.
- O driver Intle IVSC foi adicionado ao Intel Visual Sensing Controller com laptops modernos.
- Suporte a sensores de tensão e temperatura para mais placas-mãe de desktop.
- Suporte de som Intel Arrow Lake e Lunar Lake.
- Melhor manuseio para dispositivos Intel QAT que não respondem.
Segurança Linux:
- Caches Kmalloc randomizados para maior proteção do sistema.
- SELinux agora remove referências à Agência de Segurança Nacional dos EUA (NSA) que iniciou o Security Enhanced Linux.
- O kernel agora habilita incondicionalmente o suporte ao carregamento de microcódigo da CPU x86.
- RISC-V agora suporta KASLR para randomização de layout de espaço de endereço do kernel para fornecer melhor segurança junto com outras melhorias RISC-V.
Outras mudanças no Linux:
- Outra atualização para o conjunto de ferramentas Rust.
- São introduzidos carimbos de data/hora multigranulados.
- A nova chamada de sistema fchmodat2.
- Limpando o inchaço do sysctl.
- Foi introduzido o subsistema GenPD.
- Suporte Microsoft Hyper-V para convidados AMD SEV-SNP e Intel TDX .
- A interface make xconfig foi portada para Qt6, mantendo a compatibilidade do kit de ferramentas Qt 5.15 LTS.
- Limpezas do Printk no trabalho em direção ao suporte de impressão do console encadeado/atômico que é necessário para finalmente desbloquear o suporte em tempo real (PREEMPT_RT) na linha principal.