blob: 57ee1563608e2d4ba650fd448718e0173a243c52 [file] [log] [blame]
Eric Parkd09b00e2020-02-15 11:07:48 +09001
2
3
4
5<!doctype html>
6<html lang="en" class="no-js">
7 <head>
8
9 <meta charset="utf-8">
10 <meta name="viewport" content="width=device-width,initial-scale=1">
11 <meta http-equiv="x-ua-compatible" content="ie=edge">
12
13
14
15
16 <meta name="lang:clipboard.copy" content="Copy to clipboard">
17
18 <meta name="lang:clipboard.copied" content="Copied to clipboard">
19
20 <meta name="lang:search.language" content="en">
21
22 <meta name="lang:search.pipeline.stopwords" content="True">
23
24 <meta name="lang:search.pipeline.trimmer" content="True">
25
26 <meta name="lang:search.result.none" content="No matching documents">
27
28 <meta name="lang:search.result.one" content="1 matching document">
29
30 <meta name="lang:search.result.other" content="# matching documents">
31
32 <meta name="lang:search.tokenizer" content="[\s\-]+">
33
34 <link rel="shortcut icon" href="../../assets/images/favicon.png">
35 <meta name="generator" content="mkdocs-1.0.4, mkdocs-material-4.4.3">
36
37
38
39 <title>Installation Guide (Surface devices) - Team Bliss</title>
40
41
42
43 <link rel="stylesheet" href="../../assets/stylesheets/application.30686662.css">
44
45
46
47
48 <script src="../../assets/javascripts/modernizr.74668098.js"></script>
49
50
51
52 <link href="https://fonts.gstatic.com" rel="preconnect" crossorigin>
53 <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback">
54 <style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style>
55
56
57 <link rel="stylesheet" href="../../assets/fonts/material-icons.css">
58
59
60
61
62
63
64 </head>
65
66 <body dir="ltr">
67
68 <svg class="md-svg">
69 <defs>
70
71
72 </defs>
73 </svg>
74 <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
75 <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
76 <label class="md-overlay" data-md-component="overlay" for="__drawer"></label>
77
78 <a href="#installation-guide-surface-devices" tabindex="1" class="md-skip">
79 Skip to content
80 </a>
81
82
83 <header class="md-header" data-md-component="header">
84 <nav class="md-header-nav md-grid">
85 <div class="md-flex">
86 <div class="md-flex__cell md-flex__cell--shrink">
87 <a href="../.." title="Team Bliss" class="md-header-nav__button md-logo">
88
89 <i class="md-icon"></i>
90
91 </a>
92 </div>
93 <div class="md-flex__cell md-flex__cell--shrink">
94 <label class="md-icon md-icon--menu md-header-nav__button" for="__drawer"></label>
95 </div>
96 <div class="md-flex__cell md-flex__cell--stretch">
97 <div class="md-flex__ellipsis md-header-nav__title" data-md-component="title">
98
99 <span class="md-header-nav__topic">
100 Team Bliss
101 </span>
102 <span class="md-header-nav__topic">
103
104 Installation Guide (Surface devices)
105
106 </span>
107
108 </div>
109 </div>
110 <div class="md-flex__cell md-flex__cell--shrink">
111
112 <label class="md-icon md-icon--search md-header-nav__button" for="__search"></label>
113
114<div class="md-search" data-md-component="search" role="dialog">
115 <label class="md-search__overlay" for="__search"></label>
116 <div class="md-search__inner" role="search">
117 <form class="md-search__form" name="search">
118 <input type="text" class="md-search__input" name="query" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query" data-md-state="active">
119 <label class="md-icon md-search__icon" for="__search"></label>
120 <button type="reset" class="md-icon md-search__icon" data-md-component="reset" tabindex="-1">
121 &#xE5CD;
122 </button>
123 </form>
124 <div class="md-search__output">
125 <div class="md-search__scrollwrap" data-md-scrollfix>
126 <div class="md-search-result" data-md-component="result">
127 <div class="md-search-result__meta">
128 Type to start searching
129 </div>
130 <ol class="md-search-result__list"></ol>
131 </div>
132 </div>
133 </div>
134 </div>
135</div>
136
137 </div>
138
139 </div>
140 </nav>
141</header>
142
143 <div class="md-container">
144
145
146
147
148 <main class="md-main" role="main">
149 <div class="md-main__inner md-grid" data-md-component="container">
150
151
152 <div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
153 <div class="md-sidebar__scrollwrap">
154 <div class="md-sidebar__inner">
155 <nav class="md-nav md-nav--primary" data-md-level="0">
156 <label class="md-nav__title md-nav__title--site" for="__drawer">
157 <a href="../.." title="Team Bliss" class="md-nav__button md-logo">
158
159 <i class="md-icon"></i>
160
161 </a>
162 Team Bliss
163 </label>
164
165 <ul class="md-nav__list" data-md-scrollfix>
166
167
168
169
170
171
172 <li class="md-nav__item">
173 <a href="../.." title="Home" class="md-nav__link">
174 Home
175 </a>
176 </li>
177
178
179
180
181
182
183
184
185
186 <li class="md-nav__item md-nav__item--active md-nav__item--nested">
187
188 <input class="md-toggle md-nav__toggle" data-md-toggle="nav-2" type="checkbox" id="nav-2" checked>
189
190 <label class="md-nav__link" for="nav-2">
191 Bliss OS
192 </label>
193 <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
194 <label class="md-nav__title" for="nav-2">
195 Bliss OS
196 </label>
197 <ul class="md-nav__list" data-md-scrollfix>
198
199
200
201
202
203
204
205 <li class="md-nav__item">
206 <a href="../" title="Index" class="md-nav__link">
207 Index
208 </a>
209 </li>
210
211
212
213
214
215
216
217 <li class="md-nav__item">
218 <a href="../build-guide/" title="Build Guide" class="md-nav__link">
219 Build Guide
220 </a>
221 </li>
222
223
224
225
226
227
228
229 <li class="md-nav__item">
230 <a href="../extras/" title="Extras" class="md-nav__link">
231 Extras
232 </a>
233 </li>
234
235
236
237
238
239
240
241 <li class="md-nav__item">
242 <a href="../installation-guide-misc/" title="Installation Guide (Misc)" class="md-nav__link">
243 Installation Guide (Misc)
244 </a>
245 </li>
246
247
248
249
250
251
252
253
254
255 <li class="md-nav__item md-nav__item--active">
256
257 <input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="__toc">
258
259
260
261
262 <a href="./" title="Installation Guide (Surface devices)" class="md-nav__link md-nav__link--active">
263 Installation Guide (Surface devices)
264 </a>
265
266 </li>
267
268
269
270
271
272
273
274 <li class="md-nav__item">
275 <a href="../installation-guide/" title="Installation Guide" class="md-nav__link">
276 Installation Guide
277 </a>
278 </li>
279
280
281
282
283
284
285
286 <li class="md-nav__item">
287 <a href="../troubleshooting/" title="Troubleshooting" class="md-nav__link">
288 Troubleshooting
289 </a>
290 </li>
291
292
293 </ul>
294 </nav>
295 </li>
296
297
298
299
300
301
302
303 <li class="md-nav__item md-nav__item--nested">
304
305 <input class="md-toggle md-nav__toggle" data-md-toggle="nav-3" type="checkbox" id="nav-3">
306
307 <label class="md-nav__link" for="nav-3">
308 BlissRoms
309 </label>
310 <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
311 <label class="md-nav__title" for="nav-3">
312 BlissRoms
313 </label>
314 <ul class="md-nav__list" data-md-scrollfix>
315
316
317
318
319
320
321
322 <li class="md-nav__item">
323 <a href="../../BlissRoms/" title="Index" class="md-nav__link">
324 Index
325 </a>
326 </li>
327
328
329
330
331
332
333
334 <li class="md-nav__item">
335 <a href="../../BlissRoms/build-guide/" title="Build Guide" class="md-nav__link">
336 Build Guide
337 </a>
338 </li>
339
340
341
342
343
344
345
346 <li class="md-nav__item">
347 <a href="../../BlissRoms/build-tips/" title="Build Tips" class="md-nav__link">
348 Build Tips
349 </a>
350 </li>
351
352
353 </ul>
354 </nav>
355 </li>
356
357
358
359
360
361
362
363 <li class="md-nav__item md-nav__item--nested">
364
365 <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4" type="checkbox" id="nav-4">
366
367 <label class="md-nav__link" for="nav-4">
368 Common
369 </label>
370 <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
371 <label class="md-nav__title" for="nav-4">
372 Common
373 </label>
374 <ul class="md-nav__list" data-md-scrollfix>
375
376
377
378
379
380
381
382 <li class="md-nav__item">
383 <a href="../../common/" title="Index" class="md-nav__link">
384 Index
385 </a>
386 </li>
387
388
389
390
391
392
393
394 <li class="md-nav__item">
395 <a href="../../common/git-started/" title="Git Started" class="md-nav__link">
396 Git Started
397 </a>
398 </li>
399
400
401
402
403
404
405
406 <li class="md-nav__item">
407 <a href="../../common/maintaining-proper-authorship/" title="Maintaining proper authorship" class="md-nav__link">
408 Maintaining proper authorship
409 </a>
410 </li>
411
412
413
414
415
416
417
418 <li class="md-nav__item">
419 <a href="../../common/using-dippy-bird/" title="Using `dippy-bird`" class="md-nav__link">
420 Using `dippy-bird`
421 </a>
422 </li>
423
424
425 </ul>
426 </nav>
427 </li>
428
429
430
431
432
433
434
435 <li class="md-nav__item md-nav__item--nested">
436
437 <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5">
438
439 <label class="md-nav__link" for="nav-5">
440 Infrastructure
441 </label>
442 <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
443 <label class="md-nav__title" for="nav-5">
444 Infrastructure
445 </label>
446 <ul class="md-nav__list" data-md-scrollfix>
447
448
449
450
451
452
453
454 <li class="md-nav__item">
455 <a href="../../infrastructure/" title="Index" class="md-nav__link">
456 Index
457 </a>
458 </li>
459
460
461 </ul>
462 </nav>
463 </li>
464
465
466 </ul>
467</nav>
468 </div>
469 </div>
470 </div>
471
472
473 <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
474 <div class="md-sidebar__scrollwrap">
475 <div class="md-sidebar__inner">
476
477<nav class="md-nav md-nav--secondary">
478
479
480
481
482
483</nav>
484 </div>
485 </div>
486 </div>
487
488
489 <div class="md-content">
490 <article class="md-content__inner md-typeset">
491
492
493
494 <h1 id="installation-guide-surface-devices">Installation Guide (Surface devices)</h1>
495<p>This guide is applicable only to Surface devices.</p>
496<p>Reference posts <a href="https://forum.xda-developers.com/showpost.php?p=78015375&amp;postcount=76">here</a> and <a href="https://forum.xda-developers.com/showpost.php?p=76896155&amp;postcount=2107">here</a>.</p>
497<p>Do you have a Surface device that you would like to run Bliss OS on? You're in luck, because Bliss OS was primarily developed and tested on a Surface Pro 3 back on Android Nougat.</p>
498<p>Most Surface devices with IPTS require a specific set of firmware for proper functioning. For all other Surface models, the user must upgrade their own firmware, because we can't build for all Surface models without having those devices to test with.</p>
499<p>To start, here is the series classification for Surface devices:</p>
500<ul>
501<li>Series 5 devices:</li>
502<li>Surface Book 2</li>
503<li>Surface Pro 2017</li>
504<li>Series 4 devices</li>
505<li>Surface Book</li>
506<li>Surface Pro 4</li>
507<li>Surface Laptop</li>
508<li>Series 3 devices:</li>
509<li>Surface Pro 3</li>
510</ul>
511<p>For the ipts_firmware files (series 4/5 devices only), please select the correct version for your device:</p>
512<ul>
513<li><code>v76</code> for the Surface Book</li>
514<li><code>v78</code> for the Surface Pro 4</li>
515<li><code>v79</code> for the Surface Laptop</li>
516<li><code>v101</code> for Surface Book 2 15"</li>
517<li><code>v102</code> for the Surface Pro 2017</li>
518<li><code>v137</code> for the Surface Book 2 13"</li>
519</ul>
520<p>For the i915_firmware files (series 3/4/5 devices), please select the correct version for your device:</p>
521<ul>
522<li><code>kbl</code> for series 5 devices</li>
523<li><code>skl</code> for series 4 devices</li>
524<li><code>bxt</code> for series 3 devices</li>
525</ul>
526<p>All <a href="https://github.com/jakeday/linux-surface/tree/master/firmware">firmware files can be found here.</a></p>
527<p>For Surface Go users, you will have to remove some files and replace them with @jakeday's firmware. Please <a href="https://www.reddit.com/r/SurfaceLinux/comments/9t53gq/wifi_fixed_on_surface_go_ubuntu_1810/">see this thread on Reddit</a> for detailed information.</p>
528<p>Once you have the right firmware you need, you should copy it to a folder on your Bliss install (<code>SD_card_root/surface</code>), making sure to put the right firmware in the right folders:</p>
529<ul>
530<li>IPTS firmware: <code>SD_card_root/surface/intel/ipts</code></li>
531<li><code>ath10k</code> firmware (some models): <code>SD_card_root/surface/ath10k</code></li>
532<li><code>mrvl</code> firmware (some models): <code>SD_card_root/surface/mrvl</code></li>
533<li><code>mwlwifi</code> firmware (some models): <code>SD_card_root/surface/mwlwifi</code></li>
534<li><code>nvidia</code> firmware for Surface Book 2: <code>SD_card_root/surface/nvidia</code></li>
535</ul>
536<p>Next, open a terminal (we include one you can enable in "Developer Options"). In the terminal, enter the following commands, giving permission to the superuser popup dialog when prompted:</p>
537<pre><code>su
538mv -f SD_card_root/surface/* system/lib/firmware/
539</code></pre>
540<p>Then you can restart:</p>
541<pre><code>reboot
542</code></pre>
543<p>It should recognize and load the correct firmware versions for your device upon reboot if you did everything correctly.</p>
544
545
546
547
548
549
550
551
552
553 </article>
554 </div>
555 </div>
556 </main>
557
558
559<footer class="md-footer">
560
561 <div class="md-footer-nav">
562 <nav class="md-footer-nav__inner md-grid">
563
564 <a href="../installation-guide-misc/" title="Installation Guide (Misc)" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
565 <div class="md-flex__cell md-flex__cell--shrink">
566 <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
567 </div>
568 <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
569 <span class="md-flex__ellipsis">
570 <span class="md-footer-nav__direction">
571 Previous
572 </span>
573 Installation Guide (Misc)
574 </span>
575 </div>
576 </a>
577
578
579 <a href="../installation-guide/" title="Installation Guide" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
580 <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
581 <span class="md-flex__ellipsis">
582 <span class="md-footer-nav__direction">
583 Next
584 </span>
585 Installation Guide
586 </span>
587 </div>
588 <div class="md-flex__cell md-flex__cell--shrink">
589 <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
590 </div>
591 </a>
592
593 </nav>
594 </div>
595
596 <div class="md-footer-meta md-typeset">
597 <div class="md-footer-meta__inner md-grid">
598 <div class="md-footer-copyright">
599
600 powered by
601 <a href="https://www.mkdocs.org">MkDocs</a>
602 and
603 <a href="https://squidfunk.github.io/mkdocs-material/">
604 Material for MkDocs</a>
605 </div>
606
607 </div>
608 </div>
609</footer>
610
611 </div>
612
613 <script src="../../assets/javascripts/application.ac79c3b0.js"></script>
614
615 <script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script>
616
617
618 </body>
619</html>