<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Soul Of Free Loop &#187; DisplayLink</title>
	<atom:link href="https://zohead.com/archives/tag/displaylink/feed/" rel="self" type="application/rss+xml" />
	<link>https://zohead.com</link>
	<description>Uranus Zhou&#039;s Blog</description>
	<lastBuildDate>Sat, 19 Jul 2025 15:42:46 +0000</lastBuildDate>
	<language>zh-CN</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.8</generator>
	<item>
		<title>Sentio Superbook初步体验</title>
		<link>https://zohead.com/archives/sentio-superbook/</link>
		<comments>https://zohead.com/archives/sentio-superbook/#comments</comments>
		<pubDate>Wed, 13 Feb 2019 13:36:31 +0000</pubDate>
		<dc:creator><![CDATA[Uranus Zhou]]></dc:creator>
				<category><![CDATA[手机]]></category>
		<category><![CDATA[数码]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[DisplayLink]]></category>
		<category><![CDATA[Nubia]]></category>
		<category><![CDATA[Sentio]]></category>
		<category><![CDATA[Superbook]]></category>

		<guid isPermaLink="false">https://zohead.com/?p=1568</guid>
		<description><![CDATA[关于 Sentio Superbook 2016 年的时候我写了篇 使用DisplayLink显卡组装Android Superbook 的文章，介绍如何使用 Motorola Lapdock 扩展坞和 DisplayLink USB 显卡实现手机扩展笔记本的效果。差不多 9 月份我就下单支持了 Kickstarter 上 Sentio 团队推出的 Superbook 项目，并花了 154 美元选择了 1080p 屏幕的高配版本（99 美元基础费用 + 30 美元升级费用 + 25 美元运费）。 比较坑的是 Superbook 项目众筹达到目标之后，Sentio 团队中间一拖再拖，不断出现供应 [&#8230;]]]></description>
				<content:encoded><![CDATA[<h2 id="about-sentio-superbook">关于 Sentio Superbook</h2>
<p>2016 年的时候我写了篇 <a href="https://zohead.com/archives/displaylink_superbook/">使用DisplayLink显卡组装Android Superbook</a> 的文章，介绍如何使用 Motorola Lapdock 扩展坞和 DisplayLink USB 显卡实现手机扩展笔记本的效果。差不多 9 月份我就下单支持了 Kickstarter 上 <a href="http://www.sentio.com/" target="_blank">Sentio</a> 团队推出的 <a href="https://www.kickstarter.com/projects/andromium/the-superbook-turn-your-smartphone-into-a-laptop-f" target="_blank">Superbook</a> 项目，并花了 154 美元选择了 1080p 屏幕的高配版本（99 美元基础费用 + 30 美元升级费用 + 25 美元运费）。</p>
<p>比较坑的是 Superbook 项目众筹达到目标之后，Sentio 团队中间一拖再拖，不断出现供应商及硬件固件相关的问题，导致我的 Superbook 等了两年多直到 2019 年 1 月份才从香港发到我手上。此处需要额外吐槽的是联邦快递，即使 Superbook 价格里已经包含了关税，联邦无视 Sentio 提供的价格单仍然主动报关，导致到手时我还是另外付了 100 人民币左右的关税。</p>
<h2 id="开箱及外观">开箱及外观</h2>
<p>毕竟只是廉价众筹的产品，Superbook 的外包装也挺简单：</p>
<p><img src="http://res.cloudinary.com/digwht2y0/image/upload/v1737442953/superbook-box-front.jpg" alt="Superbook 包装正面"></p>
<p>众筹版本额外赠送了 Superbook 笔记本保护套及一张 A 面贴纸，自带的电源适配器则是 12V 3A 的：</p>
<p><img src="http://res.cloudinary.com/digwht2y0/image/upload/v1737442951/superbook-accessory.jpg" alt="Superbook 附件"></p>
<p>包装里只附带了一张 A4 纸的简单使用说明，先看看主机正面，金色机身正面也只有 Superbook 字样，和我的 Acer Chromebook 14 比起来还是很小巧的：</p>
<p><img src="http://res.cloudinary.com/digwht2y0/image/upload/v1737442951/superbook-a-all.jpg" alt="Superbook A 面"></p>
<p>整个机身只有左侧的一个 USB Type-A 扩展接口（可外接其它 USB 设备）以及和手机连接的 USB Type-C 接口。</p>
<p>从 D 面可以看到具体型号是 Superbook S1，由于没有处理器之类的不需要散热孔，D 面也只有一个重置按钮：</p>
<p><img src="http://res.cloudinary.com/digwht2y0/image/upload/v1737442956/superbook-d.jpg" alt="Superbook D 面"></p>
<p>B 面和 C 面如下，打开时感觉转轴稍微有点生硬，11 寸的 1080p IPS 屏幕下面就是 Sentio 的图标，C 面做了点磨砂处理，键盘上方只有电池和工作状态指示灯：</p>
<p><img src="http://res.cloudinary.com/digwht2y0/image/upload/v1737442952/superbook-b-c.jpg" alt="Superbook B 面和 C 面"></p>
<p>主要关注下键盘，可以看到 Superbook 主要就是为 Android 专门设计的：</p>
<p><img src="http://res.cloudinary.com/digwht2y0/image/upload/v1737442956/superbook-keyboard.jpg" alt="Superbook 键盘和触控板"></p>
<p>键盘上最上面一排开始就是 返回、主页及切换窗口按键，接着是常用的屏幕亮度和音量控制键等，最下面增加了搜索键和专门的 Sentio 按键（实现一些 Superbook 设备自身的功能）；支持多点触摸的触控板用起来手感也只能说是中规中矩。</p>
<h2 id="superbook-report">初步使用</h2>
<p>由于 2016 年我预订的时候用的还是华硕 Zenfone2 手机，选的配件还是官方的 USB Type-C 转 Micro-USB 线，还好现在换的 Nubia Z17 手机也是 USB OTG 功能的，只是需要自己购置 USB Type-C 转 Type-C 的线咯。</p>
<p>按照官方 <a href="http://sentio.wikia.com/" target="_blank">Sentio Wiki</a> 页面上的说明，连接 Android 手机之前，手机上需要安装 <a href="https://play.google.com/store/apps/details?id=com.displaylink.presenter" target="_blank">DisplayLink Presenter</a> 和 <a href="https://play.google.com/store/apps/details?id=com.sentio.desktop" target="_blank">Sentio Desktop</a> 这两个 App。</p>
<p>DisplayLink Presenter 相当于 Superbook 自带 DisplayLink USB 显卡的 Android 驱动程序（只负责镜像手机屏幕）；Sentio Desktop 就是一个应用启动器，运行之后会启动一个类似桌面环境，用户可以在 Sentio Desktop 中运行手机里的其它 App。</p>
<p>我的 Nubia Z17 上 DisplayLink Presenter 工作倒是没问题，但 Sentio Desktop 始终卡在要求 Android 多窗口支持这一步上，我的手机虽然运行的是 Android 7.1.1 系统，但是 Nubia 官方系统把这个重要特性给阉割了（有过 Nubia 手机使用经验的同学们估计也知道 Nubia 的系统有多坑）。</p>
<p>一番搜索之后，我在 Sentio Wiki 上的 <a href="http://sentio.wikia.com/wiki/Troubleshooting/Getting_Started" target="_blank">Troubleshooting/Getting Started</a> 页面上找到解决办法，通过 adb 运行下面两个命令并重启手机（第一条命令用于开启 Android 多窗口支持）：</p>
<pre class="brush: bash; title: ; notranslate">
settings put global enable_freeform_support 1
pm grant com.sentio.desktop android.permission.WRITE_SECURE_SETTINGS
</pre>
<p>这样 Sentio Desktop 程序好歹能在我的 Nubia Z17 手机上运行起来了：</p>
<p><img src="http://res.cloudinary.com/digwht2y0/image/upload/v1737442941/sentio-desktop.png" alt="Sentio Desktop"></p>
<p>Sentio Desktop 桌面环境看起来也是比较简洁的，左下角的启动图标可以弹出搜索运行 App，右下角通知区域则包含常用的功能开关，蓝牙、WLAN、音量都可以直接控制，设置图标弹出的 <strong>快速设定</strong> 界面略显简单。</p>
<p>手机屏幕实际投射到 Superbook 上我才发现 Nubia Z17 即使通过 adb 命令开启了多窗口支持，Sentio Desktop 桌面环境里还是只能同时显示一个 App，并不能实现自由调整窗口大小更别说多窗口运行 App 了。</p>
<p>Sentio Desktop 初步使用起来，手机上的 Chrome 浏览器、视频播放器等支持横屏的 App 经过放大投射到 Superbook 上显示效果还是不错的，只是播放高清网络视频和玩一些游戏的时候会略有些卡顿。Superbook 的键盘和触控板也能直接控制手机，Android 通知栏也能点击通知图标弹出来：</p>
<p><img src="http://res.cloudinary.com/digwht2y0/image/upload/v1737442941/sentio-desktop-chrome.png" alt="Sentio Desktop App 和通知栏"></p>
<p>不过对于不支持横屏显示的 App，例如 Nubia 自带相机这种投射到 Superbook 上效果就很一般了：</p>
<p><img src="http://res.cloudinary.com/digwht2y0/image/upload/v1737442941/sentio-desktop-app.jpg" alt="Superbook 竖屏显示"></p>
<p>这个问题还是多窗口支持被阉割了导致 App 无法以单独窗口形式运行导致的，暂时只能让 Nubia Z17 手机系统来背锅了，后续我可以换像一加这种使用类原生系统的手机来测试咯，毕竟这样会使 Sentio Desktop 桌面环境的使用体验大打折扣。</p>
<h2 id="superbook-issue">问题</h2>
<p>部分使用 USB Type-C 接口的手机例如我的 Nubia Z17 连接 Superbook 之后，Superbook 为手机充电的功能并不能工作，而且 USB 连接也不太稳定，需要通过 <kbd>Fn + P</kbd> 键关闭 Superbook USB 充电功能之后才能正常使用，不太确定是否与我购买的 USB Type-C 数据线有关。</p>
<p>另外我在测试 Android 电视棒的时候还是发现有些问题，我用的是之前买的 <a href="https://zohead.com/archives/mk809iv-1080p/">MK809IV</a> Android 电视棒，由于 Android 电视棒一般只支持通过自带的 HDMI 接口进行输出，我的住处也没有 HDMI 显示器或者电视，导致 Android 电视棒接上 Superbook 之后也没有任何反应无法使用。</p>
<p>即便对于我买的这种可以自由安装 App 的 Android 电视棒，也会因为电视棒 Android 4.4 版本太低而无法使用 Sentio Desktop App，更别说很多厂商提供的电视棒还无法自行安装卸载 App 那就更加不可行了。</p>
<p>因此 Sentio Superbook 的限制就是所连接的设备必须支持 DisplayLink USB 显卡，我曾经在项目众筹阶段向发起人提议做成像 Motorola Lapdock 那样，将屏幕的 HDMI 输入开放一个接口可以让外部设备连接，并增加硬件开关切换 HDMI 输入和显卡通过 USB Hub 显示，不过这样硬件做起来比较复杂也就没被采纳。</p>
<h2 id="summary">总结</h2>
<p>接着我还找了 Chromebook、Windows 10 笔记本等设备分别接到 Superbook 上，由于 Chrome OS 和 Windows 10 系统都自带了 DisplayLink USB 显卡驱动，接上之后都能自动识别并扩展屏幕到 Superbook，做为外接显示器来用体验还是比较满意的。</p>
<p>经过这段时间的使用，Superbook 还是能解决我的某些需求的，只是由于 Nubia Z17 手机的各种限制体验会受些影响。目前 Superbook 基本被我由于之前买的一个老款 Intel Computer Stick，这类 PC stick 设备升级到 Windows 10 系统之后接上 Superbook 就可以做主屏幕显示了，不用额外接显示器和键盘鼠标当成一台 Windows 备用机来用还是不错咯。</p>
]]></content:encoded>
			<wfw:commentRss>https://zohead.com/archives/sentio-superbook/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>使用DisplayLink显卡组装Android Superbook</title>
		<link>https://zohead.com/archives/displaylink_superbook/</link>
		<comments>https://zohead.com/archives/displaylink_superbook/#comments</comments>
		<pubDate>Tue, 26 Jul 2016 16:31:39 +0000</pubDate>
		<dc:creator><![CDATA[Uranus Zhou]]></dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[手机]]></category>
		<category><![CDATA[Andromium]]></category>
		<category><![CDATA[DisplayLink]]></category>
		<category><![CDATA[Kickstarter]]></category>
		<category><![CDATA[LapDock]]></category>
		<category><![CDATA[Motorola]]></category>
		<category><![CDATA[OTG]]></category>
		<category><![CDATA[Superbook]]></category>
		<category><![CDATA[USB]]></category>
		<category><![CDATA[Zenfone 2]]></category>
		<category><![CDATA[显卡]]></category>

		<guid isPermaLink="false">https://zohead.com/?p=1257</guid>
		<description><![CDATA[关于 Superbook 前几天在 Kickstarter 上看到一个挺有意思的 Superbook 众筹项目，其主要目的是以 99 美元的价格实现 Android 手机插上数据线连接 Superbook 就能变身笔记本，该项目由 Andromium 团队推出，截至我写此文章的时候该项目已经筹集到 80 多万美元，感兴趣的朋友可以看看其 Kickstarter 项目主页： http://getsuperbook.com/ 初看该项目介绍，发现还是比较类似 Motorola 前几年推出的 LapDock 笔记本扩展坞装备的，只是 LapDock 是专门给 Motorola ME865 等手机设计 [&#8230;]]]></description>
				<content:encoded><![CDATA[<h2 id="关于-superbook">关于 Superbook</h2>
<p>前几天在 Kickstarter 上看到一个挺有意思的 Superbook 众筹项目，其主要目的是以 99 美元的价格实现 Android 手机插上数据线连接 Superbook 就能变身笔记本，该项目由 Andromium 团队推出，截至我写此文章的时候该项目已经筹集到 80 多万美元，感兴趣的朋友可以看看其 Kickstarter 项目主页：</p>
<p><a href="http://getsuperbook.com/">http://getsuperbook.com/</a></p>
<p>初看该项目介绍，发现还是比较类似 Motorola 前几年推出的 LapDock 笔记本扩展坞装备的，只是 LapDock 是专门给 Motorola ME865 等手机设计的，其它设备如果想要使用 LapDock 必须支持 USB Host/OTG 以及 HDMI 输出功能而且需要准备各种转换线。</p>
<p>Superbook 主要特性包括：</p>
<ul>
<li>可支持所有包含 USB OTG 功能的 Android 手机；</li>
<li>11.6 寸 1366x768 的 IPS 屏幕；</li>
<li>10 个小时的续航支持，连接上手机后可以为手机充电；</li>
<li>也可以支持树莓派、MiniPC 等类型的设备；</li>
<li>在自带了键盘和多点触控触摸板的基础上也有扩展的 USB 接口方便用户使用；</li>
<li>与手机共享数据，这点和 LapDock、华硕 PadFone 底座类似。</li>
</ul>
<p>Android 手机连接 Superbook 之后，Superbook 上运行的是 <strong>Andromium OS</strong> 界面，<strong>Andromium OS</strong> 也是支持多窗口运行 Android App 的，其界面和 <a href="http://www.jide.com/remixos-for-pc">Remix OS</a> 还是有点相似的。</p>
<p>在稍微看了 Superbook 的技术细节之后，我发现其不需要手机支持 HDMI 或者 MHL 等视频输出功能，而是基于 DisplayLink 提供的 Android 显示输出功能实现的，具体可以参考 <a href="http://www.displaylink.com/downloads/android">DisplayLink for Android</a> 的介绍页面。</p>
<p>这样看起来 Superbook 和 LapDock 的最大区别就是 Superbook 在笔记本扩展坞自身的 USB Hub 上额外集成了一块 DisplayLink 的 USB 显卡以支持 Android 手机的 USB 显卡视频输出功能。这样不仅可以兼容更多种类的 Android 手机，而且只需要一根 USB 数据线也能让用户使用起来更简单。</p>
<p>刚好我手头上还有一块之前捣鼓 Ubuntu for Android 时购买的 DisplayLink USB 2.0 接口的显卡，应该就可以配合闲置的 Motorola LapDock 以及支持 USB OTG 功能的华硕 Zenfone2 手机（刚好不支持 HDMI 或 MHL 视频输出功能）来自己组装一个简陋版本的 Superbook 咯。</p>
<h2 id="手机-lapdock-组装-superbook">手机 + LapDock 组装 Superbook</h2>
<p>如果读者也有兴趣自己组装一台 Superbook 试试看，首先需要确认你的手机支持 USB OTG 功能，还需要一块 DisplayLink 的 USB 显卡，如果能外接 USB 或者蓝牙的键盘或者鼠标的话操作也会更方便，另外如果显示设备不是 LapDock 的话那最好还需要一个带电源的 USB Hub 给显卡供电（LapDock 直接带键盘鼠标并支持供电就不用考虑这些了）。</p>
<p>首先手机上需要安装 <a href="https://play.google.com/store/apps/details?id=com.displaylink.presenter">DisplayLink Presenter</a> App，可以通过 Google Play 商店直接安装，安装之后无需做任何设置，只要手机接上了 DisplayLink 显卡或者扩展坞该 App 就会自动开始工作，该 App 界面中的说明：</p>
<div style="width: 370px" class="wp-caption alignnone"><img src="http://res.cloudinary.com/digwht2y0/image/upload/v1737370806/displaylink_presenter.jpg" width="360" height="640" alt="DisplayLink Presenter" /><p class="wp-caption-text">DisplayLink Presenter</p></div>
<p>接着就可以把手机和 USB 显卡以及 LapDock 连接起来了，还请忽略图中各种凌乱的转接头和连接线 ^_^：</p>
<div style="width: 650px" class="wp-caption alignnone"><img src="http://res.cloudinary.com/digwht2y0/image/upload/v1737442947/superbook_lapdock.jpg" width="640" height="360" alt="LapDock 连接" /><p class="wp-caption-text">LapDock 连接</p></div>
<p>Zenfone2 手机直接连 LapDock 的 Micro-USB 接口，DisplayLink USB 显卡插在 LapDock 的扩展 USB 接口上（见上图圈出的地方），并通过 HDMI 线与 LapDock 的 Micro-HDMI 接口相连，这样打开 LapDock 盖子的时候，LapDock 就能同时给手机和 USB 显卡供电。</p>
<p>此时我们可以先确认下 USB 显卡设备是否已经找到，在终端中运行 <code>busybox lsusb</code> 命令（Android 需要 busybox 支持）可以看到手机中所有的 USB 设备，下面的截图是插上 USB 显卡之前和之后的输出信息对比：</p>
<div style="width: 650px" class="wp-caption alignnone"><img src="http://res.cloudinary.com/digwht2y0/image/upload/v1737442947/superbook_usb_dev.jpg" width="640" height="314" alt="DisplayLink USB 显卡设备" /><p class="wp-caption-text">DisplayLink USB 显卡设备</p></div>
<p>上面命令输出中设备 ID 为 <code>17e9:03c1</code> 的 USB 设备就是 DisplayLink USB 显卡了。</p>
<p>一切正常的话，这时应该就能在 LapDock 屏幕上看到手机屏幕的镜像了，通过 LapDock 的键盘和鼠标还能更方便的进行输入操作，应该可以初步达到 Superbook 的效果咯。这个是我在 LapDock 上运行 Android Chrome 浏览器的效果，屏幕大了看起来更方便：</p>
<div style="width: 650px" class="wp-caption alignnone"><img src="http://res.cloudinary.com/digwht2y0/image/upload/v1737442950/superbook_web.jpg" width="640" height="360" alt="LapDock Superbook 浏览网页" /><p class="wp-caption-text">LapDock Superbook 浏览网页</p></div>
<p>还可以用来玩手机游戏，不过游戏最好是支持横屏的，能支持鼠标（触摸板）和键盘控制的话效果更好。当然如果你玩的游戏能支持 USB 或者蓝牙手柄，那玩起来就更加 happy 一些咯：</p>
<div style="width: 650px" class="wp-caption alignnone"><img src="http://res.cloudinary.com/digwht2y0/image/upload/v1737442946/superbook_game.jpg" width="640" height="378" alt="LapDock Superbook 玩游戏" /><p class="wp-caption-text">LapDock Superbook 玩游戏</p></div>
<p>当然到这一步还只是通过 DisplayLink 显卡实现了简单的手机屏幕镜像的功能，如果你需要实现和未来 Superbook 类似的体验，可以安装 Google Play 商店中的 <strong>Andromium OS</strong> App 了，链接如下：</p>
<p><a href="https://play.google.com/store/apps/details?id=com.andromium.os">https://play.google.com/store/apps/details?id=com.andromium.os</a></p>
<p><strong>Andromium OS</strong> App 说明中虽然说的是目前支持手机连接兼容的 Dock 扩展坞，不过像我这样直接使用 DisplayLink USB 显卡也是可以的哦。</p>
<p>具体连接和操作步骤可以参考 Andromium 论坛中的<a href="http://andromiumos.freeforums.net/thread/5/setting-andromium-samsung-phone-dock">介绍帖子</a>，其实和上面的连接方法是基本一样的，只是将 DisplayLink Presenter App 换成了 Andromium OS，而且使用方式上还是有一些需要注意的限制。</p>
<h2 id="后记">后记</h2>
<p>虽然本文只是写了下最简单的使用 LapDock 搭配 DisplayLink 显卡组装一个简陋版 Superbook 的方法，但从 Superbook 的 Kickstarter 项目在 38 个小时内筹集到 50 万美元的速度来看，Superbook 还算是比较引人关注的。</p>
<p>官方也说明了筹款额达到 100 万美元之后会考虑增加 1080p 屏幕的版本（额外增加 30 美元），如果 129 美元的 1080p 版本的 Superbook 能够正常生产出来而且比较稳定的话，我应该会考虑入手的，至少使用上还是比 LapDock 这种要方便很多的。另外毕竟现在 Android 手机的硬件配置已经比较强悍了，这样我一直比较期望的 Linux on Android 效果在稍做修改之后应该也能在 Superbook 上发挥出来了。</p>
<p>总之还是希望 Andromium 的 Superbook 项目能够顺利完成的哦，最后祝大家在这个火热的季节还能玩的开心。</p>
]]></content:encoded>
			<wfw:commentRss>https://zohead.com/archives/displaylink_superbook/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>在XOLO X900上实现Ubuntu for Android</title>
		<link>https://zohead.com/archives/ubuntu-for-xolo-x900/</link>
		<comments>https://zohead.com/archives/ubuntu-for-xolo-x900/#comments</comments>
		<pubDate>Sun, 06 Jan 2013 19:19:49 +0000</pubDate>
		<dc:creator><![CDATA[Uranus Zhou]]></dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[手机]]></category>
		<category><![CDATA[技术]]></category>
		<category><![CDATA[12.04]]></category>
		<category><![CDATA[Atom]]></category>
		<category><![CDATA[DisplayLink]]></category>
		<category><![CDATA[HDMI]]></category>
		<category><![CDATA[Intel]]></category>
		<category><![CDATA[LapDock]]></category>
		<category><![CDATA[Lava]]></category>
		<category><![CDATA[Motorola]]></category>
		<category><![CDATA[OTG]]></category>
		<category><![CDATA[Ubuntu for Android]]></category>
		<category><![CDATA[udlfb]]></category>
		<category><![CDATA[USB]]></category>
		<category><![CDATA[X11]]></category>
		<category><![CDATA[x86]]></category>
		<category><![CDATA[X900]]></category>
		<category><![CDATA[XOLO]]></category>
		<category><![CDATA[Xorg]]></category>
		<category><![CDATA[显卡]]></category>

		<guid isPermaLink="false">http://zohead.com/?p=378</guid>
		<description><![CDATA[本文同步自（最佳显示效果请点击）：https://zohead.com/archives/ubuntu-for-xolo-x900/ 由于 Lava XOLO X900 使用的 Intel Atom Z2460 这一 x86 的 CPU，我们就可以做一些改动，让其实现初步的 Ubuntu for Android 效果，而且运行的是 x86 版本的 Ubuntu，相对于 ARM 版本（不能运行私有软件，没有源代码的话啥都干不了）来说实用性要好很多的。 先看看实际的效果图： 现在我在这个 Android 手机里的 Ubuntu 上已经开始正常运行 Skype、Ubuntu One、sopcast  [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>本文同步自（最佳显示效果请点击）：<a href="https://zohead.com/archives/ubuntu-for-xolo-x900/" target="_blank">https://zohead.com/archives/ubuntu-for-xolo-x900/</a></p>
<p>由于 Lava XOLO X900 使用的 Intel Atom Z2460 这一 x86 的 CPU，我们就可以做一些改动，让其实现初步的 Ubuntu for Android 效果，而且运行的是 x86 版本的 Ubuntu，相对于 ARM 版本（不能运行私有软件，没有源代码的话啥都干不了）来说实用性要好很多的。</p>
<p>先看看实际的效果图：</p>
<p><a href="http://zohead.com/wp-content/uploads/ubuntu-android-x900.jpg" target="_blank"><img class="alignnone" title="Ubuntu for Android on XOLO X900" src="http://zohead.com/wp-content/uploads/ubuntu-android-x900.jpg" alt="Ubuntu for Android on XOLO X900" width="690" height="523" /></a></p>
<p>现在我在这个 Android 手机里的 Ubuntu 上已经开始正常运行 Skype、Ubuntu One、sopcast 等应用，而且 Ubuntu 和 Android 系统是共存同时运行的，Ubuntu 是运行在外部屏幕上的，对 Android 完全没有影响，不需要 VNC 登录之类的。</p>
<p>Canonical 公司提出的 Ubuntu for Android 请参考这里：</p>
<p><a href="http://www.ubuntu.com/devices/android" target="_blank">http://www.ubuntu.com/devices/android</a></p>
<p>这里提到的 Canonical 的 Ubuntu for Android 的要求有：</p>
<ul>
<li>双核手机，内存最少 512MB；</li>
<li>支持 secondary frame buffer；</li>
<li>支持 USB OTG</li>
</ul>
<p>对于 XOLO X900 来说，第二点要求 secondary frame buffer 暂时无法满足，因为官方的 kernel 只注册了 <strong>/dev/graphics/fb0</strong> 一个 frame buffer 设备。但由于支持 USB OTG，我们这里暂时用支持 Linux frame buffer 的外置 USB 显卡来实现。</p>
<p>需要的设备及配件：</p>
<ul>
<li>Motorola LapDock 100（做显示器及键盘鼠标输入，同时接 USB 外置显卡，你完全可以用自己的显示器）</li>
<li>DisplayLink USB 显卡</li>
<li>USB OTG 线</li>
<li>HDMI 线</li>
</ul>
<p><strong><span style="color: #0000ff;">1、准备 x86 Ubuntu 环境：</span></strong></p>
<p>由于 XOLO X900 只有 16GB 的 ROM 空间，为了速度和扩展考虑，最好可以将 Ubuntu 安装在隐藏未启用的 microSD 插槽上，最好使用 Class 10 的 microSD，这样不会对 Ubuntu 的性能造成影响。</p>
<p>你可以参考这个视频（只有 Youtube 哈）查看如果启用隐藏的 microSD 插槽：</p>
<p><a href="http://www.youtube.com/watch?v=6-FkK7Htohs" target="_blank">http://www.youtube.com/watch?v=6-FkK7Htohs</a></p>
<p>下面是找一个合适的 Ubuntu 系统，如果你有时间的话，完全可以用 VMware 安装一个虚拟机到 SD 卡上。如果你像我一样不想浪费时间安装，可以到网上下载现成的 VMware vmdk 映像并直接拷贝到 SD 卡上。</p>
<p>我选择的是下面这个 Lubuntu 12.04 系统，因为使用 LXDE 桌面，速度比较快，这个网站也有完整的 Unity 桌面环境的 Ubuntu 12.04 系统哦：</p>
<p><a href="http://www.trendsigma.net/vmware/lubuntu1204.html" target="_blank">http://www.trendsigma.net/vmware/lubuntu1204.html</a></p>
<p>你可能需要另一个 Linux 虚拟机来将 Lubuntu 映像里的所有文件拷贝到 SD 卡里（最好能对 SD 卡进行分区，我是建立了一个 ext4 的分区）。</p>
<p><strong><span style="color: #0000ff;">2、准备需要的 DisplayLink USB 显卡驱动：</span></strong></p>
<p>由于 XOLO X900 官方 kernel 对 frame buffer 支持并不完整（缺少 defio 等支持），官方 3.0.8 kernel 源代码里的 DisplayLink USB 显卡驱动 udlfb 无法正常编译。</p>
<p>我基于下面的 udlfb 项目的 0.4 版本修改了一个新的可直接用于 XOLO X900 官方 kernel 的 udlfb 驱动（默认代码加载之后无法正常显示图像）：</p>
<p><a href="http://git.plugable.com/gitphp/index.php?p=udlfb" target="_blank">http://git.plugable.com/gitphp/index.php?p=udlfb</a></p>
<p>我修改过的 udlfb 0.4 驱动的下载地址：</p>
<p><a href="http://miseal.googlecode.com/files/udlfb-v0.4.tar.bz2" target="_blank">http://miseal.googlecode.com/files/udlfb-v0.4.tar.bz2</a></p>
<p>相对默认 0.4 版本的主要改进为：</p>
<ul>
<li>解决在 Linux 3.0.8 中无法正常编译的问题；</li>
<li>解决 kzalloc 分配内存失败的问题，以 vmalloc 替代；</li>
<li>增加卸载驱动时的释放内存处理；</li>
<li>自动根据 EDID 判断显示器分辨率，默认使用 EDID 得到的分辨率；</li>
<li>如果 EDID 无法得到合适的分辨率，使用默认 1280x1024 分辨率；</li>
<li>增加模块参数，加载模块时可以指定初始分辨率</li>
</ul>
<p>编译方法请参考之前写的编译 XOLO X900 自定义 kernel 的文章：</p>
<p><a href="https://zohead.com/archives/xolo-x900-kernel/" target="_blank">https://zohead.com/archives/xolo-x900-kernel/</a></p>
<p>如果你想直接用我编译好的，请访问此链接下载：</p>
<p><a href="http://miseal.googlecode.com/files/x900-kernel-config-modules.7z" target="_blank">http://miseal.googlecode.com/files/x900-kernel-config-modules.7z</a></p>
<p>编译好的 <strong>udlfb.ko</strong> 在解压缩出来的 <strong>modules</strong> 目录中，建议将 <strong>modules</strong> 目录拷贝到 <strong>/system/lib</strong> 目录中。</p>
<p><strong><span style="color: #0000ff;">3、测试 udlfb 驱动是否可用：</span></strong></p>
<p>通过外置带电源的 USB HUB 接上 DisplayLink USB 显卡（Motorola Lapdock 就是一个带电源的 USB HUB 哈），并将显卡接到外置显示器上，root 过之后，在 shell 中运行 <strong>su</strong> 然后运行：</p>
<p><strong>insmod /system/lib/modules/udlfb.ko</strong></p>
<p>如果一切正常的话，驱动将自动判断你的显示器分辨率，并在显示器中显示绿屏。</p>
<p>然后运行下面的命令检查 frame buffer 设备是否正常，一般应有正常的设备节点信息输出：</p>
<p><strong>ls -l /dev/graphics/fb1</strong></p>
<p>如果你的显示器不支持 EDID 或者默认的 1280x1024 分辨率不支持，也可以加载驱动时手工指定分辨率，例如：</p>
<p><strong>insmod /system/lib/modules/udlfb.ko init_xres=1024 init_yres=768</strong></p>
<p>上面的命令即将初始分辨率设置为 1024x768。</p>
<p><strong><span style="color: #0000ff;">4、屏蔽 Android 本身对 USB 键盘鼠标的支持：</span></strong></p>
<p>由于 XOLO X900 默认支持 USB OTG，通过 OTG 接上 USB 键盘鼠标之后，可以直接对 Android 进行操作，而且任何对键盘和鼠标的操作都会解锁手机，这对于我们运行 Ubuntu for Android 是毫无益处的，而且会导致重复的 input event 发到 Android 界面上。因此我们需要屏蔽 Android 本身对 USB 输入设备的支持。</p>
<p>首先接上 USB 键盘和鼠标（通过 USB HUB），并确定是哪个 input 设备，同样在 root 中 su 运行：</p>
<p><strong>ls /dev/input/event*</strong></p>
<p>你会看到很多个 event 设备，一一用下面的命令（把 X 换为具体的设备名）确定到底哪个是你所插上的 USB 键盘和鼠标，cat 之后在键盘上敲键或者移动鼠标，正确的设备将会有输出：</p>
<p><strong>cat /dev/input/eventX</strong></p>
<p>假设确定好鼠标和键盘分别为：<strong>/dev/input/event10</strong> 和 <strong>/dev/input/event11</strong>。</p>
<p>然后运行 <strong>dmesg</strong> 确定 USB 键盘和鼠标的设备名，你可以看到类似这样的输出：</p>
<pre class="brush: bash; title: ; notranslate">
usb 1-1: new high speed USB device number 2 using penwell_otg
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 7 ports detected
usb 1-1.1: new full speed USB device number 3 using penwell_otg
input: Motorola Mobility Motorola HD Dock as /devices/pci0000:00/0000:00:02.3/usb1/1-1/1-1.1/1-1.1:1.0/input/input11
generic-usb 0003:22B8:0938.0003: input,hidraw0: USB HID v1.01 Keyboard [Motorola Mobility Motorola HD Dock] on usb-0000:00:02.3-1.1/input0
usb 1-1.3: new low speed USB device number 4 using penwell_otg
input: BTC USB Cordless Mouse as /devices/pci0000:00/0000:00:02.3/usb1/1-1/1-1.3/1-1.3:1.0/input/input12
generic-usb 0003:1241:0003.0004: input,hidraw1: USB HID v1.10 Keyboard [BTC USB Cordless Mouse] on usb-0000:00:02.3-1.3/input0
input: BTC USB Cordless Mouse as /devices/pci0000:00/0000:00:02.3/usb1/1-1/1-1.3/1-1.3:1.1/input/input13
generic-usb 0003:1241:0003.0005: input,hidraw2: USB HID v1.10 Mouse [BTC USB Cordless Mouse] on usb-0000:00:02.3-1.3/input1
usb 1-1.6: new high speed USB device number 5 using penwell_otg
</pre>
<p>上面的 <strong>Motorola Mobility Motorola HD Dock</strong> 和 <strong>BTC USB Cordless Mouse</strong> 即为 USB 键盘和鼠标设备的设备名，记下这些。</p>
<p>编译 <strong>/system/etc/excluded-input-devices.xml</strong> 配置文件，将上面的 USB 键盘和鼠标设备名加入进来，然后重启手机，在 USB 输入设备上的操作就不会影响 Android 系统。</p>
<p>例如我的配置文件内容如下：</p>
<pre class="brush: xml; title: ; notranslate">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;devices&gt;
&lt;device name=&quot;Unipoint HID&quot;/&gt;
&lt;device name=&quot;RMI4 Unipoint&quot;/&gt;
&lt;device name=&quot;Motorola Mobility Motorola HD Dock&quot;/&gt;
&lt;device name=&quot;BTC USB Cordless Mouse&quot;/&gt;
&lt;/devices&gt;
</pre>
<p><strong><span style="color: #0000ff;">5、在 Android 中切换到 Ubuntu 环境：</span></strong></p>
<p>首先 su 运行 shell 创建一个目录作为 Ubuntu 分区的挂载点（这里假设为 /system/sd）：</p>
<p><strong>mount -o remount,rw /dev/block/mmcblk0p2 /system</strong><br />
<strong> busybox mkdir -m 777 /system/sd</strong><br />
<strong> mount -o remount,ro /dev/block/mmcblk0p2 /system</strong></p>
<p>你可以使用我写好的这个切换到 Ubuntu 的脚本 <strong>startubuntu</strong>（我这里是挂载了 SD 卡第一个 ext4 分区，请根据需要自行修改）：</p>
<p><a href="http://pastebin.com/raw.php?i=9r21dR7L" target="_blank">http://pastebin.com/raw.php?i=9r21dR7L</a></p>
<p>我在脚本中将 Android 中的 /mnt/sdcard 目录挂载到了 Ubuntu 里的 /sdcard 目录，Android 系统的 /system 目录挂载到了 /android/system 目录，这样可以很方便的在 Ubuntu 中访问 Android 系统中的数据。</p>
<p><strong><span style="color: #0000ff;">6、准备运行 X 的环境：</span></strong></p>
<p>假设你已经切换到 Ubuntu，首先安装 DisplayLink 的 X 驱动：</p>
<p><strong>apt-get install xserver-xorg-video-displaylink</strong></p>
<p>然后安装输入模块：</p>
<p><strong>apt-get install xserver-xorg-input-evdev</strong></p>
<p>安装成功之后，修改 <strong>/etc/X11/xorg.conf</strong> X11 配置文件（Ubuntu 12.04 中没有这个配置文件，需要在 <strong>/usr/share/X11/xorg.conf.d</strong> 目录中自己增加新的配置文件，我的为：<strong>52-displaylink.conf</strong>），内容为下面的链接：</p>
<p><a href="http://pastebin.com/raw.php?i=WjcfFWc2" target="_blank">http://pastebin.com/raw.php?i=WjcfFWc2</a></p>
<p>注意请将其中的 input 设备和分辨率改为自己需要的。</p>
<p><strong><span style="color: #0000ff;">7、运行 X - 最终的 Ubuntu for Android：</span></strong></p>
<p>产生 X 的初始配置文件 <strong>/root/.xinitrc</strong>：</p>
<p><strong>#!/bin/sh</strong><br />
<strong> xrandr -o 0</strong><br />
<strong> startlubuntu</strong></p>
<p>第二行的 <strong>xrandr</strong> 命令是专门为 DisplayLink udlfb 驱动修改的，没有这个的话可能会导致 X 环境中的菜单项不能正确显示。第三行的 <strong>startlubuntu</strong> 你可以替换成你需要的 X 命令（例如：xinit lxsession）。</p>
<p>然后运行 <strong>startx</strong> 就可以启动 X 桌面环境了。</p>
<p>某些情况下如果这样运行 startx 还是有问题，可以在 <strong>startx</strong> 时增加参数：</p>
<p><strong>startx -- :0 vt1</strong></p>
<p>如果这样可以的话表示 X 使用的 VT 不正确，这时你可能需要将 <strong>/etc/X11/xinit/xserverrc</strong> 改为下面这样以强制指定 X 使用的 VT：</p>
<p><strong>#!/bin/sh</strong><br />
<strong> exec /usr/bin/X -nolisten tcp vt1 "$@"</strong></p>
<p>8、总结：</p>
<p>这样实现的 Ubuntu for Android 实际还是有一些不足的：</p>
<ul>
<li>必须要有外置的 USB 显卡太不方便，而且热插拔 USB 显卡会导致 X server 直接挂掉，最好的解决方案是启用 HDMI frame buffer；</li>
<li>暂时没有声音输出，可能可以用 USB 声卡，或者将声音输出至手机（能想象的到的丑陋）；</li>
<li>不支持通过 USB HUB 进行充电，应该是要修改 kernel 才能支持</li>
</ul>
<p>本文的内容均为我根据实际使用所写，没有考虑到通用的情况，其中有任何问题欢迎提出指正哦 ^_^</p>
]]></content:encoded>
			<wfw:commentRss>https://zohead.com/archives/ubuntu-for-xolo-x900/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
	</channel>
</rss>
