I am trying to get refind to work with a Kaby Lake tablet (Cube Mix Plus).
Everything works find except for the touch input part, which makes it rather problematic if I dont have a keyboard attached.
I'm trying to figure out how I might get started in adding the necessary driver/support into refind.
Since I can boot into linux, I tought I might start by looking at what hardware is being detected.
These are the relevant parts I could find in the boot logs :
[ 11.431621] input: Lid Switch as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:18/PNP0C09:00/PNP0C0D:00/input/input0
[ 11.432206] input: Sleep Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input1
[ 11.432263] input: Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input2
[ 11.432319] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input3
[ 11.489282] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input4
[ 22.702861] input: Intel Virtual Button driver as /devices/pci0000:00/0000:00:1f.0/PNP0C09:00/INT33D6:00/input/input8
[ 23.860963] input: Wacom HID 104 Pen as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-7/i2c-WCOM4002:01/0018:056A:0104.0004/input/input14
[ 23.947469] input: FTSC1000:00 2808:5012 as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-7/i2c-FTSC1000:00/0018:2808:5012.0003/input/input17
[ 23.947567] hid-multitouch 0018:2808:5012.0003: input,hidraw3: I2C HID v1.00 Device [FTSC1000:00 2808:5012] on i2c-FTSC1000:00
As far as modules go, the relevant parts of lsmod would be :
I may be wrong on this but from what I can gather, it looks like the Wacom surface doesnt even come into play at the X level (given the last error in Xorg logs. For the rest, it looks like the touch surface (FTSC ?) is pretty standard and is handled by the default hid_multitouch driver in the linux kernel.
Is it possible that because the device is i2c instead of USB, it doesnt get initialized at boot and is therefore unseen at the EFI level ?
Is there anything I may do to lookup devices within an EFI shell ?
Any tips or hints will be grately appreciated.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
First, note that rEFInd's touch support requires that the enable_touch option be uncommented in refind.conf. If you haven't already done that, please try it.
Beyond that, it's possible that finding and loading the right driver will get your tablet's touch panel to work in rEFInd; however, I can't promise that such a driver even exists, much less that you'll be able to find it and get it working on your system. It's also conceivable that a driver exists, but doesn't provide the features upon which rEFInd relies.
If you have sufficient coding experience, you could try writing your own driver for your tablet, but I don't really have much advice on how to get started. Although rEFInd includes several filesystem drivers, I didn't write any of them, and I have yet to delve far enough into that topic to be able to provide guidance.
In an EFI shell, you can type drivers (or drivers -b to get paged output) to see the drivers that are currently loaded.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have the same device of Guillaume Giraudon (Cube Mix Plus tablet), refind work well, I had uncomment enable_touch option in the refind.conf file, but touch screen does not work. When sistem boot into linux touch screen works perfectly with module hid_multitouch, indeed, I get system log files pretty similar to the mr. Giraudon. I boot in EFI Shell and run the command drivers, I attach the output, driver for touch is listed as C0, Integrated Touch Driver. Thanks in advance!
I have some basic knowledge in C, but I have not programmed in EFI. I am reading UEFI specification and other documentations for EDK II. I noticed from source code of refind at EfiLib/AbsolutePointer.h that EFI_ABSOLUTE_POINTER_PROTOCOL is used to handle touch screen devices, I run the command guid in EFI Shell, the AbsolutePointer protocol seems to be present with the same identifier that is in the code, I attach the complete output:
I don't know if refind has some kind of vervose mode, in order to see where is problem, or if there exist some tool for EFI Shell to test the device support and/or state of it.
I don't know how to increase to esposure of this publication, or if I should start a new topic. I hope CJ Vaughter or another developer can guide us to solve the touch screen support on refind. Thanks in advance!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It's a good sign that the touch driver shows up. I've submitted a merge request with some changes that may enable your touchscreen, but it's hard to say for sure. I've attached a binary with those changes. Try it and let me know if it works.
Thanks for the prompt response, I replaced the original binary /EFI/refind/refind_x64.efi for the attached in the your message. I test the binary and it works ok, but unfortunately without touch screen support.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It should open all devices that support the protocol, so your firmware may not support it. Without access to your machine it's hard to say, and there's not much I can do.
Does the touchscreen work in the system setup utility (what some people still refer to as the BIOS settings)?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The system setup utility (BIOS settings) does not make use of touch screen or any other pointer, it is like old usual DOS menu without graphical interface (American Megatrens). It was a clever solution, at least we know the problem may be due to the firmware and move on, indeed I think so becuse the touchpad of external logitech keyboard works well with this binary. I appreciate very much your time for response, and in general the work of Mr Smith and other all developers of refind, it is the better efi boot manager, thanks!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello everyone,
I am trying to get refind to work with a Kaby Lake tablet (Cube Mix Plus).
Everything works find except for the touch input part, which makes it rather problematic if I dont have a keyboard attached.
I'm trying to figure out how I might get started in adding the necessary driver/support into refind.
Since I can boot into linux, I tought I might start by looking at what hardware is being detected.
These are the relevant parts I could find in the boot logs :
As far as modules go, the relevant parts of lsmod would be :
Since touch seems to work under X, I also looked at Xorg logs and found this :
I may be wrong on this but from what I can gather, it looks like the Wacom surface doesnt even come into play at the X level (given the last error in Xorg logs. For the rest, it looks like the touch surface (FTSC ?) is pretty standard and is handled by the default hid_multitouch driver in the linux kernel.
Is it possible that because the device is i2c instead of USB, it doesnt get initialized at boot and is therefore unseen at the EFI level ?
Is there anything I may do to lookup devices within an EFI shell ?
Any tips or hints will be grately appreciated.
First, note that rEFInd's touch support requires that the
enable_touch
option be uncommented inrefind.conf
. If you haven't already done that, please try it.Beyond that, it's possible that finding and loading the right driver will get your tablet's touch panel to work in rEFInd; however, I can't promise that such a driver even exists, much less that you'll be able to find it and get it working on your system. It's also conceivable that a driver exists, but doesn't provide the features upon which rEFInd relies.
If you have sufficient coding experience, you could try writing your own driver for your tablet, but I don't really have much advice on how to get started. Although rEFInd includes several filesystem drivers, I didn't write any of them, and I have yet to delve far enough into that topic to be able to provide guidance.
In an EFI shell, you can type
drivers
(ordrivers -b
to get paged output) to see the drivers that are currently loaded.any new? I own this exact thing too
Last edit: おとめ座 ひなたぼっこ 2017-03-20
Can you post the output you get from
drivers
?I have the same device of Guillaume Giraudon (Cube Mix Plus tablet), refind work well, I had uncomment enable_touch option in the refind.conf file, but touch screen does not work. When sistem boot into linux touch screen works perfectly with module hid_multitouch, indeed, I get system log files pretty similar to the mr. Giraudon. I boot in EFI Shell and run the command drivers, I attach the output, driver for touch is listed as C0, Integrated Touch Driver. Thanks in advance!
Last edit: Link Sekera 2017-06-14
I have some basic knowledge in C, but I have not programmed in EFI. I am reading UEFI specification and other documentations for EDK II. I noticed from source code of refind at EfiLib/AbsolutePointer.h that EFI_ABSOLUTE_POINTER_PROTOCOL is used to handle touch screen devices, I run the command guid in EFI Shell, the AbsolutePointer protocol seems to be present with the same identifier that is in the code, I attach the complete output:
I don't know if refind has some kind of vervose mode, in order to see where is problem, or if there exist some tool for EFI Shell to test the device support and/or state of it.
I don't know how to increase to esposure of this publication, or if I should start a new topic. I hope CJ Vaughter or another developer can guide us to solve the touch screen support on refind. Thanks in advance!
It's a good sign that the touch driver shows up. I've submitted a merge request with some changes that may enable your touchscreen, but it's hard to say for sure. I've attached a binary with those changes. Try it and let me know if it works.
Thanks for the prompt response, I replaced the original binary /EFI/refind/refind_x64.efi for the attached in the your message. I test the binary and it works ok, but unfortunately without touch screen support.
It should open all devices that support the protocol, so your firmware may not support it. Without access to your machine it's hard to say, and there's not much I can do.
Does the touchscreen work in the system setup utility (what some people still refer to as the BIOS settings)?
The system setup utility (BIOS settings) does not make use of touch screen or any other pointer, it is like old usual DOS menu without graphical interface (American Megatrens). It was a clever solution, at least we know the problem may be due to the firmware and move on, indeed I think so becuse the touchpad of external logitech keyboard works well with this binary. I appreciate very much your time for response, and in general the work of Mr Smith and other all developers of refind, it is the better efi boot manager, thanks!
Sorry for off topic, but anyone here with linux on Mix Plus has OmniVision Webcam work?