summaryrefslogblamecommitdiff
path: root/blog/post/2016-05-12.html
blob: 37be45a9270815844f3379347483b7ad0560892a (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406





















































































































































































































































































































































































































                                                                                                                                                                                                                                                                                                                                                                                                        
<html><head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="theme-color" content="#000000">
<title>Chrisoft::Blog</title>
<script type="text/javascript" src="/panel.js"></script>
<script type="text/javascript" src="/blog/footnoter.js"></script>
<script type="text/javascript" src="/blog/aes-js.js"></script>
<script type="text/javascript" src="/blog/scrypt.js"></script>
<script type="text/javascript" src="/blog/sha256.js"></script>
<script type="text/javascript" src="/blog/decryptor.js"></script>
<link rel="stylesheet" type="text/css" href="/common.css">
<link rel="stylesheet" type="text/css" href="/panel.css">
<link rel="stylesheet" type="text/css" href="/theme0a.css" id="theme0a">
<link rel="stylesheet" type="text/css" href="/theme0b.css" id="theme0b">
<link rel="stylesheet" type="text/css" href="/theme1a.css" id="theme1a">
<link rel="stylesheet" type="text/css" href="/theme1b.css" id="theme1b">
<link rel="stylesheet" type="text/css" href="/theme2a.css" id="theme2a">
<link rel="stylesheet" type="text/css" href="/theme2b.css" id="theme2b">
<link rel="stylesheet" type="text/css" href="/theme3a.css" id="theme3a">
<link rel="stylesheet" type="text/css" href="/theme3b.css" id="theme3b">
<link rel="stylesheet" type="text/css" href="/blog/blogext.css">
<script>
function ol()
{
	window.onresize=function()
	{
		if(window.innerWidth<768)
		setupevents();
		else unsetevents();
	}
	window.onresize();
	_decryptonload();
}
function loadTheme(){
	var thm=document.cookie.replace(new RegExp("(?:(?:^|.*;\\s*)thm\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1");
	if(thm.length<2||'0123z'.indexOf(thm[0])==-1||'abz'.indexOf(thm[1])==-1)thm='zz';
	var ent="";
	var d=new Date();
	if(thm[0]=='z')
	{
		var m=d.getMonth()+1;
		if(m>=3&&m<6)thm='0'+thm[1];
		else if(m>=6&&m<9)thm='1'+thm[1];
		else if(m>=9&&m<12)thm='2'+thm[1];
		else thm='3'+thm[1];
	}
	if(thm[1]=='z')
	{if(d.getHours()>=18||d.getHours()<6)thm=thm[0]+'b';else thm=thm[0]+'a';}
	ent=`theme${thm}`;
	var R=new RegExp('theme[0-4][ab]');
	for(var i=0;i<document.styleSheets.length;++i)
	{
		if(R.exec(document.styleSheets[i].ownerNode.id)!==null&&document.styleSheets[i].ownerNode.id!=ent)
		document.styleSheets[i].disabled=true;
		else document.styleSheets[i].disabled=false;
	}
	var thmcolor="";
	switch(thm[0])
	{
		case '0':thmcolor=thm[1]=='a'?'#f59dda':'#2f0933';break;
		case '1':thmcolor=thm[1]=='a'?'#9df59d':'#090933';break;
		case '2':thmcolor=thm[1]=='a'?'#edb47b':'#1f1205';break;
		case '3':thmcolor=thm[1]=='a'?'#a0cdfa':'#051933';break;
	}
	document.querySelector("meta[name=theme-color]").setAttribute('content',thmcolor);
}
loadTheme();
</script>
</head>
<body onload="ol()" style="overflow-x:hidden;">
	<div id="panel" class="TText">
		<ul id="panellist">
			<li><a href="/"><h1>Chrisoft</h1></a></li>
			<li><a href="/blog"><h2>Blog</h2></a></li>
			<li><a href="#"><h3 id="title">ThinkPad X1 Yoga初体验</h3></a></li>
			<li><span>Tags</span>
			<ul id="tagslist">
			<li><a href="/blog/list/device-review/">device-review</a></li></ul>
			</li>
			<li id="tocouter">
				<span>Table of Contents</span>
				<ul id="tocroot">
				<li><a class="toctarg" href="#tocanch0">我为什么选择X1 Yoga</a></li><li><a class="toctarg" href="#tocanch1">我拿到的机型的配置</a></li><li><a class="toctarg" href="#tocanch2">初次见面</a></li><li><a class="toctarg" href="#tocanch3">安装Arch Linux</a></li><li><a class="toctarg" href="#tocanch4">Random comments on this laptop</a></li></ul>
			</li>
			<li style="margin-left:-0.5em"><a id="prevp" href="2016-04-09.html">Prev post</a></li>
			<li style="margin-left:-0.5em"><a id="nextp" href="2016-06-21.html">Next post</a></li>
		</ul>
	</div>
	<div id="content">
		<h2 id="titleh" class="TText" style="font-wight:normal;">ThinkPad X1 Yoga初体验</h2>
		<div id="datetags" class="TText" style="margin-bottom:1em;">2016-05-12<br>#device-review</div>
		<hr><div id="article" class="TText">
<article>
<p>
4天前,期望已久的ThinkPad终于拿到手了。说起这个大件,其实是2月份就看中了。
然后3月初联系了在美国的亲戚购买,到5月8号拿到手。中间还经历了N次立「马上就能拿到新机了!」
的flag然后秒收的事情。不过最后总算还是拿到了。。。
</p>

<h3 id="tocanch0" class="tvis">我为什么选择X1 Yoga</h3>
<p>
2016年寒假开始之前我有一种比较模糊的想(从美国)买新笔记本的想法。当时预选的机型是ThinkPad
X1 Carbon和ThinkPad P50(虽然更早的时候有考虑过Mac Book Pro,但是后来感觉用不起……)。
后来放弃了P50,因为感觉自己可能需要一台更侧重便携性的机型。然后就剩下X1 Carbon了。这时,
第一代X1 Yoga出现在了我的视野中。看到加个100刀就能买到一台带笔的2 in 1我当时也是相当心动的。
再加上后来联想迟迟不在美国发售搭载skylake CPU的第四代X1 Carbon而同样搭载6代core i CPU的X1
Yoga已经开卖,我就<s>一狠心</s>购买了2000刀的顶配X1 Yoga。后来一看X1
Carbon在美国上市的时候发现前代有的触摸屏被砍掉了,我感觉我做的选择还是正确的。
</p>
至于为什么选择联想/ThinkPad,我想这大概属于信仰问题的范畴,这里就不再多说了。

<h3 id="tocanch1" class="tvis">我拿到的机型的配置</h3>
<ul>
	<li>CPU: i7-6600U</li>
	<li>GPU: intel HD 520</li>
	<li>RAM: Samsung 16GB (2x8GB) DDR3 1867MHz</li>
	<li>SSD: Samsung NVMe 512GB</li>
	<li>Input: Wacom touchscreen/digitizer, UltraNav, Synaptics(Validity) fingerprint reader</li>
	<li>Display: 14' WQHD 2560x1440</li>
	<li>OS: Windows 10 Pro</li>
</ul>
<p>
	比较遗憾的是这台机器没有使用搭载Intel Iris Graphics 540的i7-6660U或者i7-6650U。
(从intel ark来看,它们的价格只比i7-6600U高22美元。。。<s>某想:学霸机用什么iris显卡</s></p>
<p>
	因为基本是一开卖就订的货,当时并没有配备移动数据模块。所以后面的那个SIM卡槽目前就只能当摆设了。。。
</p>
<p>
	顺带一提,国内没有这个配置的卖(联想在国内似乎不提供网页上的定制服务)。国内的低一档的版本要
12999元(i7-6500U, 8G RAM, 256G SATA SSD, W10 Home)。在美国购买上面的配置税后价格2100美元。
此时的汇率大概在1:6.49左右。
</p>

<h3 id="tocanch2" class="tvis">初次见面</h3>
<p>
X1 Yoga的包装盒可以称得上是简洁而精美。大概是有一种机器被两片纸板盖住,
然后掀起纸板机器自动升起的结构,看起来感觉很厉害的样子。盒子里面只有三样东西:机器本体,
电源适配器和一张纸(设置指南+保修信息+安全提示)。不出意料的是这些东西全部来自中国。
</p>

<p>
开机经过简单的设置之后就看到了既熟悉又陌生的Windows 10的界面(因为我在微软发布Windows 10
之前就将日常工作完全迁移到了linux下进行了)。用惯了debian的我一时间竟然不知道这系统能做什么事情了。
打开设备管理器然后在里面随便乱看了看,然后找了个测SSD速度的软件测了下速。发现连续读取居然达到了
2.4GB/s。(果然时代不同了...) 512GB的硬盘Windows下显示可用475.69GB,Windows吃掉24GB之后
还有450GB左右,还算可以吧(Windows的体积越来越大了。。。)。
</p>

<p>
因为不知道做什么所以后面就开始感受windows 10的触屏体验了。虽然我经常说windows是辣鸡操作系统,
但是讲道理的话windows 10的触屏体验还是极佳的。毕竟<s>老板</s>微软还是向里面倾注了相当多的心血的。
</p>

<p>
系统默认的缩放比例是200%。像我这个第一次碰非手持式高分辨率设备的怎么能忍受高分屏被这样地浪费掉,
于是我把缩放比例调到了150%。(大概默认的200%是考虑到触摸操作情况下字大些比较好)
</p>

<h3 id="tocanch3" class="tvis">安装Arch Linux</h3>
<p>
大概是因为机器太新,我在这台机器上安装Arch Linux的时候遇到了不少麻烦……
</p>
<p>
本来以为在这台机器上安装Arch Linux就跟在老机器上一样简单。于是就用道听途说的方法关闭了<s>Restricted</s> Secure boot,dd出来一张arch启动盘然后插上去从那张盘启动。
结果选择arch linux dual iso之后直接黑屏,CPU风扇狂转……
</p>
<p>
后来我换了Debian live的镜像,发现可以启动起来。于是我就想先把系统bootstrap起来好了。
所以就开始在debian里面bootstrap Arch Linux。但是由于Debian live是从BIOS模式启动起来的,所以GRUB安装失败了。
然后我就又搞了一张支持UEFI启动的ubuntu live来安装GRUB。整个过程看起来似乎非常成功。结果启动进GRUB之后屏幕只有以下这几行:
</p><pre>Welcome to GRUB!
error: disk `' not found
Entering rescue mode...
grub rescue&gt; _
</pre>
ls的结果有一个(hd0),ls (hd0)的结果是unknown file system。UEFI经验几乎为零的我只好又向google求救。
结果是Arch Linux里面的GRUB版本还不支持NVMe的SSD。于是我就不得不选择通过EFIStub来直接引导内核了。
于是装了一个EFI Shell,开始试验如何科学地引导内核。只加root=和initrd=直接跪掉了,现象和arch安装盘无法引导的现象一模一样。
遂上google搜索解决方案。搜到最多的结果是关闭acpi(acpi=off)和关闭Kernel mode setting (nomodeset i915.modeset=0)。
然而这两个内核选项都没起到什么作用(acpi=off能让内核启动起来但是在加载intel hd audio驱动时会出一个Kernel Oops然后就卡住了,
而nomodeset完全没有作用)。于是我就不得不试着搜一下在同机型上安装Linux的经验,然后就搜到了<a href="https://wiki.archlinux.org/index.php/Lenovo_Thinkpad_Yoga_260">这个</a>——
使用同代CPU,配置几乎相同的ThinkPad Yoga 260。这里面说要想启动需要加这个内核参数:intel_pstate=no_hwp。
于是我就「抱着试一试的心态」试了一发。结果果然启动成功了……<a id="n1" href="#note1" class="note">[1]</a>
<p></p>
<p>
现在内核启动成功了,大概就可以开始试图添加efi启动项了。bcfg添加启动项成功,添加内核参数却总是失败(原因不明的Invalid arguments)。
然后又试了试换到arch里面用efibootmgr添加efi项,结果发现不管怎么弄添加出来的项目的磁盘UUID都是0。
(大概跟<a href="https://github.com/rhinstaller/efibootmgr/issues/4">一个efibootmgr中和NVMe硬盘的bug</a>有关,然而这个bug已经是两年之前的了,也许不是同一个bug)。后来我还试了bcfg添加启动项,efibootmgr添加内核参数,但是总是不成功。
这是时间已经到了凌晨00:30,此时我却突发奇想要试一下ubuntu里面的efibootmgr。结果是ubuntu里面的efibootmgr添加成功了!
白费了我试各种添加启动项方法的一个半小时……
</p>
<p>
进入系统之后发现触摸屏和笔无法使用,其他常用功能都基本正常。于是又去google这个问题。查到的临时解决方案是刷一个触摸屏固件然后reset一发。
长期方案是使用4.6-RC4以上的内核和0.32以上的wacom x11驱动。照做之后,一切正常。
</p>
<p>
然后可以谈谈Linux下的使用体验了。
</p>
<p>
首先先提一句,读完这里你有可能以为我在运行桌面环境期间没遇到什么大问题。但事实恰恰相反:我<s>身经百战</s>已经习惯一天不崩溃就不正常的Debian sid里面的KDE Plasma5,所以说<s>见得多</s>不会对那些日常崩溃大惊小怪了而已。。。
</p>
<p>
因为我长期以来认为GNOME3是专门为触摸体验优化过的桌面环境,所以我先安装了GNOME3。
GNOME3现在是一个特技非常多,但可调整的选项相对较少的桌面环境。虽然触摸体验当然不如Windows10强,但是也是相当不错的。顺带提一句,
我在桌面电脑上使用GNOME3的时候习惯使用两个GNOME3的扩展:Dash to dock和Hide top bar。事实证明这两个扩展并不是非常适合触屏环境
(无法使用触摸手势调出隐藏的顶栏或者dock)。<br>
比较尴尬的是GNOME3的缩放比例只能是整数而且在GUI里面只能调成1或者2……<br>
而Qt5(Plasma 5)的情况则比较惨烈。大部分界面(其实就是用传统Qt Widgets实现的部分)完全不支持反方向滚动和多点触控不说,高DPI缩放还只放大文字不放大图标。
QML的部分则还好。然而现在用QML的做界面的Qt程序还是太少了。<br>
补:现在我又把plasma5作为了我的主要桌面环境。然后还是发现了一坨问题:
</p><ul>
<li>有些Gtk+ 2程序能够正常缩放(比如geany),有些则不能(GIMP)。</li>
<li>Qt4太惨了,不说了(缩放按钮文字不缩放按钮是什么情况?)。</li>
<li>当时版本的Chrome需要打开Material design in the browser's top chrome这个选项才能变得对触屏友好,现在似乎不需要了。</li>
</ul>
<p></p>
<h3 id="tocanch4" class="tvis">Random comments on this laptop</h3>
由于联想众所周知的坑爹特性,各位实际拿到机器质量参差不齐。我算是运气比较好每次拿到的都不是次品的,所以以下内容仅供参考。<br>
另外,下面主要是负面评价。正面评价的话联想官网上面已经吹的够多了就不用我再说了。。。
<ul>
<li>
Yoga系列的转轴仍然是个问题<br>
从外观上看,X1 Yoga 1st Gen.仍然采用的是类似初代Ideapad Yoga的转轴。虽然可靠性暂时没有什么可质疑的,但是在所谓的「站立模式」
下,一戳屏幕就会晃,令人不爽。Yoga 900换了类似表链的转轴,不知道这方面有没有改进。
</li>
<li>
屏幕<br>
X1 Yoga似乎是第一台有采用OLED屏幕型号的笔记本。然而又是因为买的太早,我拿到的是用IPS屏的版本。
这个屏幕在室内用调到最高亮度有点太亮,室外的话又看不太清……这个就比较尴尬了。另外光线传感器在Linux下不可用(或者是我没找到可以让它工作的正确姿势)。
</li>
<li>
外壳<br>
碳纤维的外壳是完美的指纹收集器。然后对像我这样的强迫症患者来说这简直就是灾难。
当然黑色外壳上如果落了任何灰都是十分明显的。所以说……
</li>
<li>
小红点/指点杆<br>
其实我买ThinkPad有一部分原因是朝着这个小红点来的。毕竟是个几乎不用动手就能让鼠标跑遍全屏的指点设备。
再加上几年老ThinkPad R52的使用经历,我用小红点可以说是相当习惯了。然而X1 Yoga上的小红点默认速度出奇得慢。另外就是小红点太容易脏了。。。
</li>
<li>
指纹识别<br>
2016年发布的ThinkPad几乎全部使用了与旧代ThinkPad不同的指纹识别模块,其更接近于现在手机上的指纹识别模块。
然而,带来的问题是linux下并不能使用指纹识别。<br>
lsusb结果如下:
<pre>Bus 001 Device 005: ID 138a:0090 Validity Sensors, Inc.
</pre>
<a href="https://bugs.freedesktop.org/show_bug.cgi?id=94536">libfprint上对应的bug report</a><br>
在Windows下用的感觉是识别率还可以。然而手上有水的时候识别率就会大幅度下降,这对我这种手汗多的用户来说无疑是一个坏消息。。。<br>
UPD 2016-10-11: 似乎到现在联想内部的人除了问了一下synaptics他们有没有Linux驱动并回答「否」之外,并没有对解决这个问题作出任何贡献……然而根据小道消息
synaptics正在开发一个Linux用的闭源驱动程序。。。虽然没有ETA但是总比没有驱动强。
</li>
<li>
温度、散热和性能<br>
我的这台X1 Yoga非常完美地继承了上台ThinkPad R52散热辣鸡的特性。当时编译内核的时候(那时用的还是电池,单线程编译),温度直逼70℃。<br>
另外,奇葩的散热孔位置导致使用「站立模式」和「平板模式」时不能进行负载大的工作,否则热风直接吹到手上……(图见下)<br>
平常时一般40℃~45℃左右(额……环境温度是四大火炉之一济南夏天的温度,所以还说得过去)。<br>
然后在下面的图中还可以看到令人感动的铜管和风扇。(感觉这个铜管跟风扇省得简直可以跟某船早期产品媲美,当然我这是低压U,人家那却是高压四核i7,不烧才怪。)<br>
至于性能嘛……因为是一颗低压U,也就不用期望太高了是吧。四线程编译Linux 4.3用时302秒。作为对比,旧笔记本上的未超频i7-2960XM八线程编译用了117秒。即使后者也用四线程来编译,差距还是有的。
如果拿实际应用情形来说的话,i7-6600U的性能还勉强够用。开DAW堆个30来个合成器还是带得动的。(就是混音的时候温度会很高,能到70℃以上)<br>
至于显卡,本来没报多大希望,因为是HD 520。然而装上我的魔改版Compiz之后却发现这显卡还是可以的,2k屏Compiz打开各种常用功能还能稳60fps,i7-2960XM上的HD 3000到1080P屏幕上就开始卡了……(HD 3000都是多老的东西了....)
</li>
<li>
电池<br>
联想官方声称电池能用11个小时。然而我还没有能达到过这个数字。目前把电量用到最低的时候就一次:某次切比赛4个半小时高强度工作<s>(打表)</s>用到27%。
不过那次是在Windows下。在Linux下的时候就算把它满电放在那也从来没有显示过电池剩余10小时以上过,甚至是不开X只用tty的时候。(我的旧笔记本去年这时候电池损耗显示50%在tty下还能撑7个小时呢……)
</li>
<li><s>联想的新logo太丑啦</s></li>
</ul>
下面给出几个可供同型号/类似型号机型参考的链接:
<ul>
<li><a href="https://www.reddit.com/r/thinkpad/comments/45fbv5/comments_on_ubuntu_on_the_x1_yoga/">A Reddit thread about the X1 Yoga</a></li>
<li><a href="https://wiki.archlinux.org/index.php/Lenovo_Thinkpad_Yoga_260">ThinkPad Yoga 260 on Arch Wiki</a></li>
<li><a href="https://blog.phoenixlzx.com/2015/12/28/returning-to-archlinux-with-thinkpad-x1-carbon-2015/">某触关于X1 Carbon 3rd Gen.的文章</a> X1 Carbon 3rd Gen.跟X1 Carbon 4th Gen./X1 Yoga 1st Gen.还是有些差别的,所以仅供参考。</li>
<li><a href="https://bugzilla.kernel.org/show_bug.cgi?id=110941">关于Linux内核中跟hwp有关bug的信息</a></li>
</ul>
<p>
补记于20160713: jx老板要买笔记本问清洁工有没有什么建议,在调查了Dell XPS, ThinkPad X1 Carbon, Surface Pro, hp Spectre之后跟老板提了ThinkPad X1 yoga。然后就把本来无触屏/笔需求的老板骗上了ThinkPad X1 yoga的不归路。老板已于昨日剁手。清洁工获得精英阶级机友*1。
</p>
<p>
UPD: 20161011: 8月底还是没忍住剁了一片WWAN卡(因为没钱所以买的是华为ME906s)。然后在新学期开学时装作新生办了张联通28元套餐卡。
测速结果还是相当感人的(Rx ~100Mbps Tx 50+Mbps然而不知道为什么上传测试总是无法完成,最后平均速度不断往下掉)。尴尬的是在Linux下只能收发短信,
无法用(或者我没搞成)NetworkManager+ModemManager联网……于是这个功能又变成Windows only的了。。。
</p>
下面是各种图片
<table style="max-width:90%;margin:auto;">
<tbody><tr>
<td>
<a href="//filestorage.chrisoft.org/blog/img/x1_1.jpg"><img src="//filestorage.chrisoft.org/blog/img/x1_1.jpg" width="50%" decoding="async"></a><br>
包装盒外部<br>
</td>
<td>
<a href="//filestorage.chrisoft.org/blog/img/x1_2.jpg"><img src="//filestorage.chrisoft.org/blog/img/x1_2.jpg" width="50%" decoding="async"></a><br>
包装盒拿掉顶盖<br>
</td>
</tr>
<tr>
<td>
<a href="//filestorage.chrisoft.org/blog/img/x1_3.jpg"><img src="//filestorage.chrisoft.org/blog/img/x1_3.jpg" width="50%" decoding="async"></a><br>
还是包装盒……<br>
</td>
<td>
<a href="//filestorage.chrisoft.org/blog/img/x1_4.jpg"><img src="//filestorage.chrisoft.org/blog/img/x1_4.jpg" width="50%" decoding="async"></a><br>
<br>
</td>
</tr>
<tr>
<td>
<a href="//filestorage.chrisoft.org/blog/img/x1_5.jpg"><img src="//filestorage.chrisoft.org/blog/img/x1_5.jpg" width="50%" decoding="async"></a><br>
稍微侧过来一点……<br>
</td>
<td>
<a href="//filestorage.chrisoft.org/blog/img/x1_6.jpg"><img src="//filestorage.chrisoft.org/blog/img/x1_6.jpg" width="50%" decoding="async"></a><br>
「帐幕模式」<br>
</td>
</tr>
<tr>
<td>
<a href="//filestorage.chrisoft.org/blog/img/x1_7.jpg"><img src="//filestorage.chrisoft.org/blog/img/x1_7.jpg" width="50%" decoding="async"></a><br>
平板模式<br>
</td>
<td>
<a href="//filestorage.chrisoft.org/blog/img/x1_8.jpg"><img src="//filestorage.chrisoft.org/blog/img/x1_8.jpg" width="50%" decoding="async"></a><br>
奇葩的出风口位置<br>
</td>
</tr>
<tr>
<td>
<a href="//filestorage.chrisoft.org/blog/img/x1_9.jpg"><img src="//filestorage.chrisoft.org/blog/img/x1_9.jpg" width="50%" decoding="async"></a><br>
一侧的接口<br>
</td>
<td>
<a href="//filestorage.chrisoft.org/blog/img/x1_10.jpg"><img src="//filestorage.chrisoft.org/blog/img/x1_10.jpg" width="50%" decoding="async"></a><br>
另一侧的接口<br>
</td>
</tr>
<tr>
<td>
<a href="//filestorage.chrisoft.org/blog/img/x1yogaarch0.png"><img src="//filestorage.chrisoft.org/blog/img/x1yogaarch0.png" width="50%" decoding="async"></a><br>
Arch Linux GNOME3截图
</td>
<td>
<a href="//filestorage.chrisoft.org/blog/img/x1yogaarch.png"><img src="//filestorage.chrisoft.org/blog/img/x1yogaarch.png" width="50%" decoding="async"></a><br>
Arch Linux Plasma5的截图
</td>
</tr>
<tr>
<td>
<a href="//filestorage.chrisoft.org/blog/img/x1yogaw10.png"><img src="//filestorage.chrisoft.org/blog/img/x1yogaw10.png" width="50%" decoding="async"></a><br>
Windows 10下的截图
</td>
<td>
<a href="//filestorage.chrisoft.org/blog/img/x1yogaopened.jpg"><img src="//filestorage.chrisoft.org/blog/img/x1yogaopened.jpg" width="50%" decoding="async"></a><br>
拆机图——背面概览
</td>
</tr>
<tr>
<td>
<a href="//filestorage.chrisoft.org/blog/img/x1yogathermal.jpg"><img src="//filestorage.chrisoft.org/blog/img/x1yogathermal.jpg" width="50%" decoding="async"></a><br>
铜管、风扇和CPU
</td>
<td>
<a href="//filestorage.chrisoft.org/blog/img/x1yogassd.jpg"><img src="//filestorage.chrisoft.org/blog/img/x1yogassd.jpg" width="50%" decoding="async"></a><br>
Samsung PCIe NVMe SSD
</td>
</tr>
<tr>
<td>
<a href="//filestorage.chrisoft.org/blog/img/x1ltespeedtest.png"><img src="//filestorage.chrisoft.org/blog/img/x1ltespeedtest.png" width="50%" decoding="async"></a><br>
ME906s LTE模块速度测试
</td>
<td>
&nbsp;
</td>
</tr>
</tbody></table>
</article>
</div><br><hr>
		<div class="TText" id="notediv" style="font-size:80%;"><span class="TText"><a id="note1" href="#n1">[1]</a>: 该bug在linux 4.6 RC-2中已经得到了修复。现在在skylake平台CPU上不再需要intel_pstate=no_hwp这个参数了。<br></span></div>
		<div id="insanch" style="height:3em;"></div>
		<div id="footer" style="">
		<div id="pagesw" class="TText" style="width:100%;height:0.5em;"></div>
			<div style="text-align:center;" class="TText">
				Proudly powered by SSBS <reduced style="font-size:70%;">(the static stupid blogging system)</reduced> 2.5
				<br>
				Content licensed under CC BY-SA 4.0. <span id="purgep" style="display:none;font-size:70%;">This page has passphrase(s) stored. Click <a href="javascript:_purgep()">here</a> to purge.</span>
			</div>
		</div>
		<div id="cmdbuf" class="TText" style="transition:500ms;padding:1em;font-size:2em;color:white;position:absolute;background-color:rgba(0,0,0,0.6);left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;opacity:0;">
		</div>
	</div>
	<div id="decryptui" style="display:none;opacity:0;color:white;z-index:1000;position:fixed;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.4);transition:opacity 0.5s;">
		<div id="decryptdlg" class="TText" style="padding:10px 20px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background-color:rgba(0,0,0,0.6);">
			<div id="keyhint" style="margin-bottom:8px;"></div>
			<div style="margin-bottom:8px;">Key: <input id="keyinp" type="text" style="color:#fff;"></div>
			<div style="height:2.25em;">
			<button id="btndecrypt" onclick="decryptor(decid,document.getElementById('keyinp').value);" style="position:absolute;left:20px;">Decrypt</button>
			<button onclick="hidedecryptui();" style="position:absolute;right:20px;">Cancel</button>
			</div>
		
	</div>


</div></body></html>