Programas do Windows que precisam de acesso ao hardware

2

Estou usando um laptop Lenovo Y720, que precisa de um programa específico chamado Lenovo Nerve Sense para poder acender a luz de fundo do teclado. O que eu tentei até agora:

  • O Wine não funciona, ele diz que o dllhost.exe no system32 não foi encontrado, mesmo que esse arquivo esteja realmente no diretório Wine.
  • Eu experimentei o PlayOnLinux, que obviamente deu o mesmo resultado que o Wine fez.
  • Tentei executar o programa em oracle virtual box, que conseguiu instalar o programa, mas o próprio programa não detectou que meu laptop era um laptop Lenovo, como é dentro de uma máquina virtual.

Existe alguma maneira, em que você poderia executar um programa dentro de uma máquina virtual, enquanto ele tem acesso à própria máquina. Eu sei que isso é contra a segurança, mas eu realmente só preciso executar este programa e não navegar na web, etc.

A luz não funciona sem este programa, pois não é baseado em firmware, e o Ubuntu não pode nem mesmo detectar que eu tenho LEDs do teclado.

    
por mth1417 07.06.2018 / 17:28

1 resposta

2

Este tipo de software baseado em Windows não funciona com o hardware do sistema em nenhum dos métodos que normalmente seriam usados para executar o software do Windows - o Windows Virtualizado ou o WINE. Isso se deve às limitações inerentes a cada método de tempo de execução de software e, infelizmente, não pode ser resolvido de forma segura / segura / sã.

Windows virtualizado: não funciona para esse tipo de integração de hardware / software.

As luzes de fundo do teclado estão no nível do hardware do sistema. As VMs não têm a capacidade de ter esse nível de interconectividade com o hardware host diretamente para interagir com esse hardware. Isso exclui o uso de uma VM para conseguir isso.

WINE: Isso não funcionará devido a restrições / permissões de controle / acesso ao sistema / hardware inerentes ao tempo de execução do espaço do usuário (e não do administrador / nível de serviço do sistema) que o Wine usa

Ao mesmo tempo, o Wine não tem exposição nem acesso a recursos de hardware e chamadas de modificação no nível de acesso que precisa no host para lidar com esse tipo de interoperabilidade de hardware. Isto porque, em poucas palavras, o acesso às chamadas de hardware está (a) fora do âmbito do desenvolvimento do Wine, e (b) não pode ser feito sem executar Wine sob superusuário, o qual Wine está programado para não permitir em> nas versões recentes.

Portanto, a menos que a Lenovo publique uma versão do Ubuntu, é improvável que você consiga fazer esse software (e, portanto, a luz de fundo do teclado) funcionar, o que afetará a capacidade do seu teclado de usar a luz de fundo. (Dito isto, deve haver uma maneira de ter a luz de fundo 'sempre ligada' ou 'sempre desligada', então você pode encontrar algo parecido com o que você pode configurar do lado do Windows para definir as permissões padrão / configuração para ter a luz de fundo).

A outra possibilidade é que alguém em algum lugar faça engenharia reversa de uma solução que faça muito do mesmo. No entanto, isso está fora do escopo da pergunta original ("Existe alguma maneira de executar um programa dentro de uma VM que possa acessar o hardware do sistema host em si") e, portanto, fora do escopo dessa resposta (você está livre para procurar por essa solução de engenharia reversa você mesmo).

    
por Thomas Ward 07.06.2018 / 17:34