blob: aede0b6a7d3633747c1ad7cceca681760d29aa44 [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">
Eric Park0509f652020-03-01 01:54:39 +0900287 <a href="../taking-bug-reports/" title="Taking bug reports" class="md-nav__link">
288 Taking bug reports
289 </a>
290 </li>
291
292
293
294
295
296
297
298 <li class="md-nav__item">
Eric Parkd09b00e2020-02-15 11:07:48 +0900299 <a href="../troubleshooting/" title="Troubleshooting" class="md-nav__link">
300 Troubleshooting
301 </a>
302 </li>
303
304
305 </ul>
306 </nav>
307 </li>
308
309
310
311
312
313
314
315 <li class="md-nav__item md-nav__item--nested">
316
317 <input class="md-toggle md-nav__toggle" data-md-toggle="nav-3" type="checkbox" id="nav-3">
318
319 <label class="md-nav__link" for="nav-3">
320 BlissRoms
321 </label>
322 <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
323 <label class="md-nav__title" for="nav-3">
324 BlissRoms
325 </label>
326 <ul class="md-nav__list" data-md-scrollfix>
327
328
329
330
331
332
333
334 <li class="md-nav__item">
335 <a href="../../BlissRoms/" title="Index" class="md-nav__link">
336 Index
337 </a>
338 </li>
339
340
341
342
343
344
345
346 <li class="md-nav__item">
347 <a href="../../BlissRoms/build-guide/" title="Build Guide" class="md-nav__link">
348 Build Guide
349 </a>
350 </li>
351
352
353
354
355
356
357
358 <li class="md-nav__item">
359 <a href="../../BlissRoms/build-tips/" title="Build Tips" class="md-nav__link">
360 Build Tips
361 </a>
362 </li>
363
364
365 </ul>
366 </nav>
367 </li>
368
369
370
371
372
373
374
375 <li class="md-nav__item md-nav__item--nested">
376
377 <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4" type="checkbox" id="nav-4">
378
379 <label class="md-nav__link" for="nav-4">
380 Common
381 </label>
382 <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
383 <label class="md-nav__title" for="nav-4">
384 Common
385 </label>
386 <ul class="md-nav__list" data-md-scrollfix>
387
388
389
390
391
392
393
394 <li class="md-nav__item">
395 <a href="../../common/" title="Index" class="md-nav__link">
396 Index
397 </a>
398 </li>
399
400
401
402
403
404
405
406 <li class="md-nav__item">
407 <a href="../../common/git-started/" title="Git Started" class="md-nav__link">
408 Git Started
409 </a>
410 </li>
411
412
413
414
415
416
417
418 <li class="md-nav__item">
419 <a href="../../common/maintaining-proper-authorship/" title="Maintaining proper authorship" class="md-nav__link">
420 Maintaining proper authorship
421 </a>
422 </li>
423
424
425
426
427
428
429
430 <li class="md-nav__item">
431 <a href="../../common/using-dippy-bird/" title="Using `dippy-bird`" class="md-nav__link">
432 Using `dippy-bird`
433 </a>
434 </li>
435
436
437 </ul>
438 </nav>
439 </li>
440
441
442
443
444
445
446
447 <li class="md-nav__item md-nav__item--nested">
448
449 <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5">
450
451 <label class="md-nav__link" for="nav-5">
452 Infrastructure
453 </label>
454 <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
455 <label class="md-nav__title" for="nav-5">
456 Infrastructure
457 </label>
458 <ul class="md-nav__list" data-md-scrollfix>
459
460
461
462
463
464
465
466 <li class="md-nav__item">
467 <a href="../../infrastructure/" title="Index" class="md-nav__link">
468 Index
469 </a>
470 </li>
471
472
473 </ul>
474 </nav>
475 </li>
476
477
478 </ul>
479</nav>
480 </div>
481 </div>
482 </div>
483
484
485 <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
486 <div class="md-sidebar__scrollwrap">
487 <div class="md-sidebar__inner">
488
489<nav class="md-nav md-nav--secondary">
490
491
492
493
494
495</nav>
496 </div>
497 </div>
498 </div>
499
500
501 <div class="md-content">
502 <article class="md-content__inner md-typeset">
503
504
505
506 <h1 id="installation-guide-surface-devices">Installation Guide (Surface devices)</h1>
507<p>This guide is applicable only to Surface devices.</p>
508<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>
509<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>
510<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>
511<p>To start, here is the series classification for Surface devices:</p>
512<ul>
513<li>Series 5 devices:</li>
514<li>Surface Book 2</li>
515<li>Surface Pro 2017</li>
516<li>Series 4 devices</li>
517<li>Surface Book</li>
518<li>Surface Pro 4</li>
519<li>Surface Laptop</li>
520<li>Series 3 devices:</li>
521<li>Surface Pro 3</li>
522</ul>
523<p>For the ipts_firmware files (series 4/5 devices only), please select the correct version for your device:</p>
524<ul>
525<li><code>v76</code> for the Surface Book</li>
526<li><code>v78</code> for the Surface Pro 4</li>
527<li><code>v79</code> for the Surface Laptop</li>
528<li><code>v101</code> for Surface Book 2 15"</li>
529<li><code>v102</code> for the Surface Pro 2017</li>
530<li><code>v137</code> for the Surface Book 2 13"</li>
531</ul>
532<p>For the i915_firmware files (series 3/4/5 devices), please select the correct version for your device:</p>
533<ul>
534<li><code>kbl</code> for series 5 devices</li>
535<li><code>skl</code> for series 4 devices</li>
536<li><code>bxt</code> for series 3 devices</li>
537</ul>
538<p>All <a href="https://github.com/jakeday/linux-surface/tree/master/firmware">firmware files can be found here.</a></p>
539<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>
540<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>
541<ul>
542<li>IPTS firmware: <code>SD_card_root/surface/intel/ipts</code></li>
543<li><code>ath10k</code> firmware (some models): <code>SD_card_root/surface/ath10k</code></li>
544<li><code>mrvl</code> firmware (some models): <code>SD_card_root/surface/mrvl</code></li>
545<li><code>mwlwifi</code> firmware (some models): <code>SD_card_root/surface/mwlwifi</code></li>
546<li><code>nvidia</code> firmware for Surface Book 2: <code>SD_card_root/surface/nvidia</code></li>
547</ul>
548<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>
549<pre><code>su
550mv -f SD_card_root/surface/* system/lib/firmware/
551</code></pre>
552<p>Then you can restart:</p>
553<pre><code>reboot
554</code></pre>
555<p>It should recognize and load the correct firmware versions for your device upon reboot if you did everything correctly.</p>
556
557
558
559
560
561
562
563
564
565 </article>
566 </div>
567 </div>
568 </main>
569
570
571<footer class="md-footer">
572
573 <div class="md-footer-nav">
574 <nav class="md-footer-nav__inner md-grid">
575
576 <a href="../installation-guide-misc/" title="Installation Guide (Misc)" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
577 <div class="md-flex__cell md-flex__cell--shrink">
578 <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
579 </div>
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 Previous
584 </span>
585 Installation Guide (Misc)
586 </span>
587 </div>
588 </a>
589
590
591 <a href="../installation-guide/" title="Installation Guide" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
592 <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
593 <span class="md-flex__ellipsis">
594 <span class="md-footer-nav__direction">
595 Next
596 </span>
597 Installation Guide
598 </span>
599 </div>
600 <div class="md-flex__cell md-flex__cell--shrink">
601 <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
602 </div>
603 </a>
604
605 </nav>
606 </div>
607
608 <div class="md-footer-meta md-typeset">
609 <div class="md-footer-meta__inner md-grid">
610 <div class="md-footer-copyright">
611
612 powered by
613 <a href="https://www.mkdocs.org">MkDocs</a>
614 and
615 <a href="https://squidfunk.github.io/mkdocs-material/">
616 Material for MkDocs</a>
617 </div>
618
619 </div>
620 </div>
621</footer>
622
623 </div>
624
625 <script src="../../assets/javascripts/application.ac79c3b0.js"></script>
626
627 <script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script>
628
629
630 </body>
631</html>