Установка Ubuntu на Surface Pro 4
Я перешел с win 10 на Ubuntu 16.04. Я пробовал следовать этой статье и этому видео, но все еще сталкиваюсь с проблемами, поскольку последняя версия ядра - 4.6.3.
Я все еще работаю на ядре, которое было установлено с Ubuntu, который является 4.4.0.
Короче говоря, моя клавиатура, сенсорная панель, сенсорный экран, кнопки громкости и питания, стилус, индикатор Wi-Fi (в верхнем правом углу) и камера не работают.
Мне удалось заставить работать Wi-Fi и Bluetooth.
Может кто-нибудь помочь мне с написанием / поиском некоторых патчей и перекомпиляцией ядра?
Пожалуйста, публикуйте все обновления и вопросы по организации My GitHub, и мы ценим любой вклад
производные-конфигурации и модули
Чтобы получить тип обложки рабочего прогона SP4-1
сценарий от производного-конфигурации
6 ответов
Я использовал это руководство на Reddit
Если бы проблемы с зависанием ядра fridgecow и невозможностью его перезагрузки или отключения были бы просто остановлены, логотип Ubuntu ничего не делал.
Я использовал кантенны (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.
У меня довольно хорошее ядро Surface Pro 4, работающее на моей установке Ubuntu.
Краткое изложение
Что работает:
- WiFi / Bluetooth
- мультитач
- ручка
- трекпад на обложке
Что работает несколько:
- в спящем режиме - после возобновления работы нет прикосновения или пера
Что не
- приостановить (см. примечание по энергосбережению ниже)
- заморозить (версия с режимом ожидания / сна, разряжающая батарею, которая не работает надежно)
- печатная обложка
Что я не пробовал:
- камеры
Главная идея
Основная идея этого ядра - взять изменения, внесенные Hyungwoo Yang по адресу https://github.com/ipts-linux-org/ipts-linux-new/wiki и применить их к ядру Ubuntu 4.9rc3. Вот шаги, чтобы привести ядро в порядок. Процесс компиляции занимает около 45 минут с использованием всех ядер Surface 4. Для клонирования репозиториев ядра требуется около 1,5 гигабайта дискового пространства.
Шаги по производству ядра
установить Ubuntu 16.10 яккеты. Для этого вам понадобится USB-концентратор, который может работать как с Ubuntu Live-USB, так и с клавиатурой / мышью.
загрузите Linux с USB-клавиатуры.
подготовить ядро Ubuntu 4.9rc3.
клонировать ядро Ubuntu 4.9rc3 (требуется ~1,5 гигабайта):
git clone git://git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mainline-crack v4.9-rc3
примените патчи к ядру по порядку: do
git am /path/to/THEPATCH.patch
для каждого из патчей.
создайте патч с поддержкой touch / pen из ядра ipts-linux-new.
клонировать ядро (требует ~1,5 гигабайта места) в другой каталог:
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 Kernel Compilation)
cd /path/to/v4.9rc3
инициализировать файлы debian:
fakeroot debian/rules clean
настройте ядро, которое вы будете собирать:
fakeroot debian/rules editconfigs
- Скажи да только на вопрос amd64. Это покажет интерфейс curses "menuconfig". активируйте следующие две опции:
- Драйверы устройств -> Устройство быстрой блокировки NVM (y)
- Драйверы устройств -> Разные устройства -> Intel Precise Touch & Stylus (m)
- Скажи да только на вопрос amd64. Это покажет интерфейс curses "menuconfig". активируйте следующие две опции:
прокомментируйте или удалите "do_zfs = true" в "/path/to/v4.9rc3/debian.master/rules.d/amd64.mk"
переименуйте ядро, отредактировав "/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`
четыре новых.debs должны быть созданы в каталоге рядом с v4.9rc3. Установите.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
Теперь вы сможете загрузить новое ядро. Если ссылки находятся в нужном месте, то сенсорный и ручка будут работать хорошо.
Примечание по энергосбережению
Отсутствующая функциональность приостановки является основным недостатком. Это происходит из-за фиаско "подключенного ожидания" Microsoft: https://lwn.net/Articles/580451/. При замораживании расходуется больше энергии (возможно, батарея разряжается вдвое быстрее, чем если бы компьютер оставлен включенным), и не выглядит надежной. В спящем режиме состояние успешно сохраняется, но, к сожалению, функции касания и стилуса не работают после возобновления работы.
На SP4 сенсорные алгоритмы работают на GPU, поэтому традиционные драйверы не работают
Вот ссылка на github: https://github.com/ipts-linux-org/ipts-linux/wiki
Сенсорный экран, ручка Surface Pro..
IPTS расшифровывается как: Intel Precision Touch и Stylus.
В этом репозитории github есть специальное ядро с драйвером для сенсорного экрана.
Извините, что забрал определенное ядро, но патчи должны быть применимы к любому ядру после 4.4.
Существует личный архив пакетов (PPA) с ядром, упакованным для вас по адресу: https://launchpad.net/~tigerite/+archive/ubuntu/kernel.
Следуйте инструкциям "Добавление этого PPA в вашу систему", а затем выполните указанные команды apt.
Вероятно, лучше начать с установки Xenial (16.04), а не Yakkety (16.10), так как не было недавнего (с мая) обновления PPA.
Я набираю / mousing из Ubuntu 16.10 на SP4, чтобы попасть сюда, я сделал следующее:
загрузите Ubuntu с помощью USB-концентратора для поддержки клавиатуры / мыши
sudo apt-get install
следующие два пакета:ukuu
(ЛЕГКО!) Обновление до последнего ядра RC (4.10-rc8). Это теперь поддерживает магнитную клавиатуру / мышь SP4 (спасибо, люди ядра!). ТОЛЬКО NIGGLE: беспроводной, так что отключите Google и исправьте это.grub-customizer
выбрать Win10 / Ubuntu / Mint.
Ubuntu работает без шуток, я выбрал 16.10 yakkety, так как мне не нравится 16.04 xenial min/max/close на UL экрана, и я никогда не находил легкий способ обойти это.
Linux MINT также загружается с поддержкой клавиатуры (после обновления ядра до 4.10-rc8), но не с сенсорной панелью мыши.
Я нашел лучшее ядро еще. Он использует тот же набор патчей, который описан в моем другом посте, плюс другие, которые заставляют работать обложку типа вместе с мультитач на трекпаде. У меня это работает с моей установкой 16.10.
Это ядро требует от пользователя небольшой работы, поскольку оно уже скомпилировано в пакеты.deb, которые вы можете загрузить.
Что работает:
- потрогать
- ручка
- Wi-Fi
- клавиатура
- трекпад
- кнопки физической громкости и горячие клавиши клавиатуры
Что не
- спать
- иногда глючит
Во мне нет никакого смысла в плагиате направлений, поскольку они динамичны и хорошо поставлены:
https://www.reddit.com/r/SurfaceLinux/comments/4t64zt/getting_the_sp4_running_with_ubuntu_1604/