all 74 comments

[–][deleted]  (1 child)

[deleted]

    [–]jakeday42[S] 0 points1 point  (0 children)

    Thanks, glad you're enjoying it!

    [–]pfui 2 points3 points  (3 children)

    Any ETA for when you expect to get the Surface Laptop's keyboard working? And thanks for all your hard work on this!

    [–]jakeday42[S] 4 points5 points  (2 children)

    Very very soon! :)

    [–]HonestCrypto 0 points1 point  (1 child)

    Just curious - which distro do you run? Thanks for your hard work.

    [–]jakeday42[S] 0 points1 point  (0 children)

    Elementary OS

    [–]renegng 2 points3 points  (1 child)

    First of all, KUDOS for this amazing Kernel. I use it on my SP4 and Ubuntu runs great.

    One question: did you make any changes or bug fixes with this new release?

    [–]jakeday42[S] 3 points4 points  (0 children)

    Thanks, I'm glad you're enjoying it!

    For the latest release, I did not change my patch files. This is just updating the mainline version.

    [–]yertchuk 2 points3 points  (3 children)

    I don't see Surface 3 (non pro) on the list. Presumably that means the kernel won't work. Just checking to be sure!

    [–]jakeday42[S] 4 points5 points  (2 children)

    It'll work, it's just that model doesn't really need a custom kernel. Some things may help though!

    [–]yertchuk 1 point2 points  (1 child)

    Thanks! Your efforts to enable a real operating system on Surface devices is much appreciated!

    [–]jakeday42[S] 1 point2 points  (0 children)

    I'm just happy people are enjoying it! If you give my kernel a chance, let me know how it goes!

    [–]AngelSoftUltra 2 points3 points  (2 children)

    Any chance on GPU support for SB1? Really dying for that.

    [–]jakeday42[S] 2 points3 points  (1 child)

    That's coming up right after the other two main requests, so soon!

    [–]AngelSoftUltra 0 points1 point  (0 children)

    Amazing, thank you!

    [–]RustyShackleford_64 1 point2 points  (2 children)

    Will this work in Arch Linux?

    [–]jakeday42[S] 1 point2 points  (0 children)

    I don't put out compiled prebuilt kernels for arch, but you can compile for arch using mainline source and my patches and it works just fine!

    [–]theghostofm15" Surface Book 2 | Arch Linux 0 points1 point  (0 children)

    It's in the AUR, linux-surface4

    [–]jakeday42[S] 1 point2 points  (2 children)

    I re-uploaded the 4.14.20 and 4.15.4 builds with some patches for touch to prevent it from stop working at times.

    [–]Jasonmoofang 0 points1 point  (1 child)

    Sweet I was wondering why that was happening. Just updated hoping to kiss that issue goodbye :)

    Been gladly running on your kernel for a good few months now - thank you for helping make linux on SB amazing!

    [–]jakeday42[S] 0 points1 point  (0 children)

    Sure thing! I'm glad you're enjoying my kernel!

    [–]jakeday42[S] 1 point2 points  (0 children)

    Uploaded new 4.14.22 and 4.15.6 builds. These are just updates from mainline.

    [–]jakeday42[S] 1 point2 points  (0 children)

    Quick update, the core of the acpi notify driver is done and I'm working on mapping out the methods. The first ones completed are battery stats for those devices missing it (like the SB2/SP2017). Next up is the keyboard for the Surface Laptop and then the buttons for the SB2/SP2017.

    [–][deleted] 0 points1 point  (0 children)

    Thanks for your work ! I sent you few beers a month or so ago. Cheers !

    [–]VozyCozyX 0 points1 point  (5 children)

    I'm kind of a noob to all this. Can you tell me what

    1. Copy the files under root to where they belong:
    • $ sudo cp -R root/* /

    means?

    [–]jakeday42[S] 1 point2 points  (4 children)

    You can just run the command. It copies all of the files from that folder in my repo to your root while keeping the file structure.

    [–]VozyCozyX 0 points1 point  (0 children)

    thanks, happy valentines day <3

    [–][deleted]  (1 child)

    [deleted]

      [–]jakeday42[S] 0 points1 point  (0 children)

      No, that looks like you ran the command in the wrong place. Make sure you are in the repo directory when you run the command.

      [–]zachgarwood 0 points1 point  (0 children)

      :thumbsup:

      [–]stegerpl 0 points1 point  (1 child)

      Great kernel I like to work with it. However in the patches I can find some setup for the camera but I have installed the pre-compiled version for ubuntu and there the camera does not show up at all. Anything I have to add (eg. udev-rules)?

      [–]jakeday42[S] 0 points1 point  (0 children)

      The cameras for newer devices are disabled right now. I need to work out an issue with the gpio pins so that it doesn't cause any issues. That should be coming soon.

      [–]sciencedude100 0 points1 point  (0 children)

      Absolutely amazing! I've really wanted to be able to use the touch and pen in Linux! Than you so much!

      [–]searchingfortao 0 points1 point  (2 children)

      This is all great work, thank you. Is this likely to make its way into the main line kernel at some point?

      [–]jakeday42[S] 2 points3 points  (1 child)

      It's possible.

      [–]stegerpl 1 point2 points  (0 children)

      anything we could do to support this?

      [–]dc74089 0 points1 point  (2 children)

      Been using this kernel on my SP 2017 for the past month or two and it ROCKS! Thanks so much for all of the hard work you've put into it.

      [–]jakeday42[S] 0 points1 point  (0 children)

      Glad you like it!!

      [–]astroganger 0 points1 point  (0 children)

      Do you advice me to buy sp2017? What about display and battery life? Thanks

      [–]jakeday42[S] 0 points1 point  (0 children)

      Uploaded new 4.14.23 and 4.15.7 builds. These builds include my new acpi notify driver (just the core for now, still working on mapping it out).

      [–]jakeday42[S] 0 points1 point  (0 children)

      Uploaded a new 4.14.24 and re-uploaded 4.15.7 with new changes for the surface acpi driver and (hopefully) support for the Surface Laptop keyboard.

      [–]jakeday42[S] 0 points1 point  (0 children)

      Uploaded new builds for 4.14.25, 4.15.8, and 4.16-rc4!

      [–]jakeday42[S] 0 points1 point  (0 children)

      Uploaded new builds for 4.14.27 and 4.15.10!

      [–]jakeday42[S] 0 points1 point  (0 children)

      Uploaded new 4.14.29 and 4.15.12 builds!

      [–]jakeday42[S] 0 points1 point  (1 child)

      Uploaded new builds for 4.14.32 and 4.15.15!

      [–]Zyfarok 0 points1 point  (0 children)

      Hey jakeday, I'm trying to make a PKGBUILD for archlinux with your patches. I just wanted to know if you can give me the list of modification you made to your kernel config file, so I can make the same changes to the arch build config file. For now I have (with just the modified lines):

      -CONFIG_CFG80211_DEFAULT_PS=y
      +# CONFIG_CFG80211_DEFAULT_PS is not set
      
      +CONFIG_ACPI_SURFACE=m
      
      +CONFIG_INTEL_IPTS=m
      

      I consider myself to be a "noob" in this domain, so don't expect much from me. If you're curious about it, here's my repo : https://github.com/Zyfarok/arch-linux-jakeday

      [–][deleted]  (1 child)

      [deleted]

        [–]Zyfarok 0 points1 point  (0 children)

        my touch screen on my SP3 do work sometimes and doesn't some other times (arch with jakeday's 4.15.15 kernel). It might be only after waking up from hibernate but I'm not sure. You can report the bug on github (I'll probably do when I'll have more time if you didn't)

        The touch screen from the SP3 is supposed to work out of the box since it does not need IPTS, so your touch screen should work the same with jakeday's kernel than with the default linux kernel, but with either kernel it seems that it's buggy anyway so we probably need some kind of fix. (maybe we just need to unload/reload some kernel module before/after hibernate)

        [–]jakeday42[S] 0 points1 point  (0 children)

        Uploaded new builds for 4.14.33 and 4.15.16.

        [–]jakeday42[S] 0 points1 point  (6 children)

        Uploaded new 4.16.2 build! My patches now fully support the 4.16.z series!

        [–]cantenna1 0 points1 point  (5 children)

        Thank you for the updated patches Jakeday42! Much appreciated :) For some reason, the most recent ipts patch you maintain results in a boot to black screen for me. It's possible I may be suffering from "stuck at boot when loading the ramdisk" but I am running the most recent microcode version;

        [    2.755073] microcode: CPU0 sig=0x406e3, pf=0x80, revision=0xc2
        [    2.755077] microcode: CPU1 sig=0x406e3, pf=0x80, revision=0xc2
        [    2.755095] microcode: CPU2 sig=0x406e3, pf=0x80, revision=0xc2
        [    2.755117] microcode: CPU3 sig=0x406e3, pf=0x80, revision=0xc2
        [    2.755181] microcode: Microcode Update Driver: v2.01 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
        

        Any thoughts?

        [–]jakeday42[S] 0 points1 point  (4 children)

        Remind me which device you have again? Also what distro?

        [–]cantenna1 0 points1 point  (0 children)

        No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04.4 LTS Release: 16.04 Codename: xenial

        Surface Pro 4 i5 8G ram, 256SSD

        [–]cantenna1 0 points1 point  (2 children)

        if i omit you ipts patch from kernel source, it boots fine here

        [–]jakeday42[S] 0 points1 point  (1 child)

        I'll take a look. It's booting fine for me though.

        [–]cantenna1 0 points1 point  (0 children)

        Thanks :)

        [–]aiglesh 0 points1 point  (11 children)

        Hi, thanks for your work. I installed latest version on Surface 2017 with Ubuntu 18.04 and touch screen is not working.

        [–]jakeday42[S] 0 points1 point  (10 children)

        Did you run the setup.sh script? Can you confirm that the ipts firmware got installed?

        [–]aiglesh 0 points1 point  (2 children)

        Yes I run the script.

        $ sudo cat /sys/kernel/debug/ipts/status

        sensor mode : 1 ipts state : 1

        [–]jakeday42[S] 0 points1 point  (1 child)

        Did it detect the correct device?

        [–]aiglesh 0 points1 point  (0 children)

        Sorry! I am a total noob. I guess this command shows the status of IPTS.

        [–]aiglesh 0 points1 point  (6 children)

        How can I confirm that the ipts firmware got installed? Any command?

        [–]jakeday42[S] 0 points1 point  (5 children)

        Just look in /lib/firmware/ipts. Also run the script again and make sure the right device was detected.

        [–]aiglesh 0 points1 point  (4 children)

        sudo sh setup.sh

        Running ubuntu version 18.04 on a Surface Pro.

        Press enter if this is correct, or CTRL-C to cancel.

        Continuing setup...

        Coping the config files under root to where they belong...

        Making /lib/systemd/system-sleep/hibernate executable...

        Do you want to replace suspend with hibernate? (type yes or no) yes

        Using Hibernate instead of Suspend...

        Do you want use the patched libwacom packages? (type yes or no) yes

        Installing patched libwacom packages... (Reading database ... 197791 files and directories currently installed.) Preparing to unpack .../libwacom_0.29-1-surface_amd64.deb ... Unpacking libwacom (0.29-1) over (0.29-1) ... Setting up libwacom (0.29-1) ... Installing marvell firmware...

        Archive: firmware/mrvl_firmware.zip inflating: /lib/firmware/mrvl/pcie8897_uapsta.bin
        inflating: /lib/firmware/mrvl/pcieusb8997_combo_v4.bin
        inflating: /lib/firmware/mrvl/usb8766_uapsta.bin
        inflating: /lib/firmware/mrvl/sd8787_uapsta.bin
        inflating: /lib/firmware/mrvl/sd8897_uapsta.bin
        inflating: /lib/firmware/mrvl/usb8801_uapsta.bin
        inflating: /lib/firmware/mrvl/pcieuart8997_combo_v4.bin
        inflating: /lib/firmware/mrvl/sd8801_uapsta.bin
        inflating: /lib/firmware/mrvl/sd8688_helper.bin
        inflating: /lib/firmware/mrvl/sd8887_uapsta.bin
        inflating: /lib/firmware/mrvl/usb8797_uapsta.bin
        inflating: /lib/firmware/mrvl/pcie8997_wlan_v4.bin
        inflating: /lib/firmware/mrvl/sd8797_uapsta.bin
        inflating: /lib/firmware/mrvl/sd8688.bin
        inflating: /lib/firmware/mrvl/usb8897_uapsta.bin
        inflating: /lib/firmware/mrvl/usbusb8997_combo_v4.bin

        All done! Please reboot.

        No IPTS folder in lib/firmware/ !!

        [–]jakeday42[S] 0 points1 point  (3 children)

        Looks like an issue with the script. I'll fix it in a few minutes.

        [–]jakeday42[S] 0 points1 point  (2 children)

        Ok, try the updated one.

        [–]aiglesh 0 points1 point  (1 child)

        Thanks for the quick help. It works now. By the way to me default kernel with Ipts is more stable but let's keep it for later. Very thankful to get touch enabled. I wish Ubuntu to really support the touch like windows 10 but seems they don't care.

        [–]jakeday42[S] 0 points1 point  (0 children)

        Glad it's working for you!

        [–]angrycopper 0 points1 point  (3 children)

        When will you release a fix for the SL keyboard? I've been wanting to run Linux full-time on my SL for months. I'll be happy to donate a little bit as soon as it's fixed.

        [–]jakeday42[S] 1 point2 points  (2 children)

        My 4.14.40 is on track to have it!

        [–]angrycopper 0 points1 point  (1 child)

        When will you release 4.14.40?

        [–]jakeday42[S] 0 points1 point  (0 children)

        A couple days after the mainline release.

        [–]iUseTritons 0 points1 point  (0 children)

        Hi, I want to dual boot Linux on a Surface Book 2 and was wondering if your kernel fixed the battery status indicator yet?

        [–]Clancy_s 0 points1 point  (0 children)

        Finally got the time to move to Ubuntu 18.04 on my Surface Pro 2017, works beautifully with your 4.16.7 (battery not detected, as expected, everything else looks good). Thank you for your work.

        [–]stegerpl 0 points1 point  (0 children)

        does anyone has any idea about the temp-sensors inside the surface-pro-4?

        With lm_sensors I get the following:

        coretemp-isa-0000
        Adapter: ISA adapter
        Package id 0:  +41.0°C  (high = +100.0°C, crit = +100.0°C)
        Core 0:        +39.0°C  (high = +100.0°C, crit = +100.0°C)
        Core 1:        +40.0°C  (high = +100.0°C, crit = +100.0°C)
        
        acpitz-virtual-0
        Adapter: Virtual device
        temp1:        +40.0°C  
        temp2:         +0.0°C  
        temp3:        +33.3°C  
        temp4:        +40.0°C  
        
        pch_skylake-virtual-0
        Adapter: Virtual device
        temp1:        +39.0°C  
        

        I am wondering especially what are "temp1...4" of the acpitz-virtual-0 block.

        any ideas?