首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Surface 4上安装Ubuntu

在Surface 4上安装Ubuntu
EN

Ask Ubuntu用户
提问于 2016-06-27 14:52:00
回答 6查看 69.1K关注 0票数 7

我已经从win 10转到Ubuntu 16.04。我尝试过跟踪这篇文章这段视频,但是仍然遇到了问题,因为最新的内核版本是4.6.3。

我仍然在Ubuntu附带的内核上运行,这个内核是4.4.0。

长话短说,我的键盘,触控板,触摸屏,音量和电源按钮,手写笔,wifi指示器(右上角)和相机不工作。

我已经设法让Wifi和蓝牙正常工作了。

有人能帮我写/找到一些补丁并重新编译内核吗?

请在我的GitHub组织上发布所有更新和问题,如有任何贡献将不胜感激。

派生器-配置模块

要获得类型覆盖工作,请从SP4-1运行派生器-配置脚本

EN

回答 6

Ask Ubuntu用户

发布于 2016-12-11 22:47:14

我有一个相当不错的Surface 4内核运行在我的Ubuntu安装上。

The Rundown

什么起作用:

  • wifi/蓝牙
  • 多触点
  • 钢笔
  • 打字盖上的触控板

多少起作用的是:

  • 冬眠-在恢复后,没有触摸或钢笔。

没有的是:

  • 暂停(见下文关于节电的说明)
  • 冻结(更多的电池耗尽版本的挂起/睡眠不能可靠地工作)
  • 打字盖

我没试过的是:

  • 摄像机

通用思想

这个内核的基本思想是采用https://github.com/ipts-linux-org/ipts-linux-new/wiki的Hyungwoo所做的更改,并将它们应用到Ubuntu4.9rc3内核中。下面是使内核有序的步骤。编译过程大约需要45分钟,使用Surface 4的所有内核。克隆内核存储库需要大约1.5G的磁盘空间。

生成内核

的步骤

  1. 安装Ubuntu16.10yakkety。要做到这一点,您将需要一个USB集线器,它可以同时处理ubuntu的live和键盘/鼠标。
  2. 用USB键盘引导linux。
  3. 准备Ubuntu4.9rc3内核。
    • 克隆Ubuntu4.9rc3内核(需要1.5G空间):git clone git://git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mainline-crack v4.9-rc3
    • 下载6个修补程序:Patch1 Patch2 Patch3 Patch4 Patch5 Patch6
    • 按照顺序将补丁应用到内核:为每个补丁执行git am /path/to/THEPATCH.patch

  4. 从ipts-linux新内核中创建一个带有触摸/笔支持的修补程序。
    • 在另一个目录:git clone https://github.com/ipts-linux-org/ipts-linux-new.git中克隆内核(需要~1.5G空间)
    • 创建修补程序:git diff 0c183d92b20b5c84ca655b45ef57b3318b83eb9e > /path/to/ipts-linux-new_patch.txt

  5. 将ipts-linux新补丁应用于v4.9rc3 cd /path/to/v4.9rc3 patch -p1 < /path/to/ipts-linux-new\_patch.txt git add . git commit -m 'Patch for Surface Pro 4 taken from ipts-linux-new.'
  6. 编译内核并制作ubuntu .deb包(从Ubuntu内核编译复制) cd /path/to/v4.9rc3
    • 初始化debian文件:fakeroot debian/rules clean
    • 配置将要构建的内核:fakeroot debian/rules editconfigs
      • 只对amd64问题说是。这将显示"menuconfig“诅咒界面。激活以下两个选项:
        • 设备驱动程序-> NVM快速锁定设备(y)
        • 设备驱动程序-> Misc设备->英特尔精密触摸& Stylus (m)

