Как подружить Surface Pro 3 и Linux

Наверно многие, кто пользовался ноутбуком, хоть раз думали о том, что несмотря на свою портативность, у ноутбуков эта характеристика оставляет желать лучшего — в одной руке не удержишь, в экран не потыкать, шрифты на низком разрешении вблизи режут глаза. Все это типично для большинства ноутбуков. С другой стороны, существуют планшеты, которые частично лишены этих недостатков, но взамен мы теряем клавиатуру, процессор обычно не позволяет ставить сторонние ОС, да и производительность так себе. Линейка Surface Pro, как мне казалось, может стать хорошим компромиссом в данном вопросе.

Сам по себе Surface Pro 3 (SP3) очень интересен. В нем исправлено много недостатков предыдущих поколений, таких, как продолжительность работы от батареи, размеры экрана и разрешение. А процессор Intel Core i3/i5/i7 практически полностью развязывает руки, давая возможность установить полноценный GNU/Linux. Не раздумывая, я начал искать пути его заполучить, и вскоре после начала продаж он оказался у меня.

В данной статье я бы хотел поделиться опытом установки Debian на SP3, а так же возникшими трудностями и их преодолением. Если вам интересно, что у меня из этого вышло — прошу под кат.

Введение


В довесок к самим SP3 и Type Cover 3, нам временно понадобится следующее:
  • USB хаб
  • USB клавиатура и мышь
  • Ethernet/WLAN USB адаптер или телефон, который умеет раздавать (tethering) интернет по USB. Например, у меня с этим неплохо справился Nexus 5.


SP3, как и его предшественники, поставляется только с UEFI. Поэтому, даже на сегодняшний день, большинство инсталяторов Linux и прочие Live CD можно даже и не пытаться запускать, если в корне их образа отсутствует директория EFI.

Мой выбор пал на Debian, который, на данный момент, уже поддерживает установку в UEFI. Касательно версии, нам понадобится именно amd64 релиз, ввиду того, что девайс на борту имеет 64-х битный UEFI. Чтобы не тратить время на скачивание кучи CD/DVD образов, можно воспользоваться миниатюрной netinst, которая весит всего лишь ~250 Мб, где все необходимое скачивается уже в процессе установки. В теории, можно было бы установить стабильную ветку Debian 7 Wheezy, но для себя я решил выбрать Testing вариант, в репозиториях которого доступны более свежие версии пакетов.

Вне зависимости от того, выбрали ли вы netinst или установку c образов, дальше нам все равно понадобится доступ в интернет. К сожалению, инсталятор Debian не распознает встроенный в SP3 беспроводной адаптер, поэтому следует раздобыть либо внешний Ethernet/WLAN USB адаптер, либо телефон, который умеет раздавать интернет по USB.

Все готово? Тогда приступим.

Подготовка Windows




Помимо пары основных системных разделов и раздела с установленной Windows, на SSD еще отводится примерно 5 Гб под Factory Recovery, который может легко оказаться абсолютно бесполезным, если что-то случится с другими системными разделами. Я настоятельно рекомендую “скопировать” его на флешку заранее. Необходима будет флешка минимум 8 Гб. В поиске Windows ищем Create a recovery drive.




Выбираем нашу флешку и вперед. Когда по окончанию копирования будет предложено удалить Recovery раздел — соглашайтесь. Впоследствии, с этой загрузочной флешки можно будет вернуть первоначальную разбивку SSD, включая установленную Windows и сам Recovery раздел.

Так как Windows мы удалять не собираемся, мы его немного потесним. По правому клику на (C:) разделе выбираем Shrink Volume.

В появившемся диалоге выставляем желаемый размер свободного места в мегабайтах.



Также нам нужно выключить Hibernate, иначе SP3 будет постоянно уходить в глубокий сон при выключении. Для этого открываем cmd.exe с правами администратора, и выполняем:

powercfg.exe /hibernate off


Наконец, выключаем SP3 и запускаем с зажатой кнопкой “+” громкости. Это позволит нам попасть в настойки UEFI, чтобы мы смогли отключить Secure Boot и дать возможность грузить ОС отличные от Windows. Выходим и соглашаемся сохранить изменения. Выключаем SP3 снова.

Установка Debian


Подключаем флешку с Debian и включаем SP3 с зажатой на этот раз кнопкой “-” громкости, которая активирует загрузку с USB носителя. Выбираем графический или текстовой тип инсталятора и подключаем сетевой адаптер или телефон к USB порту. Для тех, кто уже ставил Debian, процесс ничем не примечателен, за исключением некоторых моментов. Когда дело доходит до разбивки диска, выбираем Partitioning method: manual и делим выделенное место между корневым разделом “/” и разделом под swap. По привычке, я обычно еще создаю отдельный /boot раздел.



Так как для UEFI используется GPT разбивка, GRUB не будет устанавливаться в MBR. Вместо этого в разделе EFI будет добавлен новый файл EFI/debian/grubx64.efi. Принимаем изменения разбивки и продолжаем установку обычным ходом. По завершению SP3 сам перезагрузится и мы снова попадем в Windows.

Допиливание GRUB


Открываем поиск в Windows, вбиваем recovery и в результатах поиска выбираем Recovery options. В открывшемся окне находим Advanced startup и выбираем Restart now.



