Ir para o conteúdo
ou

Software livre Brasil

 Voltar a Blog do Marc...
Tela cheia

Em breve no Kernel Linux 3.7 - Parte 4 - Drivers

30 de Novembro de 2012, 0:00 , por Software Livre Brasil - | Ninguém está seguindo este artigo ainda.
Visualizado 220 vezes

Autor: Thorsten Leemhuis (Copyright (c) 2012 Heise Media UK Ltd.)
Traduzido: Marcelo Soares Souza (Dúvidas e melhorias na tradução envie por E-mail)
Originalmente: http://h-online.com/-1757358
 
Logo Kernel Log PenguinOs desenvolvedores do driver Nouveau realizaram grandes mudanças na parte do kernel relacionado aos drivers das placas NVIDIA (1[1], 2[2], 3[3], 4[4], 5[5], 6[6] e outros). Este deve se adequar muito melhor aos chips NVIDIA, os quais os desenvolvedores tem se aprofundado através de engenharia reversa ao longo dos anos. O objetivo principal é uma arquitetura do driver mais limpa e simples, que torne a implementação de novas funcionalidades mais fáceis, tais como o NVIDIA Scalable Link Interface (SLI), que ainda não é suportado no Nouveau. Outra adição ao Linux 3.7 é um suporte rudimentar[7] para configuração do gerenciador da ventoinha para núcleos gráficos das séries NV40 a NV50[8], que é utilizadas nas séries 6xxx até 300 de placas GeForce. Para algumas placas de vídeo GeForce 600 com a GPU Kepler (NVE0[9]), o driver Nouveau agora utiliza[10] o seu próprio firmware[11], porém ainda não suporta funcionalidades de aceleração.
 
O código para a configuração de saída de vídeo[12] será mais robusta e flexível graças a uma grande mudança no driver i915 da Intel. Agora o Sysfs pode ser usado para obter informações sobre a frequência do processador gráfico e para definir limites para que, por exemplo, limite a quantidade máxima de consumo de energia (1[13], 2[14], 3[15] e outros). Os usuários devem utilizar o parâmetro preliminary_hw_support no driver para ativar o suporte em alguns núcleos gráficos em alguns processadores que ainda não estão disponíveis.

No Linux 3.7, a não ser que alguma coisa mude, isto será necessários para os núcleos gráficos tais como os de codinome Haswell e ValleyView, que devem sair no próximo ano. Exigir o parâmetro deve prevenir que usuários acidentalmente usem estes processadores gráficos com um driver incompleto. Outras mudanças para o driver Intel no Linux 3.7 podem ser encontrado no blog do mantenedor Daniel Vetter[16].
 
Mudanças realizadas no código de configuração de monitor, no driver gráfico Radeon irá, em alguns casos, permitir aos novos núcleos gráficos da AMD gerenciarem mais de dois monitores com mais de um phase-locked loop[19] (PLL), permitindo a combinação de mais múltiplos-monitores e diminuindo o consumo de energia[20] para algumas configurações (1[21], 2[22], 3[23], 4[24]).

Outra nova funcionalidade, traz o suporte a "2-level VM pagetables"[25], e pode diminuir o consumo de memória. Novas funcionalidades no driver Radeon incluem um gerenciador de backlight e melhorias na interação com o firmware do sistema através da ACPI, o que deve permitir que a regulação de brilho funcione melhor em notebooks (1[26], 2[27], 3[28], 4[29]).
 
Áudio

 
O suporte a mecanismo de redução de consumo de energia, em tempo de execução[30], nos drivers para chips de áudio HD não estão mais marcados como experimentais e serão ativados por padrão. Os desenvolvedores do kernel também expandiram o suporte[31], ao gerenciamento de energia em tempo de execução, no driver HDA, assim estes dispositivos PCI/PCIe podem entrar em estado de sleep.
 
Outra adição ao kernel é uma API de mapeamento de canais para melhor consulta e configuração de canais de áudio, o que deve ser útil quando utilizado a funcionalidade de som surround (1[32], 2[33], 3[34], 4[35], 5[36]).
 
Existe também um novo driver para o chip CMI8328 da C-Media [37], que pode ser encontrado em placas de áudio AudioExcel AV500.

A versão do driver ALSA[38] no kernel não pode mais ser vista através do sistema de arquivos proc; como explica o comentário de envio deste commit, a informação não necessariamente corresponde a versão dos pacotes de drivers que o projeto ALSA disponibiliza.
 
Multimídia
 