代码语言:javascript
运行
复制
- comment or remove "do\_zfs = true" in "/path/to/v4.9rc3/debian.master/rules.d/amd64.mk"
- rename the kernel by editing "/path/to/v4.9rc3/debian.master/changelog"
  1. 编译内核(使用更多的线程比处理器更快) fakeroot debian/rules clean #是必要的,但是我不知道为什么DEB\_BUILD\_OPTIONS=parallel=5 fakeroot debian/rules binary-headers binary-generic binary-perarch
  2. 应该在v4.9rc3旁边的目录中创建四个新的.debs。使用以下命令安装.debs:sudo dpkg -i linux-image-\* linux-headers-4.9.0-040900rc3\*
  3. 将驱动程序文件从windows复制到linux:
    • 将驱动程序文件从"\Windows\INF\PreciseTouch\Intel“复制到linux目录”/lib/固件/intel/ipts“。应该至少有4个文件的名称类似于这些:
      • iaPreciseTouchDescriptor.bin
      • SurfaceTouchServicingSFTConfigMSHW0078.bin
      • SurfaceTouchServicingDescriptorMSHW0078.bin
      • SurfaceTouchServicingKernelSKLMSHW0078.bin

代码语言:javascript
运行
复制
- Make symbolic links to these files:  `cd /lib/firmware/intel/ipts` `ln -s iaPreciseTouchDescriptor.bin intel_desc.bin` `ln -s SurfaceTouchServicingSFTConfigMSHW0078.bin config.bin` `ln -s SurfaceTouchServicingDescriptorMSHW0078.bin vendor_desc.bin` `ln -s SurfaceTouchServicingKernelSKLMSHW0078.bin vendor_kernel.bin`

您现在应该能够启动新内核了。如果链接在正确的位置,那么触摸和笔将很好地工作。

关于节电

的注记

缺少的挂起功能是一个主要的缺点。这是由于微软的“连接备用”失败:https://lwn.net/Articles/580451/。冻结使用更多的电池(耗尽电池的速度可能是你开着电脑速度的一半),而且似乎不可靠。使用hibernate可以成功地保持状态,但不幸的是,在恢复之后,触摸和手写笔功能无法工作。

票数 2
EN

Ask Ubuntu用户

发布于 2017-04-03 04:49:47

我用了这是Reddit的指南

有问题的冰箱的内核冻结,永远无法重新启动或正确关闭,只会冻结与Ubuntu标志什么都不做。

我使用了cantenna的(6a和7a),工作正常,而不是从睡眠中醒来,音量按钮不起作用。

下载这个文件 (修补程序内核)

cd到它所在的目录(如cd Downloads)并安装软件包

代码语言:javascript
运行
复制
sudo dpkg -i './linux-headers-4.4.0-rc8touchkernel+_1_amd64.deb'
sudo dpkg -i './linux-image-4.4.0-rc8touchkernel+_1_amd64.deb'

挂载您的Windows分区(如果删除或找不到这些文件,可以从这里下载它们),并将这些文件复制到您的Ubuntu根目录(您可能需要根据您的Windows分区的挂载点来调整路径:

代码语言:javascript
运行
复制
sudo mkdir /itouch
cp /media/$USER/Windows/Windows/INF/PreciseTouch/Intel/* /itouch

现在创建到文件的符号链接,以便驱动程序能够找到它们。

代码语言:javascript
运行
复制
sudo ln -sf /itouch/SurfaceTouchServicingKernelSKLMSHW0078.bin /itouch/vendor_kernel_skl.bin
sudo ln -sf /itouch/SurfaceTouchServicingSFTConfigMSHW0078.bin /itouch/integ_sft_cfg_skl.bin
sudo ln -sf /itouch/SurfaceTouchServicingDescriptorMSHW0078.bin /itouch/vendor_descriptor.bin
sudo ln -sf /itouch/iaPreciseTouchDescriptor.bin /itouch/integ_descriptor.bin

然后,您需要确保您可以通过配置GRUB来引导这个内核,或者在默认情况下将其设置为启动。

票数 2
EN

Ask Ubuntu用户

发布于 2016-07-25 15:35:40

在SP4上,触摸算法运行在GPU上,因此传统的驱动程序无法工作。

下面是github链接:https://github.com/ipts-linux-org/ipts-linux/wiki

触摸屏,表面专业钢笔。

IPTS的意思是:英特尔精密触控和Stylus。

在这个github中,有特定的触摸屏驱动程序内核。

很抱歉获得了一个特定的内核,但是补丁必须适用于4.4之后的任何内核。

票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/791976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档