Мы попадаем в синее меню загрузки, где нужно выбрать сначала Use a device, и затем debian.




После этого нам явится GRUB, который на таком разрешении будет выглядит катастрофически.



В таком состоянии при попытке выбрать Windows, все будет виснуть. Чтобы это исправить, нам понадобится понизить разрешение меню. Загружаемся в Debian и редактируем /etc/default/grub, где нужно раскомментировать строчку:

GRUB_GFXMODE=640x480


Заодно, чтоб еще и разрешение консоли загрузки ядра понизить, дописываем ниже:

GRUB_GFXPAYLOAD_LINUX=keep


Далее обновляем GRUB:

$ update-grub


Следующий шаг опционален и позволяет отказаться от предварительной загрузки Windows каждый раз. Вместо этого при включении SP3 будет попадать сразу в GRUB. Для этого идем в консоль и проверяем порядок загрузки. Затем выставляем номер соотвутсвующий debian перед номером Windows Boot Manager, таким образом поменяв 0002 и 0001 местами.

$ efibootmgr
...
Boot Order: 0000,0002,0001
Boot0000* USB Drive
Boot0001* debian
Boot0002* Windows Boot Manager
$ efibootmgr --bootorder 0000,0001,0002


Уютный Debian


Итак, оценим ситуацию. Пока что у нас не работают:
  • WiFi
  • Bluetooth
  • Type Cover 3 с тачпадом
  • Перо
  • Тачскрин


Что ж, будем исправлять.

WiFi и Bluetooth

За оба отвечает Soc от Marvell. Есть два варианта как получить необходимые драйвера. Внимание: на момент написания статьи в репозитории доступен устаревший пакет драйверов версии 0.43, и с ним не заводится Bluetooth. Поэтому советую воспользоваться вторым вариантом.

1. Из репозитория
В файле /etc/apt/sources.list находим первую строчку с адресом основного репозитория и к секции main дописываем non-free, чтоб получилось примерно следующее:

deb http://ftp.us.debian.org/debian/ jessie main non-free


Затем открываем консоль и выполняем:

$ apt-get update
$ apt-get install firmware-libertas


2. С сайта производителя
Открываем консоль и выполняем:

$ git clone git://git.marvell.com/mwifiex-firmware.git
$ mkdir -p /lib/firmware/mrvl/
$ cp mwifiex-firmware/mrvl/* /lib/firmware/mrvl/


Если все прошло успешно, все должно ожить после перезагрузки. Внимание: для стабильной работы WiFi необходимо ядро 3.16, инструкции сборки которого приведены ниже.

Type Cover 3

Проблема с Type Cover 3 требует пересборки ядра. Дело в том, что неверно определяется тип устройства у Type Cover 3 и загружаемый драйвер не подходит.

$ dmesg | grep -i “045e”
[    2.080282] usb 1-3: New USB device found, idVendor=045e, idProduct=07dc
[    2.400862] usb 1-7: New USB device found, idVendor=045e, idProduct=07be
[    2.697423] usb 1-8: New USB device found, idVendor=045e, idProduct=07bf
[    6.827574] input: Microsoft Surface Type Cover as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:045E:07DC.0003/input/input14
[    6.827969] hid-multitouch 0003:045E:07DC.0003: input,hiddev0,hidraw3: USB HID v1.11 Keyboard [Microsoft Surface Type Cover] on usb-0000:00:14.0-3/input0


Параметр idVendor=045e соответствует Microsoft. За ним следует idProduct, и нас интересует тот, который 07dc. Как видно, загружается hid-multitouch драйвер. Хотя тачпад на клавиатуре и правда способен на мультитач жесты, в данный момент такой драйвер приводит к неработоспособности всей клавиатуры. Поскольку в уже запущенной системе сложно как-либо повлиять на ситуацию, придется патчить ядро.

Нам нужно ядро версии не ниже 3.13, в которую кстати уже добавлена поддержка тачскрина и пера. Но я настоятельно советую взять ядро 3.16, чтоб WiFi не отваливался каждые 10 минут. На данный момент 3.16 доступно только из experimental репозитория, которое может переехать в testing в любое время. Уточните, доступна ли уже 3.16 в testing, иначе берите из experimental.

Сборка ядра съест 10 Гб, поэтому рекомендую пощадить SSD и воспользоваться виртуальной машиной на десктопе. По окончанию нужно будет скопировать из виртуальной машины полученные два .deb пакета и установить их на SP3.

Ядро из testing
Перед всей процедурой проапгрейдим систему и потом перезапускаемся.

$ apt-get update
$ apt-get upgrade


После чего скачиваем исходники текущего ядра и переходим в директорию с исходниками.

$ apt-get source linux
$ cd linux-`uname -r`


Ядро из experimental
Подлючаем experimental репозиторий, дописав эту строчки в конец /etc/apt/sources.list файла:

deb http://ftp.de.debian.org/debian experimental main


Обновляем информацию о пакетах, устанавливаем ядро и его исходники. Затем перезагружаемся в новое ядро.

$ apt-get update
$ apt-get -t experimental install linux-headers-3.16-trunk-amd64 linux-image-3.16-trunk-amd64 linux-source-3.16


Распаковываем исходники и переходим в директорию с ними:

$ tar -xf /usr/src/linux-source-3.16.tar.xz
$ cd linux-source-3.16



Теперь установим все необходимое для сборки ядра.

$ apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential


Создаем файл typecover3.patch со следующим содержимым:

Патч
--- a/drivers/hid/hid-ids.h	2014-01-19 21:40:07.000000000 -0500
+++ b/drivers/hid/hid-ids.h	2014-04-20 23:29:35.000000000 -0400
@@ -631,6 +631,7 @@
 #define USB_DEVICE_ID_MS_NE4K		0x00db
 #define USB_DEVICE_ID_MS_NE4K_JP	0x00dc
 #define USB_DEVICE_ID_MS_LK6K		0x00f9
+#define USB_DEVICE_ID_MS_TYPE_COVER_3	0x07dc
 #define USB_DEVICE_ID_MS_PRESENTER_8K_BT	0x0701
 #define USB_DEVICE_ID_MS_PRESENTER_8K_USB	0x0713
 #define USB_DEVICE_ID_MS_DIGITAL_MEDIA_3K	0x0730
--- a/drivers/hid/hid-core.c	2014-01-19 21:40:07.000000000 -0500
+++ b/drivers/hid/hid-core.c	2014-04-21 03:13:54.000000000 -0400
@@ -702,6 +702,11 @@ static void hid_scan_collection(struct h
 	if (((parser->global.usage_page << 16) == HID_UP_SENSOR) &&
 	    type == HID_COLLECTION_PHYSICAL)
 		hid->group = HID_GROUP_SENSOR_HUB;
+
+	if (hid->vendor == USB_VENDOR_ID_MICROSOFT &&
+	    hid->product == USB_DEVICE_ID_MS_TYPE_COVER_3 &&
+	    hid->group == HID_GROUP_MULTITOUCH)
+		hid->group = HID_GROUP_GENERIC;
 }
 
 static int hid_scan_main(struct hid_parser *parser, struct hid_item *item)
--- a/drivers/hid/usbhid/hid-quirks.c	2014-01-19 21:40:07.000000000 -0500
+++ b/drivers/hid/usbhid/hid-quirks.c	2014-04-20 23:29:35.000000000 -0400
@@ -73,6 +73,7 @@ static const struct hid_blacklist {
 	{ USB_VENDOR_ID_FORMOSA, USB_DEVICE_ID_FORMOSA_IR_RECEIVER, HID_QUIRK_NO_INIT_REPORTS },
 	{ USB_VENDOR_ID_FREESCALE, USB_DEVICE_ID_FREESCALE_MX28, HID_QUIRK_NOGET },
 	{ USB_VENDOR_ID_MGE, USB_DEVICE_ID_MGE_UPS, HID_QUIRK_NOGET },
+	{ USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_3, HID_QUIRK_NO_INIT_REPORTS },
 	{ USB_VENDOR_ID_MSI, USB_DEVICE_ID_MSI_GX680R_LED_PANEL, HID_QUIRK_NO_INIT_REPORTS },
 	{ USB_VENDOR_ID_NOVATEK, USB_DEVICE_ID_NOVATEK_MOUSE, HID_QUIRK_NO_INIT_REPORTS },
 	{ USB_VENDOR_ID_PIXART, USB_DEVICE_ID_PIXART_OPTICAL_TOUCH_SCREEN, HID_QUIRK_NO_INIT_REPORTS },



И выполняем:

$ patch -p1 --ignore-whitespace -i typecover3.patch


Теперь сконфигурируем ядро. За основу возьмем конфигурацию запущенного ядра.

$ cp /boot/config-`uname -r` .config
$ make menuconfig


Загружаем конфигурацию через пункт в меню Load an Alternate Configuration File или просто < Load > и соглашаемся на предложенный .config.



Дальше жмем < Exit > и сохраняем конфигурацию. Приступим к самому главному, к сборке. Для справки, процесс на самом SP3 у меня занял около часа.

$ make-kpkg clean
$ fakeroot make-kpkg --initrd --append-to-version=-typecover3 kernel_image kernel_headers


Здесь значение параметра “-typecover3” можно заменить на любое другое, оно особой нагрузки не несет. По нему, например, можно в последствии определить, с каким ядром система загрузилась.

Итак, устанавливаем оба .deb пакета

$ cd ..
$ dpkg -i linux-image*.deb linux-headers*.deb


И, наконец, последний штрих. Чтобы завести тачпад, создадим файл /etc/X11/xorg.conf со следующим содержимым:

Section "InputClass"
        Identifier "Surface Pro 3 cover"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
        Option "vendor" "045e"
        Option "product" "07dc"
        Option "IgnoreAbsoluteAxes" "True"
EndSection


Перезагружаемся в последний раз и наслаждаемся рабочей системой.

Послесловие


Если сравнить с Windows, энергопотребление в Linux несколько выше, заряда батареи хватает примерно на 6-7 часов, в то время как в Windows ее хватает часов на 8-9. Так что результат очень даже неплохой.

Несмотря на то, что система установлена и работает как надо, остаются еще некоторые проблемы. Если говорить точнее, то не работают кнопки регуляции громкости, кнопки на пере и датчик положения в пространстве.

Полезные ссылки


https://bugzilla.kernel.org/show_bug.cgi?id=64811
http://ubuntuforums.org/showthread.php?t=2183946
http://ubuntuforums.org/showthread.php?t=2231207
https://github.com/rubiojr/surface3-kernel
https://github.com/rubiojr/surface3-ubuntu-trusty
Ads
AdBlock has stolen the banner, but banners are not teeth — they will be back

More

Comments 69

    +33
    Жду статью как вернуть деньги за лицензию windows на surface pro 3.
      0
      Подозреваю, что также, как с любым другим ноутбуком, а подобных постов на хабре уже вагон:
      habrahabr.ru/post/232581/
      habrahabr.ru/post/166405/ + ссылки в конце поста
      habrahabr.ru/post/67701/

      Дальше ищите сами.
        +4
        Не, здесь скорее всего как в случае с яблоком, вендор железа диктует правила и не разрешает ставить левые ОС. Так что никаких возвратов быть не должно, хотя всё зависит от юристов.
        0
        При первом включении компьютер выдаёт лицензионное соглашение винды. Запустить Windows можно только согласившись с этим соглашением. Насколько я понимаю (читал в интернете, например, тут: www.opennet.ru/opennews/art.shtml?num=37039 ), чтобы вернуть деньги на лицензию Windows, нужно не согласиться с этим соглашением. Как я понял, нужно при свидетелях в магазине (в котором покупаешь компьютер) при первом включении компьютера не согласиться с этим соглашением. Автор этого поста показывает скриншоты работающей винды, таким образом, с лицензионным соглашением он уже согласился, значит, судя по всему, вернуть деньги он уже не сможет :(
          0
          Емнип, если делать Factory Recovery, то диалог с соглашением появляется снова.
            0
            Эмм, а винда-то всё равно уже поюзана. И как ты потом докажешь, что ты её не юзал? Тем более, что юзал
              0
              Для меня конечно уже не вариант, хотя бы потому что я в штаты не собираюсь. Я даже сам не знаю как определить был ли факт Factory Recovery, а консультант в магазине и подавно не сможет.
        +1
        В нем исправлено много недостатков предыдущих поколений, таких, как продолжительность работы от батареи

        А какие проблемы с батареей были в SP2?
          0
          Ну я имел относительно обоих поколений. В SP2 лучше держит батарейка, а в SP3 еще и экран обновили.
          0
          Засыпает-просыпается нормально?
            +3
            Упустил этот момент. К сожалению засыпает с концами. Приходится делать хард-ребут, зажимая кнопку включения на секунд 10. Но это тоже как-то должно решаться.
              0
              Вот неработающий (или глючный) suspend-resume больше всего и расстраивает в новом железе. Кстати, не поделитесь выводом lspci -vx на SP3? Хочется оценить перспективы водрузить туда FreeBSD. Все-таки вещь неплохая получилась: легкая, с достаточно большим экраном, съемной клавиатурой, и выглядит неплохо. Подождать, пока цены упадут, и можно брать. :-)
                +1
                Я сейчас собираю 3.16, чтоб завести Bluetooth. Вдруг и проблемы со сном там уже нет.

                Спойлер
                $ lspci -vx
                00:00.0 Host bridge: Intel Corporation Haswell-ULT DRAM Controller (rev 0b)
                Subsystem: Microsoft Corporation Device 0a04
                Flags: bus master, fast devsel, latency 0
                Capabilities: 00: 86 80 04 0a 06 00 90 20 0b 00 00 06 00 00 00 00
                10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
                20: 00 00 00 00 00 00 00 00 00 00 00 00 14 14 04 0a
                30: 00 00 00 00 e0 00 00 00 00 00 00 00 00 00 00 00

                00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b) (prog-if 00 [VGA controller])
                Subsystem: Microsoft Corporation Device 0005
                Flags: bus master, fast devsel, latency 0, IRQ 62
                Memory at c0000000 (64-bit, non-prefetchable) [size=4M]
                Memory at b0000000 (64-bit, prefetchable) [size=256M]
                I/O ports at 3000 [size=64]
                Expansion ROM at [disabled]
                Capabilities: Kernel driver in use: i915
                00: 86 80 16 0a 07 04 90 00 0b 00 00 03 00 00 00 00
                10: 04 00 00 c0 00 00 00 00 0c 00 00 b0 00 00 00 00
                20: 01 30 00 00 00 00 00 00 00 00 00 00 14 14 05 00
                30: 00 00 00 00 90 00 00 00 00 00 00 00 ff 01 00 00

                00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 0b)
                Subsystem: Intel Corporation Haswell-ULT HD Audio Controller
                Flags: bus master, fast devsel, latency 0, IRQ 64
                Memory at c0614000 (64-bit, non-prefetchable) [size=16K]
                Capabilities: Kernel driver in use: snd_hda_intel
                00: 86 80 0c 0a 06 04 10 00 0b 00 03 04 10 00 00 00
                10: 04 40 61 c0 00 00 00 00 00 00 00 00 00 00 00 00
                20: 00 00 00 00 00 00 00 00 00 00 00 00 86 80 0c 0a
                30: 00 00 00 00 50 00 00 00 00 00 00 00 ff 01 00 00

                00:14.0 USB controller: Intel Corporation Lynx Point-LP USB xHCI HC (rev 04) (prog-if 30 [XHCI])
                Subsystem: Microsoft Corporation Device 9c31
                Flags: bus master, medium devsel, latency 0, IRQ 60
                Memory at c0600000 (64-bit, non-prefetchable) [size=64K]
                Capabilities: Kernel driver in use: xhci_hcd
                00: 86 80 31 9c 06 04 90 02 04 30 03 0c 00 00 00 00
                10: 04 00 60 c0 00 00 00 00 00 00 00 00 00 00 00 00
                20: 00 00 00 00 00 00 00 00 00 00 00 00 14 14 31 9c
                30: 00 00 00 00 70 00 00 00 00 00 00 00 ff 01 00 00

                00:16.0 Communication controller: Intel Corporation Lynx Point-LP HECI #0 (rev 04)
                Subsystem: Microsoft Corporation Device 9c3a
                Flags: bus master, fast devsel, latency 0, IRQ 63
                Memory at c061c000 (64-bit, non-prefetchable) [size=32]
                Capabilities: Kernel driver in use: mei_me
                00: 86 80 3a 9c 06 04 10 00 04 00 80 07 00 00 80 00
                10: 04 c0 61 c0 00 00 00 00 00 00 00 00 00 00 00 00
                20: 00 00 00 00 00 00 00 00 00 00 00 00 14 14 3a 9c
                30: 00 00 00 00 50 00 00 00 00 00 00 00 ff 01 00 00

                00:1b.0 Audio device: Intel Corporation Lynx Point-LP HD Audio Controller (rev 04)
                Subsystem: Microsoft Corporation Device 9c20
                Flags: bus master, fast devsel, latency 0, IRQ 61
                Memory at c0610000 (64-bit, non-prefetchable) [size=16K]
                Capabilities: Kernel driver in use: snd_hda_intel
                00: 86 80 20 9c 06 04 10 00 04 00 03 04 10 00 00 00
                10: 04 00 61 c0 00 00 00 00 00 00 00 00 00 00 00 00
                20: 00 00 00 00 00 00 00 00 00 00 00 00 14 14 20 9c
                30: 00 00 00 00 50 00 00 00 00 00 00 00 ff 01 00 00

                00:1c.0 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 3 (rev e4) (prog-if 00 [Normal decode])
                Flags: bus master, fast devsel, latency 0
                Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
                Memory behind bridge: c0400000-c05fffff
                Capabilities: Kernel driver in use: pcieport
                00: 86 80 14 9c 07 04 10 00 e4 00 04 06 10 00 81 00
                10: 00 00 00 00 00 00 00 00 00 01 01 00 f0 00 00 00
                20: 40 c0 50 c0 f1 ff 01 00 00 00 00 00 00 00 00 00
                30: 00 00 00 00 40 00 00 00 00 00 00 00 ff 03 10 00

                00:1f.0 ISA bridge: Intel Corporation Lynx Point-LP LPC Controller (rev 04)
                Subsystem: Microsoft Corporation Device 9c43
                Flags: bus master, medium devsel, latency 0
                Capabilities: Kernel driver in use: lpc_ich
                00: 86 80 43 9c 07 00 10 02 04 00 01 06 00 00 80 00
                10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
                20: 00 00 00 00 00 00 00 00 00 00 00 00 14 14 43 9c
                30: 00 00 00 00 e0 00 00 00 00 00 00 00 00 00 00 00

                00:1f.2 SATA controller: Intel Corporation Lynx Point-LP SATA Controller 1 [AHCI mode] (rev 04) (prog-if 01 [AHCI 1.0])
                Subsystem: Microsoft Corporation Device 9c03
                Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 59
                I/O ports at 30b0 [size=8]
                I/O ports at 30a0 [size=4]
                I/O ports at 3090 [size=8]
                I/O ports at 3080 [size=4]
                I/O ports at 3060 [size=32]
                Memory at c061a000 (32-bit, non-prefetchable) [size=2K]
                Capabilities: Kernel driver in use: ahci
                00: 86 80 03 9c 07 04 b0 02 04 01 06 01 00 00 00 00
                10: b1 30 00 00 a1 30 00 00 91 30 00 00 81 30 00 00
                20: 61 30 00 00 00 a0 61 c0 00 00 00 00 14 14 03 9c
                30: 00 00 00 00 80 00 00 00 00 00 00 00 ff 02 00 00

                00:1f.3 SMBus: Intel Corporation Lynx Point-LP SMBus Controller (rev 04)
                Subsystem: Microsoft Corporation Device 9c22
                Flags: medium devsel, IRQ 18
                Memory at c0619000 (64-bit, non-prefetchable) [size=256]
                I/O ports at 3040 [size=32]
                00: 86 80 22 9c 03 00 80 02 04 00 05 0c 00 00 00 00
                10: 04 90 61 c0 00 00 00 00 00 00 00 00 00 00 00 00
                20: 41 30 00 00 00 00 00 00 00 00 00 00 14 14 22 9c
                30: 00 00 00 00 00 00 00 00 00 00 00 00 ff 03 00 00

                01:00.0 Ethernet controller: Marvell Technology Group Ltd. Device 2b38
                Subsystem: Device 0001:045e
                Flags: bus master, fast devsel, latency 0, IRQ 18
                Memory at c0500000 (64-bit, prefetchable) [size=1M]
                Memory at c0400000 (64-bit, prefetchable) [size=1M]
                Capabilities: Kernel driver in use: mwifiex_pcie
                00: ab 11 38 2b 06 00 10 00 00 00 00 02 10 00 00 00
                10: 0c 00 50 c0 00 00 00 00 0c 00 40 c0 00 00 00 00
                20: 00 00 00 00 00 00 00 00 00 00 00 00 01 00 5e 04
                30: 00 00 00 00 40 00 00 00 00 00 00 00 ff 01 00 00

                  0
                  Спасибо за список; похоже этот марвелл фря пока не умеет. :-( Расскажите потом, как (если) победите синезуб и просыпание.

                  Еще очень интересно как оно в режиме планшета (без Type Cover): насколько удобны линуксячьи on-screen keyboards (xvkbd vs. GOK vs. Florence), общее управление, особенности тех или иных DE и оконных менеджеров применительно именно к mouseless/keyboardless mode (touchscreen only).
                    +1
                    Есть хорошие новости. У меня получилось отправить его в сон (кулеры затихли) и пробудить. Я эксперементирую с разными патчами, методом тыка пытаюсь выявить нужные участки. В ближайшие время обновю патч в топике.

                    На счет touchscreen only. Я пока пользуюсь штатным Gnome 3. В каких то приложениях работает скроллинг пальцем, в других надо целиться в скроллбар. Виртуальную клавиатуру пока тоже пробовал только штатную. Если ее включить в настройках Accessibility, то она автоматически появляется нажатии на любое поле ввода. Ну нее недостаток большой, нет F1-F12, клавишь курсора и других, в консоли не посидеть.
                      0
                      Что ж, звучит обнадеживающе. Главное — побороть хардварные «закидоны»; допилить софт для комфортной работы (в т.ч. в консоли) не так сложно.
                      В каких-то приложениях работает скроллинг пальцем, в других надо целиться в скроллбар.
                      Вроде бы свежие версии ксорга и третьих gtk+ уже имеют touch support в какой-то мере. Даже вон kinetic scrolling запилили. Подозреваю, что «целиться» нужно в приложениях на старых (в хорошем смысле) тулкитах.
            0
            > Если сравнить с Windows, энергопотребление в Linux несколько выше, заряда батареи хватает примерно на 6-7 часов, в то время как в Windows ее хватает часов на 8-9. Так что результат очень даже неплохой.

            А пробовали энергопотребление тюнить через laptop-mode-tools-или-как-он-там?
              0
              Не пробовал, но надо будет. Спасибо за наводку.
                0
                Лучше tlp + thermald.
                  0
                  Не совсем в тему, но таки сдвинули меня покопаться с потреблением на Thinkpad T530.
              –3
              Посмотрел цену на этот surface pro 3 — 40 тыщ рублей.
              Зачем он нужен — не понял.
              У меня macbook air 11, куплен за 33 тысячи в Таиланде, внутри i5, 9 часов жизни от батареи, 1кг весу, нормальная операционка и возможность установить linux/windows на голое железо в дуалбуте.

              Эти извращения имеют смысл только при хорошей экономии, типа как с хромобуками, а так денег кучу отвалить и еще мозги себе парить с установкой нормальной операционки — зачем это все?
                +2
                Я могу ошибаться, но кажется у Air нет модели с IPS матрицой. А тачскрин и высокое разрешение экрана — это уже моя личная страсть.
                  +4
                  >>хорошей экономии, типа как с хромобуками

                  Экономия? С хромбуками? Лол :)
                    0
                    Acer Chromebook предлагает 4 ГБ оперативки, 32 ГБ встроенной памяти, 1080p тач-скрин и 13 часов работы от батареи при просмотре фильмов на средней яркости за $379. Правда, там Tegra K1, не знаю, можно ли будет поставить что-то отличное от хромоси, но если да, то очень даже вкусная цена.
                      0
                      Если вы про C7, то судя по коммитам Диллона в стрекозе и Ганса во фре, заменить хромось на этих асерах вполне можно. Но он все равно останется довольно неказистым пластмассовым нетбуком без особых супер-фич, особенно на фоне HP Chromebook 11 с IPS-матрицей и возможностью зарядки от USB (проблема разве что в том, что не x86).
                    +6
                    А заодно так себе экран 1366x768, прилично слабее процессор, невозможность использовать в качестве планшета и вес на 300 грамм больше.

                    «Нормальность» операционки — вопрос сильно дискуссионный, так что в холивар лезть не буду. Я вот тоже привык работать на OS X, да к тому же люблю ноут на колени положить, так что конкретно для меня эта штука не подойдет.

                    Но я могу представить очень многих, для кого такая концепция будет идеальной. Принес на работу, воткнул в док — и вот тебе рабочая станция. Надо поработать дома — подключил клавиатуру и работай. Хочешь что-то сделать в дороге или просто попрокрастинировать — достал из сумки планшет, потыкал пальцами в экран, посмотрел кино на отличном (и большом) экране.
                    0
                    Товарищи, кто-нибудь может подсказать нестандартные ноутбуки, у которых тачпад отсутствует как таковой, или хотя бы не занимает стандартное положение книзу от клавиатуры?
                    Я лично недолюбливаю ноутбуки, потому что не могу достичь комфортного положения рук на их клавиатуре, отчего удобство ввода значительно страдает. Если бы не было тачпада внизу (и всей этой панели), а сразу начиналась клавиатура, то было бы очень удобно. Пока что из таких ноутбуков я видел лишь Acer Aspire R7. В принципе, остальные его фичи, типо подвижного экрана меня не интересуют, а вот положение тачпада (кверху от клавиатуры) меня заинтересовало. Если кто знает подобные и другие решения с кастомным тачпадом или без него, буду рад ознакомиться.
                      +3
                      Может быть подойдёт что-то подобное?

                      image
                    –2
                    Блин. А зачем?)
                      +9
                      Потому что можно! Ну а еще, я разработчик и просто чувствую себя в окружении GNU/Linux комфортней, чем где либо еще.
                        –1
                        Так а зачем покупать сарфейс для GNU/Linux? ладно, я наверное чего-то не понимаю :) в любом случае, запустил — молодец! Сам люблю подобный секс
                          +4
                          Всегда было интересно, насколько пригоден десктоп Linux на тачскрине, но возиться с ARM планшетами как-то не очень хотелось.
                            0
                            Сёрфейсы (прошки) приятно выглядят, не из пластика, достаточно тонкие и легкие, в них быстрые x86-процы, есть USB-порт (жаль, что один, зато есть блютус и слот для карточки) плюс 12" 3:2 IPS и съемная клавиатура. Главных недостатка у них по сути четыре два: цена, плохая «разбираемость», операционка, производитель. :-)

                            Найти современный компактный не-нетбук (т.е. с полноразмерной клавитурой) в металлическом корпусе, на x86, с хорошей матрицей и возможность превращать брюки в шорты его в планшет — задача непростая безотносительно операционной системы. Многие покупают макбуки и ставят на них венду, потому что им нравится железо и не по душе софт. Здесь примерно то же самое.

                            (Простите, это был ответ Spectre).
                              +1
                              Перешел на Surface Pro 3 с похожего планшета — Acer W700.
                              Из плюсов нового: более тонкий и качественный корпус (хотя у Acer тоже алюминиевый и неплохой), с удобной подставкой; 8 гиг памяти (у Acer только 4), проц 4го поколения i7 (у Acer максимум Core i5 3го поколения). Из минусов — более обрезанный EUFI BIOS (нельзя выбирать из нескольких загрузчиков — в Acer хоть и криво, но можно было) и чувствую разбирается сложнее чем Acer он, если вообще разбирается )
                              Ну и разница в цене приличная, хоть оба и в штатах заказывал.
                                0
                                чувствую разбирается сложнее чем Acer он, если вообще разбирается )
                                Вообще как-то разбирается, на iFixit есть описание процесса, но это не для faint-hearted, конечно. :-)

                                Я вяло подумываю взять 8-гиговую модель на i5 (i7 как-то уж слишком дорого выходит) где-нибудь через годик: к тому времени и цены, глядишь, снизятся, и у FreeBSD станет получше с поддержкой хасвелла.
                                  0
                                  ну у меня где-то 1250 он получился с ебея с учетом всяких разных скидок и купонов, плюс доставка баксов 60 что ли EMS за 6 дней через посредника…
                                  FreeBSD я уже давно не рискую ставить на десктопы, живу под линуксом, FreeBSD только на серверах.
                                    0
                                    $1250 за i7 это good deal! Я вот сейчас смотрю у них на сайте, самый дешевый i7 (1.7GHz) listed as $1549, i5 (1.9GHz) уже $1299, и это с бесплатной доставкой (в Россию, правда, вряд ли). Хотя там еще Black Friday скидки, $100 для i5, $150 для i7.

                                    P.S. Приятно слышать про использование FreeBSD, пусть даже только на серверах! :-)
                                      0
                                      Да, на амазоне 1550 тоже цена, на ебее лот стоил что-то в районе 1440, ну и минус купоны, скидки, кэшбэки и получилось то что получилось в итоге :)
                                      Да, упаковка кстати у MS тоже намного лучше и компактнее чем у Acer.
                                    0
                                    Нда, в процессе разборки разломали весь экран (стекло) :(
                                    у Acer все же более-менее цивильно все разбиралось (но и толщина чуть больше, и ребра корпуса более «острые»)
                        +1
                        Подскажите какой железо в нем для WIFI и BT, сам использую Fedora на Lenovo Yoga. И эти модули каждый раз приходится собирать руками, при этом BT работает не с каждым ядром. Просто я предположил, что это железо в них может быть похожим.
                        И еще вопрос видит ли ОС датчик положения в пространстве? На Yoga так и не смог его найти пришлось поворачивать экран и Touchscreen скриптами.
                          0
                          На йоге не все устройства идентифицируются нормально, да.
                          датчик ориентации — texas instruments, 1bcf:0855 в lsusb, виден на ванильном ядре 3.16
                            0
                            *2047:0855, конечно же.
                              0
                              SoC от Marvell обеспечивает оба BT и WiFi. На моем текущем ядре 3.14 датчик положения в пространстве увы не виден. Отпишусь, если в 3.16 ситуация изменится.
                                0
                                А еще оно 802.11ac вроде поддерживает :) пора менять роутеры опять )
                                  +2
                                  Здорово, я не знал. К стати, с каким-то из обновлений Windows пришел новый Marvell драйвер, в котором теперь каналы 12 и 13 заблокированы (я покупал SP3 в США). Но в Linux все каналы работают.
                              0
                              Поставить перед установкой линуксов rEFInd в качестве загрузчика будет очень кстати.

                              Смысл такой:
                              — установленный rEFInd внушает уверенность, что прежняя ОС нормально загрузится
                              — при установке линуксов не надо танцевать с бубном и MBR-загрузчиком
                                0
                                Ведь UEFI в принципе не поддерживает MBR-загрузчик. Поэтом мне кажется с загрузкой Windows никогда проблем не должно возникнуть. Скорей всего наоборот, какой-нибдь апдейт Windows вычистит GRUB из EFI раздела. rEFInd я рассматирвал как вариант, но пока не пробовал. Кстати у GRUB в UEFI есть интересная особенность. Если включать SP3 без клавиатуры, на экране появляется виртуальная. Правда если ей воспользоваться, все повиснет. Интересно как у rEFInd с этим.
                                  0
                                  У меня не висла, но с какого-то момента она почему-то перестала появляться (делаю все как и раньше)…
                                  И, кроме того, мне казалось что это фича самого планшета, а не Grub (на планшете Acer W700 например такой кливиатуры не было)…
                                  У Вас по-прежнему нормально эта экранная клавиатура работает? И только в Grub или в других загрузчиках тоже? И только при загрузке с USB, или с основного диска тоже?
                                    +1
                                    Клавиатура появлялась не всегда, раз через раз кажется. Теперь поставил себе rEFInd. В нем вместо клавиатуры появляется только курсор, но сам rEFInd него тоже неадекватно реагирует. В общем я всегда гружу с физической клавиатурой. Да, появляются и если с USB грузиться и с диска. Я сейчас гружусь с microSD, аналогично зажимая power и volume down.
                                      0
                                      Да, такая хорошая идея с onscreen keyboard при загрузке, и так криво сделали :(
                                      В reFInd у меня и курсора не видно даже…
                                      Настроил себе загрузку винды через microsd с установленным rEFInd и линукса по умолчанию с диска )
                                        +1
                                        Я тоже так хотел сделать. Но я зашифровал раздел с Windows через Bitlocker, и если грузить Windows через GRUB или rEFInd, слетает первичный ключ (у Bitlocker их два, короткий и жутко длинный).
                                0
                                Топик обновлен с инструкциями получения ядра 3.16 и с новым патчем для клавиатуры. Теперь работает Bluetooth и не умирает WiFi.
                                  0
                                  Wifi у меня иногда все же умирает, причем помогает только ребут потом (Arch linux, последнее ядро 3.17, последняя firmware для marvell)
                                    +2
                                    С тех пор ни разу не умирал. Я все еще на 3.16. Да и новый драйвер могли сломать, у меня стоит из коммита 633d06e.
                                  +1
                                  Кнопки громкости кстати даже через xev не обнаруживаются при нажатии… странно.
                                    0
                                    А ChromeOS/ChromiumOS никто на него не ставил?
                                    Неработающий wifi фиксится простым копированием бинарника firmware в /lib/firmware/mrvl/, а вот остальные проблемы остаются… в частности, совсем не работает клавиатура-чехол (ни клавиатура, ни тачпад), не просыпается если усыпить закрытием крышки (клавиатуры-чехла)… видимо нужно патчить ядро, но как это правильнее сделать в ChromiumOS пока не нашел…
                                      +1
                                      bugzilla.kernel.org/show_bug.cgi?id=84651
                                      Тут выложили 2 патча для ядра для поддержки кнопок (питания и громкости) и работы suspend. Все отлично работает )
                                      Проверял на ядре 4.0-rc4 и Arch Linux
                                        0
                                        Отличная новость! Пришел конец моим страданиям.
                                          0
                                          Новости из 2020: поддержки Suspend нет и не будет в принципе. Максимум, что можно, это отправить в режим пониженного энергопотребления. Hо это совсем не сон, батарейка часов за 8 теряет около 40-70% заряда.
                                        +2
                                        Тут выложили патч для тачпада (поддержка мультитача и скролла двумя пальцами… правда, у меня с этим патчем перестал работать правый клик)
                                        gist.github.com/felipeota/afb5f510f5b315f8bed8
                                          0

                                          А вы получается оставили Windows и Debian рядом поставили?


                                          А если только Linux оставить?

                                            +1
                                            Тогда все гораздо проще. На сегодняшний день уже можно ставить с включенным Secure Boot.

                                            Но к сожалению Suspend не работает и никогда не будет, в силу полного отсутствия S3 режима в самом железе всей линейки Surface. Но может вас устроит Hibernate, который хоть работает через раз, но Secure Boot придется отключить и лицезреть красный экран при включении.
                                              0

                                              Спасибо, а ядро Linux для Surface ( https://github.com/linux-surface/linux-surface ) пробовали?


                                              (я просто тоже заказал, думаю как будет лучше поступить)

                                                0
                                                Смотря с какой целью. У меня и так все работает, кроме Hibernate.

                                                А вообще пробовал, причем совсем недавно, а также и из https://github.com/jakeday/linux-surface. Но wifi отваливается все равно после каждого Hibernate.

                                                Даже когда Hibernate починят (это лишь проблема софта), у него свои серьезные недостатки (нельзя с Secure Boot; вводить пароль каждый раз, если диск зашифрован).

                                                На вашем месте я бы отменил заказ :)
                                                  0

                                                  Оу, даже так image

                                          Only users with full accounts can post comments. Log in, please.