O subsistema de mídia traz uma nova API para controladores DVB conectados por USB; um grande número de drivers do kernel foram modificados para usar a API DVB USB v2. Espera-se que esta mudança corrija um grande número de erros e garanta um comportamento adequado durante a suspensão e resumo do sistema. Os desenvolvedores também mudaram o local do driver dentro dos diretórios do kernel ('drivers/media/'), movendo muitos drivers para novos subdiretórios (1[39], 2[40], 3[41], 4[42] e outros).

Juntamente com as mudanças no driver Nouveau e a separação da API do espaço de usuário, esta é uma das principais razões da análise diffstat mostrar tantas mudanças quando comparada ao Linux 3.6.
 
Outras adições incluem suporte a multistream para o DVB-T2[43], ao driver adv7604[44] e para o decodificador ADV7604.

O driver coda[45], para o codificador de vídeo Chips&Media e o suporte para receptores de infravermelho TechnoTrend[46] estão disponíveis pela primeira vez. O driver ngene agora funciona com o[47] Terratec Cynergy 2400i Dual DVB-T; af9035[48], com o Asus MyCinema U3100Mini Plus.

Outro acréscimo ao kernel é o driver stk1160[49] para o chip USB de áudio e vídeo de mesmo nome, que é usado, por exemplo, pelo dispositivo Easycap DVR USB. Este dispositivo foi anteriormente suportado pelo driver easycap na área de avaliação.
 
Área de avaliação
 
Uma adição a área de avaliação, devido ao seu código ainda em desenvolvimento, é o driver silicom[51] para as placas de rede Silicom's "Bypass", que junta duas ou quatro portas.

O Ramster, que pode transferir partes da RAM para outro sistema em um cluster e que foi adicionado no Linux 3.5, foi redesenhado (1[52], 2[53], 3[54] e outros). O novo código usa o Zcache2, projetado pelo desenvolvedor do Ramster; a implementação é uma reescrita do Zcache, que pode comprimir espaços de swap e partes da memória do sistema e que esta atualmente na área de avaliação.

Os desenvolvedores das duas variantes do Zcache ainda não chegaram a um acordo[55] sobre qual das implementações é melhor para uma determinada solução fora da área de avaliação.
 
Diversos
 
O subsistema human interface devices (HIDs) agora suporta o controle remoto do Sony PS3 Blue-ray Disc[56]. O driver para o wiimote pode agora trabalhar com o Nintendo Balance-Board[57], enquanto um novo framework[58] foi adicionado para suportar sensores HID.
 
O subsistema de entrada agora suporta mais de 32 dispositivos de entrada[59] - um limite que ocasionalmente é atingido.
 
Utilizando o SR-IOV, o driver Infiniband mlx4 pode agora transferir parte das funções suportadas por HBAs Mellanox para sistemas virtualizadas (1[60], 2[61] e outros).
 
Links para este artigo:

