Após dois meses de desenvolvimento, Linus Torvalds anunciou o lançamento do núcleo Linux 7.3. Entre as mudanças mais notáveis estão: mecanismo de isolamento de sistema de arquivos baseado em pseudo-sistema de arquivos failfs e chamada de sistema fchroot(), suporte à criação de planejadores aninhados SCHED_EXT, manipuladores BPF para executar arquivos, fluxos de dados alternativos em NTFS3, otimizações de desempenho para FUSE, Btrfs e Ext4, suporte ao Apple Time Machine no ksmbd, remoção do sistema de arquivos EFS e FreeVxFS, modo de acesso direto a dispositivos de bloco, melhorias no tratamento da falta de memória de vídeo, rastreamento de solicitações de memória do sistema convidado por meio do userfaultfd, compressão de regras do AppArmor, restrição de acesso ao AF_ALG, suporte a chips Apple M3 Pro, Max e Ultra.
Na nova versão, foram aceitas 20.260 correções de 3.171 desenvolvedores, dos quais 807 enviaram suas alterações no núcleo pela primeira vez. O tamanho do patch é de 63 MB (as alterações afetaram 14.923 arquivos, com 943.849 linhas de código adicionadas,
e 297.515 linhas removidas). Na versão anterior, houve 17.833 correções de 2.766 desenvolvedores, com o tamanho do patch em 68 MB. Cerca de 44% de todas as alterações apresentadas no 7.3 estão relacionadas a drivers de dispositivos, aproximadamente 12% estão relacionadas à atualização de código específico para arquiteturas de hardware, 12% estão relacionadas ao stack de rede, 5% referem-se a sistemas de arquivos e 3% a subsistemas internos do núcleo.
As principais novidades no núcleo 7.3 (1, 2, 3):
- Subsistema de disco, entrada/saída e sistemas de arquivos
- O desempenho do sistema de arquivos Btrfs foi otimizado. Para unidades que não são SSD, foi eliminada uma latência desnecessária, resultando em um aumento de cinco vezes na capacidade de resposta para cargas de trabalho que usam ativamente a função fsync, como gravação de logs. No fsync, foi desativada a detecção de lacunas em arquivos com um grande número de extensões e sem lacunas, o que acelerou a execução de alguns testes específicos em 5 vezes.
Ao rastrear buffers não reutilizáveis de extensões, a estrutura xarray foi substituída por uma lista LRU local, resultando em um aumento de três vezes no desempenho dessas operações. Foram eliminados os revezamentos de desempenho ao usar o modo de entrada/saída direta, causados por regressões em versões anteriores do núcleo. As bloqueios durante a leitura antecipada de extensões foram reduzidas, diminuindo a sobrecarga ao acessar áreas sobrepostas por diferentes tarefas.
- No Btrfs, o suporte à primeira versão do cache com informações sobre espaço livre foi removido. Sistemas de arquivos criados em sistemas antigos devem ser atualizados para a segunda versão do cache usando a ferramenta btrfstune, caso contrário, funcionarão mais lentamente. Além disso, a opção de montagem 'usebackuproot' foi removida, devendo ser substituída por 'rescue=usebackuproot'.
- No sistema de arquivos Ext4, o desempenho das operações de gravação paralelas durante a entrada/saída direta (Direct I/O) foi melhorado e a alocação de áreas vazias foi acelerada através da chamada fallocate(). Uma regressão que diminuía o desempenho durante a gravação em buffer foi corrigida.
- No sistema de arquivos Ext4, o modo de montagem 'data=journal' foi considerado obsoleto. O suporte a essa opção de montagem está previsto para ser descontinuado em 2028. A opção 'data=journal' ativa o modo de registro completo, onde não apenas os metadados, mas também os próprios dados são registrados, garantindo alta resistência em caso de falhas, mas complicando a manutenção do código e resultando em uma queda significativa no desempenho em comparação com os modos 'data=ordered' e 'data=writeback'.
- O sistema de arquivos EFS, que foi utilizado em versões antigas do sistema operacional IRIX, foi removido, tendo deixado de ser utilizado há cerca de 30 anos e não recebendo suporte por mais de 20 anos. Para aqueles que precisam acessar partições com EFS, existem utilitários que funcionam no espaço do usuário.
- O sistema de arquivos FreeVxFS, que implementa o formato de sistema de arquivos VERITAS VxFS, utilizado no SCO UnixWare nos anos 90 e que não é mais usado na prática, foi removido.
- No mecanismo de criação de sistemas de arquivos no espaço do usuário FUSE, o desempenho foi melhorado e o consumo de memória foi reduzido ao usar o sistema de entrada/saída assíncrona io_uring. A aceleração foi alcançada pela adição da possibilidade de transferência de pools de buffers do espaço do usuário para o núcleo e pela eliminação da bufferização desnecessária (zero-copy) ao acessar as páginas de memória do processo cliente ou o cache de páginas.
- Para dispositivos de bloco, um sinalizador RWF_DONTCACHE foi implementado, semelhante ao modo de entrada/saída direta.
(Direct I/O), que pode ser utilizado nas funções preadv2() e pwritev2() ou em solicitações de leitura e gravação via io_uring para acessar um dispositivo de bloco, ignorando o cache de página. Por exemplo, a flag pode ser aplicada em SGBD para manipulação de baixo nível com dispositivos de bloco. - No sistema de arquivos overlayfs, foi adicionado suporte para mapeamento de identificadores de usuários, usado para mapear arquivos de um usuário específico em uma partição montada de outro usuário no sistema atual.
- Melhor suporte para montagem de múltiplos sistemas de arquivos a partir de um único dispositivo de bloco.
- No driver ntfs3, foi implementado suporte inicial para fluxos de dados alternativos, separados por dois pontos no nome do arquivo. Para criar um novo fluxo alternativo, pode-se usar o comando 'touch file:fluxo', para leitura - 'cat file:fluxo', para remoção - 'rm file:fluxo', e para listar fluxos disponíveis - 'cat file:query_streams'.
- Na nova implementação do NTFS (ntfsplus) em modo somente leitura, foi adicionado suporte para a tecnologia de compressão de arquivos transparente usando filtros sobrepostos WOF (Windows Overlay Filter).
- O servidor NFS agora suporta a operação CB_NOTIFY, permitindo que o cliente armazene em cache os metadados de diretórios localmente, recebendo notificações de alterações do servidor.
- No sistema de arquivos F2FS, foi adicionada a capacidade de remoção dinâmica (sem desmontar o sistema de arquivos) de partições do pool geral, com a transferência automática de dados para outras partições e posterior retorno (por exemplo, um dispositivo pode ser temporariamente retirado para outros fins).
- No XFS, foi adicionado suporte para a flag FALLOC_FL_WRITE_ZEROES na chamada de sistema fallocate(), permitindo preencher um intervalo especificado em um arquivo com zeros, utilizando um comando de WRITE_ZERO suportado por alguns SSDs, realizando a operação de zeragem sem operações de entrada/saída.
- O desempenho do sistema de arquivos Btrfs foi otimizado. Para unidades que não são SSD, foi eliminada uma latência desnecessária, resultando em um aumento de cinco vezes na capacidade de resposta para cargas de trabalho que usam ativamente a função fsync, como gravação de logs. No fsync, foi desativada a detecção de lacunas em arquivos com um grande número de extensões e sem lacunas, o que acelerou a execução de alguns testes específicos em 5 vezes.
- Memória e serviços do sistema
- A melhoria no tratamento da falta de memória de vídeo foi realizada. Quando a memória de vídeo livre se esgota, o núcleo agora tenta liberar buffers de aplicativos da memória de vídeo para a memória do sistema (GTT) que não possuem cota de memória garantida (dmem cgroup), em vez de recusar imediatamente a alocação de memória de vídeo. Essa abordagem garante a alocação de recursos para o aplicativo ao qual o sistema reservou uma quantidade específica de memória de vídeo, mesmo que a memória já tenha sido alocada para outros aplicativos. Anteriormente, se um aplicativo sem cotas já havia recebido memória de vídeo, em situações de escassez de memória de vídeo, o aplicativo com cotas garantidas não conseguia obtê-la, e em vez de memória de vídeo, através do subsistema TTM (Translation Table Maps), o aplicativo recebia memória RAM do sistema, mais lenta, endereçada a partir da GPU (GTT).
O suporte a dmem cgroup foi implementado para os drivers nouveau, xe e amdgpu. - Na mecânica SCHED_EXT, que permite usar BPF para criar escalonadores de CPU, foi concluído o trabalho na possibilidade de criar escalonadores aninhados (sub-scheduler), pelos quais cada cgroup pode empregar seu próprio escalonador de tarefas.
- Melhorias foram feitas no escalonador de tarefas em relação ao tratamento de cgroup e à resolução de problemas de distribuição de pesos, que causavam despesas gerais adicionais e atrasos. Foram propostos vários métodos de distribuição de pesos para cgroup - 'up', 'max', 'concur' e 'tasks', definidos através do parâmetro cgroup_mode. Foi implementada uma fila única de execução (runqueue) para o escalonamento de tarefas dentro do cgroup. Os atrasos no escalonamento de tarefas que recebem pequenos quanta de tempo de CPU foram reduzidos por
diferentes capacidades de cancelar, atualizar ou minimizar o tempo de execução de tarefas protegidas contra expulsão. - No mecanismo binfmt_misc (/proc/sys/fs/binfmt_misc) foi implementado
possibilidade de conectar manipuladores BPF para adicionar suporte a novos formatos de arquivos executáveis. A mudança permite analisar programaticamente o tipo de arquivo executável a cada inicialização e escolher o intérprete ou carregador dinâmico adequado, sem truques como o uso da ferramenta patchelf ou de scripts wrapper. Por exemplo, em um programa BPF, é possível definir arquivos executáveis para outras arquiteturas ou plataformas e iniciar os respectivos emuladores ou Wine, além de simplificar a organização da execução de arquivos executáveis em pacotes instalados em diferentes diretórios em sistemas com o gerenciador de pacotes Nix. - Continuou a transferência de mudanças da branch Rust-for-Linux relacionadas ao uso da linguagem Rust como a segunda linguagem para desenvolvimento de drivers e módulos do kernel (o suporte a Rust não está ativo por padrão e não leva à inclusão do Rust entre as dependências de compilação obrigatórias do kernel). Foi possibilitado o uso do Rust para a arquitetura PowerPC. Implementados: módulo para conversões inteiras sem perda, modo de log ofuscado de valores de ponteiros para evitar vazamentos de informações sobre o espaço de endereçamento, wrapper sobre a função synchronize_rcu(), barreiras de memória, módulo interrupt para habilitar/desabilitar interrupções, tipos para entrada/saída, wrappers sobre fwctl, mecanismo SRCU (sleepable read-copy-update), wrappers sobre gem shmem.
bloqueios spinlock SpinLockIrq, que não permitem interrupções em seções críticas. - Adicionado o parâmetro sysctl syscall_user_dispatch para controlar a ativação do modo de despacho de chamadas de sistema no espaço do usuário, permitindo que um processo intercepta chamadas de sistema de outro processo (utilizado no Wine para emular chamadas de sistema do Windows).
- Em BPF, adicionada a função bpf_sock_read_xattr(), através da qual programas BPF podem ler atributos estendidos definidos pelo usuário
(user.*) a partir de inodes de sockets. Em aplicações BPF, agora é possível definir variáveis globais associadas à CPU. No verificador de programas BPF, foi fornecida informação adicional sobre erros detectados, simplificando a identificação das causas dos problemas. - Nos mecanismos de rastreamento kprobes, uprobes e fprobes, foi implementado o suporte à conversão de tipos, utilizando dados BTF (BPF Type Format) com informações para verificação de tipos em pseudocódigo BPF, além de melhorar a extração de informações sobre variáveis.
- No subsistema DAMON (Data Access MONitor), que permite monitorar o acesso de processos aos dados na memória RAM (por exemplo, é possível saber quais áreas de memória um processo acessou e quais áreas permaneceram sem uso), foi adicionada a capacidade de monitorar a mudança de atributos dos dados (memória anônima, arquivos mapeados na memória, acesso somente leitura, ausência de acessos à memória, etc.).
- No mecanismo KHO (Kexec HandOver), utilizado para iniciar um novo núcleo a partir de um antigo sem perder o estado do sistema, foi garantido que a alocação de páginas grandes de memória (huge pages) seja considerada durante a inicialização. Essas páginas de memória agora são marcadas e preservadas após o início do novo núcleo.
- O código de baixo nível do sistema de swap foi transferido para uma nova estrutura de dados de baixo nível chamada swap_ops, que simplificou a manutenção do código e implementou as abstrações necessárias para expandir a funcionalidade no futuro.
- Foram adicionados comandos ioctl ALLOCINFO_IOC_CONTENT_ID, ALLOCINFO_IOC_GET_AT e ALLOCINFO_IOC_GET_NEXT, que permitem a transferência seletiva de dados de perfis de alocação de memória para o espaço do usuário. Em comparação com a interface anteriormente disponível /proc/allocinfo, os novos chamados ioctl podem aumentar em até 20 vezes o desempenho das consultas de perfilagem, filtrando dados desnecessários.
- A melhoria no tratamento da falta de memória de vídeo foi realizada. Quando a memória de vídeo livre se esgota, o núcleo agora tenta liberar buffers de aplicativos da memória de vídeo para a memória do sistema (GTT) que não possuem cota de memória garantida (dmem cgroup), em vez de recusar imediatamente a alocação de memória de vídeo. Essa abordagem garante a alocação de recursos para o aplicativo ao qual o sistema reservou uma quantidade específica de memória de vídeo, mesmo que a memória já tenha sido alocada para outros aplicativos. Anteriormente, se um aplicativo sem cotas já havia recebido memória de vídeo, em situações de escassez de memória de vídeo, o aplicativo com cotas garantidas não conseguia obtê-la, e em vez de memória de vídeo, através do subsistema TTM (Translation Table Maps), o aplicativo recebia memória RAM do sistema, mais lenta, endereçada a partir da GPU (GTT).
- Virtualização e segurança
- Foi proposto um novo mecanismo de isolamento que bloqueia o acesso ao conteúdo dos sistemas de arquivos, exceto por recursos explicitamente passados para o ambiente de sandbox por meio de descritores de arquivos. O mecanismo é implementado usando o pseudo-sistema de arquivos failfs e a chamada de sistema fchroot.
O pseudo-sistema de arquivos failfs lembra o sistema de arquivos nullfs, mas, ao contrário deste, implementa o princípio de "nada é suportado" em vez de "nada é armazenado". Essa característica impede a montagem de qualquer coisa sobre o failfs, a clonagem do sistema de arquivos e o rastreamento do estado através de statmount(), listmount(), /proc//mountinfo e /proc/filesystems. Se o diretório raiz ou de trabalho do processo estiver no failfs, todas as tentativas de navegação pelo sistema de arquivos utilizando caminhos de arquivos absolutos, links simbólicos e caminhos relativos que dependem do diretório de trabalho atual são bloqueadas. O processo tem apenas a possibilidade de acessar um diretório específico através de descritores de arquivos abertos antes da isolação.
Para passar ao novo modo de isolamento, foi adicionado uma chamada de sistema fchroot, semelhante à chamada de sistema chroot, mas funcionando no nível de descritores de arquivos. Na chamada de sistema fchdir, foi adicionado o flag FD_FAILFS_ROOT para mover o diretório de trabalho do processo para o sistema de arquivos failfs.
Um flag equivalente está disponível na chamada de sistema fchroot. - Foi adicionada a capacidade de rastrear acessos à memória do sistema convidado através do mecanismo userfaultfd, permitindo a criação de manipuladores para acessos a páginas de memória não alocadas ou protegidas no espaço do usuário. Na prática, essa nova funcionalidade permite que o hipervisor identifique páginas de memória que não foram acessadas na máquina virtual, para que possam ser deslocadas para uma memória mais lenta ou para um armazenamento externo. Para rastrear violações da proibição de leitura e escrita na área de memória monitorada, foi adicionado o flag UFFDIO_REGISTER_MODE_RWP, que pode ser usado como um análogo de maior desempenho à aplicação de mprotect(PROT_NONE) em conjunto com um manipulador de sinais gerado ao acessarem a memória cuja leitura e escrita são proibidas (no caso do userfaultfd, uma exceção é gerada e manipulada no espaço do usuário). Esta mudança foi preparada com a ajuda da IA ("Assisted-by: Claude:claude-opus-4-6").
- Foi reforçada a separação entre threads do núcleo (kthread) e o processo init (PID 1). Anteriormente, as threads do núcleo e o PID 1 compartilhavam o estado do sistema de arquivos.
o que permitiu, através da chamada pivot_root(), redefinir o estado do sistema de arquivos para todos os threads do núcleo. Na nova versão, a PID 1 envolve uma estrutura fs_struct completamente separada, e os threads do núcleo estão isolados em um ponto de montagem separado com nullfs. - A biblioteca criptográfica embutida (libcrypto) adicionou suporte para modos de criptografia AES — ECB, CBC, CBC-CTS, CTR, XCTR, XTS, GCM e CCM.
- No sistema de gerenciamento de acesso mandatário AppArmor, foi implementada a possibilidade de carregar conjuntos de regras compactados e adicionado um modo de auditoria.
- Adicionado o parâmetro sysctl af_alg_restrict, que controla a ativação do acesso à API criptográfica AF_ALG a partir do espaço do usuário. AF_ALG permite o uso de aceleradores de hardware para cálculos criptográficos na Crypto API do núcleo, mas é aplicado em situações bastante específicas e nem sempre oferece um aumento de desempenho em comparação com a implementação da aceleração no espaço do usuário. Ao mesmo tempo, foram identificadas uma série de vulnerabilidades nos manipuladores relacionados ao AF_ALG, como o Copy Fail, que permitem modificar dados no cache de páginas. Para reduzir a superfície de ataque, o acesso ao AF_ALG é parcialmente restrito por padrão. A possibilidade de remover o AF_ALG em uma das futuras versões está sendo considerada.
- A verificação dos programas BPF assinados digitalmente foi intensificada. Foi adicionada uma verificação de integridade dos metadados do programa BPF antes de seu carregamento.
- No syscall landlock_restrict_self(), utilizado para ativar bloqueios Landlock, foi adicionado um flag
LANDLOCK_RESTRICT_SELF_NO_NEW_PRIVS, proibindo o processo atual de obter novas permissões. O mecanismo Landlock permite que programas sem privilégios renunciem a permissões desnecessárias para seu funcionamento, limitando voluntariamente seu acesso subsequente ao sistema com o objetivo de aumentar a segurança, por exemplo, para proteção em caso de tentativas de exploração de vulnerabilidades no programa. - No driver VirtIO-GPU, que fornece suporte para GPU virtual, foi adicionado suporte para o modo de suspensão S4 (hibernação).
- Foi proposto um novo mecanismo de isolamento que bloqueia o acesso ao conteúdo dos sistemas de arquivos, exceto por recursos explicitamente passados para o ambiente de sandbox por meio de descritores de arquivos. O mecanismo é implementado usando o pseudo-sistema de arquivos failfs e a chamada de sistema fchroot.
- Subsistema de Rede
- No ksmbd, que é integrado ao kernel para o protocolo SMB, foi adicionada a suporte a extensões da Apple Time Machine para o armazenamento de backups criados no macOS por meio deste aplicativo. Um mecanismo de isolação de sequências de comandos SMB foi implementado, vinculado ao MessageId, para bloquear ataques através do envio de solicitações inválidas ou duplicadas. A suporte ao envio de solicitações repetidas via protocolo SMB3 sem interromper o estado da sessão, caso a solicitação anterior tenha sido perdida, foi adicionada. O SMB3 implementou a possibilidade de criptografia em nível de compartilhamentos individuais. Também foi adicionada a suporte à criptografia do canal de comunicação SMB Direct, utilizando a tecnologia RDMA (Remote Direct Memory Access).
- Foi implementada a capacidade de usar pacotes TCP com a extensão BIG TCP, permitindo aumentar o tamanho máximo do pacote TCP para 4 GB em túneis UDP baseados nos protocolos VXLAN e GENEVE.
- Adicionada a suporte para o encaminhamento do protocolo MCTP (Management Component Transport Protocol) sobre USB (MCTP-over-USB 1.1).
- Fornecida a capacidade de desativar (unregistration) dispositivos de rede (netkit, veth, vxcan, bareudp, geneve, ipvlan, macvlan, etc.) para os espaços de nomes selecionados.
- Para Bluetooth 6.2+, foi implementada a suporte ao mecanismo SCI (Shorter Connection Interval) para reduzir latências durante a transmissão de dados no modo Bluetooth LE (Low Energy).
- Na API nl80211, foi adicionado um mecanismo unificado (NL80211_CMD_PROBE_PEER) para verificar peers conectados, funcionando tanto em pontos de acesso sem fio quanto do lado do cliente.
- Hardware
- Os antigos plataformas ARM quase não utilizadas foram marcados como obsoletos e previstos para remoção no kernel 7.5, dificultando o suporte às subsistemas atuais. Aproximadamente 55 mil linhas de código relacionadas ao suporte das plataformas sa1100, omap24xx, i.MX31, samv7, lpc18xx, riscpc, axxia, footbridge, antigas placas pxa, orion, dove e mv78xx0, chips sem unidade de gerenciamento de memória (MMU) e microcontroladores stm32f4/f7/h7 estão programadas para remoção.
- Adicionada a suporte inicial para os chips Apple M3 Pro, Max e Ultra. A gestão do estado de consumo de energia para o SoC da Apple foi implementada.
- Na subsistema DRM (Direct Rendering Manager), foi adicionado o atributo 'color format', permitindo ao usuário alternar o formato de apresentação de cores para o dispositivo de saída. O atributo foi implementado para os drivers de GPU i915 (HDMI, DP), amdgpu (HDMI, DP) e rockchip (HDMI). Para testes, pode-se usar um comando do tipo ‘modetest -s 115:1920×1080-60@NV12 -w 115:’color format’:4’, onde 115 é o identificador do conector e ‘4’ é o número do formato YUV420.
- O driver amdgpu adicionou suporte a modificadores DRM para GPUs AMD das séries GFX6-8 (Southern Islands, Sea Islands e Volcanic Islands). O suporte inicial para DCN 6.0.0 (Display Core Next) foi implementado. O código obsoleto foi limpo.
O suporte a CACP (Content Adaptive Contrast and Power) foi ativado, permitindo a redução do consumo de energia dos painéis OLED. Para os motores de exibição na arquitetura DCN4, o suporte ao mecanismo IPS (Idle Power State) foi adicionado para reduzir o consumo de energia durante inatividade. Adicionado suporte para placas gráficas AMD Barco. - No driver i915, o código para determinar capacidades e restaurar o estado dos conectores DisplayPort foi reestruturado. Para GPUs Novalake (NVL), suporte ao CMTG (Common mode timing generator) e DC3DO (Display C3 with Clock Off) foi adicionado.
- O trabalho no driver drm (Direct Rendering Manager) Xe para GPUs baseadas na arquitetura Intel Xe, utilizada em placas gráficas Intel da família Arc e gráficos integrados a partir dos processadores Tiger Lake, continua. Novos identificadores de dispositivos suportados foram adicionados. No configfs, o atributo ‘enable_multi_queue’ foi implementado para desativar o uso simultâneo de várias filas de comando. Melhorias no suporte para entrada em modo de espera foram feitas.
- A integração de componentes do driver Nova para GPUs NVIDIA equipados com firmwares GSP, utilizados a partir da série NVIDIA GeForce RTX 2000 baseada na microarquitetura Turing, continua. O driver é escrito em Rust. Na nova versão, foi realizada a transição para novas imagens de firmware TLV, em vez das antigas variantes usadas no driver Nouveau. Suporte adicionado
para a execução de firmware para o chip GSP (GPU System Processor) com habilitação de vGPU. Uma API foi adicionada para obter informações sobre o tamanho da memória de vídeo. - No driver Tyr, escrito em Rust e que garante a operação com GPUs ARM Mali, a capacidade de carregar firmwares no formato Mali CSF, ativar a memória virtual da GPU e iniciar o MCU foi adicionada.
- No driver msm, o suporte para GPUs Adreno Shikra (A704) e Eliza (722) foi adicionado.
- Suporte adicionado para dispositivos de áudio e ASoC: Pioneer DJ DJM-S11,
AW88399 (Lenovo Legion Pro), AW88399 (Lenovo Legion), Lisuan, ALC235, RME HDSPe AIO, RT766/RT767 SDCA, Maili, Hawi, CS35L62 (SoundWire), RT766/RT767 VA1. - Suporte adicionado para o Steam Controller (modelo 2026); mouse Logitech G502 X Plus e G502 X Lightspeed; teclado Endorfy Thock TKL, Zenbook A16; fones de ouvido Nova 5X, Nova 7 e Arctis 7; volante Turtle Beach VelocityOne Race; controle MSI Claw.
- Suporte melhorado para áudio em dispositivos ASUS VivoBook M515DA/X515DAP.
LG gram 16 (16Z90TR), Minisforum AI X1 Pro, HP Pavilion 15-eh2xxx, HP Laptop 15-dy0xxx e HP Spectre x360 16-aa0xxx, HP EliteBook 6 G1, HP OmniBook X Flip 14, Lenovo Yoga Pro 7, Huawei Matebook,
ThinkPad X1 Carbon 6ª geração, HP ProBook 440 G5, Acer Aspire A515-57. - Adicionada a compatibilidade com smartphones, tablets e notebooks: Motorola Edge 30, Motorola Moto G2, Xiaomi 12 Lite 5G, Microsoft Surface Pro, Honor MagicBook art 1412in, Sony Xperia M2, Vicharak Axon, Axon Mini e Vaaman2, Asus Zenbook A16, Lenovo Thinkedge se70.
- Adicionada a compatibilidade com plataformas ARM e SoC Samsung Exynos 1580 (utilizado em smartphones flagship a partir de 2024), Orange Pi 5 pro, Sophgo SG2000 (híbrido Arm/RISC-V), BeagleBadge, Qualcomm "Shikra" e "Altera" (Cortex-A78C), Agilex72 (Cortex-A720), Alientek ATK-DLRV1126, Variscite SoC DART-MX8M-PLUS, DART-MX8M-MINI, VAR-SOM-MX8QM e placas Sonata/Symphony baseadas nelas, 9Tripod X3568 v4, Youyeetoo YY3588, milk-v duo, ArmSoM CM5, Freescale Verdin iMX8M Mini, Anbernic rg vita-pro, Embedfire lubancat 4, Vicharak Vaaman, LincStation E1, HINLINK H28K.
Ao mesmo tempo, a Fundação de Software Livre da América Latina formou
a variante completamente livre do kernel 7.3 — Linux-libre 7.3-gnu, limpa de elementos de firmware e drivers que contêm componentes não livres ou trechos de código com aplicação restrita pelo fabricante. A versão 7.3 passou por uma limpeza de blobs de novos drivers para GPU Mali Tyr, Morse Micro mm81x wi-fi, NXP wi-fi, e cartões de rede com chips Realtek. O código de limpeza foi atualizado nos drivers nova-core, amdgpu, adreno, tegra, iris, rtw89 e mt76 wifi, Qualcomm Q6V5 PAS, qla2xxx scsi e codecs de áudio aw88399. A limpeza dos nomes dos blobs nos arquivos dts (devicetree) para chips ARM da Qualcomm foi realizada.
Fonte: opennet.ru
