jakeday / linux-surface Goto Github PK
View Code? Open in Web Editor NEWLinux Kernel for Surface Devices
Linux Kernel for Surface Devices
The new 2017 version of the Surface Pro has no battery status.
I don't know of any working kernel for this issue.
I suspect this is an ACPI issue, as I have the following lines in my kernel messages:
ACPI Error: [_SB_.PCI0] Namespace lookup failure, AE_NOT_FOUND (20170728/dswload2-191)
ACPI Exception: AE_NOT_FOUND, During name lookup/catalog (20170728/psobject-252)
ACPI Error: Method parse/execution failed \_SB.PCI0.UA02, AE_NOT_FOUND (20170728/psparse-550)
Hey mate
Pen does not seem to work on my Surface Book (not performance base)
Is there a fix to this?
Cheers
sudo lsinput
result
/dev/input/event0
bustype : BUS_HOST
vendor : 0x0
product : 0x5
version : 0
name : "Lid Switch"
phys : "PNP0C0D/button/input0"
bits ev : EV_SYN EV_SW
/dev/input/event1
bustype : BUS_HOST
vendor : 0x0
product : 0x6
version : 0
name : "Video Bus"
phys : "LNXVIDEO/video/input0"
bits ev : EV_SYN EV_KEY
/dev/input/event2
bustype : BUS_HOST
vendor : 0x0
product : 0x0
version : 0
name : "Surface Pro 3/4 Buttons"
phys : "MSHW0040/buttons"
bits ev : EV_SYN EV_KEY
/dev/input/event3
bustype : BUS_USB
vendor : 0x45e
product : 0x7cd
version : 273
name : "Microsoft Surface Keyboard Keybo"
phys : "usb-0000:00:14.0-1.4/input0"
uniq : ""
bits ev : EV_SYN EV_KEY EV_MSC EV_LED EV_REP
/dev/input/event4
bustype : BUS_USB
vendor : 0x45e
product : 0x7cd
version : 273
name : "Microsoft Surface Keyboard Mouse"
phys : "usb-0000:00:14.0-1.4/input0"
uniq : ""
bits ev : EV_SYN EV_KEY EV_REL EV_MSC
/dev/input/event5
bustype : BUS_USB
vendor : 0x45e
product : 0x7cd
version : 273
name : "Microsoft Surface Keyboard Consu"
phys : "usb-0000:00:14.0-1.4/input0"
uniq : ""
bits ev : EV_SYN EV_KEY EV_REL EV_ABS EV_MSC
/dev/input/event6
bustype : BUS_USB
vendor : 0x45e
product : 0x7cd
version : 273
name : "Microsoft Surface Keyboard UNKNO"
phys : "usb-0000:00:14.0-1.4/input0"
uniq : ""
bits ev : EV_SYN EV_ABS
/dev/input/event7
bustype : BUS_USB
vendor : 0x45e
product : 0x7cd
version : 273
name : "Microsoft Surface Keyboard Touch"
phys : "usb-0000:00:14.0-1.4/input0"
uniq : ""
bits ev : EV_SYN EV_KEY EV_ABS
/dev/input/event8
bustype : BUS_USB
vendor : 0x45e
product : 0x7cd
version : 273
name : "Microsoft Surface Keyboard UNKNO"
phys : "usb-0000:00:14.0-1.4/input0"
uniq : ""
bits ev : EV_SYN EV_ABS
/dev/input/event9
bustype : BUS_USB
vendor : 0x45e
product : 0x7cd
version : 273
name : "Microsoft Surface Keyboard UNKNO"
phys : "usb-0000:00:14.0-1.4/input0"
uniq : ""
bits ev : EV_SYN EV_ABS
/dev/input/event10
bustype : BUS_USB
vendor : 0x45e
product : 0x7cd
version : 273
name : "Microsoft Surface Keyboard UNKNO"
phys : "usb-0000:00:14.0-1.4/input0"
uniq : ""
bits ev : EV_SYN EV_ABS
/dev/input/event11
bustype : BUS_USB
vendor : 0x45e
product : 0x7cd
version : 273
name : "Microsoft Surface Keyboard UNKNO"
phys : "usb-0000:00:14.0-1.4/input0"
uniq : ""
bits ev : EV_SYN EV_ABS
/dev/input/event12
bustype : BUS_USB
vendor : 0x45e
product : 0x7cd
version : 273
name : "Microsoft Surface Keyboard UNKNO"
phys : "usb-0000:00:14.0-1.4/input0"
uniq : ""
bits ev : EV_SYN EV_ABS
/dev/input/event13
bustype : BUS_USB
vendor : 0x45e
product : 0x7cd
version : 273
name : "Microsoft Surface Keyboard UNKNO"
phys : "usb-0000:00:14.0-1.4/input0"
uniq : ""
bits ev : EV_SYN EV_ABS
/dev/input/event14
bustype : BUS_USB
vendor : 0x45e
product : 0x7cd
version : 273
name : "Microsoft Surface Keyboard UNKNO"
phys : "usb-0000:00:14.0-1.4/input0"
uniq : ""
bits ev : EV_SYN EV_ABS
/dev/input/event15
bustype : BUS_USB
vendor : 0x45e
product : 0x7cd
version : 273
name : "Microsoft Surface Keyboard UNKNO"
phys : "usb-0000:00:14.0-1.4/input0"
uniq : ""
bits ev : EV_SYN EV_ABS
/dev/input/event16
bustype : BUS_USB
vendor : 0x45e
product : 0x7cd
version : 273
name : "Microsoft Surface Keyboard UNKNO"
phys : "usb-0000:00:14.0-1.4/input0"
uniq : ""
bits ev : EV_SYN EV_ABS
/dev/input/event17
bustype : BUS_USB
vendor : 0x45e
product : 0x7cd
version : 273
name : "Microsoft Surface Keyboard UNKNO"
phys : "usb-0000:00:14.0-1.4/input0"
uniq : ""
bits ev : EV_SYN EV_ABS
/dev/input/event18
bustype : BUS_USB
vendor : 0x45e
product : 0x7cd
version : 273
name : "Microsoft Surface Keyboard UNKNO"
phys : "usb-0000:00:14.0-1.4/input0"
uniq : ""
bits ev : EV_SYN EV_ABS
/dev/input/event19
bustype : BUS_USB
vendor : 0x45e
product : 0x7cd
version : 273
name : "Microsoft Surface Keyboard UNKNO"
phys : "usb-0000:00:14.0-1.4/input0"
uniq : ""
bits ev : EV_SYN EV_ABS
/dev/input/event20
bustype : BUS_USB
vendor : 0x45e
product : 0x7cd
version : 273
name : "Microsoft Surface Keyboard UNKNO"
phys : "usb-0000:00:14.0-1.4/input0"
uniq : ""
bits ev : EV_SYN EV_ABS
/dev/input/event21
bustype : (null)
vendor : 0x0
product : 0x0
version : 0
name : "HDA Intel PCH Mic"
phys : "ALSA"
bits ev : EV_SYN EV_SW
/dev/input/event22
bustype : (null)
vendor : 0x0
product : 0x0
version : 0
name : "HDA Intel PCH Headphone"
phys : "ALSA"
bits ev : EV_SYN EV_SW
/dev/input/event23
bustype : (null)
vendor : 0x0
product : 0x0
version : 0
name : "HDA Intel PCH HDMI/DP,pcm=3"
phys : "ALSA"
bits ev : EV_SYN EV_SW
/dev/input/event24
bustype : (null)
vendor : 0x0
product : 0x0
version : 0
name : "HDA Intel PCH HDMI/DP,pcm=7"
phys : "ALSA"
bits ev : EV_SYN EV_SW
/dev/input/event25
bustype : (null)
vendor : 0x0
product : 0x0
version : 0
name : "HDA Intel PCH HDMI/DP,pcm=8"
phys : "ALSA"
bits ev : EV_SYN EV_SW
/dev/input/event26
bustype : (null)
vendor : 0x0
product : 0x0
version : 0
name : "HDA Intel PCH HDMI/DP,pcm=9"
phys : "ALSA"
bits ev : EV_SYN EV_SW
/dev/input/event27
bustype : (null)
vendor : 0x0
product : 0x0
version : 0
name : "HDA Intel PCH HDMI/DP,pcm=10"
phys : "ALSA"
bits ev : EV_SYN EV_SW
/dev/input/event28
bustype : (null)
vendor : 0x1b96
product : 0x5e
version : 0
name : "ipts 1B96:005E UNKNOWN"
phys : "heci3"
uniq : ""
bits ev : EV_SYN EV_KEY EV_ABS EV_MSC
/dev/input/event29
bustype : (null)
vendor : 0x1b96
product : 0x5e
version : 0
name : "ipts 1B96:005E Pen"
phys : "heci3"
uniq : ""
bits ev : EV_SYN EV_KEY EV_ABS EV_MSC
/dev/input/event30
bustype : (null)
vendor : 0x1b96
product : 0x5e
version : 0
name : "ipts 1B96:005E"
phys : "heci3"
uniq : ""
bits ev : EV_SYN EV_KEY EV_ABS
/dev/input/event31
bustype : (null)
vendor : 0x1b96
product : 0x5e
version : 0
name : "ipts 1B96:005E Mouse"
phys : "heci3"
uniq : ""
bits ev : EV_SYN EV_KEY EV_REL EV_MSC
Hi,
I am using latest kernel 4.14, and the ipts firmware version 102 on "surface book 2, model 1703". But, i couldn't get multitouch to work on it. Even for single touch, i need to enable it manually using the "sudo echo 0 > /sys/kernel/...". when i switched echo to 1 single touch also stopped working.
I have also added udev rules as /etc/udev/rules.d/99-ipts.rules. Also, in the starting, kernel 4.14 was not booting in surface book 2. Then i used the solution from previous thread then it started booting.
Dmesg output:
dmes.txt
G'day there
Sleep doesn't seems to work on a Surface Book with 16.04LTS
Others seems fantastic except the camera are not supported yet
Good job getting the kernel work for Surface devices, it's always been a pain to install Linux on surface until this point.
Once in a while I lose touch and pen input. When this happens I can no longer switch to single touch mode (the command "echo 1 > /sys/kernel/debug/ipts/mode" hangs), and rotating the screen doesn't always work. Hibernating doesn't work.
Does someone have any advice? Can I reload a kernel module?
the touch screen will lost after use about 10 minutes
The guide suggests to overwrite the Marvell chip firmware files.
While correct, I suspect there is a problem with this when apt will find an update of the linux-firmware
package (that includes those files (dpkg -S /lib/firmware/mrvl/*.bin
)); likely, apt will find that there is a conflict, prompting the user with the choice of what to do.
I think it's worth confirming if this is the case, and documenting it, since it could be puzzling (and also, possibly inadvertly cause files overwriting).
Hey jakeday! Thank you for what you do! you are our hero.
You missed an "l" on line 36 of the apparmor patch in the word "dhclinet."
Also could you be so kind as to give a few instructions on how to change a surfacebook to multitouch mode. People on reddit seem to be confused too and trying to echo 1 into the ipts mode kinda crashes everything.
Everything is working nicely except there is no support for dGPU? I installed the NVIDIA binary driver 387 from software & updates and it works without using your kernel. After installing your kernel, nvidia-smi shows command not found?
I have both 4.12 and 4.13 series of kernels installed on my Surface Book. Wifi is good in the normal home environment. But it's not so good in my university, where the following configuration is used:
After booting, the Wifi cannot be automatically connected, manually connect does work, but after like 10 minutes it would drop the connection and you're not able to reconnect again.
Thanks for your works very much! Following your instructions, most of things work fine.However,once my SP4 is suspended,I have to wake up it by a USB keyboard,neither the type cover nor power button can resume it.In addition,Wi-fi doesn't work frequently after suspending or hibernation.
I tried your newest changes from last night, still no working pen here.
As requested, here is my dmesg output.
dmesg-output.txt
I found a sure-fire way to get the multitouch input to stop working.
To get touch input to work again rotate the screen.
Hi,
I am using v137 firmware in surface book 2. The touch hangs and eventually crashes after using for 1-2 mins in google maps.
Using the most current kernel, 4.14.4 that @jakeday released, Hibernation still will not work. All steps in the guide were followed perfectly, yet using either sudo systemctl hibernate
, pressing Suspend in the top right menu, clicking the power button and tapping Suspend, or simply shutting the type cover, all result in a full system hang and a black screen, requiring you to hold the power button for 10 seconds to force a full power down.
Using sudo pm-hibernate
results in hibernation, but the Surface will not power down, leaving it hanging on a black screen. When powered back on, the Surface will resume from hibernation, but WiFi is now completely missing, with NetworkManager reporting no "No WiFi capable devices found". If I restart or shutdown the Surface, the last line of text on the screen from systemd is Reached target Shutdown
or something similar, and the Surface will freeze, requiring a hard power off.
Dear @jakeday,
Thank you very much for your hard work. I was wondering if it could be possible for you to generate/maintain proper patch files ? It would then be much easier for me to apply them on the official Gentoo kernel images ?
Best,
Jérôme
I am running your linux 4.12 kernel on surface pro4, i got everything working i.e. single touch on screen, multi touch type cover, keyboard etc. But i could not get 2 fingers pinch to zoom on touchscreen to work.
I tried changing the mode to multitouch by:
echo 1 > /sys/kernel/debug/ipts/mode.
But my touchscreen stopped working from that.
I don't have this kernel installed, so I can't test it, but I'm very interested, in case it was supported.
Note: I can't unassign myself from the assignees list.
Everything else is pretty much perfect, but unfortunately power and volume buttons are still non functional.
I'm not entirely familiar with how they are implemented, but from what I can tell, they are supposed to be implemented as acpi buttons. However, when pressed, they do not do anything, no messages appear in dmesg, and nothing shows when running acpi_listen. I also tried evtest, which displays the device as Surface Pro 3/4/2017 Buttons, but no events appear there either.
The final part of the papparmor-fix-4.14.patch patch is:
diff --git a/apparmor.d/usr.sbin.cupsd b/apparmor.d/usr.sbin.cupsd
index e0c7e40..469e24f 100644
--- a/apparmor.d/usr.sbin.cupsd
+++ b/apparmor.d/usr.sbin.cupsd
@@ -42,6 +42,8 @@
network econet dgram,
network ash dgram,
+ network unix stream,
+
/bin/bash ixr,
/bin/dash ixr,
/bin/hostname ixr,
But the context is wrong, as my file has the following lines as context:
/{usr/,}bin/dash ixr,
/{usr/,}bin/bash ixr,
/{usr/,}bin/cp ixr,
Hi,
while the 4.12 kernel images load correctly on my surface book, the images of the 4.13 series completely fail to load. After grub loads the kernel the display stays black and nothing else happens.
Did you encounter this in your environment too?
BTW: This happens only on the "surface book". The same kernel works like a charm on the Surface Pro 4 Platform.
Model: surface book
System UEFI 90.1427.768
SAM Controller: 90.1610.256
IME: 11.0.15.1003
System Embedded Controller 90.1277.256
Thanks and Regards
Ulf
I've applied the apparmor patches, yet experience unpredictable wireless performance.
Half the time when I boot I'm incapable of connecting a network. Sometimes only insecure connections work. Other times, a secure connection works yet I cannot change to another one.
None of these problems happen running the Ubuntu 14.13.0-16-generic kernel.
The following is a sample dmesg output from the last time I booted the computer.
PART A: The machine connected to eduroam and works (as it is now) despite error messages.
PART B: Then I try to connect to the other encrypted network. Now no connection can be made.
PART C: NetworkManager struggles, maybe trying to reconnect to eduroam and fails.
PART D: I reload the mwifiex_pcie module and then kill and restart NetworkManager. This doesn't help and no network can be connect to hereafter.
PART A:
[ 7.280718] mwifiex_pcie 0000:02:00.0: info: MWIFIEX VERSION: mwifiex 1.0 (15.68.7.p77)
[ 7.280719] mwifiex_pcie 0000:02:00.0: driver_version = mwifiex 1.0 (15.68.7.p77)
[ 7.282873] mwifiex_pcie 0000:02:00.0 wlp2s0: renamed from mlan0
[ 7.383720] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
[ 7.383810] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
[ 7.383814] mwifiex_pcie 0000:02:00.0: overriding ps_mode to false
[ 7.387384] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
[ 7.387390] mwifiex_pcie 0000:02:00.0: overriding ps_mode to false
[ 7.433140] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
[ 10.320946] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
[ 10.320984] mwifiex_pcie 0000:02:00.0: overriding ps_mode to false
[ 10.603668] mwifiex_pcie 0000:02:00.0: overriding ps_mode to false
[ 10.644678] mwifiex_pcie 0000:02:00.0: info: trying to associate to 'eduroam' bssid 6c:aa:b3:5f:1a:fc
[ 10.728482] mwifiex_pcie 0000:02:00.0: info: associated to bssid 6c:aa:b3:5f:1a:fc successfully
[ 10.728509] IPv6: ADDRCONF(NETDEV_CHANGE): wlp2s0: link becomes ready
[ 21.771258] rfkill: input handler disabled
[ 21.976029] Bluetooth: RFCOMM TTY layer initialized
[ 21.976036] Bluetooth: RFCOMM socket layer initialized
[ 21.976041] Bluetooth: RFCOMM ver 1.11
PART B:
[ 115.258906] mwifiex_pcie 0000:02:00.0: info: successfully disconnected from 6c:aa:b3:5f:1a:fc: reason code 3
[ 115.272390] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
[ 115.272395] mwifiex_pcie 0000:02:00.0: overriding ps_mode to false
[ 115.305328] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
[ 115.305333] mwifiex_pcie 0000:02:00.0: overriding ps_mode to false
PART C:
[ 141.005818] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
[ 141.006734] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
[ 141.006739] mwifiex_pcie 0000:02:00.0: overriding ps_mode to false
[ 141.035994] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
[ 141.036002] mwifiex_pcie 0000:02:00.0: overriding ps_mode to false
[ 166.007495] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
[ 166.008904] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
[ 166.008912] mwifiex_pcie 0000:02:00.0: overriding ps_mode to false
[ 166.038354] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
[ 166.038359] mwifiex_pcie 0000:02:00.0: overriding ps_mode to false
[ 174.742577] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
[ 174.743668] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
[ 174.743673] mwifiex_pcie 0000:02:00.0: overriding ps_mode to false
[ 174.751718] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
[ 174.751728] mwifiex_pcie 0000:02:00.0: overriding ps_mode to false
PART D:
[ 196.481750] mwifiex_pcie 0000:02:00.0: info: shutdown mwifiex...
[ 196.482250] mwifiex_pcie 0000:02:00.0: PREP_CMD: card is removed
[ 196.482257] mwifiex_pcie 0000:02:00.0: PREP_CMD: card is removed
[ 197.663293] mwifiex_pcie: try set_consistent_dma_mask(32)
[ 197.663396] mwifiex_pcie: PCI memory map Virt0: ffffb3d381b00000 PCI memory map Virt2: ffffb3d384200000
[ 197.664640] mwifiex_pcie 0000:02:00.0: WLAN FW already running! Skip FW dnld
[ 197.664641] mwifiex_pcie 0000:02:00.0: WLAN FW is active
[ 197.772363] mwifiex_pcie 0000:02:00.0: info: MWIFIEX VERSION: mwifiex 1.0 (15.68.7.p77)
[ 197.772372] mwifiex_pcie 0000:02:00.0: driver_version = mwifiex 1.0 (15.68.7.p77)
[ 197.782586] mwifiex_pcie 0000:02:00.0 wlp2s0: renamed from mlan0
[ 197.830119] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
[ 197.830256] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
[ 197.830262] mwifiex_pcie 0000:02:00.0: overriding ps_mode to false
[ 197.835033] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
[ 197.835039] mwifiex_pcie 0000:02:00.0: overriding ps_mode to false
[ 197.903675] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
[ 200.198525] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
[ 200.198769] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
[ 200.198774] mwifiex_pcie 0000:02:00.0: overriding ps_mode to false
[ 200.204267] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
[ 200.204270] mwifiex_pcie 0000:02:00.0: overriding ps_mode to false
[ 200.375430] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
After trying the latest 4.14-rc8 kernel, I still have no pen support.
I've added the udev rules for the different devices in the 2017 version:
% diff 99-ipts.rules /etc/udev/rules.d/99-ipts.rules
17a18,27
>
> # IPTS Touchscreen (SP2017)
> SUBSYSTEMS=="input", ATTRS{name}=="ipts 1B96:001F", ENV{ID_INPUT_TOUCHSCREEN}="1", SYMLINK+="input/touchscreen"
>
> # IPTS Touchscreen (SP2017)
> SUBSYSTEMS=="input", ATTRS{name}=="ipts 1B96:001F UNKNOWN", ENV{ID_INPUT_TOUCHSCREEN}="1", SYMLINK+="input/touchscreen"
>
> # IPTS Pen (SP2017)
> SUBSYSTEMS=="input", ATTRS{name}=="ipts 1B96:001F Pen", SYMLINK+="input/pen"
But evtest still gives me nothing:
% evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0: Lid Switch
/dev/input/event1: Video Bus
/dev/input/event2: Microsoft Microsoft® 2.4GHz Transceiver v9.0
/dev/input/event3: Microsoft Microsoft® 2.4GHz Transceiver v9.0
/dev/input/event4: Microsoft Microsoft® 2.4GHz Transceiver v9.0
/dev/input/event5: Surface Pro 3/4 Buttons
/dev/input/event6: Microsoft Surface Type Cover Keyboard
/dev/input/event7: Microsoft Surface Type Cover Mouse
/dev/input/event8: Microsoft Surface Type Cover Consumer Control
/dev/input/event9: Microsoft Surface Type Cover Touchpad
/dev/input/event10: HDA Intel PCH Mic
/dev/input/event11: HDA Intel PCH Headphone
/dev/input/event12: HDA Intel PCH HDMI/DP,pcm=3
/dev/input/event13: HDA Intel PCH HDMI/DP,pcm=7
/dev/input/event14: HDA Intel PCH HDMI/DP,pcm=8
/dev/input/event15: HDA Intel PCH HDMI/DP,pcm=9
/dev/input/event16: HDA Intel PCH HDMI/DP,pcm=10
/dev/input/event17: ipts 1B96:001F UNKNOWN
/dev/input/event18: ipts 1B96:001F Pen
/dev/input/event19: ipts 1B96:001F
/dev/input/event20: ipts 1B96:001F Mouse
/dev/input/event21: Surface Pen
Select the device event number [0-21]: 18
Input driver version is 1.0.1
Input device ID: bus 0x44 vendor 0x1b96 product 0x1f version 0x0
Input device name: "ipts 1B96:001F Pen"
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 256 (BTN_0)
Event code 320 (BTN_TOOL_PEN)
Event code 321 (BTN_TOOL_RUBBER)
Event code 330 (BTN_TOUCH)
Event code 331 (BTN_STYLUS)
Event type 3 (EV_ABS)
Event code 0 (ABS_X)
Value 0
Min 0
Max 9600
Resolution 34
Event code 1 (ABS_Y)
Value 0
Min 0
Max 7200
Resolution 38
Event code 24 (ABS_PRESSURE)
Value 0
Min 0
Max 1024
Event type 4 (EV_MSC)
Event code 4 (MSC_SCAN)
Properties:
Testing ... (interrupt to exit)
Thank you very much for this great kernel.
As far as I know everything is working as described on my SP4 i5 2016 and linux artul 2017
I do not know if this is the good place for this question:
anbox allow to run android app on linux. When I tried to install it I get the following :
What do you want to do?
1. Install Anbox
2. Uninstall Anbox
Please enter your choice [1-2]:
1
This is the installer for the anbox runtime environment. It will
install certain things on your system to ensure all requirements
are available for anbox to work correctly.
In summary we will install the following things:
* Add the anbox-support ppa ppa:morphis/anbox-support to the
host system
* Install the anbox-modules-dkms deb package from the ppa
which will add kernel modules for ashmem and binder which are
required for the Android container to work.
* Configure binder and ashmem kernel modules to be loaded
automatically on boot.
* Install the anbox-common package from the ppa which will
- Add an upstart job for the current user laurent which will
start the anbox runtime on login.
- Add a X11 session configuration file to allow the system
application launcher (Unity7, Gnome Shell, ..) to find
available Android applications.
Please type 'I AGREE' followed by pressing ENTER to continue
or type anything else to abort:
I AGREE
Starting installation process ...
+ sudo add-apt-repository -y ppa:morphis/anbox-support
gpg: le trousseau local « /tmp/tmprd1src4b/pubring.gpg » a été créé
gpg: /tmp/tmprd1src4b/trustdb.gpg : base de confiance créée
gpg: clef 21C6044A875B67B7 : clef publique « Launchpad PPA for morphis » importée
gpg: Quantité totale traitée : 1
gpg: importées : 1
OK
+ sudo apt update
Atteint:1 http://ppa.launchpad.net/morphis/anbox-support/ubuntu artful InRelease
Atteint:2 http://fr.archive.ubuntu.com/ubuntu artful InRelease
Réception de:3 http://security.ubuntu.com/ubuntu artful-security InRelease [78,6 kB]
Atteint:4 http://fr.archive.ubuntu.com/ubuntu artful-updates InRelease
Ign:5 http://dl.google.com/linux/chrome/deb stable InRelease
Atteint:6 http://fr.archive.ubuntu.com/ubuntu artful-backports InRelease
Atteint:7 http://dl.google.com/linux/chrome/deb stable Release
Atteint:8 https://download.docker.com/linux/ubuntu artful InRelease
Atteint:10 https://download.sublimetext.com apt/stable/ InRelease
78,6 ko réceptionnés en 0s (89,5 ko/s)
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
71 paquets peuvent être mis à jour. Utilisez « apt list --upgradable » pour les voir.
+ sudo apt install -y anbox-common
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
anbox-common est déjà la version la plus récente (9).
0 mis à jour, 0 nouvellement installés, 0 à enlever et 71 non mis à jour.
+ '[' -c /dev/binder ']'
+ sudo apt install -y linux-headers-generic anbox-modules-dkms
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
linux-headers-generic est déjà la version la plus récente (4.13.0.16.17).
anbox-modules-dkms est déjà la version la plus récente (9).
0 mis à jour, 0 nouvellement installés, 0 à enlever et 71 non mis à jour.
+ sudo modprobe binder_linux
modprobe: FATAL: Module binder_linux not found in directory /lib/modules/4.14.0-jakeday-surface
+ cleanup
+ local err=1
+ trap - EXIT
+ echo 'ERROR: Installation failed. Removing all parts of Anbox again.'
ERROR: Installation failed. Removing all parts of Anbox again.
+ uninstall
+ set -x
+ sudo snap remove anbox
snap "anbox" is not installed
+ '[' -e /etc/apt/sources.list.d/morphis-ubuntu-anbox-support-xenial.list ']'
+ set +x
I am wondering if anyone could help me for this issue.
Cheers
This is to report that in Ubuntu 17.10 there are different locations for the systemd files.
So in the documentation where it says "Fix issue with Suspend to Disk:"
we need
sudo ln -s /lib/systemd/system/hibernate.target /etc/systemd/system/suspend.target
ans
sudo ln -s /lib/systemd/system/systemd-hibernate.service /etc/systemd/system/systemd-suspend.service
Hello. The issue with Virtual Box seems to be solved (#33), but reconfigure still fails while running check_module_dependencies.sh (check_module_dependencies.log).
It seems caused by some links setup on kernel installation on /lib/modules/4.14.2-jakeday-surface :
build -> /home/jake/ipts/build/kernel
source -> /home/jake/ipts/build/kernel
Not every time hibernation works, sometimes it hangs - I am on Linux Ubuntu 17.10, SP4 I3. And after rebooting, hibernation works but wifi does not!! But I got it working, just like I had it before using kernel 4.4.39, with this script:
#!/bin/sh
case $1/$2 in
pre/*)
systemctl stop NetworkManager.service
rmmod intel_ipts
rmmod mei_me
rmmod mei
rmmod mwifiex_pcie
rmmod mwifiex
echo 1 > /sys/bus/pci/devices/0000\:02\:00.0/reset
;;
post/*)
modprobe mei
modprobe mei_me
echo 1 > /sys/bus/pci/devices/0000\:02\:00.0/reset
modprobe mwifiex
modprobe mwifiex_pcie
systemctl start NetworkManager.service
;;
esac
~~~~
Great kernel!! Thank you.
Thanks again jakeday for your work, making my surface finally usable on linux. Hibernate is very important to me with my mobile computing lifestyle, and this is one of the big reasons why the kernel is so important for me.
I updated to the 4.14.2 kernel (uploaded on Nov. 27) a couple of days ago and since then have had issues shutting down the computer with sudo systemctl hibernate
. What happens is that the machine hangs while shutting down so I have to hold the button for 15 seconds. Often, upon boot it turns out that the previous state is recovered. So hibernate "works" sometimes but the shutdown process always hangs. I was not experiencing this with the 4.14.0 kernel.
The reason I use sudo systemctl hibernate
is because, upon update of the kernel the button for suspend in Gnome shell disappeared. It seems as though Gnome shell knows something is wrong.
I confirmed that all my links are in place:
=> ll /lib/systemd/system-sleep/hibernate.sh
-rwxr-xr-x 1 root root 435 Nov 30 20:39 /lib/systemd/system-sleep/hibernate.sh*
=> ll /etc/systemd/system/suspend.target
lrwxrwxrwx 1 root root 36 Nov 6 16:18 /etc/systemd/system/suspend.target -> /lib/systemd/system/hibernate.target
=> ll /etc/systemd/system/systemd-suspend.service
lrwxrwxrwx 1 root root 45 Nov 6 16:20 /etc/systemd/system/systemd-suspend.service -> /lib/systemd/system/systemd-hibernate.service
Unfortunately, I deleted the packages for the 4.14.0 kernel. Someone wouldn't happen to have them laying around would they?
First of all thank you for all your work. This is definitely the best kernel I had be running on my Surface Pro 4 for now.
There is only one issue: I can't run VirtualBox on it. I'm using Ubuntu 17.10 and VirtualBox straight from the oracle ppa. After I installed your kernel I tried to run sudo dpkg-reconfigure virtualbox-5.2
which reported:
This system is currently not set up to build kernel modules.
Please install the Linux kernel "header" files matching the current kernel
for adding new hardware support to the system.
But according to sudo apt-get install linux-headers-`uname -r`
linux-headers-4.14.0-jakeday-surface is installed.
Do you have any hint for me to solve that issue?
Cheers,
Martin
I installed your kernel and it is functioning well but I am still not able to get Linux to see the monitor I have connected to my surface dock. All the other things connected to the dock works just fine. I see that in your know issues that the dedicated GPU in the performance base is not functioning. Do you know if this is why the system does not see monitors connected to the dock? Do you happen to know if there is any work around to get the monitor to work through the Intel GPU?
Hi Jake,
First of all, love the kernel, it saved me from running the SP4 with cheapo 2.4ghz-only wifi card occupying the only USB port - I can now use the built-in wifi without any issues. Thanks!
That being said, the issue I'm experiencing now (compared to a kernel I used before) is that the touch behaves as if I was using the mouse to click around, so to speak. SIngle-touch instead of expected 10 finger multi-touch. Two instances where I can notice it:
Running Ubuntu 16.04 on SP4 m3. The previous kernel was fridgecow's 4.8 based version.
Thanks!
When I remove my type cover, it won't work after it's reattached. The keyboard and mouse are both unresponsive and the lights don't illuminate either. I've included the dmesg log below--I assume most of the relevant stuff is at the bottom but let me know if you need more info.
I wanted to ask something that I consider relevant to install Linux in the Surface.
Which version of Ubuntu do you use to make an installation from scratch? I'm trying to install Kubuntu 17.10 but it doesn't start the live. I've been looking and it seems that there is some kind of problem with the latest versions of Kernel and Surface Pro 4.
I remember that I had no problem installing version 16 LTS and updating it later, but I would like to install the most current version directly.
Translated with www.DeepL.com/Translator
I'm running Linux Mint 18.2 on a Surface Pro 4.
I just installed the 4.14.0-rc7 kernel and followed all your instructions from the readme, and although the touchscreen works, I cannot seem to get my surface pen to work. I tried the command "sudo echo 1 > /sys/kernel/debug/ipts/mode" to enable multi-touch, as inferred from discussions at https://www.reddit.com/r/SurfaceLinux/comments/6tbnqx/jakedays_kernel_for_surface_bookpro_4, which successfully modified the file /sys/kernel/debug/ipts/mode, but as soon as I execute the command, both touchscreen and the surface pen don't work. The computer also hangs if I try to restart or shut down after doing this. The next time it reboots, /sys/kernel/debug/ipts/mode is reverted back to 0.
Any ideas what I may be doing wrong here? I also have cantenna's superkerneltouch+ kernel installed and my surface pen works just fine with it.
Thanks again for all your work. It's making my surface pro 4 actually FUN TO USE with Linux!
You uploaded ubuntu .deb packages last night to https://goo.gl/QSZCwq.
They were supposed to include multi touch fixes from Nov. 8.
They don't appear to work on my machine after uninstalling your previous .debs and replacing them with the new ones. The new kernel acts exactly as the previous one did; with echo 0 > /sys/kernel/debug/ipts/mode
I have a kernel with nice single touch and no pen, while with echo 1 > /sys/kernel/debug/ipts/mode
I have no touch but the pen works.
One unexpected thing I noticed: the new .deb have exactly the same name as the others, despite being uploaded last night. Is this expected?
Please let me know if I can give you any debug information.
Also I've tried to compile the kernel in FC26 but I get this error
MAybe I'm doing somethig wrong because I've never compile kernel before
Hi jakeday thank you for adding multitouch. It's basically perfect now! Only problem is that now ive been experiencing wifi slowdowns after about half an hour of use. I go from 160-200 mbps to 0.04 mbps :(
I sometimes goes back to normal after re-clicking on the wifi network or by restarting Network Manger. Sometimes though a restart is the only way to fix it..
This is my dmesg report which just prints this for ever and ever. I don't know what to make of it... I'm running ubuntu 17.10.
[ 7745.155040] >> == DB s:1, c:a ==
[ 7745.155043] >> == WQ h:160, t:160 ==
[ 7748.227224] >> tdt : fw status : 8180505D 000A0000 000B000B 00000000 00000000 00000000
Also when it gets really bad ubuntu starts to get slow too. Memory leak???
Hi i installed your kernel and it's wonderful, only problem is that the wifi is still unstable in my schools enterprise network. I lose connection anywhere from 2 min to 20 min after boot. I haven't found any kernel past 4.9 that is stable in this wifi environment, is there any way to magically port all your edits to a 4.9 kernel?
Here's my dmesg report. Lotta red :(((
[ 6.676868] audit: type=1400 audit(1508718894.063:9): apparmor="STATUS" operation="profile_load" name="/usr/lib/lightdm/lightdm-guest-session" pid=654 comm="apparmor_parser"
[ 6.676995] audit: type=1400 audit(1508718894.063:10): apparmor="STATUS" operation="profile_load" name="/usr/lib/lightdm/lightdm-guest-session//chromium" pid=654 comm="apparmor_parser"
[ 6.690739] audit: type=1400 audit(1508718894.079:11): apparmor="STATUS" operation="profile_load" name="/sbin/dhclient" pid=652 comm="apparmor_parser"
[ 7.199167] mwifiex_pcie 0000:03:00.0: info: FW download over, size 820212 bytes
[ 7.641070] i2c_hid i2c-MSHW0030:00: error in i2c_hid_init_report size:63 / ret_size:0
[ 7.643186] i2c_hid i2c-MSHW0030:00: error in i2c_hid_init_report size:63 / ret_size:0
[ 7.644030] i2c_hid i2c-MSHW0030:00: error in i2c_hid_init_report size:19 / ret_size:0
[ 7.644871] i2c_hid i2c-MSHW0030:00: error in i2c_hid_init_report size:19 / ret_size:63
[ 7.645712] i2c_hid i2c-MSHW0030:00: error in i2c_hid_init_report size:19 / ret_size:7
[ 7.647056] i2c_hid i2c-MSHW0030:00: error in i2c_hid_init_report size:19 / ret_size:12
[ 7.647905] i2c_hid i2c-MSHW0030:00: error in i2c_hid_init_report size:19 / ret_size:0
[ 7.648748] i2c_hid i2c-MSHW0030:00: error in i2c_hid_init_report size:19 / ret_size:0
[ 7.649592] i2c_hid i2c-MSHW0030:00: error in i2c_hid_init_report size:19 / ret_size:4
[ 7.651143] i2c_hid i2c-MSHW0030:00: error in i2c_hid_init_report size:19 / ret_size:15
[ 7.827027] input: Microsoft Surface Keyboard Keyboard as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.4/1-1.4:1.0/0003:045E:07CD.0001/input/input8
[ 7.886637] input: Microsoft Surface Keyboard Consumer Control as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.4/1-1.4:1.0/0003:045E:07CD.0001/input/input9
[ 7.886776] input: Microsoft Surface Keyboard Touchpad as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.4/1-1.4:1.0/0003:045E:07CD.0001/input/input10
[ 7.886984] input: Microsoft Surface Keyboard Keyboard as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.4/1-1.4:1.0/0003:045E:07CD.0001/input/input11
[ 7.887145] hid-multitouch 0003:045E:07CD.0001: input,hiddev0,hidraw0: USB HID v1.11 Keyboard [Microsoft Surface Keyboard] on usb-0000:00:14.0-1.4/input0
[ 7.950382] usb 1-6: new high-speed USB device number 4 using xhci_hcd
[ 8.091444] usb 1-6: New USB device found, idVendor=1286, idProduct=204c
[ 8.091446] usb 1-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 8.091448] usb 1-6: Product: Bluetooth and Wireless LAN Composite Device
[ 8.091449] usb 1-6: Manufacturer: Marvell
[ 8.091450] usb 1-6: SerialNumber: 0000000000000000
[ 8.162541] mwifiex_pcie 0000:03:00.0: WLAN FW is active
[ 8.257052] mwifiex_pcie 0000:03:00.0: CMD_RESP: cmd 0x242 error, result=0x2
[ 8.257055] mwifiex_pcie 0000:03:00.0: mwifiex_process_cmdresp: cmd 0x242 failed during initialization
[ 8.280997] mwifiex_pcie 0000:03:00.0: info: MWIFIEX VERSION: mwifiex 1.0 (15.68.7.p77)
[ 8.280998] mwifiex_pcie 0000:03:00.0: driver_version = mwifiex 1.0 (15.68.7.p77)
[ 8.282164] mwifiex_pcie 0000:03:00.0 wlp3s0: renamed from mlan0
[ 9.566231] IPv6: ADDRCONF(NETDEV_UP): wlp3s0: link is not ready
[ 9.566295] IPv6: ADDRCONF(NETDEV_UP): wlp3s0: link is not ready
[ 9.660662] IPv6: ADDRCONF(NETDEV_UP): wlp3s0: link is not ready
[ 13.009793] snd_hda_intel 0000:00:1f.3: IRQ timing workaround is activated for card #0. Suggest a bigger bdl_pos_adj.
[ 27.324034] Could not find key with description: [31247f41b8b43385]
[ 27.324038] process_request_key_err: No key
[ 27.324038] Could not find valid key in user session keyring for sig specified in mount option: [31247f41b8b43385]
[ 27.324040] One or more global auth toks could not properly register; rc = [-2]
[ 27.324042] Error parsing options; rc = [-2]
[ 29.133573] mwifiex_pcie 0000:03:00.0: info: trying to associate to 'eduroam' bssid
Dear @jakeday,
I compiled your sources (4.14-r6) for my surface book on Gentoo and unfortunately my touch screen (nor the Pen) is not working. I see this in my dmesg logs:
[root:/home/jerome] 130 # dmesg |grep 3e8d0870-271a-4208-8eb5-9acb9402ae04
[ 3.687533] ipts mei::3e8d0870-271a-4208-8eb5-9acb9402ae04:0A: ipts_hid_parse() start
[ 3.693791] ipts mei::3e8d0870-271a-4208-8eb5-9acb9402ae04:0A: hid size = 2732
[ 3.696192] DMAR: Allocating domain for mei::3e8d0870-271a-4208-8eb5-9acb9402ae04:0A failed
[ 3.696195] ipts mei::3e8d0870-271a-4208-8eb5-9acb9402ae04:0A: cannot allocate common resource
[ 3.696196] ipts mei::3e8d0870-271a-4208-8eb5-9acb9402ae04:0A: error in handling resp msg
[ 3.762209] ipts mei::3e8d0870-271a-4208-8eb5-9acb9402ae04:0A: hid raw request => report 2, request 1
[ 3.762213] ipts mei::3e8d0870-271a-4208-8eb5-9acb9402ae04:0A: hid raw request => report 2, request 1
[ 3.762214] ipts mei::3e8d0870-271a-4208-8eb5-9acb9402ae04:0A: hid raw request => report 2, request 1
[ 3.762657] input: ipts 1B96:005E UNKNOWN as /devices/pci0000:00/0000:00:16.4/mei::3e8d0870-271a-4208-8eb5-9acb9402ae04:0A/0044:1B96:005E.0003/input/input30
[ 3.762787] input: ipts 1B96:005E Pen as /devices/pci0000:00/0000:00:16.4/mei::3e8d0870-271a-4208-8eb5-9acb9402ae04:0A/0044:1B96:005E.0003/input/input41
[ 3.762855] input: ipts 1B96:005E as /devices/pci0000:00/0000:00:16.4/mei::3e8d0870-271a-4208-8eb5-9acb9402ae04:0A/0044:1B96:005E.0003/input/input42
[ 3.762914] input: ipts 1B96:005E Mouse as /devices/pci0000:00/0000:00:16.4/mei::3e8d0870-271a-4208-8eb5-9acb9402ae04:0A/0044:1B96:005E.0003/input/input43
I managed to get it working previously with a previous version but I do not remember which one exactly so I guess that the firmware is properly installed:
[root:/home/jerome] 130 # tree /lib/firmware/intel/ipts/
/lib/firmware/intel/ipts/
├── config.bin -> SurfaceTouchServicingSFTConfigMSHW0076.bin
├── iaPreciseTouchDescriptor.bin
├── intel_desc.bin -> iaPreciseTouchDescriptor.bin
├── ipts_fw_config.bin
├── SurfaceTouchServicingDescriptorMSHW0076.bin
├── SurfaceTouchServicingKernelSKLMSHW0076.bin
├── SurfaceTouchServicingSFTConfigMSHW0076.bin
├── vendor_desc.bin -> SurfaceTouchServicingDescriptorMSHW0076.bin
└── vendor_kernel.bin -> SurfaceTouchServicingKernelSKLMSHW0076.bin
If it could help, here is the list of input devices:
[root:/home/jerome] # libinput-list-devices
Device: Video Bus
Kernel: /dev/input/event2
Group: 1
Seat: seat0, default
Capabilities: keyboard
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: Surface Pro 3/4 Buttons
Kernel: /dev/input/event1
Group: 2
Seat: seat0, default
Capabilities: keyboard
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: Lid Switch
Kernel: /dev/input/event0
Group: 3
Seat: seat0, default
Capabilities:
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: Microsoft Surface Keyboard Keyboard
Kernel: /dev/input/event3
Group: 4
Seat: seat0, default
Capabilities: keyboard
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: Microsoft Surface Keyboard Mouse
Kernel: /dev/input/event11
Group: 4
Seat: seat0, default
Capabilities: pointer
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: disabled
Nat.scrolling: disabled
Middle emulation: disabled
Calibration: n/a
Scroll methods: button
Click methods: none
Disable-w-typing: n/a
Accel profiles: flat *adaptive
Rotation: n/a
Device: Microsoft Surface Keyboard Consumer Control
Kernel: /dev/input/event12
Group: 4
Seat: seat0, default
Capabilities: keyboard pointer
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: disabled
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: Microsoft Surface Keyboard Touchpad
Kernel: /dev/input/event14
Group: 4
Seat: seat0, default
Size: 101x66mm
Capabilities: pointer
Tap-to-click: disabled
Tap-and-drag: enabled
Tap drag lock: disabled
Left-handed: disabled
Nat.scrolling: disabled
Middle emulation: disabled
Calibration: n/a
Scroll methods: *two-finger edge
Click methods: *button-areas clickfinger
Disable-w-typing: n/a
Accel profiles: none
Rotation: n/a
Device: Bluetooth Mouse M557
Kernel: /dev/input/event257
Group: 5
Seat: seat0, default
Capabilities: keyboard pointer
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: disabled
Nat.scrolling: disabled
Middle emulation: disabled
Calibration: n/a
Scroll methods: button
Click methods: none
Disable-w-typing: n/a
Accel profiles: flat *adaptive
Rotation: n/a
Device: ipts 1B96:005E UNKNOWN
Kernel: /dev/input/event28
Group: 6
Seat: seat0, default
Size: 293x165mm
Capabilities: touch
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: identity matrix
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: ipts 1B96:005E Pen
Kernel: /dev/input/event29
Group: 6
Seat: seat0, default
Size: 282x189mm
Capabilities: tablet
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: none
Rotation: n/a
Device: ipts 1B96:005E
Kernel: /dev/input/event30
Group: 6
Seat: seat0, default
Size: 282x189mm
Capabilities: touch
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: identity matrix
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: ipts 1B96:005E Mouse
Kernel: /dev/input/event31
Group: 6
Seat: seat0, default
Capabilities: pointer
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: disabled
Nat.scrolling: disabled
Middle emulation: n/a
Calibration: n/a
Scroll methods: button
Click methods: none
Disable-w-typing: n/a
Accel profiles: flat *adaptive
Rotation: n/a
Device: HDA Intel PCH Mic
Kernel: /dev/input/event4
Group: 7
Seat: seat0, default
Capabilities:
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: HDA Intel PCH Headphone
Kernel: /dev/input/event5
Group: 7
Seat: seat0, default
Capabilities:
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: HDA Intel PCH HDMI/DP,pcm=3
Kernel: /dev/input/event6
Group: 7
Seat: seat0, default
Capabilities:
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: HDA Intel PCH HDMI/DP,pcm=7
Kernel: /dev/input/event7
Group: 7
Seat: seat0, default
Capabilities:
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: HDA Intel PCH HDMI/DP,pcm=8
Kernel: /dev/input/event8
Group: 7
Seat: seat0, default
Capabilities:
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: HDA Intel PCH HDMI/DP,pcm=9
Kernel: /dev/input/event9
Group: 7
Seat: seat0, default
Capabilities:
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: HDA Intel PCH HDMI/DP,pcm=10
Kernel: /dev/input/event10
Group: 7
Seat: seat0, default
Capabilities:
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Do you have an idea of what could be the problem please ?
Best,
Jerome
My WiFi was not connecting so I applied the apparmor-fix-4.14 patch. It did not apply cleanly, but WiFi is now working. Please see attached files.
Hi, thanks so much for putting together this kernel! I installed it just now and everything was great, but after rebooting my wifi no longer works. It offers me a list of networks to connect to, but then it says "network is no longer connected" and gives up attempting to connect. In addition, when I click on a new network and it prompts me for a password, my type cover (surface pro 4) stops working (mouse and keyboard) until I reboot.
Any help would be greatly appreciated!
Thanks
Unable to get any battery or power reading. Upower gives battery-missing-symbolic. No battery power options in Ubuntu settings. Any fixes on this?
Hi jakeday,
Really thanks for your work!!
I installed the kernel according to your instruction. Solved my wifi problem which was quite annoying before. The touch screen also works, but anytime I touch the screen, the keyboard pops up. Do you have any idea have to stop the touch screen from popping up or better idea to solve it?
Hi there,
I was using 4.12.10 kernel and the touch functionality was fine. After I install the new kernel and sudo cp -R root/* /
, I lost the touch support.
Thanks for your work!
Hi, i just installed your kernel and it works way better than I ever thought it could! Nice work :) Only problem is that I can't use two finger scrolling on the touchpad anymore or two finger right click. Is there any way to regain this by somehow installing the touchpad driver again? Also, does this have multitouch functionaltiy because i'm only getting one touch right now - not that big of a deal really. I'm using ubuntu 17.10 (unity) on the original surface book. Thanks!
I've done this before so I believe I'm doing it correctly. The installation goes well but when I go to boot the kernel for the first time I get stuck at Loading initial Ramdisk... Usually I would try to figure it out on my own but Google yields very little that helped and my Linux skills are low. I tried various tags like verbose and removing quiet with no fixes, I reinstalled, and attempted to rebuild the initrd among other things. If you need files from me, please let me know I just want to get this fixed so it can also help others who have this problem.
Execute: synclient HorizTwoFingerScroll=1
See here: https://askubuntu.com/questions/973484/re-enable-horizontal-scrolling-in-ubuntu-17-10
Thanks for compiling this kernel for us!
I'm wondering how to enable multi-touch so that the pen works.
Thanks again.
Thanks for all the great work you have done here.
Everything works pretty good now. I only experienced on issue. When I use my Surface Book as a Tablet and rotate it, for example i rotate 90°, then when I use the pen, the pointer isn't there where the pen is. If I move the pen left, then the pointer moves down and if I move the pen down, the pointer moves right. Same problem exists however i turn the tablet. It looks like there is just one standard coordinate system in use.
The other problem occurs, when i connect my docking-station with two monitors connected to it. On the left i have my Surface Book and in the middle and right, two screens. All screen words but when I try to use the pen, then the pointer moves all over the three screens. For example if i place the pen in the center of my Surface Book, then the pointer is in the center of my middle monitor. So the input of the pen is placed all over the three screens. If i put the pen on the right of my Surface Book, the pointer is on the right edge of my right screen.
Is there a possibility to fix that? I would really appreciate that, cause i'd like to work with the pen while connected to my docking-station. Do you need some more informations?
Thanks
I'm sorry to report this issue but I've tried the .deb kernel and touch start to work but no the keyboard, If I could het you in any way, pls tell me!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.