2

I am using a Lenovo Y720 laptop, which needs a specific program called Lenovo Nerve Sense to be able to light up the keyboard backlight. What I have tried so far:

  • Wine does not work, it says dllhost.exe in system32 was not found, even though that file is actually in the Wine directory.
  • I tried PlayOnLinux, which of course gave the same result as Wine did.
  • I tried to run the program in oracle virtual box, which was able to install the program, but the program itself could not detect that my laptop was a Lenovo laptop, as it is inside a virtual machine.

Is there any way, in which you could run a program inside a virtual machine while it has access to the machine itself. I know this is against security, but I really only need to run this program and not surf the web etc.

The light does not work without this program, as it is not firmware based, and Ubuntu cannot even detect that I got keyboard LED's.

1 Answers1

2

This type of Windows-based software does not function with system hardware in either of the methods that would typically be used to run the Windows software - Virtualized Windows, or WINE. This is due to the limitations inherent to each method of software runtimes, and unfortunately is not able to be solved in any safe/secure/sane way.


Virtualized Windows: It won't work for this type of hardware/software integration.

Keyboard backlights are at the system hardware level. VMs do not have the ability to have that level of inter-connectivity with the host hardware directly to interact with this hardware. This rules out using a VM to achieve this.


WINE: This won't work either due to system/hardware control/access restrictions/permissions inherent to user-space (and not admin/system service level) runtime that Wine uses

At the same time, Wine does not have the exposure nor access to hardware resources and modification calls on the access level it needs on the host to handle this type of hardware interoperability. This is because, in a nutshell, accessing the hardware calls is (a) outside the scope of Wine's development, and (b) unable to really be done without running Wine under superuser, which Wine is actively programmed to disallow in recent versions.


So unless Lenovo publishes an Ubuntu version of the software, it is unlikely you will be able to get this software (and therefore the keyboard backlight) working, which will impact the ability for your keyboard to use its backlight. (This being said, there should be a way to have the backlight 'always on' or 'always off', so you might find something like that you can configure from the Windows side to set the default permissions/configuration to have the backlight).

The other possibility is that someone somewhere reverse-engineered a solution that does much of the same. However, this is outside the scope of the original question ("Is there any way you can run a program inside a VM that could access the hardware of the host system itself"), and therefore outside the scope of this answer (you're free to search for such a reverse-engineered solution yourself).

Thomas Ward
  • 74,764
  • 1
    Maybe some people reverse engineered it made something for Linux. – Pilot6 Jun 07 '18 at 15:35
  • @Pilot6 True, but that's outside the scope of the real question being asked (can Wine or a VM do this), and would require OP to actually do some active hunting to find such a solution – Thomas Ward Jun 07 '18 at 15:36
  • @Mth1417 then I would post a new question as Pilot6 suggested, asking "How do I use this keyboard and make the backlight work on Ubuntu?" as a separate question, because it's a wholly different question from the question you did ask here. – Thomas Ward Jun 07 '18 at 15:41
  • 2
    There is already a post https://askubuntu.com/questions/1014927/lenovo-legion-y720-keyboard-backlights-not-working – Pilot6 Jun 07 '18 at 15:42