Как и у многих разработчиков, периодически работающих дома, у меня есть достаточно мощный десктоп, которого без проблем хватает для разных задач. Но периодически бывают дела вроде написания этой статьи для Хабра, где большой вычислительной мощности не нужно, но при этом хочется сидеть за любимым большим монитором и клавиатурой.
Решение пришло случайно при просмотре одного из обзоров — интерфейс Samsung DeX, позволяющий использовать в десктоп-режиме собственный смартфон.
Данная статья набрана и сверстана на смартфоне. Для тех кому интересно, как это работает, продолжение под катом.
Первый вопрос, наверное «зачем»? Во-первых, из соображений экологии и удобства — десктоп потребляет больше электричества, шумит и греется. Во-вторых, просто из интереса попробовать что-то новое. В третьих, если это работает, то в ряде случаев можно не брать с собой ноутбук, а ограничиться смартфоном и HDMI-кабелем, что заметно экономит вес и место в багаже.
Разумеется, могут быть разные варианты решения задачи, как обойтись без десктопа. Можно купить fanless-ПК и подключить его параллельно основному компьютеру, но хороший fanless-ПК стоит недешево. Можно купить Chromebox, что по сути тот же ПК, только с ОС от Гугла. Наконец, если ограничиться просмотром видео, можно просто воткнуть в монитор или телевизор Google Chromecast. Но решение со смартфоном оказалось самым удобным, при условии конечно, что уже есть современный смартфон, способный использовать USB-C как HDMI-выход. Не секрет, что современные смартфоны имеют весьма приличную вычислительную мощность — несколько ядер, 4-8Гб оперативной памяти, и в большинстве случаев все это практически не используется.
Железо
Собственно, «железом» является сам смартфон, но для того чтобы все заработало, нам понадобится два устройства.
- Переходник USB-C — HDMI, который мы подключим к монитору и смартфону. Я взял специальный адаптер, способный во время работы подавать питание на смартфон, т.к. иначе придется думать о заряде батареи.
Как подсказали в комментариях, на современных мониторах с поддержкой USB-C отдельный переходник не нужен, все работает напрямую. - USB-переключатель, способный «разделить» USB-мышь и клавиатуру на два устройства — ПК и DeX.
Разумеется, без него можно обойтись, если каждый раз перетыкать USB-кабель, но гораздо проще переключиться между одним нажатием кнопки.
Собственно, и все. Подключаем вместе все кабели, соединяем адаптер со смартфоном и монитором, и всё работает, мы видим вполне полноценный десктоп:
Разумеется, подключение к клавиатуре через USB-переключатель это не единственный вариант использования. Смартфон можно использовать вместо ноутбука для показа презентаций или фотографий на большом экране, просмотра видео на телевизоре в отеле, и пр. В общем, при неплохой мощности современных смартфонов, вариантов использования довольно много, а положить в сумку или карман USB-адаптер бывает проще, чем брать с собой лэптоп.
С железом разобрались, перейдем к к софту.
Софт
С софтом все одновременно и просто, и сложно. Просто потому, что это обычный Android, и он вполне работает на больших экранах. Сложно потому, что это телефонный Android, соответственно, не все программы «понимают» что они работают в десктоп-режиме.
Google Chrome к примеру, выглядит вот так:
Все вполне работает, но вот переключение между открытыми страницами требует нескольких кликов, и это неудобно. В Chrome Beta таки появилась возможность активировать панель табов, для чего достаточно в браузере открыть адрес «chrome://flags/#enable-conditional-strip». Табы располагаются только снизу и у них нет подписей, только иконки страниц (см. нижнюю часть скриншота), но это все же лучше чем ничего.
Youtube работает, хотя и выглядит немного странно:
Помимо Youtube, нормально работает Spotify, музыку можно слушать фоном, на производительности это никак не сказывается.
Хабр открывается нормально, но всплывающие подсказки при наведении на иконки не появляются, что иногда неудобно при написании комментариев или текста с форматированием.
Я не пробовал использовать MS Office, однако Google Docs нормально открывает и редактирует документы:
Сложности возникли с редактированием изображений. Большинство Android-редакторов заточены под смартфоны, и среди множества всяких улучшалок фотографий, нанесения рамок и прочей ерунды, я не нашел обычного простого редактора в стиле Paint, где можно было бы изменить размер холста, добавить надписи и сделать прочие несложные вещи. Смешно, но в нескольких редакторах, имеющих в названии слово Pro я не нашел банальной функции Resize Canvas. Пример редактора с незамысловатым названием Photo Editor показан на скриншоте, и несложно видеть, что его UI определенно рассчитан под телефон.
Однако, система может подойти не только для работы с текстами и картинками:
Python 3.8, numpy, git и Slack работают нормально, так что даже поработать с такого «ПК» в принципе, можно, вопрос лишь в том, удастся ли найти удобную IDE.
Очевидный недостаток, который сразу «бросился в глаза» — отсутствие иконки раскладки клавиатуры. Понятно в целом, что Android система американская, и о наличии других раскладок они имеют смутное представление, но все же, добавить в трей иконку языка было бы удобно. Переключение по Alt+Shift кстати, работает нормально.
Заключение
Использование смартфона в «десктопном режиме», в целом, оставило приятное впечатление. Все работает плавно, ничего не тормозит, ну а полное отсутствие шума при работе тоже радует. Справедливости ради, стоит заметить, что топовые смартфоны стоят подороже многих ноутбуков, так что было бы странно, если бы оно не работало.
Очевидно, что Samsung DeX рассчитана на устройства Samsung, мне неизвестно будет ли такой переходник работать на других смартфонах. Если кто пробовал, напишите в комментариях. А в целом, концепция кажется вполне перспективной. Раз уж современные смартфоны по производительности догоняют десктопы, почему бы не использовать эту мощность во благо, а не только в игры играть. Возможность положить в карман HDMI-переходник и иметь возможность пользоваться системой на большом экране это весьма удобно, надеюсь, софт будет и дальше развиваться в этом направлении. А Android-разработчикам могу посоветовать лучше тестировать свои программы в десктоп-режиме. Как подсказали в комментариях, этот режим будет штатно поддерживаться в Android 11, так что для девелоперов это очевидно, новая рыночная ниша и новые возможности. С точки зрения требований к «железу», desktop mode скорее всего, будет доступен на современных смартфонах, имеющих аппаратную поддержку USB 3.1.
P.S.: Для тех, кто хочет посмотреть Samsung DeX «вживую», видео под спойлером (не мое).
Dartess
В качестве альтернативы хрому с вкладками могу предложить встроенный же Samsung Internet, там удобные привычные табы с подписями и иконками даже на телефоне.
А в качестве IDE теоретически подходит Visual Studio Codespaces, но на практике пока не пробовал.
DmitrySpb79 Автор
Да, в браузере от Samsung табы есть, но в Chrome движок наверно поновее будет. Хотя пока не сравнивал.
nckma
Немного странный вопрос: «Почему вы эту штуку называете <USB переходник>»?
«Переходник» в моем понимании это просто соединение проводов в другом порядке из одного разъема в другой.
Эта же штука совсем не является переходником. Наверняка она внутри содержит USB хаб 3.0 и еще специальный USB чип типа UFX7000 и еще память для фреймбуффера.
То есть это очень технически сложное устройство со своим протоколом.
DmitrySpb79 Автор
Я честно, не вникал как по USB-C видеосигнал передается, то что стандарт сложный, это понятно. Хотя с точки зрения end-юзера это все же переходник, ясно конечно что там не просто провода внутри :)
nckma
Мне иногда кажется, что end-юзеры развращены технологиями. Иногда там, где используется чудо технической инженерной мысли они видят всего лишь «переходник», который вероятно по мнению пользователя должен стоить 5 баксов (с себестоимостью 4.9$)…
А на самом деле там стоит ASIC и приемопередатчик на 5Гбит, на выпуск первого экземпляра чипа которого наверное потратили миллион долларов. Сколько инвестор должен продать таких «переходников», чтоб хотя бы в ноль выйти…
drWhy
Ну производители и развратили же. Посмотрите на стоимость usb2 изделий — она резко упала с выходом usb3 наследников. Да, скорости там другие, но на их разработку тоже были затрачены большие средства в своё время.
Просто сначала производители гаджетов скупятся на установку достаточного количества разъёмов (скажем, один разъём usb3 на всё про всё в ультрабуке), а потом внезапно выясняется что использовать гаджет без расширителя портов неудобно, а покупать расширитель за пол стоимости гаджета никто не станет.
Конечно, расширитель портов на смартфоне — другое дело, это расширение функциональности железки за бесплатно, а за шару покупатели готовы платить любые деньги. Но удобно.
DmitrySpb79 Автор
Вы будете смеяться, но на официальном сайте самсунга это называется DeX Cable:
www.samsung.com/us/mobile/mobile-accessories/phones/dex-cable-ee-i3100fbegww
И что это с точки зрения юзера, как не cable?
hippohood
Ну, у меня чудо инженерной мысли (без сарказма) от HP выглядит как переходник и стоит в районе 10 баксов…
Если он выглядит и стоит как утка, то как его назвать?
vikarti
это к Apple.
Есть же USB Alternate-mode. у Samsung точно не оно?
Gugic
Там MHL.
DaemonGloom
Нет, там обычный usb alternate mode. Работают любые переходники, хоть эппловские.
Tarakanator
Не знаю как с юсб, но в общем случае я бы поостерёгся называть это переходниками. Уже дважды натыкался на случаи где было важно то, что это НЕ переходник.
1)подключить dual-dvi монитор к современной видеокарте(переходники с hdmi\display port DUAL-dvi не могут)
2)подключить 4к телевизор(в наличии только hdmi) к display port(единственный HDMI на видеокарте занят VR шлемом). Тоже выяснилось, что переходники не подходят.
mig126
У меня телевизор без проблем подключился через display port на видеокарте.
В телевизоре есть hdmi и dvi. А кабель был hdmi. Т.е. работало даже через два вроде бы пассивных(не разбирал, но они маленькие и без доп. питания) переходника с алиэкспресса(display port-hdmi/hdmi-dvi).
Tarakanator
У вас 4к телевизор? Я писал, что 4к не подключается.
drWhy
Фреймбуфер по идее не обязателен для преобразования между цифровыми интерфейсами, в UFX7000 его поддержка есть для преобразования в VGA.
nckma
Ну а как без фреймбуффера осуществлять развертку на видеосигнале? Видеосигналы по природе синхронны с фиксированной частотой PixelClock. А USB не гарантирует доставку пакета в нужное время. Значит нужно где-то хранить принятый кадр.
drWhy
Разве в скейлере нет фреймбуфера?
none7
USB-C это НЕ USB. Он просто отдаёт часть контактов для передачи DisplayPort/HDMI. В случае с HDMI ещё остаются свободные контакты для USB 3.1. Работа переходника соответственно заключается в том, чтобы договорится с хостом и перекоммутировать контакты. И никакого преобразования изображения не происходит вообще.
ris58h
Зачем, если есть Firefox с блокировщиком рекламы и поддержкой остальных расширений?
DaemonGloom
Он совершенно крив при работы с мышью и клавиатурой, увы.
ProFfeSsoRr
Какой из Firefox'ов? Они ж там пилят новый, а который "просто firefox" считается уже устаревшим. Попробуйте проверить Nightly версию.
ris58h
Только им и пользуюсь как с dex так и без. Не знаю о какой кривости идёт речь. Шортката ctrl+l нет — это да. Зато vimium работает (хотя там тоже есть косяки).
DaemonGloom
Последний firefox nightly — нет отдельно отображаемых вкладок (переключаться надо через кнопку, как в обычном мобильном варианте), адресная строка прибита к нижней части экрана, проблемы с масштабом страниц (поиск гугла, например), не работает правая кнопка мыши. Даже простейший ctrl+t не работает.
На мой взгляд — это означает, что он крив для классической работы с мышью/клавиатурой.
ris58h
Так это nightly. Использую обычный и горя не знаю.
DaemonGloom
Окей. Последний firefox, который скачался только что из google play просто отказывается запускаться, говоря, что ему нужен не dex, а сенсорный экран. 68.11.0
Если скачать с apkmirror вручную версию 79 — будет всё то же, что и с nightly.