在Surface pro 4上安装Ubuntu
我已经从胜利10变为Ubuntu 16.04。 我已经尝试过这篇文章和这个video ,但仍然遇到问题,因为最新的内核版本是4.6.3。
我仍在运行安装了Ubuntu 4.4.0的内核。
长话短说,我的键盘,触摸板,触摸屏,音量和电源按钮,手写笔,wifi指示灯(右上角)和相机都无法正常工作。
我设法让Wifi和蓝牙工作。
任何人都可以帮我写出/找到一些补丁并重新编译内核吗?
请在My GitHub组织上发布所有更新和问题, 我们对任何贡献表示赞赏
deriver-config和Modules
要获得类型封面工作, SP4-1
从SP4-1
-config运行SP4-1
脚本
我在我的Ubuntu安装上运行了一个相当不错的Surface Pro 4内核。
破败不堪
什么有效:
- WIFI /蓝牙
- 多点触摸
- 钢笔
- 打字封面上的触控板
有些作用:
- hibernate – 恢复后没有触摸或笔
什么不:
- 暂停(参见下面关于节电的说明)
- 冻结(暂停/睡眠的电池耗尽版本不能可靠地工作)
- 打字封面
我没有尝试过:
- 相机
大概的概念
这个内核背后的一般想法是通过https://github.com/ipts-linux-org/ipts-linux-new/wiki进行Hyungwoo Yang的更改并将它们应用到Ubuntu 4.9rc3内核。 以下是按顺序获取内核的步骤。 使用Surface 4的所有核心,编译过程大约需要45分钟。克隆内核存储库需要大约1.5 GB的磁盘空间。
生成内核的步骤
-
安装Ubuntu 16.10 yakkety。 要做到这一点,你需要一个可以同时处理ubuntu live-USB和键盘/鼠标的USB集线器。
-
用USB键盘启动linux。
-
准备Ubuntu 4.9rc3内核。
-
克隆Ubuntu 4.9rc3内核(需要〜1.5gig的空间):
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
-
按顺序将补丁应用于内核:do
git am /path/to/THEPATCH.patch
对于每个补丁。
-
-
从ipts-linux-new内核创建一个带触摸/笔支持的补丁。
-
在另一个目录中克隆内核(需要大约1.5gig的空间):
git clone https://github.com/ipts-linux-org/ipts-linux-new.git
-
创建补丁:
git diff 0c183d92b20b5c84ca655b45ef57b3318b83eb9e > /path/to/ipts-linux-new_patch.txt
-
-
将ipts-linux-new补丁应用于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.'`
-
编译内核并生成ubuntu .deb包(从Ubuntu内核编译中复制)
cd /path/to/v4.9rc3
-
初始化debian文件:
fakeroot debian/rules clean
-
配置你要构建的内核:
fakeroot debian/rules editconfigs
- 只对amd64问题说“是”。 这将显示“menuconfig”curses界面。 激活以下两个选项:
- 设备驱动程序 - > NVM快速锁定设备(y)
- 设备驱动程序 - >其他设备 - > Intel Precise Touch&Stylus(m)
- 只对amd64问题说“是”。 这将显示“menuconfig”curses界面。 激活以下两个选项:
-
在“/path/to/v4.9rc3/debian.master/rules.d/amd64.mk”中注释或删除“do_zfs = true”
-
通过编辑“/path/to/v4.9rc3/debian.master/changelog”重命名内核
-
-
编译内核(使用比处理器更多的线程使其更快)
`fakeroot debian/rules clean` #necessary, but I don't know why `DEB_BUILD_OPTIONS=parallel=5 fakeroot debian/rules binary-headers binary-generic binary-perarch`
-
应该在v4.9rc3旁边的目录中创建四个新的.debs。 使用以下命令安装.debs:
`sudo dpkg -i linux-image-* linux-headers-4.9.0-040900rc3*`
-
将驱动程序文件从Windows复制到linux:
-
将驱动程序文件从“\ Windows \ INF \ PreciseTouch \ Intel”复制到linux目录“/ lib / firmware / intel / ipts”。 应该至少有4个文件的名称与这些相似:
- iaPreciseTouchDescriptor.bin
- SurfaceTouchServicingSFTConfigMSHW0078.bin
- SurfaceTouchServicingDescriptorMSHW0078.bin
- SurfaceTouchServicingKernelSKLMSHW0078.bin
-
创建这些文件的符号链接:
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
-
您现在应该可以启动新内核了。 如果链接位于正确的位置,那么触摸和笔将很好地工作。
关于省电的注意事项
缺少暂停function是一个主要缺点。 这是由于微软“连接待机”惨败: https : //lwn.net/Articles/580451/ 。 冻结使用更多电池(将电池耗尽的速度可能是打开计算机时的一半),并且似乎不可靠。 通过hibernate,状态成功保留,但不幸的是,触摸和手写笔function在恢复后不起作用。
我在Reddit上使用了这个指南
如果icecow的内核冻结并且无法正常重启或关闭,那么就会冻结Ubuntu徽标什么都不做。
我使用了cantenna(6a和7a)并且工作正常,除了不从睡眠中醒来,音量按钮不起作用。
下载此文件 (已修补的内核)
cd
到它去的目录(例如cd Downloads
)并安装包
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分区(如果删除了Windows分区或无法找到它们,可以从此处下载文件)并将文件复制到Ubuntu根目录(可能需要根据Windows分区的挂载点调整路径) :
sudo mkdir /itouch cp /media/$USER/Windows/Windows/INF/PreciseTouch/Intel/* /itouch
现在为文件创建符号链接,以便驱动程序可以找到它们
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将其设置为默认引导。
在SP4上,触摸算法在GPU上运行,因此传统的驱动程序不起作用
这是github链接: https : //github.com/ipts-linux-org/ipts-linux/wiki
触摸屏,Surface Pro笔..
IPTS代表:Intel Precision Touch和Stylus。
在这个github repo中,有一个带触摸屏驱动程序的特定内核。
很抱歉拿起特定的内核,但补丁必须适用于4.4之后的任何内核。
我找到了最好的内核。 它使用我的其他post描述的相同补丁集,以及使类型封面与跟踪板上的多点触控一起工作的其他补丁集。 我用16.10安装运行它。
这个内核需要用户很少的工作,因为它已经编译成可以下载的.deb包。
什么有效:
- 触摸
- 钢笔
- 无线上网
- 键盘
- 触控板
- 物理音量按钮和键盘热键
什么不:
- 睡觉
- 偶尔马车
我剽窃方向是没有意义的,因为它们是动态的并且很好:
https://www.reddit.com/r/SurfaceLinux/comments/4t64zt/getting_the_sp4_running_with_ubuntu_1604/
我在SP4上从Ubuntu 16.10打字/鼠标,为了到这里我做了以下事情:
-
使用USB集线器加载Ubuntu以获得键盘/鼠标支持
-
sudo apt-get install
以下两个包: -
ukuu
(EASY!)更新到最新的RC内核(4.10-rc8)。 这个现在支持磁性SP4键盘/鼠标(谢谢内核人!)。 只有NIGGLE:无线,所以谷歌和补丁这个。 -
grub-customizer
选择Win10 / Ubuntu / Mint。
Ubuntu的工作没有匆匆忙忙,我选择16.10 yakkety因为我不喜欢16.04 xenial min / max / close在屏幕上的UL,并且从来没有找到一个简单的方法来解决这个问题。
Linux MINT也可以通过键盘支持启动(在将内核升级到4.10-rc8之后)但不支持鼠标触摸板。
有一个个人包存档(PPA),包含为您打包的内核: https : //launchpad.net/~tigerite/+archive/ubuntu/kernel 。
按照“将此PPA添加到系统”中的说明进行操作,然后执行指定的apt命令。
安装Xenial(16.04)而不是Yakkety(16.10)可能更好,因为PPA最近没有(自5月以来)更新。