[1] http://git.kernel.org/linus/ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69
[2] http://git.kernel.org/linus/77145f1cbdf8d28b46ff8070ca749bad821e0774
[3] http://git.kernel.org/linus/cb75d97e9c77743ecfcc43375be135a55a4d9b25
[4] http://git.kernel.org/linus/3863c9bc887e9638a9d905d55f6038641ece78d6
[5] http://git.kernel.org/linus/9274f4a9ba7e70d1770e237fca16d52f27f0c728
[6] http://git.kernel.org/linus/70790f4f819875e8f390871fd15bbbf823f28e1b
[7] http://git.kernel.org/linus/2f951a5db5b55f65eb02d9a90aa7cecafde9f8b8
[8] http://nouveau.freedesktop.org/wiki/CodeNames
[9] http://nouveau.freedesktop.org/wiki/CodeNames#NVE0
[10] http://git.kernel.org/linus/e5bf578ce61aecd4612d16e60235c11ed5f92c0e
[11] http://git.kernel.org/linus/1978a2f280563427bb675b3197391745aef73424
[12] http://blog.ffwll.ch/2012/08/new-modeset-code.html
[13] http://git.kernel.org/linus/df6eedc81d43c2245885c6baeb28d488c8a4dea4
[14] http://git.kernel.org/linus/ac6ae347a50bfb4667438272c0d48f4fd41154db
[15] http://git.kernel.org/linus/46ddf194776500e132693dd2c11b28a971070cc0
[16] http://blog.ffwll.ch/2012/10/neat-drmi915-stuff-for-37.html
[17] http://article.gmane.org/gmane.linux.kernel/1400265
[18] http://article.gmane.org/gmane.linux.kernel/1395793
[19] http://en.wikipedia.org/wiki/Phase-locked_loop
[20] http://article.gmane.org/gmane.comp.video.dri.devel/74665
[21] http://git.kernel.org/linus/19eca43e5a52a8e47fdd40e940912b2417c7c055
[22] http://git.kernel.org/linus/f3dd8508d459a2d0d0bc426144b92f1696d4fe86
[23] http://git.kernel.org/linus/57b35e29cf4e45eb163631c4ece10dbc259ddf30
[24] http://git.kernel.org/linus/2f454cf1261ba913e2f660b7555864b340502c60
[25] http://git.kernel.org/linus/fa87e62d357ccf73831cd52ed316593d0968020d
[26] http://git.kernel.org/linus/9e05b2f49eb9484e857e9b6c70dea3bbbe564290
[27] http://git.kernel.org/linus/f3728734ba78310525bf4a361c7787c7c6fa5d40
[28] http://git.kernel.org/linus/fda4b25c55a59ba12378e4b9e4553f6ea57d802d
[29] http://git.kernel.org/linus/37e9b6a62fb775276f8edb5bd2b9f13a3102b9dd
[30] http://git.kernel.org/linus/83012a7ccbb90dee33c97a004b3e374f988612af
[31] http://git.kernel.org/linus/b8dfc4624162c0547d7f36a9df48da2d9b4bd58a
[32] http://git.kernel.org/linus/be84bbcccc757b86449daaf924e72f95c95dc00e
[33] http://git.kernel.org/linus/7b31d0095e87221dc32c95642a2a714ea08259aa
[34] http://git.kernel.org/linus/080108c4747c7378c3601b8584237484f977d8a8
[35] http://git.kernel.org/linus/9c9a5175e65b2667001e6a3b6dedddebeee82aa2
[36] http://git.kernel.org/linus/2ea3c6a2c779e5a6487d2b436770232162dfbbe3
[37] http://git.kernel.org/linus/f9933487468c760b8cd9b4e9f7ec4e494f711a0a
[38] http://git.kernel.org/linus/4266274836e81575ee82498d84f4bd08ab7a7378
[39] http://git.kernel.org/linus/0c0d06cac63ee327ceaab4b5ffe2206574ab86bd
[40] http://git.kernel.org/linus/b285192a43f0432d82c2c10974204e78af0da596
[41] http://git.kernel.org/linus/2c3fb08b3f74b8792004095a1f6881a3296ff643
[42] http://git.kernel.org/linus/25aee3debe0464f6c680173041fa3de30ec9ff54
[43] http://git.kernel.org/linus/287cefd096b124874dc4d6d155f53547c0654860
[44] http://git.kernel.org/linus/54450f591c9927496b3d41c041fa802d0ef96885
[45] http://git.kernel.org/linus/186b250a07253770717f41eee911b8c5467be04e
[46] http://git.kernel.org/linus/0938069fa08970f1c898970c1331a029efe9a1ce
[47] http://git.kernel.org/linus/397e972350c42cbaf3228fe2eec23fecf6a69903
[48] http://git.kernel.org/linus/d67ceb3398d7ae7fda78ec753639296f442ecf66
[49] http://git.kernel.org/linus/9cb2173e6ea8f2948bd1367c93083a2500fcf08f
[50] http://git.kernel.org/linus/062ef0d4bb66e975a79dec4d5cc3ef1bf584efef
[51] http://git.kernel.org/linus/7040e556c90aefd7b0e1341f7490de20a33340d7
[52] http://git.kernel.org/linus/c857ce1659b058c087bce9874cb4eeb5adbf04c5
[53] http://git.kernel.org/linus/14c9fda5c477305ccf0d82ccbdfd47f66a557d65
[54] http://git.kernel.org/linus/faca2ef77abf1983e87d36b14bc181efb983979a
[55] http://thread.gmane.org/gmane.linux.kernel.mm/85248/focus%3D86798
[56] http://git.kernel.org/linus/5844c1cdb630b537a2ecdf74dab2985e51dc1bd9
[57] http://git.kernel.org/linus/5ad67fbc2a0f5b7e744ce2263a2340b7ebe92e00
[58] http://git.kernel.org/linus/401ca24fb34aee0cedf9c4fef361e533224f15a1
[59] http://git.kernel.org/linus/7f8d4cad1e4e11a45d02bd6e024cc2812963c38a
[60] http://git.kernel.org/linus/37bfc7c1e83f1589bcdc5918c7216422662644ee


Tags deste artigo: linux desenvolvimento em breve no kernel linux software livre kernel