<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.pine64.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mrfixit2001</id>
	<title>PINE64 - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.pine64.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mrfixit2001"/>
	<link rel="alternate" type="text/html" href="https://wiki.pine64.org/wiki/Special:Contributions/Mrfixit2001"/>
	<updated>2026-04-19T02:38:26Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=14576</id>
		<title>Pinebook Pro</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=14576"/>
		<updated>2022-10-27T13:47:56Z</updated>

		<summary type="html">&lt;p&gt;Mrfixit2001: /* Pinebook Pro images */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= User Guide =&lt;br /&gt;
== Introducing PineBook Pro == &lt;br /&gt;
[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running Debian with MATE]]&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is a Linux and *BSD ARM laptop from [https://www.pine64.org/ PINE64]&lt;br /&gt;
&lt;br /&gt;
It is built to be a compelling alternative to mid-ranged Chromebooks that people convert into Linux laptops. It features an IPS 1080p 14″ LCD panel, a premium magnesium alloy shell, high capacity eMMC storage, a 10,000 mAh capacity battery, and the modularity that only an open source project can deliver. &lt;br /&gt;
&lt;br /&gt;
It's compact and slim dimensions are 329mm x 220mm x 12mm (WxDxH).&lt;br /&gt;
&lt;br /&gt;
Key features include: the RK3399 SOC; USB-C for data, video-out and power-in (3A 5V); privacy switches for the microphone, BT/WiFi module, and camera; and expandable storage via NVMe (PCIe x4) with an optional adapter. &lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is equipped with 4GB LPDDR4 system memory, high capacity eMMC flash storage, and 128Mb SPI boot Flash. The I/O includes: 1 x micro SD card reader (bootable), 1 x USB 2.0, 1 x USB 3.0, 1 x USB type C Host with DP 1.2 and power-in, PCIe x4 for an NVMe SSD drive (requires an optional adapter), and UART (via the headphone jack by setting an internal switch). &lt;br /&gt;
&lt;br /&gt;
The keyboard and touchpad both use the USB 2.0 protocol.  The LCD panel uses eDP MiPi display protocol.&lt;br /&gt;
&lt;br /&gt;
Many different Operating Systems (OS) are freely available from the open source community and partner projects.  These include various flavors of Linux (Ubuntu, Debian, Manjaro, etc.) and *BSD.&lt;br /&gt;
&lt;br /&gt;
== Software and OS Image Downloads ==&lt;br /&gt;
&lt;br /&gt;
=== Default Manjaro KDE Desktop Quick Start ===&lt;br /&gt;
&lt;br /&gt;
When you first get your Pinebook Pro and boot it up for the first time, it'll come with Manjaro using the KDE desktop. The Pinebook Pro is officially supported by the Manjaro ARM project, and support can be found on the [https://forum.manjaro.org/c/manjaro-arm/78 Manjaro ARM forums.]&lt;br /&gt;
&lt;br /&gt;
On first boot, it will ask for certain information such as your timezone location, keyboard layout, username, password, and hostname. Most of these should be self-explanatory. Note that the hostname it asks for should be thought of as the &amp;quot;codename&amp;quot; of your machine, and if you don't know what it's about, you can make something up (use a single word, all lower case, no punctuation; e.g. &amp;quot;pbpro&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
After you're on the desktop, be sure to update it as soon as possible and reboot after updates are finished installing. If nothing appears when you click on the Networking icon in your system tray to connect to your Wi-Fi, ensure the Wi-Fi [https://wiki.pine64.org/index.php/Pinebook_Pro#ANSI_Fn_.2B_F_keys_wrong_for_F9.2C_F10.2C_F11_and_F12  privacy switch] is not disabled.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro images ===&lt;br /&gt;
Under [[Pinebook Pro Software Release]] you will find a complete list of currently supported Operating System images that work with the Pinebook as well as other related software. &lt;br /&gt;
&lt;br /&gt;
The list includes OS images and descriptions of:&lt;br /&gt;
&lt;br /&gt;
* [[PinebookPro_Software_Release#Manjaro ARM|Manjaro ARM]] (microSD and eMMC Boot)&lt;br /&gt;
* [[PinebookPro_Software_Release#Armbian|Armbian]] (microSD and eMMC Boot)&lt;br /&gt;
* [[PinebookPro_Software_Release#Twister OS|Twister OS]] (microSD Boot)&lt;br /&gt;
* [[PinebookPro_Software_Release#Fedora|Fedora]] (microSD and eMMC Boot)&lt;br /&gt;
* [[PinebookPro_Software_Release#Arch_Linux_ARM|Arch Linux]] (microSD and USB boot)&lt;br /&gt;
* [[PinebookPro_Software_Release#postmarketOS|Postmarket OS]] (microSD and USB boot)&lt;br /&gt;
* [[PinebookPro_Software_Release#R-Cade|R-Cade from Retro-Center]] (microSD and USB boot)&lt;br /&gt;
* [[PinebookPro_Software_Release#Kali Linux|Kali Linux]] (microSD and USB boot)&lt;br /&gt;
* [[PinebookPro_Software_Release#DietPi|DietPi]] (microSD and eMMC Boot)&lt;br /&gt;
* [[PinebookPro_Software_Release#Q4OS|Q4OS]] (microSD and eMMC Boot)&lt;br /&gt;
* [[PinebookPro_Software_Release#NetBSD|NetBSD]] (microSD and eMMC Boot)&lt;br /&gt;
* [[Pinebook_Pro_Software_Release#OpenBSD|OpenBSD release for ARM64]]&lt;br /&gt;
* [[Pinebook_Pro_Software_Release#Gentoo|Gentoo]]&lt;br /&gt;
* [[Pinebook_Pro_Software_Release#Slackware|Slackware (microSD boot)]]&lt;br /&gt;
* [[Pinebook_Pro_Software_Release#Void_Linux|Void Linux]]&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and touchpad in the Pinebook Pro use the USB 2.0 protocol and show up as such in xinput. The keyboard features function (Fn) keys in the F-key row, which include display brightness controls, sound volume, touchpad lock, and other functionality. There is also a custom PINE64 logo key that functions as Menu/Super key. It has also a secondary functionality for setting the privacy switches.   &lt;br /&gt;
&lt;br /&gt;
The keyboard firmware binary can be flashed from userspace using the provided open source utility.&lt;br /&gt;
&lt;br /&gt;
{{warning|DO NOT update the keyboard firmware before checking which keyboard IC your Pinebook Pro has.&amp;lt;/b&amp;gt; Some Pinebook Pro were delivered with a '''SH61F83''' instead of a '''SH68F83'''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when &amp;lt;code&amp;gt;step-1&amp;lt;/code&amp;gt; is flashed, see the [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to &amp;lt;code&amp;gt;U23&amp;lt;/code&amp;gt; on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable.}}&lt;br /&gt;
&lt;br /&gt;
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. &lt;br /&gt;
&lt;br /&gt;
=== Typing special characters ===&lt;br /&gt;
The [[Wikipedia:British_and_American_keyboards#Other_keyboard_layouts|UK ISO Layout]] does not have dedicated keys for characters like the German umlauts (Ä,Ö,Ü, etc). Certain characters can still be generated by means of either key combinations or key sequences. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Character&lt;br /&gt;
!Key combination/sequence&lt;br /&gt;
|-&lt;br /&gt;
|Ä, Ö, Ü, ä, ö, ü&lt;br /&gt;
|[[Wikipedia:AltGr_key|[AltGr]]]+'[' followed by [A], [O], [U], [a], [o] or [u]&lt;br /&gt;
|-&lt;br /&gt;
|µ&lt;br /&gt;
|[AltGr]+[m]&lt;br /&gt;
|-&lt;br /&gt;
|Ø, ø&lt;br /&gt;
|[AltGr]+[O], [AltGr]+[o]&lt;br /&gt;
|-&lt;br /&gt;
|@&lt;br /&gt;
|[AltGr]+[q] (as on the German layout)&lt;br /&gt;
|-&lt;br /&gt;
|ß&lt;br /&gt;
|[AltGr]+[s]&lt;br /&gt;
|-&lt;br /&gt;
|§&lt;br /&gt;
|[AltGr]+[S]&lt;br /&gt;
|-&lt;br /&gt;
|°&lt;br /&gt;
|[AltGr]+[)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Privacy Switches ===&lt;br /&gt;
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Privacy switch function and description&lt;br /&gt;
! Combination&lt;br /&gt;
! Effect&lt;br /&gt;
! Description&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F10&lt;br /&gt;
| Microphone Privacy switch&lt;br /&gt;
| CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F11&lt;br /&gt;
| WiFi Privacy switch&lt;br /&gt;
| NUM lock LED blinks. 2 blinks = WiFi enabled / privacy switch disabled, 3 blinks = WiFi disabled / privacy switch enabled.&lt;br /&gt;
| '''Re-enabling requires reboot''' (or a [//forum.pine64.org/showthread.php?tid=8313&amp;amp;pid=52645#pid52645 command line hack to bind/unbind]).&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F12&lt;br /&gt;
| Camera privacy switch&lt;br /&gt;
| CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
| Can use tools like '''&amp;lt;code&amp;gt;lsusb&amp;lt;/code&amp;gt;''' to detect camera's presence. If not detected, check privacy switch.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''(Press the PINE64 logo key plus F10/F11/F12) for 3 seconds)'''&lt;br /&gt;
&lt;br /&gt;
The keyboard operates on firmware independent of the operating system.  It detects if one of the F10, F11 or F12 keys is pressed in combination with the Pine key for 3 seconds. Doing so disables power to the appropriate peripheral, thereby disabling it.  This has the same effect as cutting off the power to each peripheral with a physical switch. This implementation is very secure, since the firmware that determines whether a peripheral gets power is not part of the Pinebook Pro’s operating system. So the power state value for each peripheral cannot be overridden or accessed from the operating system. The power state setting for each peripheral is stored across reboots inside the keyboard's firmware flash memory.&lt;br /&gt;
&lt;br /&gt;
=== Basic summary of replacing keyboard ===&lt;br /&gt;
&lt;br /&gt;
This guide is very basic and should be fleshed out with (better) pictures.  There just isn't a list of steps anywhere else yet.&lt;br /&gt;
&lt;br /&gt;
Here's what the replacement keyboard looks like:&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (front)]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (back)]]&lt;br /&gt;
&lt;br /&gt;
''Step 0'': If changing from ISO keyboard to ANSI keyboard, or vice versa, be sure to have a system capable of running the firmware updater that you can access either remotely or with a USB keyboard beyond the internal keyboard, as the firmware for each is very different and keys won't work correctly.  See https://forum.pine64.org/showthread.php?tid=8407 (and for NetBSD, https://forum.pine64.org/showthread.php?tid=8716).&lt;br /&gt;
&lt;br /&gt;
''Step 1'': The remove back back panel.&lt;br /&gt;
&lt;br /&gt;
There are 10 screws on the back that must be removed, and the back panel detached.  I recommend using a PH0 bit.  The speakers may remain attached via glue to the case and should be carefully pried off.  When this is done, taking photos of how everything looks now can help put it all back together later.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_keyboard-replacement-screws.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 2'': Places to unscrew.&lt;br /&gt;
&lt;br /&gt;
There are 3 items screwed into the keyboard frame that must be removed.  There are 2 large screws for daughter board, 3 large screws and 1 small screw for mainboard, and 4 small screws for battery.  Be sure to not lose them.  I recommend a PH00 bit for the large screws on the daughter and main boards and a PH1 bit for the small screws on the battery and mainboard.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-back-removed.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 3'': Remove the battery.&lt;br /&gt;
&lt;br /&gt;
Once the battery screws are removed, it should be unplugged from the mainboard and removed.  Note that there are two unconnected cables lying around, that should remain unconnected.  They are used when the battery is disconnected entirely.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-mainboard.jpg.jpg|300px|Zoom on the mainboard]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-daughterboard.jpg|300px|Zoom on the daughterboard]]&lt;br /&gt;
&lt;br /&gt;
''Step 4'': Unplug the ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: you should remove the M.2 adapter board now if you have one installed. See elsewhere in this wiki for instructions on how to install/remove that piece.&lt;br /&gt;
&lt;br /&gt;
There are several ribbon cables.  To remove, flip up the tab and gentle pull the ribbon out.&lt;br /&gt;
&lt;br /&gt;
* One cable runs from the mainboard to the daughterboard underneath the battery.  Detach from both ends.  With the battery removed, detach from keyboard shell, and set aside for the new keyboard shell.&lt;br /&gt;
* One cable runs between the touchpad and the mainboard.  Detach from both ends, and also set aside.&lt;br /&gt;
* One cable runs between the keyboard and the mainboard.  This one remains attached to the keyboard and only needs to be detached from the mainboard.&lt;br /&gt;
* One cable from the LCD attaches near the lid hinge.  It should be just unplugged.&lt;br /&gt;
&lt;br /&gt;
''Step 5'': Detach microphone, speakers, and antenna.  &lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_microphone_removed.jpg|300px|thumb|right|One of the Pinebook Pro microphones after removal]]&lt;br /&gt;
&lt;br /&gt;
The speakers, microphone, and antenna don't have to be detached from the mainboard, but they need to be detached from the keyboard shell.  The microphones are held in place by tape, and the speakers have sticky sides.  The speakers are found obviously, but the microphones (two of) can be found between the battery and the hinge area. Each microphone can be carefully pulled/wedged out of its position by a small screwdriver or pick.  The antenna, similar to the microphones, is found near the hinge area and to the top left of the battery.&lt;br /&gt;
&lt;br /&gt;
''Step 6'': Remove mainboard and daughterboard.&lt;br /&gt;
&lt;br /&gt;
At this point, the mainboard and daughterboards should be removed.  When unscrewed (see Step 2) they should pull out fairly easily.  Put them aside (including microphones and speakers if left attached.)&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-all-boards-removed.jpg|300px|All boards removed]]&lt;br /&gt;
&lt;br /&gt;
''Step 7'': Detach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
Step 2 didn't tell you, there are 6 more screws to remove here, 3 for each of the hinges.  I recommend a PH1 bit for these screws.  Unscrew these and the LCD panel will be able to be removed.  You may have to jiggle or move the hinges for this.  When detached, be sure to place the LCD panel such that the display is protected.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display.jpg|300px|Display detached]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display2.jpg|300px|Display detached (front)]]&lt;br /&gt;
&lt;br /&gt;
''Step 8'': Try Not To Break Your Touchpad, or, How I Learned To Love Things That Bend&lt;br /&gt;
&lt;br /&gt;
'''NOTE This section really feels like you're going to break something.'''&lt;br /&gt;
&lt;br /&gt;
The touchpad is glued to the keyboard shell and it's glued well.  There are two places it is glued to.  If you can, only the middle must be force-detached.  You will think you're going to break it.  Gently apply increasing force until the glue begins to detach (you will hear a crackle as it comes off), and continue very slowly until the whole thing is detached.  This may take minutes due to that feeling you're going to break it.&lt;br /&gt;
&lt;br /&gt;
I found it helpful to lift the top left plastic bit on the keyboard to unstick that portion of the touchpad, then push on the top left portion of the touchpad to unstick the rest of the touchpad.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad1.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad2.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad3.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 9'': Over the hill, touchpad goes into new shell.&lt;br /&gt;
&lt;br /&gt;
In the new keyboard shell put the touchpad back where it was, hopefully the glue will remain sufficiently attached.  If there is a glue issue, this guide unfortunately has no advice currently.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-install-touchpad.jpg|300px|Install the touchpad]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Step 10'': Reattach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
The LCD panel should slot back into the keyboard frame, the same way it came out.  If the hinges were moved, they should be *very* *gently* closed such that the LCD panel and keyboard closed like normal for the remaining steps.&lt;br /&gt;
&lt;br /&gt;
''Step 11'': Tape it out.&lt;br /&gt;
&lt;br /&gt;
Move any tape from the old keyboard shell to the new one.  These items protect the mainboard and daughterboard, and keep various wires in their right place.  Some are grey and some are black.  For tape that holds the speakers, microhones, or their cables in place, do not reattach yet.&lt;br /&gt;
&lt;br /&gt;
''Step 12'': Board install.&lt;br /&gt;
&lt;br /&gt;
Install the mainboard, the daughtboard, and their connecting ribbon cable.  Be sure to put the boards in place, 2 large flat screws for the daughterboard, 3 large flat screws and one small screw for the mainboard, before attempting to place the ribbon.&lt;br /&gt;
&lt;br /&gt;
''Step 13'': Microphone, speaker, and antenna install.&lt;br /&gt;
&lt;br /&gt;
Reattach the microphones, antenna, and speakers to their respective areas, making sure that both are properly oriented - the speaker &amp;quot;out&amp;quot; faces up, and the microphone cables as connected must face up (these are opposite directions.)&lt;br /&gt;
&lt;br /&gt;
''Step 14'': Reattach other ribbon cables.&lt;br /&gt;
 &lt;br /&gt;
NOTE: this would be a good time to attach/install the M.2 adapter board if that is desired. See elsewhere in this wiki for those instructions.&lt;br /&gt;
&lt;br /&gt;
The LCD panel, keyboard and touchpad ribbon cables should be reattached.  Make sure the flap is open, insert the ribbon into the slot (a portion of the cable will disappear), and push the flap down.  The cable should not be easy to pull out.&lt;br /&gt;
 &lt;br /&gt;
''Step 15'': Reattach the battery, and final re-tape.&lt;br /&gt;
  &lt;br /&gt;
The battery should be installed with the 4 screws holding it in place, and the connector attached to the mainboard.  Be sure to keep the two other cables remain unconnected.  Ensure all wires and other tapes are held in place.&lt;br /&gt;
&lt;br /&gt;
''Step 16'': Reattach the back panel.&lt;br /&gt;
 &lt;br /&gt;
Put the back panel back on, and reattach the 10 screws.&lt;br /&gt;
&lt;br /&gt;
''Step 17'': If you changed from ISO to ANSI or from ANSI to ISO, you'll need to update your firmware now.  See the links in Step 0 above.&lt;br /&gt;
&lt;br /&gt;
== Touchpad (trackpad) ==&lt;br /&gt;
Documentation for the touchpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. It is the only component of the Pinebook Pro held in place with strong adhesive tape. Here are some of its features:&lt;br /&gt;
&lt;br /&gt;
* 2 actuating buttons.&lt;br /&gt;
&lt;br /&gt;
* multi-touch functionality. &lt;br /&gt;
&lt;br /&gt;
* A matte finish that your finger can slide along easily.&lt;br /&gt;
&lt;br /&gt;
* A reasonable size (96mm &amp;amp;times; 64mm; diagonal: 115.378mm or 4.542&amp;amp;rdquo;).&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
If you are having trouble using 2 fingers to scroll or emulate the click of a mouse's right-button, then try these solutions:&lt;br /&gt;
&lt;br /&gt;
* Update the firmware.&lt;br /&gt;
&lt;br /&gt;
* Keep your 2 fingers spread apart rather than close together.&lt;br /&gt;
&lt;br /&gt;
* Individual programs might need to be configured specially.&lt;br /&gt;
&lt;br /&gt;
:* For smooth scrolling and gestures under X-Windows, ''Firefox'' should be launched with with the following environment variable assignment:&lt;br /&gt;
&lt;br /&gt;
::: &amp;lt;code&amp;gt;MOZ_USE_XINPUT2=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Experiment with other settings, via [[#X-Windows Configuration|X-Windows Configuration]] or some other system preferences; for example, you could disable double-finger scrolling, and instead enable scrolling by sliding one finger along the edge of the touchpad.&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
The touchpad controller is connected to the keyboard controller. All touchpad events go through the keyboard controller and it's software, then to the keyboard controller's USB port. Note that the touchpad does have separate firmware, (which has to be written through the keyboard controller). The touchpad vendor&amp;amp;rsquo;s firmware binary can be flashed from userspace using the following open source command-line utility:&lt;br /&gt;
&lt;br /&gt;
* Kamil Trzciński&amp;amp;rsquo;s [https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater pinebook-pro-keyboard-updater].&lt;br /&gt;
&lt;br /&gt;
Naturally, forks have begun to appear:&lt;br /&gt;
&lt;br /&gt;
* Jack Humbert&amp;amp;rsquo;s [https://github.com/jackhumbert/pinebook-pro-keyboard-updater fork]&lt;br /&gt;
&lt;br /&gt;
* Dragan Simic&amp;amp;rsquo;s [https://github.com/dragan-simic/pinebook-pro-keyboard-updater fork]. This one has recently delivered a much improved firmware from the vendor, which greatly improves the control of the cursor (see this [https://forum.pine64.org/showthread.php?tid=14531 thread] for discussion); before installing this update, consider resetting to the defaults any configuration of your touchpad.&lt;br /&gt;
&lt;br /&gt;
'''Every Pinebook Pro produced before September 2021 should have its keyboard and touchpad firmware updated.'''&lt;br /&gt;
&lt;br /&gt;
{{warning| DO NOT update the touchpad firmware before checking which keyboard IC your Pinebook Pro has.&amp;lt;/b&amp;gt; Some Pinebook Pro were delivered with a '''SH61F83''' instead of a '''SH68F83'''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when &amp;lt;code&amp;gt;step-1&amp;lt;/code&amp;gt; is flashed. See [//old.reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to &amp;lt;code&amp;gt;U23&amp;lt;/code&amp;gt; on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable.}}&lt;br /&gt;
&lt;br /&gt;
Before updating ''any'' firmware, your Pinebook Pro should be either fully charged or, preferably, running from mains. This utility will be writing data to chips on the keyboard and touchpad, so a loss of power during any stage of the update can result in irrecoverable damage to your touchpad or keyboard.&lt;br /&gt;
&lt;br /&gt;
The scripts ought to work on all OSs available for the Pinebook Pro. Some OSs may, however, require installation of relevant dependencies. The instructions below assume a Debian desktop. To install these dependencies, newer Pinebook Pro models that come with Manjaro will require a different command.&lt;br /&gt;
&lt;br /&gt;
There are two keyboard versions of the Pinebook Pro: ISO and ANSI. You need to know which model you have prior to running the updater. &lt;br /&gt;
Firmware update steps for both models are listed below.  &lt;br /&gt;
&lt;br /&gt;
What you will need:&lt;br /&gt;
&lt;br /&gt;
* Connection to WiFi (for getting dependencies).&lt;br /&gt;
&lt;br /&gt;
* Your Pinebook Pro fully charged or running from mains power.&lt;br /&gt;
&lt;br /&gt;
* An external USB keyboard &amp;amp;amp; mouse (or access to the Pinebook Pro via SSH. Please note that for some configurations, the SSH service might not be available without first having logged in once; in this case, you will definitely want at least an external keyboard).&lt;br /&gt;
&lt;br /&gt;
==== ISO Model ====&lt;br /&gt;
&lt;br /&gt;
From the terminal command line: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-1 iso&lt;br /&gt;
sudo poweroff # do not use 'reboot'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-2 iso&lt;br /&gt;
sudo poweroff # do not use 'reboot'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ANSI Model ====&lt;br /&gt;
&lt;br /&gt;
{{Hint| Note: Running step 1 on the ANSI keyboard model will make the keyboard and touchpad inaccessible until step 2 is run, so an external keyboard must be connected to complete the update on this model!}}&lt;br /&gt;
&lt;br /&gt;
From the terminal command line: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-1 ansi&lt;br /&gt;
sudo poweroff # do not use 'reboot'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-2 ansi&lt;br /&gt;
sudo poweroff # do not use 'reboot'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When done, if some of the keys produce incorrect characters, please check your OS’s language settings. For ANSI users, the default OS may have shipped with English UK as the default language; you can change it to English US if desired.&lt;br /&gt;
&lt;br /&gt;
==== Revised Firmware ====&lt;br /&gt;
&lt;br /&gt;
In addition, you might consider using revised firmware data; this is one final step that should not require a reboot:&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ISO''' (after booting)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo ./updater flash-kb firmware/default_iso.hex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ANSI''' (after booting)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo ./updater flash-kb firmware/default_ansi.hex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== X-Windows Configuration ===&lt;br /&gt;
''Before making adjustments, consider updating the firmware; reset your adjustments before updating the firmware, so that your adjustments do not interfere with new functionality.''&lt;br /&gt;
&lt;br /&gt;
Some forum members have found that an adjustment to X-Windows will allow finer motion in the touchpad. If you use the '''Synaptic''' mouse/touchpad driver, use this command to make the change live:&lt;br /&gt;
&amp;lt;pre&amp;gt;synclient MinSpeed=0.25&amp;lt;/pre&amp;gt;&lt;br /&gt;
You may experiment with different settings, but 0.25 was tested as helping noticeably.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
To make the change persist across reboots, change the file &amp;lt;code&amp;gt;/etc/X11/xorg.conf&amp;lt;/code&amp;gt; similar to below:&lt;br /&gt;
&amp;lt;pre&amp;gt;    Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;touchpad catchall&amp;quot;&lt;br /&gt;
        Driver &amp;quot;synaptics&amp;quot;&lt;br /&gt;
        MatchIsTouchpad &amp;quot;on&amp;quot;&lt;br /&gt;
        MatchDevicePath &amp;quot;/dev/input/event*&amp;quot;&lt;br /&gt;
        Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&lt;br /&gt;
    EndSection&amp;lt;/pre&amp;gt;&lt;br /&gt;
The line &amp;lt;code&amp;gt;Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&amp;lt;/code&amp;gt; is the change.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Another forum user built on the above settings a little, and have found these to be very good:&lt;br /&gt;
&amp;lt;pre&amp;gt;synclient MinSpeed=0.25&lt;br /&gt;
synclient TapButton1=1&lt;br /&gt;
synclient TapButton2=3&lt;br /&gt;
synclient TapButton3=2&lt;br /&gt;
synclient FingerLow=30&lt;br /&gt;
synclient PalmDetect=1&lt;br /&gt;
synclient VertScrollDelta=64&lt;br /&gt;
synclient HorizScrollDelta=64&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;FingerLow&amp;lt;/code&amp;gt; has the same value as 'FingerHigh' in one config (30). It is believed to help reduce mouse movement as you lift your finger, but it's unknown whether synaptic works like this.&lt;br /&gt;
You may find this config to be comfortable for daily use.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;TabButton&amp;lt;/code&amp;gt; allows to just tab the touchpad instead of physically pressing it down (to get this click noise).&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;right mouse click&amp;lt;/code&amp;gt; is emulated by tapping with two fingers on the touchpad. If you feel that this is not very responsive you can try this value:&lt;br /&gt;
&amp;lt;pre&amp;gt; synclient MaxTapTime=250 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some users may encounter an issue with the mouse jumping when typing when using libinput driver (has not been test with synaptic) due to their hand hitting the touchpad which can be fixed by updating the xorg settings to disable it while typing. One can disable the touchpad while typing by setting the below option in the xorg config simliar to the previou example. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        Option &amp;quot;DisableWhileTyping&amp;quot; &amp;quot;on&amp;quot; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The setting can be verified by using the xinput command to first list the devices and then listing the properties for the Touchpad device. Exact commands to check this have been omitted for save of brevity. If DisableWhileTyping is shown enabled but does not appear to be working the issue may be due to the fact that the keyboard is connected to a USB bus which causes it to be seen as a external keyboard. To resolve this one can add the config below which sets the keyboard to internal to ensure the DisableWhileTyping works properly. &lt;br /&gt;
&lt;br /&gt;
You will need to edit &amp;lt;code&amp;gt;/etc/libinput/local-overrides.quirks&amp;lt;/code&amp;gt; and add the following lines:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Serial Keyboards]&lt;br /&gt;
MatchUdevType=keyboard&lt;br /&gt;
MatchBus=usb&lt;br /&gt;
AttrKeyboardIntegration=internal&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once X11 is restarted the new setting should now take effect and you will no longer be able to use the touchpad while typing which will mostly eliminate the mouse jumping issue.&lt;br /&gt;
&lt;br /&gt;
== Power Supply ==&lt;br /&gt;
* Input Power: 5V DC @ 3A&lt;br /&gt;
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack&lt;br /&gt;
* USB-C 5V, 15W PD quickcharge&lt;br /&gt;
* Only use one power input at a time, barrel jack OR USB-C&lt;br /&gt;
&lt;br /&gt;
== LEDs ==&lt;br /&gt;
In total, there are four LEDs on the Pinebook Pro, three of which are placed in the top-left side of the keyboard, and one near the barrel port: &lt;br /&gt;
&lt;br /&gt;
# The red LED next to the barrel port indicates charging, in three ways.  First, it will illuminate steadily when either the factory power supply or a USB Type-C charger is connected to the Pinebook Pro, and the battery is getting charged.  Second, if the battery is at 100%, the LED will remain turned off regardless of the connected power input; however, this is [https://forum.pine64.org/showthread.php?tid=10899 rather rarely achieved].  Third, this LED will flash at 0.5&amp;amp;nbsp;Hz if there are any problems that prevent charging, such as the battery becoming too hot.&lt;br /&gt;
# The power indicator LED, above the keyboard, supports three different colors: green, amber and red. It is also capable of flashing to indicate eMMC activity. In the default Debian with MATE build, green LED means power and red means suspend (amber is unused). &lt;br /&gt;
# The green NumLock LED, above the keyboard.&lt;br /&gt;
# The green CapsLock LED, above the keyboard.&lt;br /&gt;
&lt;br /&gt;
The NumLock and CapsLock LEDs serve their usual purposes on a keyboard, but they also have a secondary function. When the privacy switches get activated they blink to confirm that the switch has been activated.&lt;br /&gt;
&lt;br /&gt;
== Webcam ==&lt;br /&gt;
{{Hint| You can use Cheese to test the Camera functionality}}&lt;br /&gt;
* Streaming video resolutions supported, (uncompressed):&lt;br /&gt;
** 320 x 240 &lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
* Still frame resolutions supported:&lt;br /&gt;
** 160 x 120&lt;br /&gt;
** 176 x 144&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 352 x 288 &lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
&lt;br /&gt;
== Microphones ==&lt;br /&gt;
While it has been said that some Pinebook Pro units contain only one microphone despite having two labeled microphone holes on the outer casing, other units do indeed contain two microphones. It is presently unclear which batches have either configuration; units from the initial community batch of 1000 units (following the initial 100) are believed to contain two, populating both labeled holes.&lt;br /&gt;
&lt;br /&gt;
The wires leading to both microphones connect to the mainboard with a small white plastic connector, located directly adjacent to the ribbon cable attachment point for the keyboard interface.&lt;br /&gt;
&lt;br /&gt;
'''Microphones not working?'''&lt;br /&gt;
&lt;br /&gt;
If pavucontrol input doesn't show microphone activity try changing the [[Pinebook_Pro#Privacy_Switches|privacy switches]]. If the switches are in the correct place and microphone input isn't working you can run &amp;lt;code&amp;gt;alsamixer&amp;lt;/code&amp;gt; from the command line, hit &amp;lt;i&amp;gt;F6&amp;lt;/i&amp;gt; and select the &amp;lt;i&amp;gt;es8316&amp;lt;/i&amp;gt;, hit F4 to get to the capture screen, select the bar labeled ADC, increase the gain to 0dB, change the audio profile in pavucontrol to another one with input. Additionally you may want to modify ADC PGA to get the levels to where you want them. If that still hasn't fixed it you may want to check that the microphone connector is plugged in (see the section [[#Technical Reference|Technical Reference]]).&lt;br /&gt;
&lt;br /&gt;
== Bluetooth and WiFi ==&lt;br /&gt;
[[File:PinebookPro_WirelessIC_Location.jpg|400px|thumb|right|The Pinebook Pro's AP6256 wireless module]]&lt;br /&gt;
===Hardware Overview===&lt;br /&gt;
The Pinebook Pro contains an AMPAK AP6256 wireless module to provide Wi-Fi (compliant to IEEE 802.11ac) and Bluetooth (compliant to Bluetooth SIG revision 5.0). The module contains a Broadcom transceiver IC, believed to be the BCM43456, as well as the support electronics needed to allow the Wi-Fi and Bluetooth modes to share a single antenna. &lt;br /&gt;
&lt;br /&gt;
The wireless module interfaces with the Pinebook Pro’s system-on-chip using a combination of three interfaces: Bluetooth functionality is operated by serial UART and PCM, while the Wi-Fi component uses SDIO. It is unknown if the module’s Bluetooth capabilities are usable under operating systems that do not support SDIO.&lt;br /&gt;
&lt;br /&gt;
The module’s RF antenna pin is exposed on the mainboard via a standard Hirose U.FL connector, where a coaxial feedline links it to a flexible adhesive antenna situated near the upper right corner of the Pinebook Pro’s battery. As the RF connector is fragile and easily damaged, it should be handled carefully during connection and disconnection, and should not be reconnected frequently.&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
Problems have been reported with the Wi-Fi transceiver’s reliability during extended periods of high throughput, especially on the 2.4 GHz band. While the cause of this has yet to be determined, switching to the 5 GHz band may improve stability.&lt;br /&gt;
&lt;br /&gt;
Since the Bluetooth transceiver shares both its spectrum and antenna with 2.4 GHz Wi-Fi, simultaneous use of these modes may cause interference, especially when listening to audio over Bluetooth. If Bluetooth audio cuts out frequently, switching to the 5 GHz band – or deactivating Wi-Fi – may help.&lt;br /&gt;
&lt;br /&gt;
===Wi-Fi Capabilities===&lt;br /&gt;
Wi-Fi on the Pinebook Pro is capable of reaching a maximum data transfer rate of approximately 433 megabits per second, using one spatial stream. The transceiver does not support multiple spatial streams or 160-MHz channel bandwidths.&lt;br /&gt;
&lt;br /&gt;
The Wi-Fi transceiver supports the lower thirteen standard channels on the 2.4 GHz band, using a bandwidth of 20 MHz. At least twenty-four channels are supported on the 5 GHz band, spanning frequencies from 5180 to 5320 MHz, 5500 to 5720 MHz, and 5745 to 5825 MHz, with bandwidths of 20, 40, or 80 MHz.&lt;br /&gt;
&lt;br /&gt;
Maximum reception sensitivity for both bands is approximately -92 dBm. The receiver can tolerate input intensities of no more than -20 dBm on the 2.4 GHz band, and no more than -30 dBm on the 5 GHz band. Maximum transmission power is approximately +15 dBm for either band, falling further to approximately +10 dBm at higher data transfer rates on the 5 GHz band.&lt;br /&gt;
&lt;br /&gt;
With current available drivers and firmware, the Wi-Fi interface supports infrastructure, ad-hoc, and access-point modes with satisfactory reliability. Monitor mode is not presently supported. Wi-Fi Direct features may be available, but it is unclear how to make use of them under Linux.&lt;br /&gt;
&lt;br /&gt;
Be aware that Linux userspace utilities, such as &amp;lt;code&amp;gt;iw&amp;lt;/code&amp;gt;, may report inaccurate information about the capabilities of wireless devices. Parameter values derived from vendor datasheets, or direct testing, should be preferred to the outputs of hardware-querying tools.&lt;br /&gt;
&lt;br /&gt;
===Bluetooth Capabilities===&lt;br /&gt;
Bluetooth data transfer speeds have an indicated maximum of 3 megabits per second, but it is unclear what practical data rates can be expected. Audio streaming over Bluetooth is functioning normally, as is networking. Bluetooth Low-Energy functions, such as interacting with Bluetooth beacons, have not yet been tested conclusively.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth transceiver supports all 79 channel allocations, spanning frequencies from 2402 MHz to 2480 MHz. Reception sensitivity is approximately -85 dBm, with a maximum tolerable reception intensity of -20 dBm. Bluetooth transmission power is limited to +10 dBm.&lt;br /&gt;
&lt;br /&gt;
===Disabling Bluetooth===&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth under Linux once:&lt;br /&gt;
&lt;br /&gt;
 sudo rfkill block bluetooth&lt;br /&gt;
&lt;br /&gt;
To confirm if Bluetooth under Linux is disabled:&lt;br /&gt;
&lt;br /&gt;
 rfkill&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on boot (note: for distributions such as Manjaro XFCE see the step below):&lt;br /&gt;
&lt;br /&gt;
 sudo systemctl enable rfkill-block@bluetooth&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on certain distributions, such as Manjaro XFCE, right click on the Bluetooth panel icon, select &amp;lt;i&amp;gt;plugins&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;PowerManager&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;configuration&amp;lt;/i&amp;gt; and then deselect the &amp;lt;i&amp;gt;auto power on&amp;lt;/i&amp;gt; option&lt;br /&gt;
&lt;br /&gt;
== LCD Panel ==&lt;br /&gt;
* Model: BOE NV140FHM-N49&lt;br /&gt;
* 14.0&amp;quot; (35.56&amp;amp;nbsp;cm) diagonal size&lt;br /&gt;
* 1920x1080 resolution&lt;br /&gt;
* 60&amp;amp;nbsp;Hz refresh rate&lt;br /&gt;
* IPS technology&lt;br /&gt;
* 1000:1 contrast&lt;br /&gt;
* 250&amp;amp;nbsp;nit brightness&lt;br /&gt;
* 63% sRGB coverage&lt;br /&gt;
* 6-bit color&lt;br /&gt;
* 30-pin eDP connection&lt;br /&gt;
&lt;br /&gt;
Some people have tested hardware video decode using the following;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ffmpeg -benchmark -c:v h264_rkmpp -i file.mp4 -f null -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External ports list ==&lt;br /&gt;
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.&lt;br /&gt;
* Left side&lt;br /&gt;
** Barrel jack for power, (with LED)&lt;br /&gt;
** USB 3, Type A&lt;br /&gt;
** USB 3, Type C&lt;br /&gt;
* Right side&lt;br /&gt;
** USB 2, Type A&lt;br /&gt;
** Standard headset jack&lt;br /&gt;
** MicroSD card slot&lt;br /&gt;
&lt;br /&gt;
== Using the UART ==&lt;br /&gt;
[[File:PinePhone_Serial_Cable.png|400px|thumb|right|Pinout of the serial adapter. Swapping the tx and rx around from this also works and is more traditional. See the official [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pine64 document].]]&lt;br /&gt;
&lt;br /&gt;
UART output is enabled by flipping the UART switch to the ON position (item 9). To do so you need to remove the Pinebook Pro's bottom cover - please follow [[Pinebook_Pro#Disassembly_and_Reassembly|proper disassembly and reassembly protocol]]. The OFF position is towards the touchpad, the ON position is towards the display hinges.&lt;br /&gt;
&lt;br /&gt;
With the UART switch in the ON position, console is relayed via the audiojack and the laptop's sound is turned OFF. Please ensure that you are using a 3.3&amp;amp;nbsp;V interface (such as the CH340, FTDI-232R, or PL2303, which are sold in both 3.3&amp;amp;nbsp;V and 5&amp;amp;nbsp;V variants) to avoid damage to the CPU.  Older version of the serial console cable sold by Pine64 uses wrong voltage level and should not be used; see [https://forum.pine64.org/showthread.php?tid=9367 this forum thread] for further information.  Recent version of the same cable uses the right voltage level.&lt;br /&gt;
&lt;br /&gt;
Insert the USB plug of the cable into an open USB port on the machine which will monitor, ensuring that the audio jack of the serial cable is be fully inserted into the Pinebook Pro audio port. Run the following in a terminal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$ lsusb&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you should find a line similar to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Serial output should now be accessible using screen, picocom or minicom (and others).&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
screen /dev/ttyUSB0 1500000&lt;br /&gt;
&lt;br /&gt;
picocom /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
minicom -D /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Old versions of U-Boot do not use the UART for console output. &amp;lt;strike&amp;gt;The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distro and want the UART as a console, you have to manually enable it.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using the optional NVMe adapter ==&lt;br /&gt;
The optional NVMe adapter allows the use of M.2 cards that support the NVMe standard, (but not SATA standard). The optional NVMe M.2 adapter supports '''M''' &amp;amp; '''M'''+'''B''' keyed devices, in both 2242 &amp;amp; 2280 physical sizes, the most common ones available. In addition, 2230 &amp;amp; 2260 are also supported, though NVMe devices that use those sizes are rare.&lt;br /&gt;
&lt;br /&gt;
Once you have fitted and tested your NVMe drive, please add a note to this page [[Pinebook Pro Hardware Accessory Compatibility]] to help build a list of tried and tested devices.&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook Pro Troubleshooting Guide#NVMe SSD issues|a separate section]] that describes reported issues with the NVMe drives in PineBook Pro.&lt;br /&gt;
&lt;br /&gt;
=== Installing the adapter ===&lt;br /&gt;
The V2.1-2019-0809 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues.&lt;br /&gt;
(If necessary, it can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&amp;amp;pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)&lt;br /&gt;
&lt;br /&gt;
The updated SSD adapter, labeled V2-2019-1107, takes into account the prior problems with touchpad interference. New orders as of Feb. 22nd, 2020 will be the updated adapter.&lt;br /&gt;
&lt;br /&gt;
This is the link to the Pinebook Pro accessories in the store: [[https://pine64.com/?v=0446c16e2e66]]&lt;br /&gt;
&lt;br /&gt;
Actual installation instructions are a work in progress. Unofficial instructions for installing V2-2019-1107 can be found [https://eli.gladman.cc/blog/2020/06/23/pine-book-pro-nvme.html here].&lt;br /&gt;
&lt;br /&gt;
=== Post NVMe install power limiting ===&lt;br /&gt;
Some NVMe SSDs allow reducing the maximum amount of power. Doing so may reduce the speed, but it may be needed in the Pinebook Pro to both improve reliability on battery: Some NVME may be stable with default settings when runnning on AC power but cause frequent kernel panics (system freeze with power LED blinking red/green) when running on battery. Reducing NVME power drain solves this in some cases. And reducing power used gives better battery life.&lt;br /&gt;
Here are the commands to obtain and change the power settings. The package 'nvme-cli' is required to run these commands. The example shows how to find the available power states, and then sets it to the lowest, non-standby setting, (which is 3.8 watts for the device shown);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo nvme id-ctrl /dev/nvme0&lt;br /&gt;
NVME Identify Controller:&lt;br /&gt;
...&lt;br /&gt;
ps    0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0&lt;br /&gt;
         rwt:0 rwl:0 idle_power:- active_power:-&lt;br /&gt;
ps    1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1&lt;br /&gt;
         rwt:1 rwl:1 idle_power:- active_power:-&lt;br /&gt;
ps    2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2&lt;br /&gt;
         rwt:2 rwl:2 idle_power:- active_power:-&lt;br /&gt;
ps    3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3&lt;br /&gt;
         rwt:3 rwl:3 idle_power:- active_power:-&lt;br /&gt;
ps    4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4&lt;br /&gt;
         rwt:4 rwl:4 idle_power:- active_power:-&lt;br /&gt;
&lt;br /&gt;
$ sudo nvme get-feature /dev/nvme0 -f 2&lt;br /&gt;
get-feature:0x2 (Power Management), Current value:00000000&lt;br /&gt;
$ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s&lt;br /&gt;
set-feature:02 (Power Management), value:0x000002&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some NVMe SSDs don't appear to allow saving the setting with &amp;quot;-s&amp;quot; option. In those cases, leave off the &amp;quot;-s&amp;quot; and use a startup script to set the non-default power state at boot.&amp;lt;br&amp;gt;&lt;br /&gt;
If you want to test performance without saving the new power setting semi-permanantly, then leave off the &amp;quot;-s&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
On systemd based distros like Manjaro, a non-defaut power state for an NVME can be set using a systemd service.&amp;lt;br&amp;gt;&lt;br /&gt;
This is useful in cases where the NVME drive does not save the power state and/or uses APST.&amp;lt;br&amp;gt;&lt;br /&gt;
An example systemd service, nvme-throttle.service, is shown below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Throttles NVME to lesss power hungry mode&lt;br /&gt;
After=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
ExecStart=/usr/bin/nvme set-feature /dev/nvme0 -f 2 -v 1&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here the value after &amp;quot;-v&amp;quot; is the maximum power state that you want your SSD to use.&amp;lt;br&amp;gt;&lt;br /&gt;
This will be executed at system startup, and every time your system exits any suspend mode that might reset the SSD to default values.&lt;br /&gt;
&lt;br /&gt;
This file needs to be placed in the /etc/systemd/system directory. Afterwards, to activate the service, run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
systemctl daemon-reload&lt;br /&gt;
systemctl enable --now nvme-throttle.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is another power saving feature for NVMes, APST, (Autonomous Power State Transitions). This performs the power saving &amp;amp; transitions based on usage. To check if you have a NVMe SSD with this feature;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo nvme get-feature -f 0x0c -H /dev/nvme0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Information for this feature, (on a Pinebook Pro), is a work in progress. It is enabled by default in latest Manjaro kernels and reported to work.&lt;br /&gt;
On some NVME SSDS (WD), APST is compatible with limiting NVME maximum power : APST will work and not exceed maximum power state defined using &lt;br /&gt;
previous method.&lt;br /&gt;
&lt;br /&gt;
=== Using as data drive ===&lt;br /&gt;
As long as the kernel in use has both the PCIe and NVMe drivers, you should be able to use a NVMe drive as a data drive. It can automatically mount when booting from either the eMMC or an SD card. This applies to Linux, FreeBSD, and Chromium, using the normal partitioning and file system creation tools. Android requires testing.&lt;br /&gt;
&lt;br /&gt;
=== Using as OS root drive ===&lt;br /&gt;
The SoC does not include the NVMe boot code, so the NVMe is not in the SoC's boot order. However, using the [https://github.com/mrfixit2001/updates_repo/blob/v1.1/pinebook/filesystem/mrfixit_update.sh U-Boot update script] from the mrfixit2001 Debian or [https://pastebin.com/raw/EeK074XB Arglebargle's modified script], and [https://github.com/pcm720/rockchip-u-boot/releases the modified u-boot images] provided by forum user pcm720, you can now add support to boot from an NVMe drive. Binary images are useable with SD, eMMC, and [[Pinebook_Pro_SPI|SPI flash]]. For OS images using the mainline kernel, there are a few variants of U-Boot available that also support NVMe as the OS drive. Though these may require writing the U-Boot to the SPI flash for proper use of the NVMe as the OS drive.&lt;br /&gt;
&lt;br /&gt;
The current boot order, per last testing, for this modified U-Boot is:&lt;br /&gt;
*MicroSD&lt;br /&gt;
*eMMC&lt;br /&gt;
*NVMe&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&amp;amp;pid=53764#pid53764 the forum post.]&lt;br /&gt;
&lt;br /&gt;
It is also possible to initially boot off an eMMC or SD card, then transfer to a root file system on the NVMe. Currently, it is necessary to have the U-Boot code on an eMMC or SD card.  (A forum member [https://forum.pine64.org/showthread.php?tid=8439 posted here] about using a modified version of U-Boot with NVMe drivers, that uses &amp;lt;code&amp;gt;/boot&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; off the NVMe drive. So this may change in the future.)&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].&lt;br /&gt;
&lt;br /&gt;
== Caring for the PineBook Pro ==&lt;br /&gt;
=== Bypass Cables ===&lt;br /&gt;
The mainboard features two (disconnected by default) bypass cables that are only to be used with the battery disconnected. The female (10) male (6) ends of the bypass cables can be connected to provide power to the mainboard if you need to run the laptop without a battery. Please refer to this [https://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice].  &lt;br /&gt;
&lt;br /&gt;
'''Note that despite the bypass cable being a two conductor cable, it is only used as one. Both wires being soldered together on either side is normal!'''&lt;br /&gt;
&lt;br /&gt;
{{warning|Do not connect the bypass cables with the battery connected.  Using the bypass cables with the battery connected can permanently damage the computer.}}&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Service Step-by-Step Guides ===&lt;br /&gt;
&lt;br /&gt;
Under [[Pinebook_Service_Step_by_Step_Guides|Service Guides for Pinebook]] you can find instructions guides concerning disassembly of:&lt;br /&gt;
&lt;br /&gt;
* The installation process on Pinebook Pro similar to 14&amp;quot; Pinebook&lt;br /&gt;
* The installation process is the reverse order of removal guide:&lt;br /&gt;
** 14″ Pinebook Lithium Battery Pack Removal Guide&lt;br /&gt;
** 14″ Pinebook LCD Panel Screen Removal Guide&lt;br /&gt;
** 14″ Pinebook eMMC Module Removal Guide&lt;br /&gt;
&lt;br /&gt;
== Using the SPI flash device ==&lt;br /&gt;
&lt;br /&gt;
See [[Pinebook Pro SPI]] for details.&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro comes with a 128Mbit, (16MByte), flash device suitable for initial boot target, to store the bootloader. The SoC used on the Pinebook Pro boots from this SPI flash device first, before eMMC or SD card. At present, April 19, 2020, the Pinebook Pros ship without anything programmed in the SPI flash device. So the SoC moves on to the next potential boot device, the eMMC. ARM/ARM64 computers do not have a standardized BIOS, yet.&lt;br /&gt;
&lt;br /&gt;
Here is some information on using the SPI flash device:&lt;br /&gt;
&lt;br /&gt;
* You need the kernel built with SPI flash device support, which will supply a device similar to: code&amp;gt;/dev/mtd0&amp;lt;/code&amp;gt;&lt;br /&gt;
* The Linux package below, will need to be available: &amp;lt;code&amp;gt;mtd-utils&amp;lt;/code&amp;gt;&lt;br /&gt;
* You can then use this program from the package to write the SPI device: &amp;lt;code&amp;gt;flashcp &amp;amp;lt;filename&amp;amp;gt; /dev/mtd0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Even if you need to recover from a defective bootloader written to the SPI flash, you can simply short pin 6 of the SPI flash to GND and boot. This will render the SoC bootrom unable to read from the SPI flash and have it fall back to reading the bootloader from other boot media like the eMMC or Micro SD card.&lt;br /&gt;
&lt;br /&gt;
The procedures described above are a lot less risky than attaching an external SPI flasher and do not require any additional hardware. At present, April 19th, 2020, there is no good bootloader image to flash into the SPI flash device. This is expected to change, as there are people working on issue.&lt;br /&gt;
&lt;br /&gt;
= Software tuning guide =&lt;br /&gt;
Details on how to get the most out of a Pinebook Pro &amp;amp; its RK3399 SoC.&lt;br /&gt;
&lt;br /&gt;
== Customizing the Pinebook Pro's default Manjaro KDE system ==&lt;br /&gt;
=== Watching DRM content (Netflix, etc.) ===&lt;br /&gt;
Most paid online streaming services use Widevine DRM to make their content more difficult to pirate. Widevine is not directly supported on Manjaro KDE, however it is still possible to watch DRM content via the &amp;quot;chromium-docker&amp;quot; package which downloads a 32-bit ARM container and installs Chromium with Widevine inside of that. While not space-efficient, or efficient in general, it's the recommended solution for watching this content on your Pinebook Pro. You can install this package with:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pacman -Sy chromium-docker&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Checking GPU capabilities ===&lt;br /&gt;
To see what versions of OpenGL and OpenGL ES are supported by the Pinebook Pro, what driver is in use, and what version of the driver is loaded, install the &amp;quot;mesa-demos&amp;quot; package with:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pacman -Sy mesa-demos&amp;lt;/pre&amp;gt;&lt;br /&gt;
And then run:&lt;br /&gt;
&amp;lt;pre&amp;gt;glxinfo | grep OpenGL&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will give detailed information about your graphics card and driver, useful for debugging.&lt;br /&gt;
&lt;br /&gt;
=== Better GPU compatibility and performance ===&lt;br /&gt;
For better graphics performance, you may install the &amp;quot;mesa-git&amp;quot; package, built and supplied in the Manjaro ARM repos. This lets you bring in the latest features, optimizations, and bugfixes for the graphics driver used by the Pinebook Pro. Installation is as simple as:&lt;br /&gt;
&amp;lt;pre&amp;gt;pacman -Sy mesa-git&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then you may reboot to load the newer driver.&lt;br /&gt;
&lt;br /&gt;
With Mesa 20.2 there is no longer much reason to use this over the standard mesa package, and applications may occasionally break with mesa-git.&lt;br /&gt;
&lt;br /&gt;
[https://docs.mesa3d.org/bugs.html Reporting bugs] to the Mesa project will help make sure any problems are quickly fixed.&lt;br /&gt;
&lt;br /&gt;
=== OpenGL 3.3 support ===&lt;br /&gt;
By default, with the current state of the Panfrost GPU driver, the Pinebook Pro supports OpenGL 2.1 and OpenGL ES 3.0. If you want to use OpenGL 3.3, you need to set the system-wide environment variable, open the '''/etc/environment''' file with:&lt;br /&gt;
&amp;lt;pre&amp;gt;kate /etc/environment&amp;lt;/pre&amp;gt;&lt;br /&gt;
And then at the bottom of the file, on a new line, add:&lt;br /&gt;
&amp;lt;pre&amp;gt;PAN_MESA_DEBUG=&amp;quot;gl3&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then save the file, entering your password when prompted, and reboot the system. When you check your GPU capabilities, it should report OpenGL 3.3 and applications that rely on it should function properly. Note that GL 3.3 support is incomplete and some rendering features do not work yet, notably geometry shaders.&lt;br /&gt;
&lt;br /&gt;
=== Install Anbox on Pinebook Pro Manjaro 20.10 ===&lt;br /&gt;
[https://www.youtube.com/watch?v=EU8_Q11dATs Youtube video on installing Anbox on Pienbook Pro Manjaro Build 20.10 by LivingLinux]&lt;br /&gt;
&lt;br /&gt;
== Customizing the Pinebook Pro's previously-default Debian system ==&lt;br /&gt;
Here are some hints on what you can do to customize the Pinebook Pro's previous factory image (aka [https://github.com/mrfixit2001/debian_desktop mrfixit2001 debian build])&lt;br /&gt;
&lt;br /&gt;
=== Initial user changes, password, name, etc ===&lt;br /&gt;
When you first get your Pinebook Pro, you should consider setting strong passwords and making the default account your own.&lt;br /&gt;
&lt;br /&gt;
* Reboot (this is just to ensure all background processes belong to the user are not running... there are other ways to achieve this but this way is easy)&lt;br /&gt;
* Once the machine reboots press Alt-Ctrl-F1 to bring up a text terminal&lt;br /&gt;
* Login as root (login: root, password: root)&lt;br /&gt;
* Set a strong password for the root user using the following command and it's prompts:&lt;br /&gt;
&amp;lt;pre&amp;gt;# passwd (and follow prompts)&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Rename the rock user to your prefered username (replace myself with whatever you like):&lt;br /&gt;
&amp;lt;pre&amp;gt;# usermod -l myself -d /home/myself -m rock&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Rename the rock group to match your preferred username:&lt;br /&gt;
&amp;lt;pre&amp;gt;# groupmod -n myself rock&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Put your name in the account, (replace &amp;quot;John A Doe&amp;quot; with your name):&lt;br /&gt;
&amp;lt;pre&amp;gt;# chfn -f &amp;quot;John A Doe&amp;quot; myself&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Set a strong password for the normal user:&lt;br /&gt;
&amp;lt;pre&amp;gt;# passwd myself&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Log out of the text terminal:&lt;br /&gt;
&amp;lt;pre&amp;gt;# logout&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Press Alt-Ctrl-F7 to go back to the login screen and then login as the normal user&lt;br /&gt;
* Open text terminal to fix login error: &amp;quot;Configured directory for incoming files does not exist&amp;quot;;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ blueman-services&amp;lt;/pre&amp;gt;&lt;br /&gt;
Select &amp;quot;Transfer&amp;quot; tab and set &amp;quot;Incoming Folder&amp;quot; to myself&lt;br /&gt;
OR&lt;br /&gt;
If adduser is in distro, this is MUCH easier&lt;br /&gt;
sudo adduser $USER ,, fill out requested data&lt;br /&gt;
Then,, sudo adduser $USER $GROUP,,, 1 group at a time&lt;br /&gt;
To see which groups to add,,, id $USER,  id rock&lt;br /&gt;
&lt;br /&gt;
=== Changing the default hostname ===&lt;br /&gt;
Debian 9 has a command to allow you to change the hostname. You can see the current settings using;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo hostnamectl&lt;br /&gt;
   Static hostname: Debian-Desktop&lt;br /&gt;
         Icon name: computer&lt;br /&gt;
        Machine ID: dccbddccbdccbdccbdccbdccbdccbccb&lt;br /&gt;
           Boot ID: ea99ea99ea99ea99ea99ea99ea99ea99&lt;br /&gt;
  Operating System: Debian GNU/Linux 9 (stretch)&lt;br /&gt;
            Kernel: Linux 4.4.210&lt;br /&gt;
      Architecture: arm64&amp;lt;/pre&amp;gt;&lt;br /&gt;
To change, use this, (with &amp;quot;My_Hostname&amp;quot; used as the example);&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo hostnamectl set-hostname My_Hostname&amp;lt;/pre&amp;gt;&lt;br /&gt;
Whence done, you can re-verify using the first example.&lt;br /&gt;
&lt;br /&gt;
Then you should backup and edit your &amp;lt;code&amp;gt;/etc/hosts&amp;lt;/code&amp;gt; entry's name;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo cp -p /etc/hosts /etc/hosts.`date +%Y%m%d`&lt;br /&gt;
$ sudo vi /etc/hosts&lt;br /&gt;
127.0.0.1	localhost&lt;br /&gt;
127.0.0.1	My_Hostname&lt;br /&gt;
::1		localhost ip6-localhost ip6-loopback&lt;br /&gt;
fe00::0		ip6-localnet&lt;br /&gt;
ff00::0		ip6-mcastprefix&lt;br /&gt;
ff02::1		ip6-allnodes&lt;br /&gt;
ff02::2		ip6-allrouters&lt;br /&gt;
127.0.1.1       linaro-alip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Disable Chromium browser's prompt for passphrase &amp;amp; password storage ===&lt;br /&gt;
&lt;br /&gt;
Perform the following steps:&lt;br /&gt;
&lt;br /&gt;
* On the tool bar, hover over the Chromium icon&lt;br /&gt;
* Using the right mouse button, select '''Properties'''&lt;br /&gt;
* In the '''Command:''' line section, add &amp;lt;code&amp;gt;--password-store=basic&amp;lt;/code&amp;gt; before the &amp;lt;code&amp;gt;%U&amp;lt;/code&amp;gt;&lt;br /&gt;
* Use the '''x Close''' button to save the change&lt;br /&gt;
This will of course, use basic password storage, meaning any saved passwords are not encrypted. Perfectly fine if you never use password storage.&lt;br /&gt;
&lt;br /&gt;
=== Changing the boot splash picture ===&lt;br /&gt;
&lt;br /&gt;
The default boot splash picture can be replaced using the following instructions:&lt;br /&gt;
&lt;br /&gt;
* Install '''ImageMagick''' which will do the conversion&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo apt-get install imagemagick&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a 1920 x 1080 picture. For the best results, use a PNG image (It supports lossless compression).&lt;br /&gt;
* From the directory in which your new image is stored run the following commands&lt;br /&gt;
* Convert your image to the bootsplash raw format using imagemagick convert.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ convert yoursplashimage.png -separate +channel -swap 0,2 -combine -colorspace sRGB RGBO:splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a backup copy of your current splash screen&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo cp /usr/share/backgrounds/splash.fb /usr/share/backgrounds/splash_original.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Copy your new splash screen into place&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo cp splash.fb /usr/share/backgrounds/splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Set the correct permissions on the splash.fb file&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo chmod 644 /usr/share/backgrounds/splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If you do not want to see kernel console text messages, make sure you don't have '''Plymouth''' installed&lt;br /&gt;
&lt;br /&gt;
=== Watching Amazon Prime videos with Chromium ===&lt;br /&gt;
When you create a new user, it will be necessary to launch the Chromium browswer with a specific user agent like below;&lt;br /&gt;
&amp;lt;pre&amp;gt;chromium-browser --user-agent=&amp;quot;Mozilla/5.0 (X11; CrOS armv7l 6946.63.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
There may be more tweaks needed.&lt;br /&gt;
&lt;br /&gt;
=== Enabling text boot time messages ===&lt;br /&gt;
&lt;br /&gt;
By default, most Linux distros have a boot screen with a picture. To see all the boot time messages, use one of the following;&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
* Backup and edit the U-Boot configuration file:&lt;br /&gt;
&lt;br /&gt;
 cp -p /etc/default/u-boot /etc/default/u-boot.`date +%Y%m%d`&lt;br /&gt;
 chmod a-w /etc/default/u-boot.`date +%Y%m%d`&lt;br /&gt;
 vi /etc/default/u-boot&lt;br /&gt;
&lt;br /&gt;
Remove the '''quiet''' and '''splash''' parameters. Leave everything else alone.&lt;br /&gt;
&lt;br /&gt;
* Update the U-Boot configuration:&lt;br /&gt;
&lt;br /&gt;
 u-boot-update&lt;br /&gt;
&lt;br /&gt;
* Test and verify you get what you think you should be seeing.&lt;br /&gt;
&lt;br /&gt;
==== Manjaro ====&lt;br /&gt;
* Backup and edit the U-Boot configuration file:&lt;br /&gt;
&lt;br /&gt;
 cp -p /boot/extlinux/extlinux.conf /boot/extlinux/extlinux.conf.`date +%Y%m%d`&lt;br /&gt;
 chmod a-w /boot/extlinux/extlinux.conf.`date +%Y%m%d`&lt;br /&gt;
 vi /boot/extlinux/extlinux.conf&lt;br /&gt;
&lt;br /&gt;
* Change '''console=ttyS2,1500000''' to '''console=tty1'''&lt;br /&gt;
* Remove the '''bootsplash.bootfile''' option and it's parameter.&lt;br /&gt;
* You can add verbose logging by appending '''ignore_loglevel''' to the line where boot splash was.&lt;br /&gt;
* Leave everything else alone.&lt;br /&gt;
* Test and verify you get what you think you should be seeing.&lt;br /&gt;
&lt;br /&gt;
== Retro Gaming on the Pinebook Pro ==&lt;br /&gt;
A retro-gaming OS named R-Cade has been made available for the Pinebook Pro, provided by [https://www.retro-center.com The Retro Center].&lt;br /&gt;
&lt;br /&gt;
R-Cade includes over 100 retro-gaming systems, a lightweight web browser, and includes the latest release of KODI to provide full 4K UHD media playback and streaming.&lt;br /&gt;
Streaming options in KODI are provided by various addons, such as Netflix, Disney+, and Amazon Prime.&lt;br /&gt;
More information can be found [https://www.retro-center.com/about-r-cade/ here].&lt;br /&gt;
&lt;br /&gt;
Releases can be downloaded from their [https://github.com/retro-center/rcade_releases GitHub].&lt;br /&gt;
&lt;br /&gt;
== Improving readability ==&lt;br /&gt;
&lt;br /&gt;
Some people find that a 14&amp;quot; LCD screen with 1080p, (1920 x 1080), has text and icons a bit too small. There are things you can do to make the screen easier to use and read.&amp;lt;br&amp;gt;&lt;br /&gt;
* Increase the font size&lt;br /&gt;
* Use a font with more pronounced features&lt;br /&gt;
* Increase the various window manager sizes (e.g. increase the height of the tool bar)&lt;br /&gt;
* Change the color scheme to be easier on the eyes. Higher contrast can help usability.&lt;br /&gt;
* Change the window manager's decorations (e.g. use larger icons)&lt;br /&gt;
* Use a workspace manager, with one application per workspace&lt;br /&gt;
* When at home or office, use an external monitor&lt;br /&gt;
* Change the X-Windows DPI. One such method that someone used successfully, is:&amp;lt;br&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;code&amp;gt;echo &amp;quot;Xft.dpi: 150&amp;quot; &amp;gt;&amp;gt; ~/.Xresources&amp;lt;/code&amp;gt;&amp;lt;/blockquote&amp;gt;Change the 150 as desired to get the size adjustment you want.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
However, do not change the resolution of the LCD screen, otherwise you may end up with a blank / black screen. If that happens, see this troubleshooting section for the fix:&amp;lt;br&amp;gt;&lt;br /&gt;
[[Pinebook_Pro#After_changing_builtin_LCD_resolution.2C_blank_screen|Blank screen after changing builtin LCD resolution]]&lt;br /&gt;
&lt;br /&gt;
== Chromium tweaks ==&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
&lt;br /&gt;
From the [https://github.com/mrfixit2001/updates_repo/blob/v1.8/pinebook/filesystem/default official Debian image]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--disable-low-res-tiling \&lt;br /&gt;
--num-raster-threads=6 \&lt;br /&gt;
--profiler-timing=0 \&lt;br /&gt;
--disable-composited-antialiasing \&lt;br /&gt;
--test-type \&lt;br /&gt;
--show-component-extension-options \&lt;br /&gt;
--ignore-gpu-blacklist \&lt;br /&gt;
--use-gl=egl \&lt;br /&gt;
--ppapi-flash-path=/usr/lib/chromium-browser/pepper/libpepflashplayer.so \&lt;br /&gt;
--ppapi-flash-version=32.0.0.255 \&lt;br /&gt;
--enable-pinch \&lt;br /&gt;
--flag-switches-begin \&lt;br /&gt;
--enable-gpu-rasterization \&lt;br /&gt;
--enable-oop-rasterization \&lt;br /&gt;
--flag-switches-end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that in some cases, this may also decrease performance substantially, as observed when using these flags on the Manjaro KDE desktop. Feel free to experiment to find what is smoothest for you personally.&lt;br /&gt;
&lt;br /&gt;
== gVim has performance issue ==&lt;br /&gt;
It appears that using GTK3 can cause very slow scrolling, while Vim in a terminal window works fine.&amp;lt;br/&amp;gt;&lt;br /&gt;
Simply revert back to using GTK2, (how to do so is somewhat Linux distro-specific).&lt;br /&gt;
&lt;br /&gt;
Another solution may be to run gVim with &lt;br /&gt;
&lt;br /&gt;
 GDK_RENDERING=image&lt;br /&gt;
&lt;br /&gt;
environment variable set. It seems that this improves the performance by reverting back to software-only rendering.&lt;br /&gt;
&lt;br /&gt;
== Kernel options ==&lt;br /&gt;
Here are some Pinebook Pro &amp;amp; its RK3399 SoC Linux specific options. If kernel version, (or version range specific), it should list that information in the description.&lt;br /&gt;
&lt;br /&gt;
To see if a specific feature is enabled in the current kernel, you can use something like this;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ zgrep -i rockchip_pcie /proc/config.gz&lt;br /&gt;
# CONFIG_ROCKCHIP_PCIE_DMA_OBJ is not set&lt;br /&gt;
CONFIG_PHY_ROCKCHIP_PCIE=m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If it's listed as &amp;lt;code&amp;gt;=m&amp;lt;/code&amp;gt;, then it's a module. You can see if the module is loaded with;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lsmod | grep -i rockchip_pcie&lt;br /&gt;
phy_rockchip_pcie      16384  0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note modules are not loaded until needed. Thus, we sometimes check the kernel configuration instead to see if a feature is configured first, then see if it's a module.&lt;br /&gt;
&lt;br /&gt;
=== Hardware video decoding ===&lt;br /&gt;
Here is a method to check for hardware video decoding by the VPU. There are special Linux kernel modules that perform this function.&amp;lt;br&amp;gt;&lt;br /&gt;
Older systems, such as the previously-default Debian desktop, use the Rockchip-supplied kernel module &amp;lt;code&amp;gt;rk-vcodec&amp;lt;/code&amp;gt;. To check, something like this can be used:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lsmod | grep rk-vcodec&lt;br /&gt;
    or&lt;br /&gt;
$ zgrep RK_VCODEC /proc/config.gz&lt;br /&gt;
CONFIG_RK_VCODEC=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that in the above example, the Rockchip video CODEC is not built as a module, but included into the kernel. Thus, it does not show up in the list modules check.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Newer systems may use a different option as in the configuration below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ zgrep HANTRO /proc/config.gz&lt;br /&gt;
CONFIG_VIDEO_HANTRO=m&lt;br /&gt;
CONFIG_VIDEO_HANTRO_ROCKCHIP=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting guide =&lt;br /&gt;
&lt;br /&gt;
Do not panic if something goes wrong or in an unexpected way.  Instead, stop and consider carefully how to undo something, or how to redo it.  This particularly applies when flashing a new operating system, or flashing new firmware to the keyboard or touchpad.  If everything fails, consider reporting the issue on the forums, with as many relevant details as available.&lt;br /&gt;
&lt;br /&gt;
Please, have a look at the [[Pinebook Pro Troubleshooting Guide]], which details a number of issues you may encounter.&lt;br /&gt;
&lt;br /&gt;
= Hardware/Accessory Compatibility =&lt;br /&gt;
Please contribute to the [[Pinebook Pro Hardware Accessory Compatibility|hardware/accessory compatibility page]], which lists the status of hardware tested with the Pinebook Pro.  Available hardware categories include the following:&lt;br /&gt;
&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#NVMe SSD drives|NVMe SSD drives]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB hardware|USB hardware]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB C alternate mode DP|USB-C alternate mode DP]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#Other hardware|Other hardware]]&lt;br /&gt;
&lt;br /&gt;
= Technical Reference =&lt;br /&gt;
== Disassembly and Reassembly  == &lt;br /&gt;
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]&lt;br /&gt;
&lt;br /&gt;
[[File:Hinges_cover_removed_1.jpeg|300px|thumb|right|Hinge area of the Pinebook Pro lid with the cover removed]]&lt;br /&gt;
[[File:Hinges_cover_removed_2.jpeg|300px|thumb|right|Close-up of a Pinebook Pro lid hinge]]&lt;br /&gt;
&lt;br /&gt;
There are a few '''mandatory''' precautions to be taken:&lt;br /&gt;
&lt;br /&gt;
* Do not open the laptop by lifting the lid while the Pinebook Pro bottom cover is removed - this can cause structural damage to the hinges and/or other plastic components of the chassis such as the IO port cut-outs.&lt;br /&gt;
* When removing the back cover plate, *do not, under any circumstances, slide your fingertips between the metal shell and the plastic frame!* The back cover plate edges are sharp, and when combined with the pressure and movement generated from, specifically, attempting to slide the tips of your fingers along the bottom edge of the plate along the lid-hinge, they *will* slice open the tips of your fingers like a knife.&lt;br /&gt;
* When removing the back cover plate, use care to avoid damaging the speakers. They can be stuck to the back cover with double-sided tape, and the thin wires are very delicate. Newer Pinebook Pro laptops (as of the May 2021 batch, and perhaps earlier) seem to lack the double-sided tape to the rear cover, instead opting for tape or glue that makes them stick to the front cover. Nevertheless, be gentle when removing the back cover.&lt;br /&gt;
&lt;br /&gt;
[[File:PinebookProScrewGuide.png|400px|thumb|right|Pinebook Pro external screws (this particular unit has suffered damage on screw (4)L)]]&lt;br /&gt;
&lt;br /&gt;
When disassembling the laptop make sure that it is powered off and folded closed. To remove the bottom cover of the Pinebook Pro, first remove the ten (10) Phillips head screws that hold the bottom section of the laptop in place. There are four (4) short screws along the front edge, and six (6) long screws along the 3 remaining sides. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis. The aluminum case is held on only by screws. There are no plastic snaps, and the shell should pull away without any effort. If you experience any resistance at all stop and ensure all ten (10) screws are accounted for.&lt;br /&gt;
&lt;br /&gt;
During reassembly, make sure that the back-screw standoffs are in place and seated correctly. Before replacing the aluminum back-plate, ensure that the speakers are properly seated by pressing gently on the hard plastic edge of the speaker module. Slide the bottom section into place so it meets the front lip of the keyboard section. Secure the front section (where the touchpad is located) in place using the short screws in the front left and right corners. Then proceed to pop in the bottom panel into place. Secure the bottom section (where hinges are located) by screwing in the left and right corners. Then screw in the remaining screws and run your finger though the rim on the chassis to make sure its fitted correctly. Note that the front uses the remaining 4 short screws.&lt;br /&gt;
&lt;br /&gt;
The screws are small and should only be finger tight. Too much force will strip the threads. If after installing screws the back cover plate has not seated properly on one side (which may be caused by the aforementioned misseating of the speakers), open the display and hold the base on either side of the keyboard and gently flex the base with both hands in opposing directions. Once the side pops further in, then recheck the screws on that side. If it does not pop back in, re-open the machine and check for misseated components.&lt;br /&gt;
&lt;br /&gt;
A basic 3D model to print replacement standoffs for the back cover screws is [https://www.thingiverse.com/thing:4226648 available on Thingiverse], until the official drawings or 3D models are made available.&lt;br /&gt;
&lt;br /&gt;
====Display Disassembly====&lt;br /&gt;
It is not recommended to adjust the position of the lid when the bottom cover is removed, because the bottom cover provides structural strength, so the lid should be open fully as the first step, before starting any disassembly of the laptop.  After opening the lid, remove the bottom cover by following the instruction found in the section above.  Alternatively, you can keep the lid closed and remove the screws that hold the hinges to the main laptop body, as described in [[Pinebook Service Step by Step Guides]].&lt;br /&gt;
&lt;br /&gt;
Parts of the hinge mechanism, as well as the screws that hold the hinges to the lid, are hidden behind an elongated plactic U-shaped cover that snaps in place using latches.  Use a dedicated plastic prying tool or a guitar pick to gently pry the cover and remove it, starting from the outer edge.  Once you pry the cover to a certain extent, it should be possible to remove it fully using only your hands.  The U-shaped cover is rather sturdy, but still be careful not to break or bend it.&lt;br /&gt;
&lt;br /&gt;
There are two small screws hidden underneath the two small rubber nubs on the upper part of the screen bezel, so first gently remove the nubs and then remove the screws.  The screen bezel is held in place with a combination of latches and some adhesive tape, which is there to prevent dust ingress.  The adhesive isn't very strong, and the bezel is capable of flexing back into shape after being twisted to a certain extent.  There is more adhesive on the bottom part of the screen bezel, so be more careful while prying that section apart.  Use the same prying tool that you used for the U-shaped cover, and work it around the outer edges of the screen bezel.&lt;br /&gt;
&lt;br /&gt;
== Internal Layout ==&lt;br /&gt;
&lt;br /&gt;
=== Main chips ===&lt;br /&gt;
* RK3399 system-on-chip (1)&lt;br /&gt;
* LPDDR4 SDRAM (21)&lt;br /&gt;
* SPI NOR flash memory (29)&lt;br /&gt;
* eMMC flash memory (26)&lt;br /&gt;
* WiFi/BT module (27)&lt;br /&gt;
&lt;br /&gt;
=== Mainboard Switches and Buttons ===&lt;br /&gt;
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack. &lt;br /&gt;
&lt;br /&gt;
The Reset and Recovery buttons (28): the reset button performs an immediate reset of the laptop. The Recovery button is used to place the device in maskrom mode; this mode allows flashing eMMC using Rockchip tools (e.g. rkflashtools). &lt;br /&gt;
&lt;br /&gt;
[[File:PBPL_S.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Key Internal Parts ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Numbered parts classification and description&lt;br /&gt;
! Number&lt;br /&gt;
! Type&lt;br /&gt;
! Descriptor&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 1&lt;br /&gt;
| Component || RK3399 System-On-Chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 2&lt;br /&gt;
| Socket || PCIe x4 slot for optional NVMe adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 3&lt;br /&gt;
| Socket || Speakers socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 4&lt;br /&gt;
| Socket || Touchpad socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 5&lt;br /&gt;
| Component || Left speaker &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 6&lt;br /&gt;
| Connector || Power bridge connector &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 7&lt;br /&gt;
| Socket || Keyboard Socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 8&lt;br /&gt;
| Component || Optional NVMe SSD adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 9&lt;br /&gt;
| Switch || UART/Audio switch - outputs UART via headphone jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 10&lt;br /&gt;
| Socket || Power bridge socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 11&lt;br /&gt;
| Socket || Battery socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 12&lt;br /&gt;
| Component || Touchpad&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 13&lt;br /&gt;
| Component || Battery&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 14&lt;br /&gt;
| Component || Right speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 15&lt;br /&gt;
| Socket || MicroSD card slot&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 16&lt;br /&gt;
| Socket || Headphone / UART jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 17&lt;br /&gt;
| Socket || USB 2.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 18&lt;br /&gt;
| Socket || Daughterboard-to-mainboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 19&lt;br /&gt;
| Cable || Daughterboard-to-mainboard ribbon cable&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 20&lt;br /&gt;
| Component || microphone&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 21&lt;br /&gt;
| Component || LPDDR4 RAM&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 22&lt;br /&gt;
| Socket || Mainboard-to-daughterboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 23&lt;br /&gt;
| Socket || Microphone socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 24&lt;br /&gt;
| Switch || Switch to hardware disable eMMC&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 25&lt;br /&gt;
| Antenna || BT/WiFI antenna&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 26&lt;br /&gt;
| Component || eMMC flash memory module &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 27&lt;br /&gt;
| Component ||BT/WiFi module chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 28&lt;br /&gt;
| Buttons || Reset and recovery buttons&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 29&lt;br /&gt;
| Component || SPI flash storage&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 30&lt;br /&gt;
| Socket || eDP LCD socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 31&lt;br /&gt;
| Socket || Power in barrel socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 32&lt;br /&gt;
| Socket || USB 3.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 33&lt;br /&gt;
| Socket || USB 3.0 Type C &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Smallboard detailed picture ===&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_pro_smallboard.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Bootable Storage ==&lt;br /&gt;
&lt;br /&gt;
=== Boot sequence details ===&lt;br /&gt;
The RK3399's mask 32KB ROM boot code looks for the next stage of code at byte off-set 32768, (sector 64 if using 512 byte sectors). This is where U-Boot code would reside on any media that is bootable.&amp;lt;br&amp;gt;&lt;br /&gt;
[[RK3399_boot_sequence|RK3399 boot sequence]]&lt;br /&gt;
&lt;br /&gt;
=== Boot devices ===&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is capable of booting from eMMC, USB 2.0, USB 3.0, or an SD card. It cannot boot from USB-C.  The boot order of the hard-coded ROM of its RK3399 SoC is: SPI NOR, eMMC, SD, USB OTG. &lt;br /&gt;
&lt;br /&gt;
At this time, the Pinebook Pro ships with a Manjaro + KDE build with [https://www.denx.de/wiki/U-Boot/ u-boot] on the eMMC.  Its boot order is: SD, USB, then eMMC.&lt;br /&gt;
&lt;br /&gt;
(An update has been pushed for the older Debian + MATE build that improves compatibility with booting other OSes from an SD card. In order to update, fully charge the battery, establish an internet connection, click the update icon in the toolbar, and then reboot your Pinebook Pro.  Please see [https://forum.pine64.org/showthread.php?tid=7830 this log] for details.)&lt;br /&gt;
&lt;br /&gt;
Please note that PCIe, the interface used for NVMe SSD on the Pinebook Pro, is not bootable on the RK3399 and therefore is not a part of the boot hierarchy. It is possible to run the desired OS from NVMe by pointing extlinux on the eMMC to rootfs on the SSD. This requires uboot, the Kernel image, DTB, and extlinux.conf&lt;br /&gt;
in a /boot partition on the eMMC.&lt;br /&gt;
&lt;br /&gt;
=== eMMC information ===&lt;br /&gt;
The eMMC appears to be hot-pluggable. This can be useful if trying to recover data or a broken install. Best practice is probably to turn the eMMC switch to off position before changing modules. Note that the enable/disable label on the silkscreen is incorrect on some board revisions (known bad on v2.1).&lt;br /&gt;
&lt;br /&gt;
The eMMC storage will show up as multiple block devices:&lt;br /&gt;
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB&lt;br /&gt;
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB&lt;br /&gt;
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB&lt;br /&gt;
*mmcblk1 - This block contains the user areas&lt;br /&gt;
&lt;br /&gt;
Only the last is usable as regular storage device in the Pinebook Pro.&lt;br /&gt;
The device number of &amp;quot;1&amp;quot; shown above may vary, depending on kernel.&lt;br /&gt;
&lt;br /&gt;
If the eMMC module is enabled after boot from an SD card, you can detect this change with the following commands as user &amp;quot;root&amp;quot;;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/unbind&lt;br /&gt;
echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/bind&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Note: with the device trees coming with older kernels (Linux &amp;lt; 5.11), the device name may be fe330000.sdhci instead of fe330000.mmc)&lt;br /&gt;
&lt;br /&gt;
== Case Dimensions and Data ==&lt;br /&gt;
* Dimensions: 329mm x 220mm x 12mm (WxDxH)&lt;br /&gt;
* Weight: 1.26Kg&lt;br /&gt;
* Screws&lt;br /&gt;
** Philips head type screws&lt;br /&gt;
** M2 flat head machine screws (measurements in mm)&lt;br /&gt;
** 4 x Small screws (used along the front edge): Head - 3.44, Thread Diameter - 1.97, Thread Length - 2.1,  Overall length - 3.05&lt;br /&gt;
** 6 x Large screws: Head - 3.44, Thread Diameter - 1.97, Thread Length - 4.41, Overall Length - 5.85&lt;br /&gt;
* Rubber Feet&lt;br /&gt;
** 18mm diameter&lt;br /&gt;
** 3mm height&lt;br /&gt;
** Dome shaped&lt;br /&gt;
&lt;br /&gt;
== SoC and Memory Specification ==&lt;br /&gt;
[[File:Rockchip_RK3399.png|right]]&lt;br /&gt;
* Based on Rockchip RK3399&lt;br /&gt;
&lt;br /&gt;
=== CPU Architecture ===&lt;br /&gt;
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU&lt;br /&gt;
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)&lt;br /&gt;
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
** VFPv4 floating point unit supporting single and double-precision operations&lt;br /&gt;
** Hardware virtualization support&lt;br /&gt;
** TrustZone technology support&lt;br /&gt;
** Full CoreSight debug solution&lt;br /&gt;
** One isolated voltage domain to support DVFS&lt;br /&gt;
* Cortex-A72 (big cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]&lt;br /&gt;
** Superscalar, variable-length, out-of-order pipeline&lt;br /&gt;
** L1 cache 48KB Icache and 32KB Dcache for each A72 &lt;br /&gt;
** L2 cache 1024KB for big cluster &lt;br /&gt;
* Cortex-A53 (little cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]&lt;br /&gt;
** In-order pipeline with symmetric dual-issue of most instructions &lt;br /&gt;
** L1 cache 32KB Icache and 32KB Dcache for each A53&lt;br /&gt;
** L2 cache 512KB for little cluster&lt;br /&gt;
* Cortex-M0 (control processors):&lt;br /&gt;
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]&lt;br /&gt;
** Two Cortex-M0 cooperate with the central processors&lt;br /&gt;
** Architecture: Armv6-M&lt;br /&gt;
** Thumb/Thumb2 instruction set&lt;br /&gt;
** 32 bit only&lt;br /&gt;
&lt;br /&gt;
=== GPU Architecture ===&lt;br /&gt;
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]&lt;br /&gt;
* The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPU is designed for complex graphics use cases and provide stunning visuals for UHD content.&lt;br /&gt;
* Frequency 	650MHz &lt;br /&gt;
* Throughput 	1300Mtri/s, 10.4Gpix/s&lt;br /&gt;
* Graphic interface standards:&lt;br /&gt;
** OpenGL® ES 1.1, 1.2, 2.0, 3.0, 3.1, 3.2. (Panfrost has initial support of 3.0 beginning 2020/02/27)&lt;br /&gt;
** Vulkan 1.0, using the Mali binary blob. (Panfrost does not support Vulkan as of 2020/06/24)&lt;br /&gt;
** OpenCL™ 1.1, 1.2&lt;br /&gt;
** DirectX® 11 FL11_1&lt;br /&gt;
** RenderScript™&lt;br /&gt;
&lt;br /&gt;
=== System Memory ===&lt;br /&gt;
* RAM Memory:&lt;br /&gt;
** LPDDR4&lt;br /&gt;
** 800MHz, (limited by RK3399)&lt;br /&gt;
** Dual memory channels on the CPU, each 32 bits wide&lt;br /&gt;
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel&lt;br /&gt;
** 4GB as a single 366 pin mobile RAM chip&lt;br /&gt;
* Storage Memory: &lt;br /&gt;
** 64GB eMMC module, can be upgraded to an 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)&lt;br /&gt;
** eMMC version 5.1, HS400, 8 bit on RK3399 side&lt;br /&gt;
** Bootable&lt;br /&gt;
* SPI flash:&lt;br /&gt;
** [[Pinebook Pro SPI]]&lt;br /&gt;
** 128Mbit / 16MByte&lt;br /&gt;
** 1 bit interface&lt;br /&gt;
** Bootable, (first boot device, ahead of eMMC &amp;amp; SD card)&lt;br /&gt;
** U-Boot images can be made to work, but as of 2020/06/24 there is no standardized image available.&lt;br /&gt;
&lt;br /&gt;
=== Video out ===&lt;br /&gt;
* USB-C Alt mode DP&lt;br /&gt;
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)&lt;br /&gt;
&lt;br /&gt;
=== Expansion Ports ===&lt;br /&gt;
* MicroSD card:&lt;br /&gt;
** Bootable&lt;br /&gt;
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.&lt;br /&gt;
** Version SD3.0, (MMC 4.5), up to 50MB/s&lt;br /&gt;
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS&lt;br /&gt;
* USB ports:&lt;br /&gt;
** 1 x USB 2.0 Type-A Host Port, bootable&lt;br /&gt;
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable&lt;br /&gt;
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable&lt;br /&gt;
** Note that high power USB devices may not work reliably on a PBP. Or they may draw enough power to drain the battery even when the PBP is plugged into A.C. One alternative is externally powered USB devices.&lt;br /&gt;
* Headphone jack switchable to UART console mux circuit&lt;br /&gt;
&lt;br /&gt;
== Additional hardware ==&lt;br /&gt;
Hardware that is not part of the SoC.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
* Lithium Polymer Battery (10,000 mAH)&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
* 14.0&amp;quot; 1920x1080 IPS LCD panel&lt;br /&gt;
=== Lid closed magnet ===&lt;br /&gt;
There is a magnet to detect when the laptop lid is closed, so action can be taken like sleep. This meets up with the Hall sensor on the daughter / small board to detect lid closed.&lt;br /&gt;
* The magnet is located on the LCD panel right side, around 1.5 inches up measure from bottom edge.&lt;br /&gt;
&lt;br /&gt;
=== Webcam ===&lt;br /&gt;
* Internal USB attached Webcam&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* 3.5mm stereo earphone/microphone plug&lt;br /&gt;
* Built-in microphone&lt;br /&gt;
* Built-in stereo speakers:&lt;br /&gt;
** Oval in design&lt;br /&gt;
** 3 mm high x 20 mm x 30 mm&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
* WiFi:&lt;br /&gt;
** 802.11 b/g/n/ac&lt;br /&gt;
** Dual band: 2.4Ghz &amp;amp; 5Ghz&lt;br /&gt;
** Single antenna&lt;br /&gt;
* Bluetooth 5.0&lt;br /&gt;
&lt;br /&gt;
=== Optional NVMe adapter ===&lt;br /&gt;
* PCIe 1.1, 2.5 GT/s per lane&lt;br /&gt;
** Note that due to errata, PCIe is limited to Gen1. See [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/arm64/boot/dts/rockchip/rk3399.dtsi?id=712fa1777207c2f2703a6eb618a9699099cbe37b this commit].&lt;br /&gt;
* Four PCIe lanes, which can not be bifurcated, but can be used with one- or two-lane NVMe cards&lt;br /&gt;
* '''M''' keyed, though '''M'''+'''B''' keyed devices will work too&lt;br /&gt;
* Maximum length for M.2 card is 80mm (M.2 2280). The following sizes will also work: 2230, 2242, 2260&lt;br /&gt;
* Power: 2.5&amp;amp;nbsp;W continuous, 8.25&amp;amp;nbsp;W peak momentary&lt;br /&gt;
* Does not support SATA M.2 cards&lt;br /&gt;
* Does not support USB M.2 cards&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Schematics and Certifications ==&lt;br /&gt;
* Pinebook Pro Main Board Schematic And Silkscreen:&lt;br /&gt;
** [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic]&lt;br /&gt;
** [https://wiki.pine64.org/images/3/30/Pinebookpro-v2.1-top-ref.pdf Pinebook Pro ver 2.1 Top Layer Silkscreen]&lt;br /&gt;
** [https://wiki.pine64.org/images/b/b7/Pinebookpro-v2.1-bottom-ref.pdf Pinebook Pro ver 2.1 Bottom Layer Silkscreen]&lt;br /&gt;
* Pinebook Pro Daughter Board Schematic:&lt;br /&gt;
** [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]&lt;br /&gt;
* Optional Pinebook Pro NVMe Adapter Schematic:&lt;br /&gt;
** [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]&lt;br /&gt;
* Serial Console Earphone Jack Pinout:&lt;br /&gt;
** [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinebook Serial Console Earphone Jack Pinout]&lt;br /&gt;
* Pinebook Pro Case:&lt;br /&gt;
** [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.pdf AutoCAD PDF File ]&lt;br /&gt;
** [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.ai AutoCAD AI File ]&lt;br /&gt;
** [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.dwg AutoCAD DWG File ]&lt;br /&gt;
* Pinebook Pro Certifications:&lt;br /&gt;
** [https://files.pine64.org/doc/cert/Pinebook%20Pro%20FCC%20Certificate-S19071103501001.pdf Pinebook Pro FCC Certificate]&lt;br /&gt;
** [https://files.pine64.org/doc/cert/Pinebook%20Pro%20CE%20RED%20Certificate-S19051404304.pdf Pinebook Pro CE Certificate]&lt;br /&gt;
** [https://files.pine64.org/doc/cert/Pinebook%20Pro%20ROHS%20Compliance%20Certificate.pdf Pinebook Pro RoHS Certificate]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
* Rockchip RK3399 SoC information:&lt;br /&gt;
** [https://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]&lt;br /&gt;
** [https://opensource.rock-chips.com/images/d/d7/Rockchip_RK3399_Datasheet_V2.1-20200323.pdf Rockchip RK3399 Datasheet v2.1]&lt;br /&gt;
** [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.4%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.4, part 1]&lt;br /&gt;
** [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.3, part 1] and [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part2.pdf part 2]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet v0.8]&lt;br /&gt;
* LPDDR4 SDRAM (366-pin BGA):&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]&lt;br /&gt;
* eMMC information:&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf 64GB/128GB SanDisk eMMC Datasheet]&lt;br /&gt;
* SPI NOR Flash information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]&lt;br /&gt;
** [https://wiki.pine64.org/images/b/b9/Ds-00220-gd25q127c-rev1-df2f4.pdf GigaDevice 128Mb SPI Flash Datasheet (updated)]&lt;br /&gt;
* Wireless and Bluetooth information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]&lt;br /&gt;
* Audio codec:&lt;br /&gt;
** [http://www.everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec Datasheet]&lt;br /&gt;
* LCD panel:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14&amp;quot; 1920x1080 IPS LCD Panel datasheet]&lt;br /&gt;
* USB-related information:&lt;br /&gt;
** Internal USB 2.0 hub: [https://wiki.pine64.org/images/3/39/GL850G_USB_Hub_1.07.pdf GL850G USB Hub Datasheet]&lt;br /&gt;
** USB Type-C Controller: [https://www.onsemi.com/pub/Collateral/FUSB302-D.PDF ON Semiconductor FUSB302 Datasheet]&lt;br /&gt;
* Touchpad information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf PineBook Pro Touchpad Specification]&lt;br /&gt;
* Keyboard information:&lt;br /&gt;
** [https://wiki.pine64.org/images/b/b0/SH68F83V2.0.pdf Sinowealth SH68F83 Datasheet]&lt;br /&gt;
** US ANSI: XK-HS002 MB27716023&lt;br /&gt;
* Full HD camera sensor:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification (in Chinese)]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Datasheet]&lt;br /&gt;
* Battery-related information:&lt;br /&gt;
** Battery charging IC: [https://www.ti.com/lit/ds/symlink/bq24171.pdf?ts=1607068456825&amp;amp;ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FBQ24171 Texas Instruments BQ24171 Datasheet]&lt;br /&gt;
** Battery monitoring IC: [https://cdn.datasheetspdf.com/pdf-down/C/W/2/CW2015-Cellwise.pdf Cellwise CW2015 Datasheet]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000mAH Lithium Battery Specification]&lt;br /&gt;
* Power path device:&lt;br /&gt;
** [https://wiki.pine64.org/images/9/99/Sis412dn.pdf N-MOS / MOSFET]&lt;br /&gt;
* NVMe adapter:&lt;br /&gt;
** [https://wiki.pine64.org/images/d/d0/Hirose-FH26W-35S-0.3SHW%2860%29-datasheet.pdf FH26-35S-0.3SHW flat flex connector (compatible, not OEM)]&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
Pinebook Pro v1 and v2 were prototype models that did not make it to the public. The &amp;quot;first batch&amp;quot; (First 100 forum preorders) onward are v2.1. [https://forum.pine64.org/showthread.php?tid=8111]&lt;br /&gt;
&lt;br /&gt;
=Skinning and Case Customization=&lt;br /&gt;
* Template files for creating custom skins. Each includes template layers for art placement, and CUT lines.&lt;br /&gt;
**[https://drive.google.com/open?id=1UKFlC53DO0GJm3Hz1E_669n_HhI45e4n Case Lid Template]&lt;br /&gt;
**[https://drive.google.com/open?id=1Q6bKGarMDhvWz3HdGvhL5qDhyHb546ve Case Bottom Template]&lt;br /&gt;
**[https://drive.google.com/open?id=1ugI74ygNJ3EN5jXks5jKvdpEAoxIzHo4 Case Palmrest Template]&lt;br /&gt;
&lt;br /&gt;
= Other Resources =&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=98 ROCKPro64 Forum]&lt;br /&gt;
* [https://riot.im/app/#/room/#pinebook:matrix.org Matrix Channel] (no login required to read)&lt;br /&gt;
* IRC Server: irc.pine64.org Channel: PineBook&lt;br /&gt;
* [https://discordapp.com/channels/463237927984693259/622348681538043924 Discord Channel]&lt;br /&gt;
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]&lt;br /&gt;
* [https://opensource.rock-chips.com/ Rockchip Open Source Wiki]&lt;br /&gt;
* [[Pinebook Pro/Freepascal and Lazarus IDE on Manjaro|Freepascal and Lazarus IDE on Pinebook Pro]]&lt;br /&gt;
&lt;br /&gt;
[[Category:PineBook Pro]]&lt;br /&gt;
[[Category:Rockchip RK3399]]&lt;/div&gt;</summary>
		<author><name>Mrfixit2001</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro_Software_Releases&amp;diff=14575</id>
		<title>Pinebook Pro Software Releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro_Software_Releases&amp;diff=14575"/>
		<updated>2022-10-27T13:46:16Z</updated>

		<summary type="html">&lt;p&gt;Mrfixit2001: adding r-cade&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Linux OS Image Releases =&lt;br /&gt;
For information on how to install these images onto your device, please see the [[NOOB]] Page, which includes information on writing images to the device eMMC or an SD card&lt;br /&gt;
&lt;br /&gt;
== Manjaro ARM ==&lt;br /&gt;
[[File:Manjaro.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
The Manjaro project offers a mainline kernel with patches and modules to support PBPro hardware. To learn more about Manjaro please visit [https://forum.manjaro.org/c/arm/ Manjaro Forum]. You can follow the ongoing discussion about Manjaro on the [https://forum.pine64.org/showthread.php?tid=8207 PINE64 forum].&lt;br /&gt;
All images boot from both SD card and the internal eMMC module.&lt;br /&gt;
&lt;br /&gt;
[https://manjaro.org/download/ Direct download from Manjaro]: You have to navigate to the Manjaro ARM Team section and select &amp;quot;Generic&amp;quot; as the device in the drop-down list. (The Pinebook-pro specific image has been removed and it's now included in the generic one since [https://forum.manjaro.org/t/manjaro-arm-22-08-released/119602/ version 22.08]).&lt;br /&gt;
Then you can choose Gnome, KDE Plasma, Mate, Minimal, Sway or Xfce.&lt;br /&gt;
&lt;br /&gt;
== Armbian ==&lt;br /&gt;
===Armbian is a base operating system platform for single board computers (SBCs) that other projects can trust to build upon.===&lt;br /&gt;
&lt;br /&gt;
* Lightweight Debian or Ubuntu based Linux distribution specialized for ARM development boards&lt;br /&gt;
* Each system is compiled, assembled and optimized by Armbian Build Tools&lt;br /&gt;
* It has powerful build and software development tools to make custom builds&lt;br /&gt;
* A vibrant community&lt;br /&gt;
[[File:armbian.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
To download the latest Armbian Desktop or CLI images for Pinebook Pro, please visit [https://www.armbian.com/pinebook-pro/ The Pinebook Pro Download Page].&lt;br /&gt;
&lt;br /&gt;
===If you have any difficulties please visit our [https://forum.armbian.com forum] or come chat with us on [https://docs.armbian.com/Community_IRC/ IRC / Discord!]===&lt;br /&gt;
&lt;br /&gt;
== Twister OS ==&lt;br /&gt;
&lt;br /&gt;
[[File:Twister_OS.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
Twister OS Armbian-Reforged with Xfce. It boots from microSD card and from eMMC. For more information on Twister OS, please visit this [https://twisteros.com/ official site]. You can follow the ongoing discussion about Twister OS on the [https://forum.pine64.org/showthread.php?tid=12192 PINE64 forum].&lt;br /&gt;
&lt;br /&gt;
'''Installation'''&lt;br /&gt;
&lt;br /&gt;
* After flashing image, edit /boot/armbianEnv.txt, replace the dtb name with &amp;lt;code&amp;gt;rk3399-pinebook-pro.dtb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Download location'''&lt;br /&gt;
&lt;br /&gt;
Get the latest image here: [https://twisteros.com/twisterarmbian.html Direct download latest images from Twister OS's website] (size: 2.8GB)&lt;br /&gt;
&lt;br /&gt;
'''Password'''&lt;br /&gt;
&lt;br /&gt;
asdasd&lt;br /&gt;
&lt;br /&gt;
== Fedora ==&lt;br /&gt;
[[File:fedora1.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Fedora Official ===&lt;br /&gt;
&lt;br /&gt;
Using this [https://nullr0ute.com/2021/05/fedora-on-the-pinebook-pro/ blog post] it is now possible to run Official Fedora on the Pinebook Pro. &lt;br /&gt;
&lt;br /&gt;
'''Notes'''&lt;br /&gt;
Upstream Fedora uses  SPI flash on the Pinebook Pro to manage uboot. &lt;br /&gt;
&lt;br /&gt;
=== Fedora 32 with Cinnamon ===&lt;br /&gt;
&lt;br /&gt;
This image contains an install of Fedora with [https://cinnamon-spices.linuxmint.com/ Cinnamon] desktop environment. It boots from microSD card and from eMMC. To learn more about Fedora please visit the [https://getfedora.org/ official website].&lt;br /&gt;
&lt;br /&gt;
'''Download location'''&lt;br /&gt;
&lt;br /&gt;
Get the latest image here: [https://builds.armdevelopers.com/pinebook-pro/releases/dev/Fedora32-Cinnamon-Desktop-202009.0.pinebook-pro.img.xz Fedora 32 Pinebook Pro Image]&lt;br /&gt;
&lt;br /&gt;
'''Username and password'''&lt;br /&gt;
&lt;br /&gt;
root/fedora&lt;br /&gt;
&lt;br /&gt;
=== Fedora 32 with KDE ===&lt;br /&gt;
&lt;br /&gt;
This image contains an install of Fedora with [https://kde.org/ KDE aka Plasma] desktop environment. It boots from microSD card and from eMMC. To learn more about Fedora please visit the [https://getfedora.org/ official website].&lt;br /&gt;
&lt;br /&gt;
'''Download location'''&lt;br /&gt;
&lt;br /&gt;
Get the latest image here: [https://builds.armdevelopers.com/pinebook-pro/releases/dev/Fedora32-KDE-Desktop-202009.0.pinebook-pro.img.xz Fedora 32 Pinebook Pro Image]&lt;br /&gt;
&lt;br /&gt;
'''Username and password'''&lt;br /&gt;
&lt;br /&gt;
root/fedora&lt;br /&gt;
&lt;br /&gt;
=== Fedora 32 with Xfce===&lt;br /&gt;
&lt;br /&gt;
This image contains an install of Fedora with [https://xfce.org/ Xfce] desktop environment. It boots from microSD card and from eMMC. To learn more about Fedora please visit the [https://getfedora.org/ official website].&lt;br /&gt;
&lt;br /&gt;
'''Download location'''&lt;br /&gt;
&lt;br /&gt;
Get the latest image here: [https://builds.armdevelopers.com/pinebook-pro/releases/dev/Fedora32-Xfce-Desktop-202009.0.pinebook-pro.img.xz Fedora 32 Pinebook Pro Image]&lt;br /&gt;
&lt;br /&gt;
'''Username and password'''&lt;br /&gt;
&lt;br /&gt;
root/fedora&lt;br /&gt;
&lt;br /&gt;
=== Fedora 32 with Gnome ===&lt;br /&gt;
&lt;br /&gt;
This image contains an install of Fedora with [https://www.gnome.org/gnome-3/ GNOME 3] desktop environment. It boots from microSD card and from eMMC. To learn more about Fedora please visit the [https://getfedora.org/ official website].&lt;br /&gt;
&lt;br /&gt;
'''Download location'''&lt;br /&gt;
&lt;br /&gt;
Get the latest image here: [https://builds.armdevelopers.com/pinebook-pro/releases/dev/Fedora32-Workstation-202009.0.pinebook-pro.img.xz Fedora 32 Pinebook Pro Image]&lt;br /&gt;
&lt;br /&gt;
'''Username and password'''&lt;br /&gt;
&lt;br /&gt;
root/fedora&lt;br /&gt;
&lt;br /&gt;
== Arch Linux ARM ==&lt;br /&gt;
[[File:Archlinux-logo.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Official Installation ===&lt;br /&gt;
See [[Installing Arch Linux ARM On The Pinebook Pro]] for instructions on how to install the official Arch Linux ARM.&lt;br /&gt;
&lt;br /&gt;
=== Customized Premade Image ===&lt;br /&gt;
Arch Linux ARM root filesystem customized for the Pinebook Pro using Manjaro kernel. Instructions are included for installation on microSD card, eMMC module and NVME SSD.&lt;br /&gt;
&lt;br /&gt;
'''Download location'''&lt;br /&gt;
&lt;br /&gt;
[https://github.com/SvenKiljan/archlinuxarm-pbp/releases/latest Get the latest image from GitHub] (size: 591 MB).&lt;br /&gt;
&lt;br /&gt;
'''Installation'''&lt;br /&gt;
&lt;br /&gt;
Make sure to thoroughly read the [https://github.com/SvenKiljan/archlinuxarm-pbp/blob/main/README.md readme], [https://github.com/SvenKiljan/archlinuxarm-pbp/blob/main/README.md installation instructions] and [https://github.com/SvenKiljan/archlinuxarm-pbp/blob/main/FAQ.md FAQ].&lt;br /&gt;
&lt;br /&gt;
'''Username and password'''&lt;br /&gt;
&lt;br /&gt;
The default Arch Linux ARM user credentials.&lt;br /&gt;
&lt;br /&gt;
Username: alarm&lt;br /&gt;
&lt;br /&gt;
Password: alarm&lt;br /&gt;
&lt;br /&gt;
The password for the root account is 'root'.&lt;br /&gt;
&lt;br /&gt;
== postmarketOS ==&lt;br /&gt;
[[File:PostmarketOS logo.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
Official postmarketOS stable builds are available for the Pinebook Pro with the following interfaces:&lt;br /&gt;
&lt;br /&gt;
* console&lt;br /&gt;
* GNOME&lt;br /&gt;
* KDE Plasma Desktop&lt;br /&gt;
* Phosh&lt;br /&gt;
* Sway&lt;br /&gt;
&lt;br /&gt;
It boots from microSD card and from eMMC.&lt;br /&gt;
&lt;br /&gt;
'''Download location'''&lt;br /&gt;
&lt;br /&gt;
Get the stable image here: https://postmarketos.org/download/ (size: 103 MB to 775 MB)&lt;br /&gt;
&lt;br /&gt;
The installer images allows setting up an encrypted installation on SD or eMMC.&lt;br /&gt;
&lt;br /&gt;
'''Username and password'''&lt;br /&gt;
&lt;br /&gt;
user/147147&lt;br /&gt;
&lt;br /&gt;
==Kali Linux==&lt;br /&gt;
[[File:Kali.jpeg|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Kali Linux prebuilt OS images for Pinebook Pro===&lt;br /&gt;
&lt;br /&gt;
Official pre-built OS images of Kali Linux for the Pinebook Pro featuring all tools you'd expect from the distribution. It boots from microSD card and from eMMC.&lt;br /&gt;
&lt;br /&gt;
'''Download location'''&lt;br /&gt;
&lt;br /&gt;
Get the latest image here: [https://www.offensive-security.com/kali-linux-arm-images/ Direct download latest images from Offensive Security's website] (size: 2.0 GB)&lt;br /&gt;
&lt;br /&gt;
'''Username and password'''&lt;br /&gt;
&lt;br /&gt;
kali/kali&lt;br /&gt;
&lt;br /&gt;
== R-Cade ==&lt;br /&gt;
[[File:RCadeLogo.jpg|right|100px]]&lt;br /&gt;
&lt;br /&gt;
Retro Center's R-Cade [USB / microSD / eMMC Boot]&lt;br /&gt;
* The 4K Media Center Arcade&lt;br /&gt;
* [https://www.retro-center.com/about-r-cade/ RCade] Features 100+ retro-gaming systems, a lightweight web browser, and full 4K UHD media playback&lt;br /&gt;
* DD image to USB, microSD, or eMMC and boot. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
** [https://github.com/retro-center/rcade_releases/releases Direct download from Retro Center's GitHub]&lt;br /&gt;
&lt;br /&gt;
'''Username and password'''&lt;br /&gt;
&lt;br /&gt;
root/retro&lt;br /&gt;
&lt;br /&gt;
== Q4OS ==&lt;br /&gt;
[[File:q4os.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
Q4OS is advertised as a 'fast and powerful operating system based on the latest technologies while offering highly productive desktop environment'. It boots from microSD card and from eMMC. To learn more please visit the [https://forum.pine64.org/showthread.php?tid=8385 PINE64 forum] or official [https://q4os.org/index.html Q4OS website].&lt;br /&gt;
&lt;br /&gt;
'''Download location'''&lt;br /&gt;
&lt;br /&gt;
Get the latest image here: [https://sourceforge.net/projects/q4os/files/stable/ Direct download latest release build from SourceForge]&lt;br /&gt;
&lt;br /&gt;
'''Username and password'''&lt;br /&gt;
&lt;br /&gt;
User account and password are created on first run.&lt;br /&gt;
&lt;br /&gt;
== DietPi ==&lt;br /&gt;
[[File:dietpi.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
* DietPi is a '''lightweight''', yet '''easy to setup''' and '''feature-rich''' Linux distribution, based on '''Debian'''.&lt;br /&gt;
* To find out more about DietPi, please visit the [https://dietpi.com/docs/ official documentation].&lt;br /&gt;
* Discuss the Pinebook build on the [https://forum.pine64.org/showthread.php?tid=14061 PINE64 forum thread].&lt;br /&gt;
* DD image (for 4 GiB micro SD card and above)&lt;br /&gt;
** [https://dietpi.com/downloads/images/DietPi_PinebookPro-ARMv8-Bullseye.7z Direct download from dietpi.com]&lt;br /&gt;
* Login with&lt;br /&gt;
** Username: '''root'''&lt;br /&gt;
** Password: '''dietpi'''&lt;br /&gt;
&lt;br /&gt;
== openSUSE ==&lt;br /&gt;
[[File:opensuse-distribution.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
'''Download location'''&lt;br /&gt;
&lt;br /&gt;
Get the latest openSUSE Tumbleweed images for Pinebook Pro here: [https://en.opensuse.org/HCL:Pinebook-Pro-RK3399]&lt;br /&gt;
&lt;br /&gt;
Credits to [https://bugzilla.opensuse.org/show_bug.cgi?id=1194491]&lt;br /&gt;
Step 1. Flash Tow-Boot[https://github.com/Tow-Boot/Tow-Boot] to SPI&lt;br /&gt;
Step 2. Flash openSUSE image to sd card &amp;amp; insert it&lt;br /&gt;
Step 3. When it loads grub, press e and add the following line:&lt;br /&gt;
&lt;br /&gt;
devicetree /boot/dtb/rockchip/rk3399-pinebook-pro.dtb&lt;br /&gt;
&lt;br /&gt;
Press ctrl + x to boot&lt;br /&gt;
&lt;br /&gt;
Work : display, wifi&lt;br /&gt;
Not tested : bluetooth&lt;br /&gt;
Doesn't work : audio&lt;br /&gt;
&lt;br /&gt;
You may build rpms and see if it fix issues from this repository: [https://github.com/bengtfredh/pinebook-pro-copr]&lt;br /&gt;
&lt;br /&gt;
== FydeOS ==&lt;br /&gt;
An operating system based on the Chromium Project&lt;br /&gt;
&lt;br /&gt;
https://fydeos.io/download/device/pinebook-pro&lt;br /&gt;
&lt;br /&gt;
== Void Linux ==&lt;br /&gt;
&lt;br /&gt;
[https://voidlinux.org/ Void Linux] packages U-Boot and a kernel for the Pinebook Pro, but does not distribute any images for the device.&lt;br /&gt;
&lt;br /&gt;
Cameron Nemo ([[User:CameronNemo]]) distributes unofficial Void Linux images for the Pinebook Pro:&lt;br /&gt;
&lt;br /&gt;
* [https://repo.nohom.org/void/images/void-pinebookpro-20220530.img.xz glibc download]&lt;br /&gt;
* [https://repo.nohom.org/void/images/void-pinebookpro-musl-20220610.img.xz musl download]&lt;br /&gt;
&lt;br /&gt;
Some notes about the images:&lt;br /&gt;
&lt;br /&gt;
* They were released on 2022-05-30 (glibc) and 2022-06-10 (musl)&lt;br /&gt;
* They ship U-Boot 2022.04 and Linux 5.15 (with minimal patches)&lt;br /&gt;
* Meant to be uncompressed then flashed to either an SD card or the internal eMMC module&lt;br /&gt;
* The root partition is ~1.7GB, and must be expanded manually&lt;br /&gt;
* There are very few services enabled on the images by default: udev and some getty's&lt;br /&gt;
* The default root password is &amp;quot;voidlinux&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= BSD =&lt;br /&gt;
&lt;br /&gt;
==NetBSD==&lt;br /&gt;
[[File:netbsd.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
The image boots from microSD card and from eMMC. To learn more about NetBSD please visit [https://www.netbsd.org/ NetBSD main page]&lt;br /&gt;
&lt;br /&gt;
'''Download location'''&lt;br /&gt;
&lt;br /&gt;
Get the latest image here: [http://www.armbsd.org/arm/ Direct download from NetBSD]&lt;br /&gt;
&lt;br /&gt;
'''Installation'''&lt;br /&gt;
&lt;br /&gt;
Instructions concerning enabling SSH can be found [https://www.netbsd.org/docs/guide/en/chap-boot.html#chap-boot-ssh here].&lt;br /&gt;
&lt;br /&gt;
'''Username and password'''&lt;br /&gt;
&lt;br /&gt;
root/(none)&lt;br /&gt;
&lt;br /&gt;
==OpenBSD==&lt;br /&gt;
[[File:Puffy_mascot_openbsd.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
The image boots from microSD card and from eMMC. To learn more about OpenBSD, please visit [https://www.openbsd.org/ OpenBSD main page]&lt;br /&gt;
&lt;br /&gt;
'''Download location'''&lt;br /&gt;
&lt;br /&gt;
ARM64 images, (including support for Pinebook Pro), can be found here [https://www.openbsd.org/arm64.html OpenBSD arm64]&lt;br /&gt;
&lt;br /&gt;
= Linux Installer Releases =&lt;br /&gt;
&lt;br /&gt;
== Manjaro ARM ==&lt;br /&gt;
[[File:Manjaro.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
The [https://gitlab.manjaro.org/manjaro-arm/applications/manjaro-arm-installer manjaro-arm-installer] script is intended to install Manjaro ARM directly to SD/eMMC cards without the need for images (including LXQT, Mate &amp;amp; CuboCore editions, as well as full disk encryption).&lt;br /&gt;
&lt;br /&gt;
Running on a Linux x86 computer, it can install Manjaro ARM directly to an empty eMMC using an eMMC to USB adapter. The script can also be run from SD to install an image to the eMMC.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Armbian ==&lt;br /&gt;
[[File:armbian.png|right|100px]]&lt;br /&gt;
===You can use the [https://github.com/armbian/build Armbian Builder] to generate your own Armbian images of various types.===&lt;br /&gt;
&lt;br /&gt;
The builder supports building any version of Debian and any version of Ubuntu with various desktop options:&lt;br /&gt;
&amp;lt;li&amp;gt;Budgie&lt;br /&gt;
&amp;lt;li&amp;gt;Cinnamon&lt;br /&gt;
&amp;lt;li&amp;gt;Deepin&lt;br /&gt;
&amp;lt;li&amp;gt;Enlightenment&lt;br /&gt;
&amp;lt;li&amp;gt;Gnome&lt;br /&gt;
&amp;lt;li&amp;gt;I3-wm&lt;br /&gt;
&amp;lt;li&amp;gt;Kde-plasma&lt;br /&gt;
&amp;lt;li&amp;gt;Mate&lt;br /&gt;
&amp;lt;li&amp;gt;Xfce&lt;br /&gt;
&amp;lt;li&amp;gt;Xmonad&lt;br /&gt;
&lt;br /&gt;
== Debian ==&lt;br /&gt;
[[File:debian.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
* Uses only the upstream kernel and firmware without special patches&lt;br /&gt;
* Display doesn't always work properly on first boot of installer, usually fixed after a couple tries&lt;br /&gt;
* Requires adding the non-free component to your /etc/apt/sources.list file and installing the &amp;quot;firmware-linux&amp;quot; package for Wi-Fi and Bluetooth support. If your Pinebook Pro was part of the June/July 2022 batch, then you will need the &amp;quot;firmware-brcm80211&amp;quot; to accommodate the changed networking hardware. You will also need &amp;quot;brcmfmac43455-sdio.txt&amp;quot; in /lib/firmware/brcm, at least until it is included within firmware-brcm80211 upstream.&lt;br /&gt;
* Installer is loaded into RAM, can install onto the same media from which it’s booted&lt;br /&gt;
* Supports automatic partitioning and full disk encryption through LVM&lt;br /&gt;
* Installer currently doesn't install a functional bootloader, leaving the installed system in an unbootable state until it's manually added (if installed to eMMC, the system cannot be booted even to an SD card unless the eMMC is physically switched off or there is U-Boot in the SPI)&lt;br /&gt;
&lt;br /&gt;
[https://d-i.debian.org/daily-images/arm64/daily/netboot/SD-card-images/ The relevant files are built daily here] and may sometimes be unavailable if the build system is having issues. The &amp;quot;README.concatenateable_images&amp;quot; file provides instructions on how to combine the partition.img.gz file with the firmware.pinebook-pro.rk3399.img.gz file in order to create a DD-able image.&lt;br /&gt;
&lt;br /&gt;
The official images are '''not''' recommended yet until the display begins working consistently and the installer properly installs the bootloader. Most users will want to see [[Pinebook Pro Debian Installer|Daniel Thompson's Debian Installer]] instead.&lt;br /&gt;
&lt;br /&gt;
== Gentoo ==&lt;br /&gt;
[[File:GentooLogo.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
There is a script that prepares a Gentoo arm64 stage 3 tarball for the Pinebook Pro. Unfortunately, this script is not currently functional, and requires extensive troubleshooting to make work. New instructions are currently being created and will be available here.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Word to the wise'''&lt;br /&gt;
&lt;br /&gt;
Currently, following the instructions on the Pinebook pro gentoo github page will *not* result in a functional system. Therefore it is neccesary to follow the instructions given here. Please bear in mind that the Pinebook pro's six arm cores and 4gb of ram are extremely anemic. For example, emerging the package net-libs/webkit-gtk in order to build the minimalist web-browser &amp;quot;surf&amp;quot;, a process which takes eighty minutes on an intel core i5-8250U with 8gb of ram, required eight hours of compile time,&lt;br /&gt;
Basic installation alone can take 24 hours of compillation, dozens of reboots, and hours of troubleshooting. After that, even installing firefox would take 17 hours.&lt;br /&gt;
Now that that's out of the way, we may begin the installation.&lt;br /&gt;
&lt;br /&gt;
'''Preparing the bootloader'''&lt;br /&gt;
&lt;br /&gt;
Installing a functional bootloader can be difficult. Luckily, the tow-boot project provides a UEFI-like experience for some arm-based devices. Furthermore, it is not neccesary install this bootloader manually, as it will continue to be useable even after the disk has been reformatted, as long as the bootloader remains unscathed.&lt;br /&gt;
&lt;br /&gt;
https://manjaro.org/downloads/arm/pinebook-pro/arm8-pinebook-pro-minimal/&lt;br /&gt;
&lt;br /&gt;
No-matter where you intend to install gentoo, the bootloader should always be installed on the eMMC flash, although technically the SD card slot could also be used. Either way, install any of the official Manjaro arm disk images to the internal eMMC (there's no reason not to use the minimal image, as you will not be using this OS for anything). You may use a second operating system installed on an SD-card, or the official Pine64 eMMC USB adapter. Boot into this operating system to ensure that the bootloader functions, but after that you have no further need of it.&lt;br /&gt;
&lt;br /&gt;
Next, if you already have an OS on an SD card, you can use that for installing gentoo. If you don't, you may be pleasantly suprised to find that tow-boot is cabable of booting from a USB drive. Therefore, you may install the same Manjaro image to your USB drive or SD card, and select it from the boot menu. You should now have an unused but bootable OS on the eMMC, and another bootable, usable OS on your external storage.&lt;br /&gt;
&lt;br /&gt;
'''Preparing the Disks'''&lt;br /&gt;
&lt;br /&gt;
Log into your host device as root with the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo su &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enter your password.&lt;br /&gt;
&lt;br /&gt;
Let the device on which you intend to install gentoo be refered to hereafter as /dev/&amp;lt;gentoo&amp;gt;. Use the following command to prepare this disk for installation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; fdisk -B /dev/&amp;lt;gentoo&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: don't just copy these commands! You should substitute &amp;lt;gentoo&amp;gt; for mmcblk2 for the internal eMMC flash storage.&lt;br /&gt;
&lt;br /&gt;
Note that the first block of the boot partition is block 62500. Delete all partitions, but *do not* re-format the disk. Create a new boot partition starting at 62500, and as it's size select &amp;quot;+1GB&amp;quot;. Create a new swap partition. fdisk will try to start it at the beginning of the volume (before the boot partition) Instead, when it prompts you for the starting position, enter in the end sector of the boot partition. It should then tell you that this is within an existing partition, and recommend a slightly higher value. Press enter, and give for the size of the partition any value greater than &amp;quot;+4gb&amp;quot;. You need this much ram to be able to suspend your system, and emerge large packages. Don't be stingey - you still have SD cards. I reccomend &amp;quot;+8gb&amp;quot;.&lt;br /&gt;
Finally, add a root partition starting at the end sector of the swap partition, and use the rest of the disk for it. That should be 50-60 GB depending on the size of your swap and boot partitions.&lt;br /&gt;
&lt;br /&gt;
Lastly, press &amp;quot;t&amp;quot; to set the type of each partition. You may set partition 1 to type 6, 2 to type 82, and 3 to type 83.&lt;br /&gt;
&lt;br /&gt;
to set the partition types of the three partitions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;lsblk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to remind yourself which disk is /dev/&amp;lt;gentoo&amp;gt;&lt;br /&gt;
Write the filesystems to these three partitions with the commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mkfs.vfat /dev/&amp;lt;gentoo&amp;gt;p1&lt;br /&gt;
&lt;br /&gt;
mkswap /dev/&amp;lt;gentoo&amp;gt;p2&lt;br /&gt;
&lt;br /&gt;
mkfs.ext4 /dev/&amp;lt;gentoo&amp;gt;p3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This may be a slightly different format if you're installing to a usb stick.&lt;br /&gt;
&lt;br /&gt;
'''Installation'''&lt;br /&gt;
&lt;br /&gt;
make the directory for mounting the filesystem you just created. These should be made on the external OS.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mkdir /mnt/gentoo&lt;br /&gt;
&lt;br /&gt;
mount /dev/&amp;lt;gentoo&amp;gt;p3 /mnt/gentoo&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cd into this directory and fire up links. Navigate to gentoo.org/downloads and select the stage 3 minimal stage 3 tarball. Download it to your current directory, or move it to that directory from wherever it has been downloaded to. Once you are in the correct directory, unpack the tarball.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;tar xpvf stage3-arm64-&amp;lt;blah blah blah&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mount the boot partition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mount /dev/&amp;lt;gentoo&amp;gt;p1 /mnt/gentoo/boot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chroot into the mounted directory and Install the operating system as per the AMD64 manual [https://wiki.gentoo.org/wiki/Handbook:AMD64]. Before you emerge anything, however, be sure to set your use flags as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;nano /etc/portage/make.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;MAKEOPTS=&amp;quot;-j4 -l4&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ACCEPT_KEYWORDS=&amp;quot;* **&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ACCEPT_LICENSE=&amp;quot;*&amp;quot;&lt;br /&gt;
&lt;br /&gt;
USE=&amp;quot;X gtk bluetooth pulseaudio&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can use your own options instead of these if you know what you're doing. It's not super difficult.&lt;br /&gt;
&lt;br /&gt;
Continue installing the operating system, but stop just before emerging the @world set. I don't know if this is necessary, but I haven't had the time to try without doing this. Clone Janikk2099's github repo. It doesn't matter where, and run the script. If it fails run it a couple more times.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;git clone https://github.com/Jannik2099/gentoo-pinebookpro&lt;br /&gt;
&lt;br /&gt;
./gentoo-pinebookpro/prepare.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Don't follow any of Janikk's other instructions. They appear to be out of date (no offense bro). Let me be clear: DO NOT INSTALL U-BOOT. I don't know what will happen, but it won't be an improvement over the existing boot-loader so don't worry about it.&lt;br /&gt;
&lt;br /&gt;
Finish installing your system until you come to the kernel.&lt;br /&gt;
&lt;br /&gt;
'''Custom Kernel'''&lt;br /&gt;
&lt;br /&gt;
Use sys-kernel/gentoo-kernel-bin as your kernel. You will need to manually edit the kernel configuration. First, select it as your kernel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;eselect kernel list&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This should list only one option. Otherwise, select the number matching &amp;lt;code&amp;gt;linux-5.&amp;lt;whatever is latest&amp;gt;-gentoo-dist&amp;lt;/code&amp;gt;, and cd into the kernel source directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;eselect kernel set &amp;lt;number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cd /usr/src/linux&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Begin the kernel configuration&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;make menuconfig&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
At this point, you're almost on your own. I don't know a strict cause-and-effect relationship between my kernel config and the behavior of my system. For starters, just go into platform selection and deselect everything except rockchip platforms. Once you're done save your configuration and exit. Make sure boot is mounted, and your fstab is set up with your swap mounted. Make sure dracut is installed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;make&lt;br /&gt;
&lt;br /&gt;
make modules&lt;br /&gt;
&lt;br /&gt;
make dtbs&lt;br /&gt;
&lt;br /&gt;
make install&lt;br /&gt;
&lt;br /&gt;
make modules install&lt;br /&gt;
&lt;br /&gt;
make dtbs_install &lt;br /&gt;
&lt;br /&gt;
ls /lib/modules&lt;br /&gt;
&lt;br /&gt;
dracut -f --kver &amp;lt;name of directory in /lib/modules matching your kernel, *not* the kernel name from eselect&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
emerge the package extlinux and run &amp;lt;code&amp;gt;u-boot-update&amp;lt;/code&amp;gt;. Open the extlinux configuration file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;nano /boot/extlinux/extlinux.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And configure it as follows:&lt;br /&gt;
&lt;br /&gt;
LABEL &amp;lt;label of your choice, for example GENTOO ARM&amp;gt;&lt;br /&gt;
&lt;br /&gt;
KERNEL /&amp;lt;name of your vmlinuz kernel image. Include the slash, but be relative to boot, not root.&amp;gt;&lt;br /&gt;
&lt;br /&gt;
FDT /dtbs/&amp;lt;kernel-version&amp;gt;/rockchip/rk3399-pinebook-pro.dtb&lt;br /&gt;
 &lt;br /&gt;
APPEND initrd=/&amp;lt;name of initramfs image&amp;gt; root=PARTUUID-&amp;lt;nboot partition's PARTUUID, no quotes&amp;gt; rw rootwait&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can use the blkid command to find the PARTUUID of every partition on the machine. None of this configuration is guaranteed to work, but it worked for me, and given enough fiddling you can get it to work as well.&lt;br /&gt;
&lt;br /&gt;
Now you should reboot the machine and see if it boots into gentoo. If it does: congratulations! If not, too bad. Try again.&lt;br /&gt;
&lt;br /&gt;
== Kali Linux ==&lt;br /&gt;
[[File:Kali.jpeg|right|100px]]&lt;br /&gt;
&lt;br /&gt;
There is a script to create official Kali Linux OS images for the Pinebook Pro. The script carries out the build process in entirety and is Pinebook Pro specific.&lt;br /&gt;
&lt;br /&gt;
'''Installation'''&lt;br /&gt;
&lt;br /&gt;
* Please pull the latest [https://gitlab.com/kalilinux/build-scripts/kali-arm/blob/master/pinebook-pro.sh Kali Linux install script] from the project's GitLab.&lt;br /&gt;
* For more information regarding building the OS image please read the README instruction at https://gitlab.com/kalilinux/build-scripts/kali-arm/blob/master/README.md&lt;br /&gt;
&lt;br /&gt;
== K1ss OS ==&lt;br /&gt;
[[File:K1ss.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
There is a repository containing an unofficial port of KISS Linux to AARCH64. The tarball is built for generic aarch64, currently being tested on the Pinebook Pro. You can follow the ongoing discussion about K1ss Linux on the [https://forum.pine64.org/showthread.php?tid=9304 PINE64 forum].&lt;br /&gt;
&lt;br /&gt;
'''Installation'''&lt;br /&gt;
&lt;br /&gt;
* Please pull the latest [https://github.com/jedavies-dev/kiss-aarch64 K1ss Linux install script] from the project's GitHub.&lt;br /&gt;
&lt;br /&gt;
== NixOS ==&lt;br /&gt;
[[File:nixos.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
You can follow the ongoing discussion about NixOS on the [https://forum.pine64.org/showthread.php?tid=10524 PINE64 forum]. There is a good chance we will see Tier 1 support for aarch64, including the Pinebook Pro, in 2021 (see https://github.com/NixOS/rfcs/pull/87).&lt;br /&gt;
&lt;br /&gt;
'''Installation'''&lt;br /&gt;
&lt;br /&gt;
* This is instructions to install NixOS on the Pinebook Pro: https://nixos.wiki/wiki/NixOS_on_ARM/PINE64_Pinebook_Pro&lt;br /&gt;
* Please pull the latest [https://github.com/samueldr/wip-pinebook-pro samueldr's repository ] from the project's GitHub.&lt;br /&gt;
* [[NixOS Tutorials]]&lt;br /&gt;
&lt;br /&gt;
== SkiffOS ==&lt;br /&gt;
[[File:SkiffOS-Icon-1.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
'''Installation'''&lt;br /&gt;
&lt;br /&gt;
* Instructions to build/install on the Pinebook Pro: https://github.com/skiffos/SkiffOS/tree/master/configs/pine64/book&lt;br /&gt;
* Please pull the latest version from the project's GitHub.&lt;br /&gt;
* Compiling the boot image takes approximately 30 minutes.&lt;br /&gt;
* Easily configure the kernel, compiler, etc with Buildroot.&lt;br /&gt;
* Pre-built ISOs will be available with the upcoming 2021.02 release.&lt;br /&gt;
&lt;br /&gt;
== Slackware ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=float:right&amp;gt;[[File:slackware.jpg|right|100px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://arm.slackware.com/ Slackware] is the world's oldest actively developed Linux distribution, providing a modern user land (applications) and Linux Kernel, within a more classic Unix Operating System environment.&lt;br /&gt;
&lt;br /&gt;
More information can be found about Slackware in this [https://www.youtube.com/watch?v=A5PFYUttsWA&amp;amp;list=PL1XOSJnvang3IbwySOf6m3PK1gm13hS5s 20 minute video].&lt;br /&gt;
&lt;br /&gt;
[https://docs.slackware.com/slackwarearm:inst Installation instructions].&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=QKs_RnFqLO8&amp;amp;list=PL1XOSJnvang3VLmqke2QbRitKtOD6Rm3t Installation guide video]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:PineBook Pro]]&lt;/div&gt;</summary>
		<author><name>Mrfixit2001</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=14441</id>
		<title>Pinebook Pro</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=14441"/>
		<updated>2022-10-12T20:13:52Z</updated>

		<summary type="html">&lt;p&gt;Mrfixit2001: /* Retro Gaming on the Pinebook Pro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= User Guide =&lt;br /&gt;
== Introducing PineBook Pro == &lt;br /&gt;
[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running Debian with MATE]]&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is a Linux and *BSD ARM laptop from [https://www.pine64.org/ PINE64]&lt;br /&gt;
&lt;br /&gt;
It is built to be a compelling alternative to mid-ranged Chromebooks that people convert into Linux laptops. It features an IPS 1080p 14″ LCD panel, a premium magnesium alloy shell, high capacity eMMC storage, a 10,000 mAh capacity battery, and the modularity that only an open source project can deliver. &lt;br /&gt;
&lt;br /&gt;
It's compact and slim dimensions are 329mm x 220mm x 12mm (WxDxH).&lt;br /&gt;
&lt;br /&gt;
Key features include: the RK3399 SOC; USB-C for data, video-out and power-in (3A 5V); privacy switches for the microphone, BT/WiFi module, and camera; and expandable storage via NVMe (PCIe x4) with an optional adapter. &lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is equipped with 4GB LPDDR4 system memory, high capacity eMMC flash storage, and 128Mb SPI boot Flash. The I/O includes: 1 x micro SD card reader (bootable), 1 x USB 2.0, 1 x USB 3.0, 1 x USB type C Host with DP 1.2 and power-in, PCIe x4 for an NVMe SSD drive (requires an optional adapter), and UART (via the headphone jack by setting an internal switch). &lt;br /&gt;
&lt;br /&gt;
The keyboard and touchpad both use the USB 2.0 protocol.  The LCD panel uses eDP MiPi display protocol.&lt;br /&gt;
&lt;br /&gt;
Many different Operating Systems (OS) are freely available from the open source community and partner projects.  These include various flavors of Linux (Ubuntu, Debian, Manjaro, etc.) and *BSD.&lt;br /&gt;
&lt;br /&gt;
== Software and OS Image Downloads ==&lt;br /&gt;
&lt;br /&gt;
=== Default Manjaro KDE Desktop Quick Start ===&lt;br /&gt;
&lt;br /&gt;
When you first get your Pinebook Pro and boot it up for the first time, it'll come with Manjaro using the KDE desktop. The Pinebook Pro is officially supported by the Manjaro ARM project, and support can be found on the [https://forum.manjaro.org/c/manjaro-arm/78 Manjaro ARM forums.]&lt;br /&gt;
&lt;br /&gt;
On first boot, it will ask for certain information such as your timezone location, keyboard layout, username, password, and hostname. Most of these should be self-explanatory. Note that the hostname it asks for should be thought of as the &amp;quot;codename&amp;quot; of your machine, and if you don't know what it's about, you can make something up (use a single word, all lower case, no punctuation; e.g. &amp;quot;pbpro&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
After you're on the desktop, be sure to update it as soon as possible and reboot after updates are finished installing. If nothing appears when you click on the Networking icon in your system tray to connect to your Wi-Fi, ensure the Wi-Fi [https://wiki.pine64.org/index.php/Pinebook_Pro#ANSI_Fn_.2B_F_keys_wrong_for_F9.2C_F10.2C_F11_and_F12  privacy switch] is not disabled.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro images ===&lt;br /&gt;
Under [[Pinebook Pro Software Release]] you will find a complete list of currently supported Operating System images that work with the Pinebook as well as other related software. &lt;br /&gt;
&lt;br /&gt;
The list includes OS images and descriptions of:&lt;br /&gt;
&lt;br /&gt;
* [[PinebookPro_Software_Release#Manjaro ARM|Manjaro ARM]] (microSD and eMMC Boot)&lt;br /&gt;
* [[PinebookPro_Software_Release#Armbian|Armbian]] (microSD and eMMC Boot)&lt;br /&gt;
* [[PinebookPro_Software_Release#Twister OS|Twister OS]] (microSD Boot)&lt;br /&gt;
* [[PinebookPro_Software_Release#Fedora|Fedora]] (microSD and eMMC Boot)&lt;br /&gt;
* [[PinebookPro_Software_Release#Arch_Linux_ARM|Arch Linux]] (microSD and USB boot)&lt;br /&gt;
* [[PinebookPro_Software_Release#postmarketOS|Postmarket OS]] (microSD and USB boot)&lt;br /&gt;
* [[PinebookPro_Software_Release#Kali Linux|Kali Linux]] (microSD and USB boot)&lt;br /&gt;
* [[PinebookPro_Software_Release#DietPi|DietPi]] (microSD and eMMC Boot)&lt;br /&gt;
* [[PinebookPro_Software_Release#Q4OS|Q4OS]] (microSD and eMMC Boot)&lt;br /&gt;
* [[PinebookPro_Software_Release#NetBSD|NetBSD]] (microSD and eMMC Boot)&lt;br /&gt;
* [[Pinebook_Pro_Software_Release#OpenBSD|OpenBSD release for ARM64]]&lt;br /&gt;
* [[Pinebook_Pro_Software_Release#Gentoo|Gentoo]]&lt;br /&gt;
* [[Pinebook_Pro_Software_Release#Slackware|Slackware (microSD boot)]]&lt;br /&gt;
* [[Pinebook_Pro_Software_Release#Void_Linux|Void Linux]]&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and touchpad in the Pinebook Pro use the USB 2.0 protocol and show up as such in xinput. The keyboard features function (Fn) keys in the F-key row, which include display brightness controls, sound volume, touchpad lock, and other functionality. There is also a custom PINE64 logo key that functions as Menu/Super key. It has also a secondary functionality for setting the privacy switches.   &lt;br /&gt;
&lt;br /&gt;
The keyboard firmware binary can be flashed from userspace using the provided open source utility.&lt;br /&gt;
&lt;br /&gt;
{{warning|DO NOT update the keyboard firmware before checking which keyboard IC your Pinebook Pro has.&amp;lt;/b&amp;gt; Some Pinebook Pro were delivered with a '''SH61F83''' instead of a '''SH68F83'''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when &amp;lt;code&amp;gt;step-1&amp;lt;/code&amp;gt; is flashed, see the [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to &amp;lt;code&amp;gt;U23&amp;lt;/code&amp;gt; on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable.}}&lt;br /&gt;
&lt;br /&gt;
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. &lt;br /&gt;
&lt;br /&gt;
=== Typing special characters ===&lt;br /&gt;
The [[Wikipedia:British_and_American_keyboards#Other_keyboard_layouts|UK ISO Layout]] does not have dedicated keys for characters like the German umlauts (Ä,Ö,Ü, etc). Certain characters can still be generated by means of either key combinations or key sequences. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Character&lt;br /&gt;
!Key combination/sequence&lt;br /&gt;
|-&lt;br /&gt;
|Ä, Ö, Ü, ä, ö, ü&lt;br /&gt;
|[[Wikipedia:AltGr_key|[AltGr]]]+'[' followed by [A], [O], [U], [a], [o] or [u]&lt;br /&gt;
|-&lt;br /&gt;
|µ&lt;br /&gt;
|[AltGr]+[m]&lt;br /&gt;
|-&lt;br /&gt;
|Ø, ø&lt;br /&gt;
|[AltGr]+[O], [AltGr]+[o]&lt;br /&gt;
|-&lt;br /&gt;
|@&lt;br /&gt;
|[AltGr]+[q] (as on the German layout)&lt;br /&gt;
|-&lt;br /&gt;
|ß&lt;br /&gt;
|[AltGr]+[s]&lt;br /&gt;
|-&lt;br /&gt;
|§&lt;br /&gt;
|[AltGr]+[S]&lt;br /&gt;
|-&lt;br /&gt;
|°&lt;br /&gt;
|[AltGr]+[)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Privacy Switches ===&lt;br /&gt;
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Privacy switch function and description&lt;br /&gt;
! Combination&lt;br /&gt;
! Effect&lt;br /&gt;
! Description&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F10&lt;br /&gt;
| Microphone Privacy switch&lt;br /&gt;
| CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F11&lt;br /&gt;
| WiFi Privacy switch&lt;br /&gt;
| NUM lock LED blinks. 2 blinks = WiFi enabled / privacy switch disabled, 3 blinks = WiFi disabled / privacy switch enabled.&lt;br /&gt;
| '''Re-enabling requires reboot''' (or a [//forum.pine64.org/showthread.php?tid=8313&amp;amp;pid=52645#pid52645 command line hack to bind/unbind]).&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F12&lt;br /&gt;
| Camera privacy switch&lt;br /&gt;
| CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
| Can use tools like '''&amp;lt;code&amp;gt;lsusb&amp;lt;/code&amp;gt;''' to detect camera's presence. If not detected, check privacy switch.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''(Press the PINE64 logo key plus F10/F11/F12) for 3 seconds)'''&lt;br /&gt;
&lt;br /&gt;
The keyboard operates on firmware independent of the operating system.  It detects if one of the F10, F11 or F12 keys is pressed in combination with the Pine key for 3 seconds. Doing so disables power to the appropriate peripheral, thereby disabling it.  This has the same effect as cutting off the power to each peripheral with a physical switch. This implementation is very secure, since the firmware that determines whether a peripheral gets power is not part of the Pinebook Pro’s operating system. So the power state value for each peripheral cannot be overridden or accessed from the operating system. The power state setting for each peripheral is stored across reboots inside the keyboard's firmware flash memory.&lt;br /&gt;
&lt;br /&gt;
=== Basic summary of replacing keyboard ===&lt;br /&gt;
&lt;br /&gt;
This guide is very basic and should be fleshed out with (better) pictures.  There just isn't a list of steps anywhere else yet.&lt;br /&gt;
&lt;br /&gt;
Here's what the replacement keyboard looks like:&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (front)]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (back)]]&lt;br /&gt;
&lt;br /&gt;
''Step 0'': If changing from ISO keyboard to ANSI keyboard, or vice versa, be sure to have a system capable of running the firmware updater that you can access either remotely or with a USB keyboard beyond the internal keyboard, as the firmware for each is very different and keys won't work correctly.  See https://forum.pine64.org/showthread.php?tid=8407 (and for NetBSD, https://forum.pine64.org/showthread.php?tid=8716).&lt;br /&gt;
&lt;br /&gt;
''Step 1'': The remove back back panel.&lt;br /&gt;
&lt;br /&gt;
There are 10 screws on the back that must be removed, and the back panel detached.  I recommend using a PH0 bit.  The speakers may remain attached via glue to the case and should be carefully pried off.  When this is done, taking photos of how everything looks now can help put it all back together later.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_keyboard-replacement-screws.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 2'': Places to unscrew.&lt;br /&gt;
&lt;br /&gt;
There are 3 items screwed into the keyboard frame that must be removed.  There are 2 large screws for daughter board, 3 large screws and 1 small screw for mainboard, and 4 small screws for battery.  Be sure to not lose them.  I recommend a PH00 bit for the large screws on the daughter and main boards and a PH1 bit for the small screws on the battery and mainboard.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-back-removed.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 3'': Remove the battery.&lt;br /&gt;
&lt;br /&gt;
Once the battery screws are removed, it should be unplugged from the mainboard and removed.  Note that there are two unconnected cables lying around, that should remain unconnected.  They are used when the battery is disconnected entirely.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-mainboard.jpg.jpg|300px|Zoom on the mainboard]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-daughterboard.jpg|300px|Zoom on the daughterboard]]&lt;br /&gt;
&lt;br /&gt;
''Step 4'': Unplug the ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: you should remove the M.2 adapter board now if you have one installed. See elsewhere in this wiki for instructions on how to install/remove that piece.&lt;br /&gt;
&lt;br /&gt;
There are several ribbon cables.  To remove, flip up the tab and gentle pull the ribbon out.&lt;br /&gt;
&lt;br /&gt;
* One cable runs from the mainboard to the daughterboard underneath the battery.  Detach from both ends.  With the battery removed, detach from keyboard shell, and set aside for the new keyboard shell.&lt;br /&gt;
* One cable runs between the touchpad and the mainboard.  Detach from both ends, and also set aside.&lt;br /&gt;
* One cable runs between the keyboard and the mainboard.  This one remains attached to the keyboard and only needs to be detached from the mainboard.&lt;br /&gt;
* One cable from the LCD attaches near the lid hinge.  It should be just unplugged.&lt;br /&gt;
&lt;br /&gt;
''Step 5'': Detach microphone, speakers, and antenna.  &lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_microphone_removed.jpg|300px|thumb|right|One of the Pinebook Pro microphones after removal]]&lt;br /&gt;
&lt;br /&gt;
The speakers, microphone, and antenna don't have to be detached from the mainboard, but they need to be detached from the keyboard shell.  The microphones are held in place by tape, and the speakers have sticky sides.  The speakers are found obviously, but the microphones (two of) can be found between the battery and the hinge area. Each microphone can be carefully pulled/wedged out of its position by a small screwdriver or pick.  The antenna, similar to the microphones, is found near the hinge area and to the top left of the battery.&lt;br /&gt;
&lt;br /&gt;
''Step 6'': Remove mainboard and daughterboard.&lt;br /&gt;
&lt;br /&gt;
At this point, the mainboard and daughterboards should be removed.  When unscrewed (see Step 2) they should pull out fairly easily.  Put them aside (including microphones and speakers if left attached.)&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-all-boards-removed.jpg|300px|All boards removed]]&lt;br /&gt;
&lt;br /&gt;
''Step 7'': Detach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
Step 2 didn't tell you, there are 6 more screws to remove here, 3 for each of the hinges.  I recommend a PH1 bit for these screws.  Unscrew these and the LCD panel will be able to be removed.  You may have to jiggle or move the hinges for this.  When detached, be sure to place the LCD panel such that the display is protected.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display.jpg|300px|Display detached]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display2.jpg|300px|Display detached (front)]]&lt;br /&gt;
&lt;br /&gt;
''Step 8'': Try Not To Break Your Touchpad, or, How I Learned To Love Things That Bend&lt;br /&gt;
&lt;br /&gt;
'''NOTE This section really feels like you're going to break something.'''&lt;br /&gt;
&lt;br /&gt;
The touchpad is glued to the keyboard shell and it's glued well.  There are two places it is glued to.  If you can, only the middle must be force-detached.  You will think you're going to break it.  Gently apply increasing force until the glue begins to detach (you will hear a crackle as it comes off), and continue very slowly until the whole thing is detached.  This may take minutes due to that feeling you're going to break it.&lt;br /&gt;
&lt;br /&gt;
I found it helpful to lift the top left plastic bit on the keyboard to unstick that portion of the touchpad, then push on the top left portion of the touchpad to unstick the rest of the touchpad.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad1.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad2.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad3.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 9'': Over the hill, touchpad goes into new shell.&lt;br /&gt;
&lt;br /&gt;
In the new keyboard shell put the touchpad back where it was, hopefully the glue will remain sufficiently attached.  If there is a glue issue, this guide unfortunately has no advice currently.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-install-touchpad.jpg|300px|Install the touchpad]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Step 10'': Reattach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
The LCD panel should slot back into the keyboard frame, the same way it came out.  If the hinges were moved, they should be *very* *gently* closed such that the LCD panel and keyboard closed like normal for the remaining steps.&lt;br /&gt;
&lt;br /&gt;
''Step 11'': Tape it out.&lt;br /&gt;
&lt;br /&gt;
Move any tape from the old keyboard shell to the new one.  These items protect the mainboard and daughterboard, and keep various wires in their right place.  Some are grey and some are black.  For tape that holds the speakers, microhones, or their cables in place, do not reattach yet.&lt;br /&gt;
&lt;br /&gt;
''Step 12'': Board install.&lt;br /&gt;
&lt;br /&gt;
Install the mainboard, the daughtboard, and their connecting ribbon cable.  Be sure to put the boards in place, 2 large flat screws for the daughterboard, 3 large flat screws and one small screw for the mainboard, before attempting to place the ribbon.&lt;br /&gt;
&lt;br /&gt;
''Step 13'': Microphone, speaker, and antenna install.&lt;br /&gt;
&lt;br /&gt;
Reattach the microphones, antenna, and speakers to their respective areas, making sure that both are properly oriented - the speaker &amp;quot;out&amp;quot; faces up, and the microphone cables as connected must face up (these are opposite directions.)&lt;br /&gt;
&lt;br /&gt;
''Step 14'': Reattach other ribbon cables.&lt;br /&gt;
 &lt;br /&gt;
NOTE: this would be a good time to attach/install the M.2 adapter board if that is desired. See elsewhere in this wiki for those instructions.&lt;br /&gt;
&lt;br /&gt;
The LCD panel, keyboard and touchpad ribbon cables should be reattached.  Make sure the flap is open, insert the ribbon into the slot (a portion of the cable will disappear), and push the flap down.  The cable should not be easy to pull out.&lt;br /&gt;
 &lt;br /&gt;
''Step 15'': Reattach the battery, and final re-tape.&lt;br /&gt;
  &lt;br /&gt;
The battery should be installed with the 4 screws holding it in place, and the connector attached to the mainboard.  Be sure to keep the two other cables remain unconnected.  Ensure all wires and other tapes are held in place.&lt;br /&gt;
&lt;br /&gt;
''Step 16'': Reattach the back panel.&lt;br /&gt;
 &lt;br /&gt;
Put the back panel back on, and reattach the 10 screws.&lt;br /&gt;
&lt;br /&gt;
''Step 17'': If you changed from ISO to ANSI or from ANSI to ISO, you'll need to update your firmware now.  See the links in Step 0 above.&lt;br /&gt;
&lt;br /&gt;
== Touchpad (trackpad) ==&lt;br /&gt;
Documentation for the touchpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. It is the only component of the Pinebook Pro held in place with strong adhesive tape. Here are some of its features:&lt;br /&gt;
&lt;br /&gt;
* 2 actuating buttons.&lt;br /&gt;
&lt;br /&gt;
* multi-touch functionality. &lt;br /&gt;
&lt;br /&gt;
* A matte finish that your finger can slide along easily.&lt;br /&gt;
&lt;br /&gt;
* A reasonable size (96mm &amp;amp;times; 64mm; diagonal: 115.378mm or 4.542&amp;amp;rdquo;).&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
If you are having trouble using 2 fingers to scroll or emulate the click of a mouse's right-button, then try these solutions:&lt;br /&gt;
&lt;br /&gt;
* Update the firmware.&lt;br /&gt;
&lt;br /&gt;
* Keep your 2 fingers spread apart rather than close together.&lt;br /&gt;
&lt;br /&gt;
* Individual programs might need to be configured specially.&lt;br /&gt;
&lt;br /&gt;
:* For smooth scrolling and gestures under X-Windows, ''Firefox'' should be launched with with the following environment variable assignment:&lt;br /&gt;
&lt;br /&gt;
::: &amp;lt;code&amp;gt;MOZ_USE_XINPUT2=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Experiment with other settings, via [[#X-Windows Configuration|X-Windows Configuration]] or some other system preferences; for example, you could disable double-finger scrolling, and instead enable scrolling by sliding one finger along the edge of the touchpad.&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
The touchpad controller is connected to the keyboard controller. All touchpad events go through the keyboard controller and it's software, then to the keyboard controller's USB port. Note that the touchpad does have separate firmware, (which has to be written through the keyboard controller). The touchpad vendor&amp;amp;rsquo;s firmware binary can be flashed from userspace using the following open source command-line utility:&lt;br /&gt;
&lt;br /&gt;
* Kamil Trzciński&amp;amp;rsquo;s [https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater pinebook-pro-keyboard-updater].&lt;br /&gt;
&lt;br /&gt;
Naturally, forks have begun to appear:&lt;br /&gt;
&lt;br /&gt;
* Jack Humbert&amp;amp;rsquo;s [https://github.com/jackhumbert/pinebook-pro-keyboard-updater fork]&lt;br /&gt;
&lt;br /&gt;
* Dragan Simic&amp;amp;rsquo;s [https://github.com/dragan-simic/pinebook-pro-keyboard-updater fork]. This one has recently delivered a much improved firmware from the vendor, which greatly improves the control of the cursor (see this [https://forum.pine64.org/showthread.php?tid=14531 thread] for discussion); before installing this update, consider resetting to the defaults any configuration of your touchpad.&lt;br /&gt;
&lt;br /&gt;
'''Every Pinebook Pro produced before September 2021 should have its keyboard and touchpad firmware updated.'''&lt;br /&gt;
&lt;br /&gt;
{{warning| DO NOT update the touchpad firmware before checking which keyboard IC your Pinebook Pro has.&amp;lt;/b&amp;gt; Some Pinebook Pro were delivered with a '''SH61F83''' instead of a '''SH68F83'''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when &amp;lt;code&amp;gt;step-1&amp;lt;/code&amp;gt; is flashed. See [//old.reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to &amp;lt;code&amp;gt;U23&amp;lt;/code&amp;gt; on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable.}}&lt;br /&gt;
&lt;br /&gt;
Before updating ''any'' firmware, your Pinebook Pro should be either fully charged or, preferably, running from mains. This utility will be writing data to chips on the keyboard and touchpad, so a loss of power during any stage of the update can result in irrecoverable damage to your touchpad or keyboard.&lt;br /&gt;
&lt;br /&gt;
The scripts ought to work on all OSs available for the Pinebook Pro. Some OSs may, however, require installation of relevant dependencies. The instructions below assume a Debian desktop. To install these dependencies, newer Pinebook Pro models that come with Manjaro will require a different command.&lt;br /&gt;
&lt;br /&gt;
There are two keyboard versions of the Pinebook Pro: ISO and ANSI. You need to know which model you have prior to running the updater. &lt;br /&gt;
Firmware update steps for both models are listed below.  &lt;br /&gt;
&lt;br /&gt;
What you will need:&lt;br /&gt;
&lt;br /&gt;
* Connection to WiFi (for getting dependencies).&lt;br /&gt;
&lt;br /&gt;
* Your Pinebook Pro fully charged or running from mains power.&lt;br /&gt;
&lt;br /&gt;
* An external USB keyboard &amp;amp;amp; mouse (or access to the Pinebook Pro via SSH. Please note that for some configurations, the SSH service might not be available without first having logged in once; in this case, you will definitely want at least an external keyboard).&lt;br /&gt;
&lt;br /&gt;
==== ISO Model ====&lt;br /&gt;
&lt;br /&gt;
From the terminal command line: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-1 iso&lt;br /&gt;
sudo poweroff # do not use 'reboot'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-2 iso&lt;br /&gt;
sudo poweroff # do not use 'reboot'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ANSI Model ====&lt;br /&gt;
&lt;br /&gt;
{{Hint| Note: Running step 1 on the ANSI keyboard model will make the keyboard and touchpad inaccessible until step 2 is run, so an external keyboard must be connected to complete the update on this model!}}&lt;br /&gt;
&lt;br /&gt;
From the terminal command line: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-1 ansi&lt;br /&gt;
sudo poweroff # do not use 'reboot'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-2 ansi&lt;br /&gt;
sudo poweroff # do not use 'reboot'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When done, if some of the keys produce incorrect characters, please check your OS’s language settings. For ANSI users, the default OS may have shipped with English UK as the default language; you can change it to English US if desired.&lt;br /&gt;
&lt;br /&gt;
==== Revised Firmware ====&lt;br /&gt;
&lt;br /&gt;
In addition, you might consider using revised firmware data; this is one final step that should not require a reboot:&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ISO''' (after booting)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo ./updater flash-kb firmware/default_iso.hex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ANSI''' (after booting)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo ./updater flash-kb firmware/default_ansi.hex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== X-Windows Configuration ===&lt;br /&gt;
''Before making adjustments, consider updating the firmware; reset your adjustments before updating the firmware, so that your adjustments do not interfere with new functionality.''&lt;br /&gt;
&lt;br /&gt;
Some forum members have found that an adjustment to X-Windows will allow finer motion in the touchpad. If you use the '''Synaptic''' mouse/touchpad driver, use this command to make the change live:&lt;br /&gt;
&amp;lt;pre&amp;gt;synclient MinSpeed=0.25&amp;lt;/pre&amp;gt;&lt;br /&gt;
You may experiment with different settings, but 0.25 was tested as helping noticeably.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
To make the change persist across reboots, change the file &amp;lt;code&amp;gt;/etc/X11/xorg.conf&amp;lt;/code&amp;gt; similar to below:&lt;br /&gt;
&amp;lt;pre&amp;gt;    Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;touchpad catchall&amp;quot;&lt;br /&gt;
        Driver &amp;quot;synaptics&amp;quot;&lt;br /&gt;
        MatchIsTouchpad &amp;quot;on&amp;quot;&lt;br /&gt;
        MatchDevicePath &amp;quot;/dev/input/event*&amp;quot;&lt;br /&gt;
        Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&lt;br /&gt;
    EndSection&amp;lt;/pre&amp;gt;&lt;br /&gt;
The line &amp;lt;code&amp;gt;Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&amp;lt;/code&amp;gt; is the change.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Another forum user built on the above settings a little, and have found these to be very good:&lt;br /&gt;
&amp;lt;pre&amp;gt;synclient MinSpeed=0.25&lt;br /&gt;
synclient TapButton1=1&lt;br /&gt;
synclient TapButton2=3&lt;br /&gt;
synclient TapButton3=2&lt;br /&gt;
synclient FingerLow=30&lt;br /&gt;
synclient PalmDetect=1&lt;br /&gt;
synclient VertScrollDelta=64&lt;br /&gt;
synclient HorizScrollDelta=64&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;FingerLow&amp;lt;/code&amp;gt; has the same value as 'FingerHigh' in one config (30). It is believed to help reduce mouse movement as you lift your finger, but it's unknown whether synaptic works like this.&lt;br /&gt;
You may find this config to be comfortable for daily use.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;TabButton&amp;lt;/code&amp;gt; allows to just tab the touchpad instead of physically pressing it down (to get this click noise).&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;right mouse click&amp;lt;/code&amp;gt; is emulated by tapping with two fingers on the touchpad. If you feel that this is not very responsive you can try this value:&lt;br /&gt;
&amp;lt;pre&amp;gt; synclient MaxTapTime=250 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some users may encounter an issue with the mouse jumping when typing when using libinput driver (has not been test with synaptic) due to their hand hitting the touchpad which can be fixed by updating the xorg settings to disable it while typing. One can disable the touchpad while typing by setting the below option in the xorg config simliar to the previou example. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        Option &amp;quot;DisableWhileTyping&amp;quot; &amp;quot;on&amp;quot; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The setting can be verified by using the xinput command to first list the devices and then listing the properties for the Touchpad device. Exact commands to check this have been omitted for save of brevity. If DisableWhileTyping is shown enabled but does not appear to be working the issue may be due to the fact that the keyboard is connected to a USB bus which causes it to be seen as a external keyboard. To resolve this one can add the config below which sets the keyboard to internal to ensure the DisableWhileTyping works properly. &lt;br /&gt;
&lt;br /&gt;
You will need to edit &amp;lt;code&amp;gt;/etc/libinput/local-overrides.quirks&amp;lt;/code&amp;gt; and add the following lines:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Serial Keyboards]&lt;br /&gt;
MatchUdevType=keyboard&lt;br /&gt;
MatchBus=usb&lt;br /&gt;
AttrKeyboardIntegration=internal&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once X11 is restarted the new setting should now take effect and you will no longer be able to use the touchpad while typing which will mostly eliminate the mouse jumping issue.&lt;br /&gt;
&lt;br /&gt;
== Power Supply ==&lt;br /&gt;
* Input Power: 5V DC @ 3A&lt;br /&gt;
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack&lt;br /&gt;
* USB-C 5V, 15W PD quickcharge&lt;br /&gt;
* Only use one power input at a time, barrel jack OR USB-C&lt;br /&gt;
&lt;br /&gt;
== LEDs ==&lt;br /&gt;
In total, there are four LEDs on the Pinebook Pro, three of which are placed in the top-left side of the keyboard, and one near the barrel port: &lt;br /&gt;
&lt;br /&gt;
# The red LED next to the barrel port indicates charging, in three ways.  First, it will illuminate steadily when either the factory power supply or a USB Type-C charger is connected to the Pinebook Pro, and the battery is getting charged.  Second, if the battery is at 100%, the LED will remain turned off regardless of the connected power input; however, this is [https://forum.pine64.org/showthread.php?tid=10899 rather rarely achieved].  Third, this LED will flash at 0.5&amp;amp;nbsp;Hz if there are any problems that prevent charging, such as the battery becoming too hot.&lt;br /&gt;
# The power indicator LED, above the keyboard, supports three different colors: green, amber and red. It is also capable of flashing to indicate eMMC activity. In the default Debian with MATE build, green LED means power and red means suspend (amber is unused). &lt;br /&gt;
# The green NumLock LED, above the keyboard.&lt;br /&gt;
# The green CapsLock LED, above the keyboard.&lt;br /&gt;
&lt;br /&gt;
The NumLock and CapsLock LEDs serve their usual purposes on a keyboard, but they also have a secondary function. When the privacy switches get activated they blink to confirm that the switch has been activated.&lt;br /&gt;
&lt;br /&gt;
== Webcam ==&lt;br /&gt;
{{Hint| You can use Cheese to test the Camera functionality}}&lt;br /&gt;
* Streaming video resolutions supported, (uncompressed):&lt;br /&gt;
** 320 x 240 &lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
* Still frame resolutions supported:&lt;br /&gt;
** 160 x 120&lt;br /&gt;
** 176 x 144&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 352 x 288 &lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
&lt;br /&gt;
== Microphones ==&lt;br /&gt;
While it has been said that some Pinebook Pro units contain only one microphone despite having two labeled microphone holes on the outer casing, other units do indeed contain two microphones. It is presently unclear which batches have either configuration; units from the initial community batch of 1000 units (following the initial 100) are believed to contain two, populating both labeled holes.&lt;br /&gt;
&lt;br /&gt;
The wires leading to both microphones connect to the mainboard with a small white plastic connector, located directly adjacent to the ribbon cable attachment point for the keyboard interface.&lt;br /&gt;
&lt;br /&gt;
'''Microphones not working?'''&lt;br /&gt;
&lt;br /&gt;
If pavucontrol input doesn't show microphone activity try changing the [[Pinebook_Pro#Privacy_Switches|privacy switches]]. If the switches are in the correct place and microphone input isn't working you can run &amp;lt;code&amp;gt;alsamixer&amp;lt;/code&amp;gt; from the command line, hit &amp;lt;i&amp;gt;F6&amp;lt;/i&amp;gt; and select the &amp;lt;i&amp;gt;es8316&amp;lt;/i&amp;gt;, hit F4 to get to the capture screen, select the bar labeled ADC, increase the gain to 0dB, change the audio profile in pavucontrol to another one with input. Additionally you may want to modify ADC PGA to get the levels to where you want them. If that still hasn't fixed it you may want to check that the microphone connector is plugged in (see the section [[#Technical Reference|Technical Reference]]).&lt;br /&gt;
&lt;br /&gt;
== Bluetooth and WiFi ==&lt;br /&gt;
[[File:PinebookPro_WirelessIC_Location.jpg|400px|thumb|right|The Pinebook Pro's AP6256 wireless module]]&lt;br /&gt;
===Hardware Overview===&lt;br /&gt;
The Pinebook Pro contains an AMPAK AP6256 wireless module to provide Wi-Fi (compliant to IEEE 802.11ac) and Bluetooth (compliant to Bluetooth SIG revision 5.0). The module contains a Broadcom transceiver IC, believed to be the BCM43456, as well as the support electronics needed to allow the Wi-Fi and Bluetooth modes to share a single antenna. &lt;br /&gt;
&lt;br /&gt;
The wireless module interfaces with the Pinebook Pro’s system-on-chip using a combination of three interfaces: Bluetooth functionality is operated by serial UART and PCM, while the Wi-Fi component uses SDIO. It is unknown if the module’s Bluetooth capabilities are usable under operating systems that do not support SDIO.&lt;br /&gt;
&lt;br /&gt;
The module’s RF antenna pin is exposed on the mainboard via a standard Hirose U.FL connector, where a coaxial feedline links it to a flexible adhesive antenna situated near the upper right corner of the Pinebook Pro’s battery. As the RF connector is fragile and easily damaged, it should be handled carefully during connection and disconnection, and should not be reconnected frequently.&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
Problems have been reported with the Wi-Fi transceiver’s reliability during extended periods of high throughput, especially on the 2.4 GHz band. While the cause of this has yet to be determined, switching to the 5 GHz band may improve stability.&lt;br /&gt;
&lt;br /&gt;
Since the Bluetooth transceiver shares both its spectrum and antenna with 2.4 GHz Wi-Fi, simultaneous use of these modes may cause interference, especially when listening to audio over Bluetooth. If Bluetooth audio cuts out frequently, switching to the 5 GHz band – or deactivating Wi-Fi – may help.&lt;br /&gt;
&lt;br /&gt;
===Wi-Fi Capabilities===&lt;br /&gt;
Wi-Fi on the Pinebook Pro is capable of reaching a maximum data transfer rate of approximately 433 megabits per second, using one spatial stream. The transceiver does not support multiple spatial streams or 160-MHz channel bandwidths.&lt;br /&gt;
&lt;br /&gt;
The Wi-Fi transceiver supports the lower thirteen standard channels on the 2.4 GHz band, using a bandwidth of 20 MHz. At least twenty-four channels are supported on the 5 GHz band, spanning frequencies from 5180 to 5320 MHz, 5500 to 5720 MHz, and 5745 to 5825 MHz, with bandwidths of 20, 40, or 80 MHz.&lt;br /&gt;
&lt;br /&gt;
Maximum reception sensitivity for both bands is approximately -92 dBm. The receiver can tolerate input intensities of no more than -20 dBm on the 2.4 GHz band, and no more than -30 dBm on the 5 GHz band. Maximum transmission power is approximately +15 dBm for either band, falling further to approximately +10 dBm at higher data transfer rates on the 5 GHz band.&lt;br /&gt;
&lt;br /&gt;
With current available drivers and firmware, the Wi-Fi interface supports infrastructure, ad-hoc, and access-point modes with satisfactory reliability. Monitor mode is not presently supported. Wi-Fi Direct features may be available, but it is unclear how to make use of them under Linux.&lt;br /&gt;
&lt;br /&gt;
Be aware that Linux userspace utilities, such as &amp;lt;code&amp;gt;iw&amp;lt;/code&amp;gt;, may report inaccurate information about the capabilities of wireless devices. Parameter values derived from vendor datasheets, or direct testing, should be preferred to the outputs of hardware-querying tools.&lt;br /&gt;
&lt;br /&gt;
===Bluetooth Capabilities===&lt;br /&gt;
Bluetooth data transfer speeds have an indicated maximum of 3 megabits per second, but it is unclear what practical data rates can be expected. Audio streaming over Bluetooth is functioning normally, as is networking. Bluetooth Low-Energy functions, such as interacting with Bluetooth beacons, have not yet been tested conclusively.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth transceiver supports all 79 channel allocations, spanning frequencies from 2402 MHz to 2480 MHz. Reception sensitivity is approximately -85 dBm, with a maximum tolerable reception intensity of -20 dBm. Bluetooth transmission power is limited to +10 dBm.&lt;br /&gt;
&lt;br /&gt;
===Disabling Bluetooth===&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth under Linux once:&lt;br /&gt;
&lt;br /&gt;
 sudo rfkill block bluetooth&lt;br /&gt;
&lt;br /&gt;
To confirm if Bluetooth under Linux is disabled:&lt;br /&gt;
&lt;br /&gt;
 rfkill&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on boot (note: for distributions such as Manjaro XFCE see the step below):&lt;br /&gt;
&lt;br /&gt;
 sudo systemctl enable rfkill-block@bluetooth&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on certain distributions, such as Manjaro XFCE, right click on the Bluetooth panel icon, select &amp;lt;i&amp;gt;plugins&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;PowerManager&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;configuration&amp;lt;/i&amp;gt; and then deselect the &amp;lt;i&amp;gt;auto power on&amp;lt;/i&amp;gt; option&lt;br /&gt;
&lt;br /&gt;
== LCD Panel ==&lt;br /&gt;
* Model: BOE NV140FHM-N49&lt;br /&gt;
* 14.0&amp;quot; (35.56&amp;amp;nbsp;cm) diagonal size&lt;br /&gt;
* 1920x1080 resolution&lt;br /&gt;
* 60&amp;amp;nbsp;Hz refresh rate&lt;br /&gt;
* IPS technology&lt;br /&gt;
* 1000:1 contrast&lt;br /&gt;
* 250&amp;amp;nbsp;nit brightness&lt;br /&gt;
* 63% sRGB coverage&lt;br /&gt;
* 6-bit color&lt;br /&gt;
* 30-pin eDP connection&lt;br /&gt;
&lt;br /&gt;
Some people have tested hardware video decode using the following;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ffmpeg -benchmark -c:v h264_rkmpp -i file.mp4 -f null -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External ports list ==&lt;br /&gt;
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.&lt;br /&gt;
* Left side&lt;br /&gt;
** Barrel jack for power, (with LED)&lt;br /&gt;
** USB 3, Type A&lt;br /&gt;
** USB 3, Type C&lt;br /&gt;
* Right side&lt;br /&gt;
** USB 2, Type A&lt;br /&gt;
** Standard headset jack&lt;br /&gt;
** MicroSD card slot&lt;br /&gt;
&lt;br /&gt;
== Using the UART ==&lt;br /&gt;
[[File:PinePhone_Serial_Cable.png|400px|thumb|right|Pinout of the serial adapter. Swapping the tx and rx around from this also works and is more traditional. See the official [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pine64 document].]]&lt;br /&gt;
&lt;br /&gt;
UART output is enabled by flipping the UART switch to the ON position (item 9). To do so you need to remove the Pinebook Pro's bottom cover - please follow [[Pinebook_Pro#Disassembly_and_Reassembly|proper disassembly and reassembly protocol]]. The OFF position is towards the touchpad, the ON position is towards the display hinges.&lt;br /&gt;
&lt;br /&gt;
With the UART switch in the ON position, console is relayed via the audiojack and the laptop's sound is turned OFF. Please ensure that you are using a 3.3&amp;amp;nbsp;V interface (such as the CH340, FTDI-232R, or PL2303, which are sold in both 3.3&amp;amp;nbsp;V and 5&amp;amp;nbsp;V variants) to avoid damage to the CPU.  Older version of the serial console cable sold by Pine64 uses wrong voltage level and should not be used; see [https://forum.pine64.org/showthread.php?tid=9367 this forum thread] for further information.  Recent version of the same cable uses the right voltage level.&lt;br /&gt;
&lt;br /&gt;
Insert the USB plug of the cable into an open USB port on the machine which will monitor, ensuring that the audio jack of the serial cable is be fully inserted into the Pinebook Pro audio port. Run the following in a terminal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$ lsusb&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you should find a line similar to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Serial output should now be accessible using screen, picocom or minicom (and others).&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
screen /dev/ttyUSB0 1500000&lt;br /&gt;
&lt;br /&gt;
picocom /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
minicom -D /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Old versions of U-Boot do not use the UART for console output. &amp;lt;strike&amp;gt;The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distro and want the UART as a console, you have to manually enable it.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using the optional NVMe adapter ==&lt;br /&gt;
The optional NVMe adapter allows the use of M.2 cards that support the NVMe standard, (but not SATA standard). The optional NVMe M.2 adapter supports '''M''' &amp;amp; '''M'''+'''B''' keyed devices, in both 2242 &amp;amp; 2280 physical sizes, the most common ones available. In addition, 2230 &amp;amp; 2260 are also supported, though NVMe devices that use those sizes are rare.&lt;br /&gt;
&lt;br /&gt;
Once you have fitted and tested your NVMe drive, please add a note to this page [[Pinebook Pro Hardware Accessory Compatibility]] to help build a list of tried and tested devices.&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook Pro Troubleshooting Guide#NVMe SSD issues|a separate section]] that describes reported issues with the NVMe drives in PineBook Pro.&lt;br /&gt;
&lt;br /&gt;
=== Installing the adapter ===&lt;br /&gt;
The V2.1-2019-0809 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues.&lt;br /&gt;
(If necessary, it can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&amp;amp;pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)&lt;br /&gt;
&lt;br /&gt;
The updated SSD adapter, labeled V2-2019-1107, takes into account the prior problems with touchpad interference. New orders as of Feb. 22nd, 2020 will be the updated adapter.&lt;br /&gt;
&lt;br /&gt;
This is the link to the Pinebook Pro accessories in the store: [[https://pine64.com/?v=0446c16e2e66]]&lt;br /&gt;
&lt;br /&gt;
Actual installation instructions are a work in progress. Unofficial instructions for installing V2-2019-1107 can be found [https://eli.gladman.cc/blog/2020/06/23/pine-book-pro-nvme.html here].&lt;br /&gt;
&lt;br /&gt;
=== Post NVMe install power limiting ===&lt;br /&gt;
Some NVMe SSDs allow reducing the maximum amount of power. Doing so may reduce the speed, but it may be needed in the Pinebook Pro to both improve reliability on battery: Some NVME may be stable with default settings when runnning on AC power but cause frequent kernel panics (system freeze with power LED blinking red/green) when running on battery. Reducing NVME power drain solves this in some cases. And reducing power used gives better battery life.&lt;br /&gt;
Here are the commands to obtain and change the power settings. The package 'nvme-cli' is required to run these commands. The example shows how to find the available power states, and then sets it to the lowest, non-standby setting, (which is 3.8 watts for the device shown);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo nvme id-ctrl /dev/nvme0&lt;br /&gt;
NVME Identify Controller:&lt;br /&gt;
...&lt;br /&gt;
ps    0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0&lt;br /&gt;
         rwt:0 rwl:0 idle_power:- active_power:-&lt;br /&gt;
ps    1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1&lt;br /&gt;
         rwt:1 rwl:1 idle_power:- active_power:-&lt;br /&gt;
ps    2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2&lt;br /&gt;
         rwt:2 rwl:2 idle_power:- active_power:-&lt;br /&gt;
ps    3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3&lt;br /&gt;
         rwt:3 rwl:3 idle_power:- active_power:-&lt;br /&gt;
ps    4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4&lt;br /&gt;
         rwt:4 rwl:4 idle_power:- active_power:-&lt;br /&gt;
&lt;br /&gt;
$ sudo nvme get-feature /dev/nvme0 -f 2&lt;br /&gt;
get-feature:0x2 (Power Management), Current value:00000000&lt;br /&gt;
$ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s&lt;br /&gt;
set-feature:02 (Power Management), value:0x000002&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some NVMe SSDs don't appear to allow saving the setting with &amp;quot;-s&amp;quot; option. In those cases, leave off the &amp;quot;-s&amp;quot; and use a startup script to set the non-default power state at boot.&amp;lt;br&amp;gt;&lt;br /&gt;
If you want to test performance without saving the new power setting semi-permanantly, then leave off the &amp;quot;-s&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
On systemd based distros like Manjaro, a non-defaut power state for an NVME can be set using a systemd service.&amp;lt;br&amp;gt;&lt;br /&gt;
This is useful in cases where the NVME drive does not save the power state and/or uses APST.&amp;lt;br&amp;gt;&lt;br /&gt;
An example systemd service, nvme-throttle.service, is shown below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Throttles NVME to lesss power hungry mode&lt;br /&gt;
After=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
ExecStart=/usr/bin/nvme set-feature /dev/nvme0 -f 2 -v 1&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here the value after &amp;quot;-v&amp;quot; is the maximum power state that you want your SSD to use.&amp;lt;br&amp;gt;&lt;br /&gt;
This will be executed at system startup, and every time your system exits any suspend mode that might reset the SSD to default values.&lt;br /&gt;
&lt;br /&gt;
This file needs to be placed in the /etc/systemd/system directory. Afterwards, to activate the service, run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
systemctl daemon-reload&lt;br /&gt;
systemctl enable --now nvme-throttle.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is another power saving feature for NVMes, APST, (Autonomous Power State Transitions). This performs the power saving &amp;amp; transitions based on usage. To check if you have a NVMe SSD with this feature;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo nvme get-feature -f 0x0c -H /dev/nvme0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Information for this feature, (on a Pinebook Pro), is a work in progress. It is enabled by default in latest Manjaro kernels and reported to work.&lt;br /&gt;
On some NVME SSDS (WD), APST is compatible with limiting NVME maximum power : APST will work and not exceed maximum power state defined using &lt;br /&gt;
previous method.&lt;br /&gt;
&lt;br /&gt;
=== Using as data drive ===&lt;br /&gt;
As long as the kernel in use has both the PCIe and NVMe drivers, you should be able to use a NVMe drive as a data drive. It can automatically mount when booting from either the eMMC or an SD card. This applies to Linux, FreeBSD, and Chromium, using the normal partitioning and file system creation tools. Android requires testing.&lt;br /&gt;
&lt;br /&gt;
=== Using as OS root drive ===&lt;br /&gt;
The SoC does not include the NVMe boot code, so the NVMe is not in the SoC's boot order. However, using the [https://github.com/mrfixit2001/updates_repo/blob/v1.1/pinebook/filesystem/mrfixit_update.sh U-Boot update script] from the mrfixit2001 Debian or [https://pastebin.com/raw/EeK074XB Arglebargle's modified script], and [https://github.com/pcm720/rockchip-u-boot/releases the modified u-boot images] provided by forum user pcm720, you can now add support to boot from an NVMe drive. Binary images are useable with SD, eMMC, and [[Pinebook_Pro_SPI|SPI flash]]. For OS images using the mainline kernel, there are a few variants of U-Boot available that also support NVMe as the OS drive. Though these may require writing the U-Boot to the SPI flash for proper use of the NVMe as the OS drive.&lt;br /&gt;
&lt;br /&gt;
The current boot order, per last testing, for this modified U-Boot is:&lt;br /&gt;
*MicroSD&lt;br /&gt;
*eMMC&lt;br /&gt;
*NVMe&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&amp;amp;pid=53764#pid53764 the forum post.]&lt;br /&gt;
&lt;br /&gt;
It is also possible to initially boot off an eMMC or SD card, then transfer to a root file system on the NVMe. Currently, it is necessary to have the U-Boot code on an eMMC or SD card.  (A forum member [https://forum.pine64.org/showthread.php?tid=8439 posted here] about using a modified version of U-Boot with NVMe drivers, that uses &amp;lt;code&amp;gt;/boot&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; off the NVMe drive. So this may change in the future.)&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].&lt;br /&gt;
&lt;br /&gt;
== Caring for the PineBook Pro ==&lt;br /&gt;
=== Bypass Cables ===&lt;br /&gt;
The mainboard features two (disconnected by default) bypass cables that are only to be used with the battery disconnected. The female (10) male (6) ends of the bypass cables can be connected to provide power to the mainboard if you need to run the laptop without a battery. Please refer to this [https://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice].  &lt;br /&gt;
&lt;br /&gt;
'''Note that despite the bypass cable being a two conductor cable, it is only used as one. Both wires being soldered together on either side is normal!'''&lt;br /&gt;
&lt;br /&gt;
{{warning|Do not connect the bypass cables with the battery connected.  Using the bypass cables with the battery connected can permanently damage the computer.}}&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Service Step-by-Step Guides ===&lt;br /&gt;
&lt;br /&gt;
Under [[Pinebook_Service_Step_by_Step_Guides|Service Guides for Pinebook]] you can find instructions guides concerning disassembly of:&lt;br /&gt;
&lt;br /&gt;
* The installation process on Pinebook Pro similar to 14&amp;quot; Pinebook&lt;br /&gt;
* The installation process is the reverse order of removal guide:&lt;br /&gt;
** 14″ Pinebook Lithium Battery Pack Removal Guide&lt;br /&gt;
** 14″ Pinebook LCD Panel Screen Removal Guide&lt;br /&gt;
** 14″ Pinebook eMMC Module Removal Guide&lt;br /&gt;
&lt;br /&gt;
== Using the SPI flash device ==&lt;br /&gt;
&lt;br /&gt;
See [[Pinebook Pro SPI]] for details.&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro comes with a 128Mbit, (16MByte), flash device suitable for initial boot target, to store the bootloader. The SoC used on the Pinebook Pro boots from this SPI flash device first, before eMMC or SD card. At present, April 19, 2020, the Pinebook Pros ship without anything programmed in the SPI flash device. So the SoC moves on to the next potential boot device, the eMMC. ARM/ARM64 computers do not have a standardized BIOS, yet.&lt;br /&gt;
&lt;br /&gt;
Here is some information on using the SPI flash device:&lt;br /&gt;
&lt;br /&gt;
* You need the kernel built with SPI flash device support, which will supply a device similar to: code&amp;gt;/dev/mtd0&amp;lt;/code&amp;gt;&lt;br /&gt;
* The Linux package below, will need to be available: &amp;lt;code&amp;gt;mtd-utils&amp;lt;/code&amp;gt;&lt;br /&gt;
* You can then use this program from the package to write the SPI device: &amp;lt;code&amp;gt;flashcp &amp;amp;lt;filename&amp;amp;gt; /dev/mtd0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Even if you need to recover from a defective bootloader written to the SPI flash, you can simply short pin 6 of the SPI flash to GND and boot. This will render the SoC bootrom unable to read from the SPI flash and have it fall back to reading the bootloader from other boot media like the eMMC or Micro SD card.&lt;br /&gt;
&lt;br /&gt;
The procedures described above are a lot less risky than attaching an external SPI flasher and do not require any additional hardware. At present, April 19th, 2020, there is no good bootloader image to flash into the SPI flash device. This is expected to change, as there are people working on issue.&lt;br /&gt;
&lt;br /&gt;
= Software tuning guide =&lt;br /&gt;
Details on how to get the most out of a Pinebook Pro &amp;amp; its RK3399 SoC.&lt;br /&gt;
&lt;br /&gt;
== Customizing the Pinebook Pro's default Manjaro KDE system ==&lt;br /&gt;
=== Watching DRM content (Netflix, etc.) ===&lt;br /&gt;
Most paid online streaming services use Widevine DRM to make their content more difficult to pirate. Widevine is not directly supported on Manjaro KDE, however it is still possible to watch DRM content via the &amp;quot;chromium-docker&amp;quot; package which downloads a 32-bit ARM container and installs Chromium with Widevine inside of that. While not space-efficient, or efficient in general, it's the recommended solution for watching this content on your Pinebook Pro. You can install this package with:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pacman -Sy chromium-docker&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Checking GPU capabilities ===&lt;br /&gt;
To see what versions of OpenGL and OpenGL ES are supported by the Pinebook Pro, what driver is in use, and what version of the driver is loaded, install the &amp;quot;mesa-demos&amp;quot; package with:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pacman -Sy mesa-demos&amp;lt;/pre&amp;gt;&lt;br /&gt;
And then run:&lt;br /&gt;
&amp;lt;pre&amp;gt;glxinfo | grep OpenGL&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will give detailed information about your graphics card and driver, useful for debugging.&lt;br /&gt;
&lt;br /&gt;
=== Better GPU compatibility and performance ===&lt;br /&gt;
For better graphics performance, you may install the &amp;quot;mesa-git&amp;quot; package, built and supplied in the Manjaro ARM repos. This lets you bring in the latest features, optimizations, and bugfixes for the graphics driver used by the Pinebook Pro. Installation is as simple as:&lt;br /&gt;
&amp;lt;pre&amp;gt;pacman -Sy mesa-git&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then you may reboot to load the newer driver.&lt;br /&gt;
&lt;br /&gt;
With Mesa 20.2 there is no longer much reason to use this over the standard mesa package, and applications may occasionally break with mesa-git.&lt;br /&gt;
&lt;br /&gt;
[https://docs.mesa3d.org/bugs.html Reporting bugs] to the Mesa project will help make sure any problems are quickly fixed.&lt;br /&gt;
&lt;br /&gt;
=== OpenGL 3.3 support ===&lt;br /&gt;
By default, with the current state of the Panfrost GPU driver, the Pinebook Pro supports OpenGL 2.1 and OpenGL ES 3.0. If you want to use OpenGL 3.3, you need to set the system-wide environment variable, open the '''/etc/environment''' file with:&lt;br /&gt;
&amp;lt;pre&amp;gt;kate /etc/environment&amp;lt;/pre&amp;gt;&lt;br /&gt;
And then at the bottom of the file, on a new line, add:&lt;br /&gt;
&amp;lt;pre&amp;gt;PAN_MESA_DEBUG=&amp;quot;gl3&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then save the file, entering your password when prompted, and reboot the system. When you check your GPU capabilities, it should report OpenGL 3.3 and applications that rely on it should function properly. Note that GL 3.3 support is incomplete and some rendering features do not work yet, notably geometry shaders.&lt;br /&gt;
&lt;br /&gt;
=== Install Anbox on Pinebook Pro Manjaro 20.10 ===&lt;br /&gt;
[https://www.youtube.com/watch?v=EU8_Q11dATs Youtube video on installing Anbox on Pienbook Pro Manjaro Build 20.10 by LivingLinux]&lt;br /&gt;
&lt;br /&gt;
== Customizing the Pinebook Pro's previously-default Debian system ==&lt;br /&gt;
Here are some hints on what you can do to customize the Pinebook Pro's previous factory image (aka [https://github.com/mrfixit2001/debian_desktop mrfixit2001 debian build])&lt;br /&gt;
&lt;br /&gt;
=== Initial user changes, password, name, etc ===&lt;br /&gt;
When you first get your Pinebook Pro, you should consider setting strong passwords and making the default account your own.&lt;br /&gt;
&lt;br /&gt;
* Reboot (this is just to ensure all background processes belong to the user are not running... there are other ways to achieve this but this way is easy)&lt;br /&gt;
* Once the machine reboots press Alt-Ctrl-F1 to bring up a text terminal&lt;br /&gt;
* Login as root (login: root, password: root)&lt;br /&gt;
* Set a strong password for the root user using the following command and it's prompts:&lt;br /&gt;
&amp;lt;pre&amp;gt;# passwd (and follow prompts)&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Rename the rock user to your prefered username (replace myself with whatever you like):&lt;br /&gt;
&amp;lt;pre&amp;gt;# usermod -l myself -d /home/myself -m rock&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Rename the rock group to match your preferred username:&lt;br /&gt;
&amp;lt;pre&amp;gt;# groupmod -n myself rock&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Put your name in the account, (replace &amp;quot;John A Doe&amp;quot; with your name):&lt;br /&gt;
&amp;lt;pre&amp;gt;# chfn -f &amp;quot;John A Doe&amp;quot; myself&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Set a strong password for the normal user:&lt;br /&gt;
&amp;lt;pre&amp;gt;# passwd myself&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Log out of the text terminal:&lt;br /&gt;
&amp;lt;pre&amp;gt;# logout&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Press Alt-Ctrl-F7 to go back to the login screen and then login as the normal user&lt;br /&gt;
* Open text terminal to fix login error: &amp;quot;Configured directory for incoming files does not exist&amp;quot;;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ blueman-services&amp;lt;/pre&amp;gt;&lt;br /&gt;
Select &amp;quot;Transfer&amp;quot; tab and set &amp;quot;Incoming Folder&amp;quot; to myself&lt;br /&gt;
OR&lt;br /&gt;
If adduser is in distro, this is MUCH easier&lt;br /&gt;
sudo adduser $USER ,, fill out requested data&lt;br /&gt;
Then,, sudo adduser $USER $GROUP,,, 1 group at a time&lt;br /&gt;
To see which groups to add,,, id $USER,  id rock&lt;br /&gt;
&lt;br /&gt;
=== Changing the default hostname ===&lt;br /&gt;
Debian 9 has a command to allow you to change the hostname. You can see the current settings using;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo hostnamectl&lt;br /&gt;
   Static hostname: Debian-Desktop&lt;br /&gt;
         Icon name: computer&lt;br /&gt;
        Machine ID: dccbddccbdccbdccbdccbdccbdccbccb&lt;br /&gt;
           Boot ID: ea99ea99ea99ea99ea99ea99ea99ea99&lt;br /&gt;
  Operating System: Debian GNU/Linux 9 (stretch)&lt;br /&gt;
            Kernel: Linux 4.4.210&lt;br /&gt;
      Architecture: arm64&amp;lt;/pre&amp;gt;&lt;br /&gt;
To change, use this, (with &amp;quot;My_Hostname&amp;quot; used as the example);&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo hostnamectl set-hostname My_Hostname&amp;lt;/pre&amp;gt;&lt;br /&gt;
Whence done, you can re-verify using the first example.&lt;br /&gt;
&lt;br /&gt;
Then you should backup and edit your &amp;lt;code&amp;gt;/etc/hosts&amp;lt;/code&amp;gt; entry's name;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo cp -p /etc/hosts /etc/hosts.`date +%Y%m%d`&lt;br /&gt;
$ sudo vi /etc/hosts&lt;br /&gt;
127.0.0.1	localhost&lt;br /&gt;
127.0.0.1	My_Hostname&lt;br /&gt;
::1		localhost ip6-localhost ip6-loopback&lt;br /&gt;
fe00::0		ip6-localnet&lt;br /&gt;
ff00::0		ip6-mcastprefix&lt;br /&gt;
ff02::1		ip6-allnodes&lt;br /&gt;
ff02::2		ip6-allrouters&lt;br /&gt;
127.0.1.1       linaro-alip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Disable Chromium browser's prompt for passphrase &amp;amp; password storage ===&lt;br /&gt;
&lt;br /&gt;
Perform the following steps:&lt;br /&gt;
&lt;br /&gt;
* On the tool bar, hover over the Chromium icon&lt;br /&gt;
* Using the right mouse button, select '''Properties'''&lt;br /&gt;
* In the '''Command:''' line section, add &amp;lt;code&amp;gt;--password-store=basic&amp;lt;/code&amp;gt; before the &amp;lt;code&amp;gt;%U&amp;lt;/code&amp;gt;&lt;br /&gt;
* Use the '''x Close''' button to save the change&lt;br /&gt;
This will of course, use basic password storage, meaning any saved passwords are not encrypted. Perfectly fine if you never use password storage.&lt;br /&gt;
&lt;br /&gt;
=== Changing the boot splash picture ===&lt;br /&gt;
&lt;br /&gt;
The default boot splash picture can be replaced using the following instructions:&lt;br /&gt;
&lt;br /&gt;
* Install '''ImageMagick''' which will do the conversion&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo apt-get install imagemagick&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a 1920 x 1080 picture. For the best results, use a PNG image (It supports lossless compression).&lt;br /&gt;
* From the directory in which your new image is stored run the following commands&lt;br /&gt;
* Convert your image to the bootsplash raw format using imagemagick convert.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ convert yoursplashimage.png -separate +channel -swap 0,2 -combine -colorspace sRGB RGBO:splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a backup copy of your current splash screen&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo cp /usr/share/backgrounds/splash.fb /usr/share/backgrounds/splash_original.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Copy your new splash screen into place&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo cp splash.fb /usr/share/backgrounds/splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Set the correct permissions on the splash.fb file&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo chmod 644 /usr/share/backgrounds/splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If you do not want to see kernel console text messages, make sure you don't have '''Plymouth''' installed&lt;br /&gt;
&lt;br /&gt;
=== Watching Amazon Prime videos with Chromium ===&lt;br /&gt;
When you create a new user, it will be necessary to launch the Chromium browswer with a specific user agent like below;&lt;br /&gt;
&amp;lt;pre&amp;gt;chromium-browser --user-agent=&amp;quot;Mozilla/5.0 (X11; CrOS armv7l 6946.63.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
There may be more tweaks needed.&lt;br /&gt;
&lt;br /&gt;
=== Enabling text boot time messages ===&lt;br /&gt;
&lt;br /&gt;
By default, most Linux distros have a boot screen with a picture. To see all the boot time messages, use one of the following;&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
* Backup and edit the U-Boot configuration file:&lt;br /&gt;
&lt;br /&gt;
 cp -p /etc/default/u-boot /etc/default/u-boot.`date +%Y%m%d`&lt;br /&gt;
 chmod a-w /etc/default/u-boot.`date +%Y%m%d`&lt;br /&gt;
 vi /etc/default/u-boot&lt;br /&gt;
&lt;br /&gt;
Remove the '''quiet''' and '''splash''' parameters. Leave everything else alone.&lt;br /&gt;
&lt;br /&gt;
* Update the U-Boot configuration:&lt;br /&gt;
&lt;br /&gt;
 u-boot-update&lt;br /&gt;
&lt;br /&gt;
* Test and verify you get what you think you should be seeing.&lt;br /&gt;
&lt;br /&gt;
==== Manjaro ====&lt;br /&gt;
* Backup and edit the U-Boot configuration file:&lt;br /&gt;
&lt;br /&gt;
 cp -p /boot/extlinux/extlinux.conf /boot/extlinux/extlinux.conf.`date +%Y%m%d`&lt;br /&gt;
 chmod a-w /boot/extlinux/extlinux.conf.`date +%Y%m%d`&lt;br /&gt;
 vi /boot/extlinux/extlinux.conf&lt;br /&gt;
&lt;br /&gt;
* Change '''console=ttyS2,1500000''' to '''console=tty1'''&lt;br /&gt;
* Remove the '''bootsplash.bootfile''' option and it's parameter.&lt;br /&gt;
* You can add verbose logging by appending '''ignore_loglevel''' to the line where boot splash was.&lt;br /&gt;
* Leave everything else alone.&lt;br /&gt;
* Test and verify you get what you think you should be seeing.&lt;br /&gt;
&lt;br /&gt;
== Retro Gaming on the Pinebook Pro ==&lt;br /&gt;
A retro-gaming OS named R-Cade has been made available for the Pinebook Pro, provided by [https://www.retro-center.com The Retro Center].&lt;br /&gt;
&lt;br /&gt;
R-Cade includes over 100 retro-gaming systems, a lightweight web browser, and includes the latest release of KODI to provide full 4K UHD media playback and streaming.&lt;br /&gt;
Streaming options in KODI are provided by various addons, such as Netflix, Disney+, and Amazon Prime.&lt;br /&gt;
More information can be found [https://www.retro-center.com/about-r-cade/ here].&lt;br /&gt;
&lt;br /&gt;
Releases can be downloaded from their [https://github.com/retro-center/rcade_releases GitHub].&lt;br /&gt;
&lt;br /&gt;
== Improving readability ==&lt;br /&gt;
&lt;br /&gt;
Some people find that a 14&amp;quot; LCD screen with 1080p, (1920 x 1080), has text and icons a bit too small. There are things you can do to make the screen easier to use and read.&amp;lt;br&amp;gt;&lt;br /&gt;
* Increase the font size&lt;br /&gt;
* Use a font with more pronounced features&lt;br /&gt;
* Increase the various window manager sizes (e.g. increase the height of the tool bar)&lt;br /&gt;
* Change the color scheme to be easier on the eyes. Higher contrast can help usability.&lt;br /&gt;
* Change the window manager's decorations (e.g. use larger icons)&lt;br /&gt;
* Use a workspace manager, with one application per workspace&lt;br /&gt;
* When at home or office, use an external monitor&lt;br /&gt;
* Change the X-Windows DPI. One such method that someone used successfully, is:&amp;lt;br&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;code&amp;gt;echo &amp;quot;Xft.dpi: 150&amp;quot; &amp;gt;&amp;gt; ~/.Xresources&amp;lt;/code&amp;gt;&amp;lt;/blockquote&amp;gt;Change the 150 as desired to get the size adjustment you want.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
However, do not change the resolution of the LCD screen, otherwise you may end up with a blank / black screen. If that happens, see this troubleshooting section for the fix:&amp;lt;br&amp;gt;&lt;br /&gt;
[[Pinebook_Pro#After_changing_builtin_LCD_resolution.2C_blank_screen|Blank screen after changing builtin LCD resolution]]&lt;br /&gt;
&lt;br /&gt;
== Chromium tweaks ==&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
&lt;br /&gt;
From the [https://github.com/mrfixit2001/updates_repo/blob/v1.8/pinebook/filesystem/default official Debian image]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--disable-low-res-tiling \&lt;br /&gt;
--num-raster-threads=6 \&lt;br /&gt;
--profiler-timing=0 \&lt;br /&gt;
--disable-composited-antialiasing \&lt;br /&gt;
--test-type \&lt;br /&gt;
--show-component-extension-options \&lt;br /&gt;
--ignore-gpu-blacklist \&lt;br /&gt;
--use-gl=egl \&lt;br /&gt;
--ppapi-flash-path=/usr/lib/chromium-browser/pepper/libpepflashplayer.so \&lt;br /&gt;
--ppapi-flash-version=32.0.0.255 \&lt;br /&gt;
--enable-pinch \&lt;br /&gt;
--flag-switches-begin \&lt;br /&gt;
--enable-gpu-rasterization \&lt;br /&gt;
--enable-oop-rasterization \&lt;br /&gt;
--flag-switches-end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that in some cases, this may also decrease performance substantially, as observed when using these flags on the Manjaro KDE desktop. Feel free to experiment to find what is smoothest for you personally.&lt;br /&gt;
&lt;br /&gt;
== gVim has performance issue ==&lt;br /&gt;
It appears that using GTK3 can cause very slow scrolling, while Vim in a terminal window works fine.&amp;lt;br/&amp;gt;&lt;br /&gt;
Simply revert back to using GTK2, (how to do so is somewhat Linux distro-specific).&lt;br /&gt;
&lt;br /&gt;
Another solution may be to run gVim with &lt;br /&gt;
&lt;br /&gt;
 GDK_RENDERING=image&lt;br /&gt;
&lt;br /&gt;
environment variable set. It seems that this improves the performance by reverting back to software-only rendering.&lt;br /&gt;
&lt;br /&gt;
== Kernel options ==&lt;br /&gt;
Here are some Pinebook Pro &amp;amp; its RK3399 SoC Linux specific options. If kernel version, (or version range specific), it should list that information in the description.&lt;br /&gt;
&lt;br /&gt;
To see if a specific feature is enabled in the current kernel, you can use something like this;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ zgrep -i rockchip_pcie /proc/config.gz&lt;br /&gt;
# CONFIG_ROCKCHIP_PCIE_DMA_OBJ is not set&lt;br /&gt;
CONFIG_PHY_ROCKCHIP_PCIE=m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If it's listed as &amp;lt;code&amp;gt;=m&amp;lt;/code&amp;gt;, then it's a module. You can see if the module is loaded with;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lsmod | grep -i rockchip_pcie&lt;br /&gt;
phy_rockchip_pcie      16384  0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note modules are not loaded until needed. Thus, we sometimes check the kernel configuration instead to see if a feature is configured first, then see if it's a module.&lt;br /&gt;
&lt;br /&gt;
=== Hardware video decoding ===&lt;br /&gt;
Here is a method to check for hardware video decoding by the VPU. There are special Linux kernel modules that perform this function.&amp;lt;br&amp;gt;&lt;br /&gt;
Older systems, such as the previously-default Debian desktop, use the Rockchip-supplied kernel module &amp;lt;code&amp;gt;rk-vcodec&amp;lt;/code&amp;gt;. To check, something like this can be used:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lsmod | grep rk-vcodec&lt;br /&gt;
    or&lt;br /&gt;
$ zgrep RK_VCODEC /proc/config.gz&lt;br /&gt;
CONFIG_RK_VCODEC=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that in the above example, the Rockchip video CODEC is not built as a module, but included into the kernel. Thus, it does not show up in the list modules check.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Newer systems may use a different option as in the configuration below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ zgrep HANTRO /proc/config.gz&lt;br /&gt;
CONFIG_VIDEO_HANTRO=m&lt;br /&gt;
CONFIG_VIDEO_HANTRO_ROCKCHIP=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting guide =&lt;br /&gt;
&lt;br /&gt;
Do not panic if something goes wrong or in an unexpected way.  Instead, stop and consider carefully how to undo something, or how to redo it.  This particularly applies when flashing a new operating system, or flashing new firmware to the keyboard or touchpad.  If everything fails, consider reporting the issue on the forums, with as many relevant details as available.&lt;br /&gt;
&lt;br /&gt;
Please, have a look at the [[Pinebook Pro Troubleshooting Guide]], which details a number of issues you may encounter.&lt;br /&gt;
&lt;br /&gt;
= Hardware/Accessory Compatibility =&lt;br /&gt;
Please contribute to the [[Pinebook Pro Hardware Accessory Compatibility|hardware/accessory compatibility page]], which lists the status of hardware tested with the Pinebook Pro.  Available hardware categories include the following:&lt;br /&gt;
&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#NVMe SSD drives|NVMe SSD drives]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB hardware|USB hardware]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB C alternate mode DP|USB-C alternate mode DP]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#Other hardware|Other hardware]]&lt;br /&gt;
&lt;br /&gt;
= Technical Reference =&lt;br /&gt;
== Disassembly and Reassembly  == &lt;br /&gt;
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]&lt;br /&gt;
&lt;br /&gt;
[[File:Hinges_cover_removed_1.jpeg|300px|thumb|right|Hinge area of the Pinebook Pro lid with the cover removed]]&lt;br /&gt;
[[File:Hinges_cover_removed_2.jpeg|300px|thumb|right|Close-up of a Pinebook Pro lid hinge]]&lt;br /&gt;
&lt;br /&gt;
There are a few '''mandatory''' precautions to be taken:&lt;br /&gt;
&lt;br /&gt;
* Do not open the laptop by lifting the lid while the Pinebook Pro bottom cover is removed - this can cause structural damage to the hinges and/or other plastic components of the chassis such as the IO port cut-outs.&lt;br /&gt;
* When removing the back cover plate, *do not, under any circumstances, slide your fingertips between the metal shell and the plastic frame!* The back cover plate edges are sharp, and when combined with the pressure and movement generated from, specifically, attempting to slide the tips of your fingers along the bottom edge of the plate along the lid-hinge, they *will* slice open the tips of your fingers like a knife.&lt;br /&gt;
* When removing the back cover plate, use care to avoid damaging the speakers. They can be stuck to the back cover with double-sided tape, and the thin wires are very delicate. Newer Pinebook Pro laptops (as of the May 2021 batch, and perhaps earlier) seem to lack the double-sided tape to the rear cover, instead opting for tape or glue that makes them stick to the front cover. Nevertheless, be gentle when removing the back cover.&lt;br /&gt;
&lt;br /&gt;
[[File:PinebookProScrewGuide.png|400px|thumb|right|Pinebook Pro external screws (this particular unit has suffered damage on screw (4)L)]]&lt;br /&gt;
&lt;br /&gt;
When disassembling the laptop make sure that it is powered off and folded closed. To remove the bottom cover of the Pinebook Pro, first remove the ten (10) Phillips head screws that hold the bottom section of the laptop in place. There are four (4) short screws along the front edge, and six (6) long screws along the 3 remaining sides. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis. The aluminum case is held on only by screws. There are no plastic snaps, and the shell should pull away without any effort. If you experience any resistance at all stop and ensure all ten (10) screws are accounted for.&lt;br /&gt;
&lt;br /&gt;
During reassembly, make sure that the back-screw standoffs are in place and seated correctly. Before replacing the aluminum back-plate, ensure that the speakers are properly seated by pressing gently on the hard plastic edge of the speaker module. Slide the bottom section into place so it meets the front lip of the keyboard section. Secure the front section (where the touchpad is located) in place using the short screws in the front left and right corners. Then proceed to pop in the bottom panel into place. Secure the bottom section (where hinges are located) by screwing in the left and right corners. Then screw in the remaining screws and run your finger though the rim on the chassis to make sure its fitted correctly. Note that the front uses the remaining 4 short screws.&lt;br /&gt;
&lt;br /&gt;
The screws are small and should only be finger tight. Too much force will strip the threads. If after installing screws the back cover plate has not seated properly on one side (which may be caused by the aforementioned misseating of the speakers), open the display and hold the base on either side of the keyboard and gently flex the base with both hands in opposing directions. Once the side pops further in, then recheck the screws on that side. If it does not pop back in, re-open the machine and check for misseated components.&lt;br /&gt;
&lt;br /&gt;
A basic 3D model to print replacement standoffs for the back cover screws is [https://www.thingiverse.com/thing:4226648 available on Thingiverse], until the official drawings or 3D models are made available.&lt;br /&gt;
&lt;br /&gt;
====Display Disassembly====&lt;br /&gt;
It is not recommended to adjust the position of the lid when the bottom cover is removed, because the bottom cover provides structural strength, so the lid should be open fully as the first step, before starting any disassembly of the laptop.  After opening the lid, remove the bottom cover by following the instruction found in the section above.  Alternatively, you can keep the lid closed and remove the screws that hold the hinges to the main laptop body, as described in [[Pinebook Service Step by Step Guides]].&lt;br /&gt;
&lt;br /&gt;
Parts of the hinge mechanism, as well as the screws that hold the hinges to the lid, are hidden behind an elongated plactic U-shaped cover that snaps in place using latches.  Use a dedicated plastic prying tool or a guitar pick to gently pry the cover and remove it, starting from the outer edge.  Once you pry the cover to a certain extent, it should be possible to remove it fully using only your hands.  The U-shaped cover is rather sturdy, but still be careful not to break or bend it.&lt;br /&gt;
&lt;br /&gt;
There are two small screws hidden underneath the two small rubber nubs on the upper part of the screen bezel, so first gently remove the nubs and then remove the screws.  The screen bezel is held in place with a combination of latches and some adhesive tape, which is there to prevent dust ingress.  The adhesive isn't very strong, and the bezel is capable of flexing back into shape after being twisted to a certain extent.  There is more adhesive on the bottom part of the screen bezel, so be more careful while prying that section apart.  Use the same prying tool that you used for the U-shaped cover, and work it around the outer edges of the screen bezel.&lt;br /&gt;
&lt;br /&gt;
== Internal Layout ==&lt;br /&gt;
&lt;br /&gt;
=== Main chips ===&lt;br /&gt;
* RK3399 system-on-chip (1)&lt;br /&gt;
* LPDDR4 SDRAM (21)&lt;br /&gt;
* SPI NOR flash memory (29)&lt;br /&gt;
* eMMC flash memory (26)&lt;br /&gt;
* WiFi/BT module (27)&lt;br /&gt;
&lt;br /&gt;
=== Mainboard Switches and Buttons ===&lt;br /&gt;
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack. &lt;br /&gt;
&lt;br /&gt;
The Reset and Recovery buttons (28): the reset button performs an immediate reset of the laptop. The Recovery button is used to place the device in maskrom mode; this mode allows flashing eMMC using Rockchip tools (e.g. rkflashtools). &lt;br /&gt;
&lt;br /&gt;
[[File:PBPL_S.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Key Internal Parts ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Numbered parts classification and description&lt;br /&gt;
! Number&lt;br /&gt;
! Type&lt;br /&gt;
! Descriptor&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 1&lt;br /&gt;
| Component || RK3399 System-On-Chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 2&lt;br /&gt;
| Socket || PCIe x4 slot for optional NVMe adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 3&lt;br /&gt;
| Socket || Speakers socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 4&lt;br /&gt;
| Socket || Touchpad socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 5&lt;br /&gt;
| Component || Left speaker &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 6&lt;br /&gt;
| Connector || Power bridge connector &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 7&lt;br /&gt;
| Socket || Keyboard Socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 8&lt;br /&gt;
| Component || Optional NVMe SSD adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 9&lt;br /&gt;
| Switch || UART/Audio switch - outputs UART via headphone jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 10&lt;br /&gt;
| Socket || Power bridge socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 11&lt;br /&gt;
| Socket || Battery socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 12&lt;br /&gt;
| Component || Touchpad&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 13&lt;br /&gt;
| Component || Battery&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 14&lt;br /&gt;
| Component || Right speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 15&lt;br /&gt;
| Socket || MicroSD card slot&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 16&lt;br /&gt;
| Socket || Headphone / UART jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 17&lt;br /&gt;
| Socket || USB 2.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 18&lt;br /&gt;
| Socket || Daughterboard-to-mainboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 19&lt;br /&gt;
| Cable || Daughterboard-to-mainboard ribbon cable&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 20&lt;br /&gt;
| Component || microphone&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 21&lt;br /&gt;
| Component || LPDDR4 RAM&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 22&lt;br /&gt;
| Socket || Mainboard-to-daughterboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 23&lt;br /&gt;
| Socket || Microphone socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 24&lt;br /&gt;
| Switch || Switch to hardware disable eMMC&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 25&lt;br /&gt;
| Antenna || BT/WiFI antenna&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 26&lt;br /&gt;
| Component || eMMC flash memory module &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 27&lt;br /&gt;
| Component ||BT/WiFi module chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 28&lt;br /&gt;
| Buttons || Reset and recovery buttons&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 29&lt;br /&gt;
| Component || SPI flash storage&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 30&lt;br /&gt;
| Socket || eDP LCD socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 31&lt;br /&gt;
| Socket || Power in barrel socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 32&lt;br /&gt;
| Socket || USB 3.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 33&lt;br /&gt;
| Socket || USB 3.0 Type C &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Smallboard detailed picture ===&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_pro_smallboard.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Bootable Storage ==&lt;br /&gt;
&lt;br /&gt;
=== Boot sequence details ===&lt;br /&gt;
The RK3399's mask 32KB ROM boot code looks for the next stage of code at byte off-set 32768, (sector 64 if using 512 byte sectors). This is where U-Boot code would reside on any media that is bootable.&amp;lt;br&amp;gt;&lt;br /&gt;
[[RK3399_boot_sequence|RK3399 boot sequence]]&lt;br /&gt;
&lt;br /&gt;
=== Boot devices ===&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is capable of booting from eMMC, USB 2.0, USB 3.0, or an SD card. It cannot boot from USB-C.  The boot order of the hard-coded ROM of its RK3399 SoC is: SPI NOR, eMMC, SD, USB OTG. &lt;br /&gt;
&lt;br /&gt;
At this time, the Pinebook Pro ships with a Manjaro + KDE build with [https://www.denx.de/wiki/U-Boot/ u-boot] on the eMMC.  Its boot order is: SD, USB, then eMMC.&lt;br /&gt;
&lt;br /&gt;
(An update has been pushed for the older Debian + MATE build that improves compatibility with booting other OSes from an SD card. In order to update, fully charge the battery, establish an internet connection, click the update icon in the toolbar, and then reboot your Pinebook Pro.  Please see [https://forum.pine64.org/showthread.php?tid=7830 this log] for details.)&lt;br /&gt;
&lt;br /&gt;
Please note that PCIe, the interface used for NVMe SSD on the Pinebook Pro, is not bootable on the RK3399 and therefore is not a part of the boot hierarchy. It is possible to run the desired OS from NVMe by pointing extlinux on the eMMC to rootfs on the SSD. This requires uboot, the Kernel image, DTB, and extlinux.conf&lt;br /&gt;
in a /boot partition on the eMMC.&lt;br /&gt;
&lt;br /&gt;
=== eMMC information ===&lt;br /&gt;
The eMMC appears to be hot-pluggable. This can be useful if trying to recover data or a broken install. Best practice is probably to turn the eMMC switch to off position before changing modules. Note that the enable/disable label on the silkscreen is incorrect on some board revisions (known bad on v2.1).&lt;br /&gt;
&lt;br /&gt;
The eMMC storage will show up as multiple block devices:&lt;br /&gt;
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB&lt;br /&gt;
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB&lt;br /&gt;
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB&lt;br /&gt;
*mmcblk1 - This block contains the user areas&lt;br /&gt;
&lt;br /&gt;
Only the last is usable as regular storage device in the Pinebook Pro.&lt;br /&gt;
The device number of &amp;quot;1&amp;quot; shown above may vary, depending on kernel.&lt;br /&gt;
&lt;br /&gt;
If the eMMC module is enabled after boot from an SD card, you can detect this change with the following commands as user &amp;quot;root&amp;quot;;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/unbind&lt;br /&gt;
echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/bind&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Note: with the device trees coming with older kernels (Linux &amp;lt; 5.11), the device name may be fe330000.sdhci instead of fe330000.mmc)&lt;br /&gt;
&lt;br /&gt;
== Case Dimensions and Data ==&lt;br /&gt;
* Dimensions: 329mm x 220mm x 12mm (WxDxH)&lt;br /&gt;
* Weight: 1.26Kg&lt;br /&gt;
* Screws&lt;br /&gt;
** Philips head type screws&lt;br /&gt;
** M2 flat head machine screws (measurements in mm)&lt;br /&gt;
** 4 x Small screws (used along the front edge): Head - 3.44, Thread Diameter - 1.97, Thread Length - 2.1,  Overall length - 3.05&lt;br /&gt;
** 6 x Large screws: Head - 3.44, Thread Diameter - 1.97, Thread Length - 4.41, Overall Length - 5.85&lt;br /&gt;
* Rubber Feet&lt;br /&gt;
** 18mm diameter&lt;br /&gt;
** 3mm height&lt;br /&gt;
** Dome shaped&lt;br /&gt;
&lt;br /&gt;
== SoC and Memory Specification ==&lt;br /&gt;
[[File:Rockchip_RK3399.png|right]]&lt;br /&gt;
* Based on Rockchip RK3399&lt;br /&gt;
&lt;br /&gt;
=== CPU Architecture ===&lt;br /&gt;
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU&lt;br /&gt;
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)&lt;br /&gt;
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
** VFPv4 floating point unit supporting single and double-precision operations&lt;br /&gt;
** Hardware virtualization support&lt;br /&gt;
** TrustZone technology support&lt;br /&gt;
** Full CoreSight debug solution&lt;br /&gt;
** One isolated voltage domain to support DVFS&lt;br /&gt;
* Cortex-A72 (big cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]&lt;br /&gt;
** Superscalar, variable-length, out-of-order pipeline&lt;br /&gt;
** L1 cache 48KB Icache and 32KB Dcache for each A72 &lt;br /&gt;
** L2 cache 1024KB for big cluster &lt;br /&gt;
* Cortex-A53 (little cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]&lt;br /&gt;
** In-order pipeline with symmetric dual-issue of most instructions &lt;br /&gt;
** L1 cache 32KB Icache and 32KB Dcache for each A53&lt;br /&gt;
** L2 cache 512KB for little cluster&lt;br /&gt;
* Cortex-M0 (control processors):&lt;br /&gt;
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]&lt;br /&gt;
** Two Cortex-M0 cooperate with the central processors&lt;br /&gt;
** Architecture: Armv6-M&lt;br /&gt;
** Thumb/Thumb2 instruction set&lt;br /&gt;
** 32 bit only&lt;br /&gt;
&lt;br /&gt;
=== GPU Architecture ===&lt;br /&gt;
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]&lt;br /&gt;
* The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPU is designed for complex graphics use cases and provide stunning visuals for UHD content.&lt;br /&gt;
* Frequency 	650MHz &lt;br /&gt;
* Throughput 	1300Mtri/s, 10.4Gpix/s&lt;br /&gt;
* Graphic interface standards:&lt;br /&gt;
** OpenGL® ES 1.1, 1.2, 2.0, 3.0, 3.1, 3.2. (Panfrost has initial support of 3.0 beginning 2020/02/27)&lt;br /&gt;
** Vulkan 1.0, using the Mali binary blob. (Panfrost does not support Vulkan as of 2020/06/24)&lt;br /&gt;
** OpenCL™ 1.1, 1.2&lt;br /&gt;
** DirectX® 11 FL11_1&lt;br /&gt;
** RenderScript™&lt;br /&gt;
&lt;br /&gt;
=== System Memory ===&lt;br /&gt;
* RAM Memory:&lt;br /&gt;
** LPDDR4&lt;br /&gt;
** 800MHz, (limited by RK3399)&lt;br /&gt;
** Dual memory channels on the CPU, each 32 bits wide&lt;br /&gt;
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel&lt;br /&gt;
** 4GB as a single 366 pin mobile RAM chip&lt;br /&gt;
* Storage Memory: &lt;br /&gt;
** 64GB eMMC module, can be upgraded to an 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)&lt;br /&gt;
** eMMC version 5.1, HS400, 8 bit on RK3399 side&lt;br /&gt;
** Bootable&lt;br /&gt;
* SPI flash:&lt;br /&gt;
** [[Pinebook Pro SPI]]&lt;br /&gt;
** 128Mbit / 16MByte&lt;br /&gt;
** 1 bit interface&lt;br /&gt;
** Bootable, (first boot device, ahead of eMMC &amp;amp; SD card)&lt;br /&gt;
** U-Boot images can be made to work, but as of 2020/06/24 there is no standardized image available.&lt;br /&gt;
&lt;br /&gt;
=== Video out ===&lt;br /&gt;
* USB-C Alt mode DP&lt;br /&gt;
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)&lt;br /&gt;
&lt;br /&gt;
=== Expansion Ports ===&lt;br /&gt;
* MicroSD card:&lt;br /&gt;
** Bootable&lt;br /&gt;
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.&lt;br /&gt;
** Version SD3.0, (MMC 4.5), up to 50MB/s&lt;br /&gt;
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS&lt;br /&gt;
* USB ports:&lt;br /&gt;
** 1 x USB 2.0 Type-A Host Port, bootable&lt;br /&gt;
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable&lt;br /&gt;
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable&lt;br /&gt;
** Note that high power USB devices may not work reliably on a PBP. Or they may draw enough power to drain the battery even when the PBP is plugged into A.C. One alternative is externally powered USB devices.&lt;br /&gt;
* Headphone jack switchable to UART console mux circuit&lt;br /&gt;
&lt;br /&gt;
== Additional hardware ==&lt;br /&gt;
Hardware that is not part of the SoC.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
* Lithium Polymer Battery (10,000 mAH)&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
* 14.0&amp;quot; 1920x1080 IPS LCD panel&lt;br /&gt;
=== Lid closed magnet ===&lt;br /&gt;
There is a magnet to detect when the laptop lid is closed, so action can be taken like sleep. This meets up with the Hall sensor on the daughter / small board to detect lid closed.&lt;br /&gt;
* The magnet is located on the LCD panel right side, around 1.5 inches up measure from bottom edge.&lt;br /&gt;
&lt;br /&gt;
=== Webcam ===&lt;br /&gt;
* Internal USB attached Webcam&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* 3.5mm stereo earphone/microphone plug&lt;br /&gt;
* Built-in microphone&lt;br /&gt;
* Built-in stereo speakers:&lt;br /&gt;
** Oval in design&lt;br /&gt;
** 3 mm high x 20 mm x 30 mm&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
* WiFi:&lt;br /&gt;
** 802.11 b/g/n/ac&lt;br /&gt;
** Dual band: 2.4Ghz &amp;amp; 5Ghz&lt;br /&gt;
** Single antenna&lt;br /&gt;
* Bluetooth 5.0&lt;br /&gt;
&lt;br /&gt;
=== Optional NVMe adapter ===&lt;br /&gt;
* PCIe 1.1, 2.5 GT/s per lane&lt;br /&gt;
** Note that due to errata, PCIe is limited to Gen1. See [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/arm64/boot/dts/rockchip/rk3399.dtsi?id=712fa1777207c2f2703a6eb618a9699099cbe37b this commit].&lt;br /&gt;
* Four PCIe lanes, which can not be bifurcated, but can be used with one- or two-lane NVMe cards&lt;br /&gt;
* '''M''' keyed, though '''M'''+'''B''' keyed devices will work too&lt;br /&gt;
* Maximum length for M.2 card is 80mm (M.2 2280). The following sizes will also work: 2230, 2242, 2260&lt;br /&gt;
* Power: 2.5&amp;amp;nbsp;W continuous, 8.25&amp;amp;nbsp;W peak momentary&lt;br /&gt;
* Does not support SATA M.2 cards&lt;br /&gt;
* Does not support USB M.2 cards&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Schematics and Certifications ==&lt;br /&gt;
* Pinebook Pro Main Board Schematic And Silkscreen:&lt;br /&gt;
** [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic]&lt;br /&gt;
** [https://wiki.pine64.org/images/3/30/Pinebookpro-v2.1-top-ref.pdf Pinebook Pro ver 2.1 Top Layer Silkscreen]&lt;br /&gt;
** [https://wiki.pine64.org/images/b/b7/Pinebookpro-v2.1-bottom-ref.pdf Pinebook Pro ver 2.1 Bottom Layer Silkscreen]&lt;br /&gt;
* Pinebook Pro Daughter Board Schematic:&lt;br /&gt;
** [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]&lt;br /&gt;
* Optional Pinebook Pro NVMe Adapter Schematic:&lt;br /&gt;
** [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]&lt;br /&gt;
* Serial Console Earphone Jack Pinout:&lt;br /&gt;
** [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinebook Serial Console Earphone Jack Pinout]&lt;br /&gt;
* Pinebook Pro Case:&lt;br /&gt;
** [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.pdf AutoCAD PDF File ]&lt;br /&gt;
** [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.ai AutoCAD AI File ]&lt;br /&gt;
** [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.dwg AutoCAD DWG File ]&lt;br /&gt;
* Pinebook Pro Certifications:&lt;br /&gt;
** [https://files.pine64.org/doc/cert/Pinebook%20Pro%20FCC%20Certificate-S19071103501001.pdf Pinebook Pro FCC Certificate]&lt;br /&gt;
** [https://files.pine64.org/doc/cert/Pinebook%20Pro%20CE%20RED%20Certificate-S19051404304.pdf Pinebook Pro CE Certificate]&lt;br /&gt;
** [https://files.pine64.org/doc/cert/Pinebook%20Pro%20ROHS%20Compliance%20Certificate.pdf Pinebook Pro RoHS Certificate]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
* Rockchip RK3399 SoC information:&lt;br /&gt;
** [https://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]&lt;br /&gt;
** [https://opensource.rock-chips.com/images/d/d7/Rockchip_RK3399_Datasheet_V2.1-20200323.pdf Rockchip RK3399 Datasheet v2.1]&lt;br /&gt;
** [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.4%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.4, part 1]&lt;br /&gt;
** [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.3, part 1] and [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part2.pdf part 2]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet v0.8]&lt;br /&gt;
* LPDDR4 SDRAM (366-pin BGA):&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]&lt;br /&gt;
* eMMC information:&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf 64GB/128GB SanDisk eMMC Datasheet]&lt;br /&gt;
* SPI NOR Flash information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]&lt;br /&gt;
** [https://wiki.pine64.org/images/b/b9/Ds-00220-gd25q127c-rev1-df2f4.pdf GigaDevice 128Mb SPI Flash Datasheet (updated)]&lt;br /&gt;
* Wireless and Bluetooth information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]&lt;br /&gt;
* Audio codec:&lt;br /&gt;
** [http://www.everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec Datasheet]&lt;br /&gt;
* LCD panel:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14&amp;quot; 1920x1080 IPS LCD Panel datasheet]&lt;br /&gt;
* USB-related information:&lt;br /&gt;
** Internal USB 2.0 hub: [https://wiki.pine64.org/images/3/39/GL850G_USB_Hub_1.07.pdf GL850G USB Hub Datasheet]&lt;br /&gt;
** USB Type-C Controller: [https://www.onsemi.com/pub/Collateral/FUSB302-D.PDF ON Semiconductor FUSB302 Datasheet]&lt;br /&gt;
* Touchpad information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf PineBook Pro Touchpad Specification]&lt;br /&gt;
* Keyboard information:&lt;br /&gt;
** [https://wiki.pine64.org/images/b/b0/SH68F83V2.0.pdf Sinowealth SH68F83 Datasheet]&lt;br /&gt;
** US ANSI: XK-HS002 MB27716023&lt;br /&gt;
* Full HD camera sensor:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification (in Chinese)]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Datasheet]&lt;br /&gt;
* Battery-related information:&lt;br /&gt;
** Battery charging IC: [https://www.ti.com/lit/ds/symlink/bq24171.pdf?ts=1607068456825&amp;amp;ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FBQ24171 Texas Instruments BQ24171 Datasheet]&lt;br /&gt;
** Battery monitoring IC: [https://cdn.datasheetspdf.com/pdf-down/C/W/2/CW2015-Cellwise.pdf Cellwise CW2015 Datasheet]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000mAH Lithium Battery Specification]&lt;br /&gt;
* Power path device:&lt;br /&gt;
** [https://wiki.pine64.org/images/9/99/Sis412dn.pdf N-MOS / MOSFET]&lt;br /&gt;
* NVMe adapter:&lt;br /&gt;
** [https://wiki.pine64.org/images/d/d0/Hirose-FH26W-35S-0.3SHW%2860%29-datasheet.pdf FH26-35S-0.3SHW flat flex connector (compatible, not OEM)]&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
Pinebook Pro v1 and v2 were prototype models that did not make it to the public. The &amp;quot;first batch&amp;quot; (First 100 forum preorders) onward are v2.1. [https://forum.pine64.org/showthread.php?tid=8111]&lt;br /&gt;
&lt;br /&gt;
=Skinning and Case Customization=&lt;br /&gt;
* Template files for creating custom skins. Each includes template layers for art placement, and CUT lines.&lt;br /&gt;
**[https://drive.google.com/open?id=1UKFlC53DO0GJm3Hz1E_669n_HhI45e4n Case Lid Template]&lt;br /&gt;
**[https://drive.google.com/open?id=1Q6bKGarMDhvWz3HdGvhL5qDhyHb546ve Case Bottom Template]&lt;br /&gt;
**[https://drive.google.com/open?id=1ugI74ygNJ3EN5jXks5jKvdpEAoxIzHo4 Case Palmrest Template]&lt;br /&gt;
&lt;br /&gt;
= Other Resources =&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=98 ROCKPro64 Forum]&lt;br /&gt;
* [https://riot.im/app/#/room/#pinebook:matrix.org Matrix Channel] (no login required to read)&lt;br /&gt;
* IRC Server: irc.pine64.org Channel: PineBook&lt;br /&gt;
* [https://discordapp.com/channels/463237927984693259/622348681538043924 Discord Channel]&lt;br /&gt;
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]&lt;br /&gt;
* [https://opensource.rock-chips.com/ Rockchip Open Source Wiki]&lt;br /&gt;
* [[Pinebook Pro/Freepascal and Lazarus IDE on Manjaro|Freepascal and Lazarus IDE on Pinebook Pro]]&lt;br /&gt;
&lt;br /&gt;
[[Category:PineBook Pro]]&lt;br /&gt;
[[Category:Rockchip RK3399]]&lt;/div&gt;</summary>
		<author><name>Mrfixit2001</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=RockBox&amp;diff=14440</id>
		<title>RockBox</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=RockBox&amp;diff=14440"/>
		<updated>2022-10-12T20:06:30Z</updated>

		<summary type="html">&lt;p&gt;Mrfixit2001: /* External resources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:rockbox.png|400px|thumb|right|Rendering of the RockBox]]&lt;br /&gt;
&lt;br /&gt;
The '''Popcorn Hour RockBox Basic''' is a TV box from the Cloud Media company in partnership with ''PINE64'' and the ''PINE64'' community. It is running a Rockchip RK3328 SoC and is supporting multiple different operating systems. The device is similar to the [[Rock64]] and runs some of its operating systems, it has a custom PCB and multiple hardware differences however.&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
* '''Dimensions''': 106mm x 106mm x 16.9mm&lt;br /&gt;
* '''Weight''': 143 g&lt;br /&gt;
* '''CPU''': Rockchip RK3328, Quad core Cortex-A53 @ up to 1.5GHz&lt;br /&gt;
* '''GPU''': Mali-450MP2&lt;br /&gt;
* '''System Memory''': 1GB LPDDR3&lt;br /&gt;
* '''Internal Storage''': 8GB eMMC&lt;br /&gt;
* '''Connectivity''': 802.11a/b/g/n, Ethernet 10/100&lt;br /&gt;
* '''USB''': 1x USB 2.0 OTG port, 1x USB 3.0 port&lt;br /&gt;
* '''Video Output''': HDMI Standard HDMI 2.0a@60hz&lt;br /&gt;
* '''Audio Output''': Via HDMI, Optical S/PDIF port&lt;br /&gt;
* '''Power Supply''': DC 5V/2A&lt;br /&gt;
&lt;br /&gt;
== Software releases ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.retro-center.com/about-r-cade/ Retro-Center's R-Cade: 100+ retro-gaming systems, a lightweight web browser, and 4k UHD media center] on the [https://www.retro-center.com/product/rockbox-r-cade/ RockBox R-Cade]&lt;br /&gt;
* [https://github.com/mrfixit2001/debian_builds/releases Mrfixit2001's Debian Minimal Release] (note: can be updated to a more recent Debian using the regular updating tools, except for the kernel and u-boot)&lt;br /&gt;
* [https://libreelec.tv/downloads/rockchip/ LibreELEC Rockchip] (note: select ''[https://releases.libreelec.tv/LibreELEC-RK3328.arm-9.2.6-rockbox.img.gz LibreELEC-RK3328.arm-9.2.6-rockbox.img.gz]'')&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
=== LED ===&lt;br /&gt;
The blue LED can be controlled with via the sysfs (''/sys/devices/platform/leds/leds/power/brightness''):&lt;br /&gt;
&lt;br /&gt;
To turn off the blue LED: &amp;lt;code&amp;gt;echo 0 | sudo tee /sys/devices/platform/leds/leds/power/brightness&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To turn on the blue LED: &amp;lt;code&amp;gt;echo 1 | sudo tee /sys/devices/platform/leds/leds/power/brightness&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: the maximum brightness is defined as 255, it doesn't support dimming however, so 0 and 1 as brightness is sufficient. Turning off the blue LED will turn on a weak red LED. Trigger can be changed via ''/sys/devices/platform/leds/leds/power/trigger''.&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
=== Disassembly ===&lt;br /&gt;
&lt;br /&gt;
The device can be easily disassembled by removing the four rubber feet and by unscrewing the four screws underneath them. The board is held in place by additional two black screws. Note: The board is connected to the main body with a cable.&lt;br /&gt;
&lt;br /&gt;
=== UART ===&lt;br /&gt;
&lt;br /&gt;
[[File:Rockbox_internals.jpg|400px|thumb|right|Internals of the RockBox with the UART contacts visible on the bottom right]]&lt;br /&gt;
&lt;br /&gt;
A serial console can be connected to the RockBox to retrieve the UART boot logs. A device such as a USB to TTL converter can be used to connect the RockBox. Simply set the USB device to 3.3 volts and connect GND to the GND connector on the mainboard, RTX to TX and TXD to RX. The fourth unlabelled contact on the mainboard should not be connected. Note: Unlike the [[ROCKPro64]], connecting TXD does not prevent the device from booting up.&lt;br /&gt;
&lt;br /&gt;
Connect the USB device to the PC and use a tool such as &amp;lt;code&amp;gt;screen&amp;lt;/code&amp;gt; to display the serial output:&lt;br /&gt;
&lt;br /&gt;
 screen /dev/ttyUSB0 1500000&lt;br /&gt;
&lt;br /&gt;
Then power up the RockBox and enjoy the serial output on the PC.&lt;br /&gt;
&lt;br /&gt;
To enable UART output in the OS as well (otherwise the output would stop at &amp;quot;''Starting kernel ...''&amp;quot;), &amp;lt;code&amp;gt;console=ttyS2,1500000n8&amp;lt;/code&amp;gt; can be added to the &amp;lt;code&amp;gt;append&amp;lt;/code&amp;gt; line in the ''/boot/extlinux.conf'' file when using ''EXTLINUX''.&lt;br /&gt;
&lt;br /&gt;
=== Mainline Linux ===&lt;br /&gt;
&lt;br /&gt;
Mainline Linux works on the RockBox without patches. To create a compatible u-boot image, https://github.com/mrfixit2001/uboot_builder may be used. The ''dtb'' has to be compiled from a recent ''dts'', such as [https://github.com/mrfixit2001/mainline-kernel/blob/master/arch/arm64/boot/dts/rockchip/rk3328-rockbox.dts this], otherwise network and video won't work.&lt;br /&gt;
&lt;br /&gt;
==== Building u-boot ====&lt;br /&gt;
{{hint|TODO}}&lt;br /&gt;
&lt;br /&gt;
==== Building the dtb ====&lt;br /&gt;
&lt;br /&gt;
The dtb can be compiled from a recent dts. To do that, download a kernel source and add a dts, or use a kernel source with an fitting dts. The second variant is showcased here:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/mrfixit2001/mainline-kernel.git&lt;br /&gt;
&lt;br /&gt;
Then change the directory to the kernel sources:&lt;br /&gt;
&lt;br /&gt;
 cd mainline-kernel&lt;br /&gt;
&lt;br /&gt;
Then create a config (defaults can be accepted):&lt;br /&gt;
&lt;br /&gt;
 make ARCH=arm64 menuconfig&lt;br /&gt;
&lt;br /&gt;
Now compile the dts files:&lt;br /&gt;
&lt;br /&gt;
 make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j 12 dtbs&lt;br /&gt;
&lt;br /&gt;
The compiled dtb file can now be copied from ''/arch/arm64/boot/dts/rockchip/rk3328-rockbox.dtb'' into for example the EXTLINUX location.&lt;br /&gt;
&lt;br /&gt;
==== Configuring EXTLINUX ====&lt;br /&gt;
&lt;br /&gt;
In the EXTLINUX location, the ''/extlinux/extlinux.conf'' should be pointed to the correct kernel image and the correct dtb file. An example configuration (with serial output with 1500000 baud being enabled for the OS and with the root directory set to the second partition ''mmcblk1p2'') can look like the following example:&lt;br /&gt;
&lt;br /&gt;
 default ROCKBOX&lt;br /&gt;
 &lt;br /&gt;
 label ROCKBOX&lt;br /&gt;
 kernel /Image&lt;br /&gt;
 fdt /rk3328-rockbox.dtb&lt;br /&gt;
 append console=tty0 console=ttyS2,1500000n8 rw root=/dev/mmcblk1p2 rootwait rootfstype=ext4 panic=10 init=/sbin/init coherent_pool=1M ethaddr=${ethaddr} eth1addr=${eth1addr} serial=${serial#} cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1 video=HDMI-A-1:1920x1080@60 loglevel=3&lt;br /&gt;
&lt;br /&gt;
== External resources ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.retro-center.com/product/rockbox-r-cade/ Retro Center online store]&lt;br /&gt;
* [https://www.retro-center.com/about-r-cade/ R-Cade software detail]&lt;br /&gt;
* [http://www.networkedmediatank.com/forumdisplay.php?fid=154 Networked Media Tank forum section]&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=85&amp;amp;page=1 PINE64 forum]&lt;/div&gt;</summary>
		<author><name>Mrfixit2001</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=RockBox&amp;diff=14439</id>
		<title>RockBox</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=RockBox&amp;diff=14439"/>
		<updated>2022-10-12T20:03:17Z</updated>

		<summary type="html">&lt;p&gt;Mrfixit2001: /* Software releases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:rockbox.png|400px|thumb|right|Rendering of the RockBox]]&lt;br /&gt;
&lt;br /&gt;
The '''Popcorn Hour RockBox Basic''' is a TV box from the Cloud Media company in partnership with ''PINE64'' and the ''PINE64'' community. It is running a Rockchip RK3328 SoC and is supporting multiple different operating systems. The device is similar to the [[Rock64]] and runs some of its operating systems, it has a custom PCB and multiple hardware differences however.&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
* '''Dimensions''': 106mm x 106mm x 16.9mm&lt;br /&gt;
* '''Weight''': 143 g&lt;br /&gt;
* '''CPU''': Rockchip RK3328, Quad core Cortex-A53 @ up to 1.5GHz&lt;br /&gt;
* '''GPU''': Mali-450MP2&lt;br /&gt;
* '''System Memory''': 1GB LPDDR3&lt;br /&gt;
* '''Internal Storage''': 8GB eMMC&lt;br /&gt;
* '''Connectivity''': 802.11a/b/g/n, Ethernet 10/100&lt;br /&gt;
* '''USB''': 1x USB 2.0 OTG port, 1x USB 3.0 port&lt;br /&gt;
* '''Video Output''': HDMI Standard HDMI 2.0a@60hz&lt;br /&gt;
* '''Audio Output''': Via HDMI, Optical S/PDIF port&lt;br /&gt;
* '''Power Supply''': DC 5V/2A&lt;br /&gt;
&lt;br /&gt;
== Software releases ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.retro-center.com/about-r-cade/ Retro-Center's R-Cade: 100+ retro-gaming systems, a lightweight web browser, and 4k UHD media center] on the [https://www.retro-center.com/product/rockbox-r-cade/ RockBox R-Cade]&lt;br /&gt;
* [https://github.com/mrfixit2001/debian_builds/releases Mrfixit2001's Debian Minimal Release] (note: can be updated to a more recent Debian using the regular updating tools, except for the kernel and u-boot)&lt;br /&gt;
* [https://libreelec.tv/downloads/rockchip/ LibreELEC Rockchip] (note: select ''[https://releases.libreelec.tv/LibreELEC-RK3328.arm-9.2.6-rockbox.img.gz LibreELEC-RK3328.arm-9.2.6-rockbox.img.gz]'')&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
=== LED ===&lt;br /&gt;
The blue LED can be controlled with via the sysfs (''/sys/devices/platform/leds/leds/power/brightness''):&lt;br /&gt;
&lt;br /&gt;
To turn off the blue LED: &amp;lt;code&amp;gt;echo 0 | sudo tee /sys/devices/platform/leds/leds/power/brightness&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To turn on the blue LED: &amp;lt;code&amp;gt;echo 1 | sudo tee /sys/devices/platform/leds/leds/power/brightness&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: the maximum brightness is defined as 255, it doesn't support dimming however, so 0 and 1 as brightness is sufficient. Turning off the blue LED will turn on a weak red LED. Trigger can be changed via ''/sys/devices/platform/leds/leds/power/trigger''.&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
=== Disassembly ===&lt;br /&gt;
&lt;br /&gt;
The device can be easily disassembled by removing the four rubber feet and by unscrewing the four screws underneath them. The board is held in place by additional two black screws. Note: The board is connected to the main body with a cable.&lt;br /&gt;
&lt;br /&gt;
=== UART ===&lt;br /&gt;
&lt;br /&gt;
[[File:Rockbox_internals.jpg|400px|thumb|right|Internals of the RockBox with the UART contacts visible on the bottom right]]&lt;br /&gt;
&lt;br /&gt;
A serial console can be connected to the RockBox to retrieve the UART boot logs. A device such as a USB to TTL converter can be used to connect the RockBox. Simply set the USB device to 3.3 volts and connect GND to the GND connector on the mainboard, RTX to TX and TXD to RX. The fourth unlabelled contact on the mainboard should not be connected. Note: Unlike the [[ROCKPro64]], connecting TXD does not prevent the device from booting up.&lt;br /&gt;
&lt;br /&gt;
Connect the USB device to the PC and use a tool such as &amp;lt;code&amp;gt;screen&amp;lt;/code&amp;gt; to display the serial output:&lt;br /&gt;
&lt;br /&gt;
 screen /dev/ttyUSB0 1500000&lt;br /&gt;
&lt;br /&gt;
Then power up the RockBox and enjoy the serial output on the PC.&lt;br /&gt;
&lt;br /&gt;
To enable UART output in the OS as well (otherwise the output would stop at &amp;quot;''Starting kernel ...''&amp;quot;), &amp;lt;code&amp;gt;console=ttyS2,1500000n8&amp;lt;/code&amp;gt; can be added to the &amp;lt;code&amp;gt;append&amp;lt;/code&amp;gt; line in the ''/boot/extlinux.conf'' file when using ''EXTLINUX''.&lt;br /&gt;
&lt;br /&gt;
=== Mainline Linux ===&lt;br /&gt;
&lt;br /&gt;
Mainline Linux works on the RockBox without patches. To create a compatible u-boot image, https://github.com/mrfixit2001/uboot_builder may be used. The ''dtb'' has to be compiled from a recent ''dts'', such as [https://github.com/mrfixit2001/mainline-kernel/blob/master/arch/arm64/boot/dts/rockchip/rk3328-rockbox.dts this], otherwise network and video won't work.&lt;br /&gt;
&lt;br /&gt;
==== Building u-boot ====&lt;br /&gt;
{{hint|TODO}}&lt;br /&gt;
&lt;br /&gt;
==== Building the dtb ====&lt;br /&gt;
&lt;br /&gt;
The dtb can be compiled from a recent dts. To do that, download a kernel source and add a dts, or use a kernel source with an fitting dts. The second variant is showcased here:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/mrfixit2001/mainline-kernel.git&lt;br /&gt;
&lt;br /&gt;
Then change the directory to the kernel sources:&lt;br /&gt;
&lt;br /&gt;
 cd mainline-kernel&lt;br /&gt;
&lt;br /&gt;
Then create a config (defaults can be accepted):&lt;br /&gt;
&lt;br /&gt;
 make ARCH=arm64 menuconfig&lt;br /&gt;
&lt;br /&gt;
Now compile the dts files:&lt;br /&gt;
&lt;br /&gt;
 make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j 12 dtbs&lt;br /&gt;
&lt;br /&gt;
The compiled dtb file can now be copied from ''/arch/arm64/boot/dts/rockchip/rk3328-rockbox.dtb'' into for example the EXTLINUX location.&lt;br /&gt;
&lt;br /&gt;
==== Configuring EXTLINUX ====&lt;br /&gt;
&lt;br /&gt;
In the EXTLINUX location, the ''/extlinux/extlinux.conf'' should be pointed to the correct kernel image and the correct dtb file. An example configuration (with serial output with 1500000 baud being enabled for the OS and with the root directory set to the second partition ''mmcblk1p2'') can look like the following example:&lt;br /&gt;
&lt;br /&gt;
 default ROCKBOX&lt;br /&gt;
 &lt;br /&gt;
 label ROCKBOX&lt;br /&gt;
 kernel /Image&lt;br /&gt;
 fdt /rk3328-rockbox.dtb&lt;br /&gt;
 append console=tty0 console=ttyS2,1500000n8 rw root=/dev/mmcblk1p2 rootwait rootfstype=ext4 panic=10 init=/sbin/init coherent_pool=1M ethaddr=${ethaddr} eth1addr=${eth1addr} serial=${serial#} cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1 video=HDMI-A-1:1920x1080@60 loglevel=3&lt;br /&gt;
&lt;br /&gt;
== External resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.networkedmediatank.com/forumdisplay.php?fid=154 Networked Media Tank forum section]&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=85&amp;amp;page=1 PINE64 forum]&lt;/div&gt;</summary>
		<author><name>Mrfixit2001</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Main_Page&amp;diff=14438</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Main_Page&amp;diff=14438"/>
		<updated>2022-10-12T20:02:11Z</updated>

		<summary type="html">&lt;p&gt;Mrfixit2001: /* Devices */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PINE64 is a community-driven company focused on creating high-quality, low-cost ARM devices and, more recently, RISC-V devices for individuals and businesses around the globe.  PINE64 made its debut with the [[PINE A64|PINE A64]] single-board computer, which successfully launched on Kickstarter in 2015. PINE64 has since released a multitude of other devices, including both development boards and end-user devices.&lt;br /&gt;
&lt;br /&gt;
PINE64 has a large, diverse and active community, and offers a variety of resources for hobbyists and businesses to successfully leverage various PINE64 products.  To become connected and involved with the community, please see [[Main Page#Community and Support|Community and Support]] for a list of available channels and chat platforms.  To learn more about PINE64, please visit the [https://www.pine64.org/ PINE64 website] and the [https://www.pine64.com/ PINE64 store]'''.&lt;br /&gt;
&lt;br /&gt;
For information about PINE64 branding, including the usage of the PINE64 logo in non-commercial and other applications, please read the [https://wiki.pine64.org/wiki/PINE64_brand_and_logo article about our brand and logo]. &lt;br /&gt;
&lt;br /&gt;
= Devices =&lt;br /&gt;
&lt;br /&gt;
[[File:Marchupdate-1024x594.jpg|thumb|upright=1.2|[[Pinebook Pro]] (left) and [[PinePhone]] (right)]]&lt;br /&gt;
&lt;br /&gt;
You can learn more about the following ARM and RISC-V devices manufactured by PINE64:&lt;br /&gt;
&lt;br /&gt;
* Phones: '''[[PinePhone]]''' and '''[[PinePhone Pro]]'''&lt;br /&gt;
* Phone accessories: '''[[PinePhone (Pro) Add-ons]]''' and '''[[PinePhone (Pro) Keyboard]]'''&lt;br /&gt;
* Tablets: '''[[PineNote]]''' and '''[[PineTab]]'''&lt;br /&gt;
* Wearable: '''[[PineBuds Pro]]''', '''[[PineTime]]'''&lt;br /&gt;
* Laptops: '''[[Pinebook]]''', '''[[Pinebook Pro]]''' and '''[[Pinebook Pro Dock|Pinebook Pro Docking station]]'''&lt;br /&gt;
* Single-board computers: '''[[Ox64]]''', '''[[STAR64]]''', '''[[Quartz64]]''', '''[[QuartzPro64_Development|QuartzPro64]]''', '''[[ROCKPro64]]''', '''[[ROCK64]]''', '''[[PINE A64]]''', '''[[PINE A64-LTS/SOPine|PINE A64-LTS]]''' and '''[[PINE H64]]'''&lt;br /&gt;
* Set-top box: '''[[RockBox]]'''&lt;br /&gt;
* Clusters and modules: '''[[Clusterboard]]''', '''[[SOPine]]''', '''[[SOPine Baseboard]]''', '''[[SOEdge]]''' and '''[[SOQuartz]]'''&lt;br /&gt;
* IP camera: '''[[PineCube]]'''&lt;br /&gt;
* Makerspace: '''[[Pinecil]]''', '''[[PinePower]]''', '''[[PineCone]]''' and '''[[Pinedio]]'''&lt;br /&gt;
&lt;br /&gt;
= Community and Support =&lt;br /&gt;
&lt;br /&gt;
Community collaboration and support is focused around the chat platforms and forums described below.  As an example of the collaborative efforts of the community, recent activity has resulted in drafting a [[PineFlash|proposal]] for a new flash-based storage device.  See [https://www.pine64.org/gettings-started/ Getting Started | PINE64] for tips about how to get started with the PINE64 community.&lt;br /&gt;
&lt;br /&gt;
== Chat Platforms ==&lt;br /&gt;
&lt;br /&gt;
PINE64 has a large and very active community.  Community discussion takes place on a variety of chat platforms, which are all bridged together so the messages sent via one platform are sent to all other platforms automatically.  The other networks and their users are represented by P64ProtocolBot.&lt;br /&gt;
&lt;br /&gt;
{{hint|PINE64 community is not some always responding, restless commercial customer service, or some sort of almighty existence that can resolve all your problems.  When participating in community discussions, please be patient and do not expect questions to be answered immediately, certainly, or currently.&lt;br /&gt;
* The activity of community members varies depending on the time of day and the number of active users.&lt;br /&gt;
* Whether your questions will be answered &amp;amp; whether the answers are right and definitive, depends on the information you provide, and, after all, difficulty of your questions &amp;amp; community members' ability.&lt;br /&gt;
* Read [http://www.catb.org/~esr/faqs/smart-questions.html How To Ask Questions The Smart Way] to learn more.}}&lt;br /&gt;
&lt;br /&gt;
The community chat platforms are the following:&lt;br /&gt;
* '''Discord''': use the [https://discord.gg/pine64 invite link].  All channels are available.&lt;br /&gt;
* '''Reddit''': use this [https://www.reddit.com/r/PINE64official/ official link].&lt;br /&gt;
* '''IRC''': the server is &amp;lt;i&amp;gt;irc.pine64.org&amp;lt;/i&amp;gt;. Use &amp;lt;code&amp;gt;/list&amp;lt;/code&amp;gt; command or the table below to see the full list of channels.&lt;br /&gt;
* '''Matrix and Telegram''': See the table below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Channel !! Matrix !! Telegram !! IRC&lt;br /&gt;
|-&lt;br /&gt;
| PINE64 News&lt;br /&gt;
| [https://matrix.to/#/#pine64-announcements:matrix.org #pine64-announcements:matrix.org]&lt;br /&gt;
| [https://t.me/PINE64_News @PINE64_News]&lt;br /&gt;
| Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| General PINE64 chat&lt;br /&gt;
| [https://matrix.to/#/#pine64:matrix.org #pine64:matrix.org]&lt;br /&gt;
| [https://t.me/mtrx_pine64 @mtrx_pine64]&lt;br /&gt;
| #pine64&lt;br /&gt;
|-&lt;br /&gt;
| PINE A64(+), A64-LTS &amp;amp; SOPine&lt;br /&gt;
| [https://matrix.to/#/#pine64sopine:matrix.org #pine64sopine:matrix.org]&lt;br /&gt;
| [https://t.me/pine64sopine @pine64sopine]&lt;br /&gt;
| #lts-sopine&lt;br /&gt;
|-&lt;br /&gt;
| ROCK64 / ROCKPro64&lt;br /&gt;
| [https://matrix.to/#/#rock64:matrix.org #rock64:matrix.org]&lt;br /&gt;
| [https://t.me/mtrx_rock64 @mtrx_rock64]&lt;br /&gt;
| #rock64&lt;br /&gt;
|-&lt;br /&gt;
| Quartz64&lt;br /&gt;
| [https://matrix.to/#/#quartz64:matrix.org #quartz64:matrix.org]&lt;br /&gt;
| [https://t.me/joinchat/Vq50DXkH31e0_i-f Quartz64]&lt;br /&gt;
| #quartz64&lt;br /&gt;
|-&lt;br /&gt;
| Quartz64 Development&lt;br /&gt;
| [https://matrix.to/#/#quartz64-dev:matrix.org #quartz64-dev:matrix.org]&lt;br /&gt;
| [https://t.me/q64dev @q64dev]&lt;br /&gt;
| #quartz64-dev&lt;br /&gt;
|-&lt;br /&gt;
| Pinebook and Pinebook Pro&lt;br /&gt;
| [https://matrix.to/#/#pinebook:matrix.org #pinebook:matrix.org]&lt;br /&gt;
| [https://t.me/mtx_pinebook @mtx_pinebook]&lt;br /&gt;
| #pinebook&lt;br /&gt;
|-&lt;br /&gt;
| PinePhone&lt;br /&gt;
| [https://matrix.to/#/#pinephone:matrix.org #pinephone:matrix.org]&lt;br /&gt;
| [https://t.me/pinephone @pinephone]&lt;br /&gt;
| #pinephone&lt;br /&gt;
|-&lt;br /&gt;
| PineNote&lt;br /&gt;
| [https://matrix.to/#/#pinenote:matrix.org #pinenote:matrix.org]&lt;br /&gt;
| [https://t.me/pinenote @PineNote]&lt;br /&gt;
| #pinenote&lt;br /&gt;
|-&lt;br /&gt;
| PineTab&lt;br /&gt;
| [https://matrix.to/#/#pinetab64:matrix.org #pinetab64:matrix.org]&lt;br /&gt;
| [https://t.me/PineTab @PineTab]&lt;br /&gt;
| #pinetab&lt;br /&gt;
|-&lt;br /&gt;
| PineTime&lt;br /&gt;
| [https://matrix.to/#/#pinetime:matrix.org #pinetime:matrix.org]&lt;br /&gt;
| [https://t.me/pinetime @pinetime]&lt;br /&gt;
| #Pinetime&lt;br /&gt;
|-&lt;br /&gt;
| PineTime Development&lt;br /&gt;
| [https://matrix.to/#/#pinetime-dev:matrix.org #pinetime-dev:matrix.org]&lt;br /&gt;
| [https://t.me/pinetime_dev @pinetime_dev]&lt;br /&gt;
| #pinetime-dev&lt;br /&gt;
|-&lt;br /&gt;
| Pinecil&lt;br /&gt;
| [https://matrix.to/#/#pinecil:matrix.org #pinecil:matrix.org]&lt;br /&gt;
| [https://t.me/joinchat/Kmi2S1iej-_4DgrVf3jjnQ Pinecil]&lt;br /&gt;
| #pinecil&lt;br /&gt;
|-&lt;br /&gt;
| Pinetalk Podcast || Unavailable || Unavailable || Unavailable&lt;br /&gt;
|-&lt;br /&gt;
| Cube&lt;br /&gt;
| [https://matrix.to/#/#cube64:matrix.org #cube64:matrix.org]&lt;br /&gt;
| [https://t.me/pinecube @pinecube]&lt;br /&gt;
| #cube&lt;br /&gt;
|-&lt;br /&gt;
| Nutcracker&lt;br /&gt;
| [https://matrix.to/#/#pine64-nutcracker:matrix.org #pine64-nutcracker:matrix.org]&lt;br /&gt;
| [https://t.me/joinchat/Kmi2S0nOsT240emHk-aO6g Nutcracker]&lt;br /&gt;
| #nutcracker&lt;br /&gt;
|-&lt;br /&gt;
| LoRa&lt;br /&gt;
| [https://matrix.to/#/#pinelora:matrix.org #pinelora:matrix.org]&lt;br /&gt;
| [https://t.me/pine64lora @pine64lora]&lt;br /&gt;
| #lora&lt;br /&gt;
|-&lt;br /&gt;
| Off-topic&lt;br /&gt;
| [https://matrix.to/#/#offtopic64:matrix.org #offtopic64:matrix.org]&lt;br /&gt;
| [https://t.me/pine64offtopic @pine64offtopic]&lt;br /&gt;
| #Offtopic&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
There is also an unofficial Matrix Space at [https://matrix.to/#/#pine64-space:matrix.org #pine64-space:matrix.org] for supported clients that organizes all of the above matrix channels into one place.&lt;br /&gt;
&lt;br /&gt;
== Forums ==&lt;br /&gt;
&lt;br /&gt;
PINE64 runs an official forum powered by the open-source forum server software MyBB.  The forum can be used to report issues, help out other users, offer findings and new information and more.  Users can also engage directly with the community and the developers of partner projects, as well as with the PINE64 members.&lt;br /&gt;
&lt;br /&gt;
The official PINE64 forum can be accessed here:&lt;br /&gt;
*  [https://forum.pine64.org/ Official PINE64 Forum]&lt;br /&gt;
&lt;br /&gt;
Also, these are the official Subreddits:&lt;br /&gt;
&lt;br /&gt;
* [https://www.reddit.com/r/PINE64official/ Official PINE64 Reddit]&lt;br /&gt;
* [https://www.reddit.com/r/PinePhoneOfficial/ Official PinePhone Reddit]&lt;br /&gt;
&lt;br /&gt;
= Helpful Information for Beginners =&lt;br /&gt;
&lt;br /&gt;
* '''[[NOOB | Getting started]]''': Basic information on setting up and handling PINE64 devices, such as how to write (flash) OS images to microSD cards and eMMC modules&lt;br /&gt;
* '''[[How to Contribute]]''': Information about how to contribute to different partner projects&lt;br /&gt;
* '''[[Where to Report Bugs]]''': Information about how to report bugs&lt;br /&gt;
* '''[[Notes | PINE64 Wiki contribution suggestion notes]]''': Some notes on prioritized and suggested writing or editing to this Wiki, as well as long-term goals and wiki housekeeping tasks&lt;br /&gt;
* '''[[:Category:Guide]]''': Lists other guide pages than those two above, some are dedicated to specific devices.&lt;/div&gt;</summary>
		<author><name>Mrfixit2001</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=ROCK64&amp;diff=14437</id>
		<title>ROCK64</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=ROCK64&amp;diff=14437"/>
		<updated>2022-10-12T19:59:37Z</updated>

		<summary type="html">&lt;p&gt;Mrfixit2001: /* Software releases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Rock64.jpg|400px|thumb|right|The ROCK64]]&lt;br /&gt;
&lt;br /&gt;
The '''ROCK64''' is a credit-card size 4K60P HDR Media Board Computer powered by Rockchip RK3328 Quad-Core ARM Cortex A53 64-Bit Processor and supports up to 4GB 1866MHz LPDDR3 memory. It provides an eMMC module socket, MicroSD Card slot, Pi-2 Bus, Pi-P5+ Bus, USB 3.0, and many other peripheral interfaces for makers to integrate with sensors and other devices. &lt;br /&gt;
&lt;br /&gt;
It supports many different open source operating systems, such as Android, Debian, and Yocto.&lt;br /&gt;
&lt;br /&gt;
== Software releases ==&lt;br /&gt;
* OS build Installation Guide and tools:&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/guide/ROCK64_Installing_Android_To_eMMC.pdf Guide to install stock Android build to eMMC module]&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/tools/SD_Firmware_Tool._v1.46.zip Tools to burn Android build into a bootable microSD card]&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/tools/AndroidTool_Release_v2.38.zip Tools that allows developer flash image into eMMC's Loader/Parameter/Misc/Kernal/Boot/Recovery/System/Backup partition]&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/tools/DriverAssitant_v4.5.zip Windows ADB driver package]&lt;br /&gt;
** [[ROCK64 MAC Address]]&lt;br /&gt;
&lt;br /&gt;
Under [[ROCK64 Software Releases]] you will find a complete list of currently supported operating system images, which work with the ROCK64, as well as other related software. &lt;br /&gt;
&lt;br /&gt;
The list includes OS images and descriptions of:&lt;br /&gt;
&lt;br /&gt;
* [[ROCK64_Software_Releases#Armbian|Armbian (microSD / eMMC Boot)]] &lt;br /&gt;
* [[ROCK64_Software_Releases#AOSC|AOSC (microSD / eMMC Boot)]] &lt;br /&gt;
* [[ROCK64_Software_Releases#Manjaro ARM|Manjaro ARM (microSD / eMMC Boot)]] &lt;br /&gt;
* [[ROCK64_Software_Releases#Ubuntu 18.04 Bionic by ayufan|Ubuntu 18.04 Bionic by ayufan (microSD / eMMC Boot)]]&lt;br /&gt;
* [[ROCK64_Software_Releases#Slackware|Slackware (microSD / eMMC Boot)]]&lt;br /&gt;
* [[ROCK64_Software_Releases#DietPi|DietPi (microSD / eMMC Boot)]]&lt;br /&gt;
* [[ROCK64_Software_Releases#R-Cade|R-Cade - retro gaming and 4k media center (USB / microSD / eMMC Boot)]] &lt;br /&gt;
* [[ROCK64_Software_Releases#LibreELEC.28KODI.29|LibreElec for KODI (microSD / eMMC Boot)]] &lt;br /&gt;
* [[ROCK64_Software_Releases#Volumio 2 Digital Audio Player|Volumio 2 Digital Audio Player (microSD / eMMC Boot)]]&lt;br /&gt;
* [[ROCK64_Software_Releases#Debian|Debian Installer images (microSD / eMMC Boot)]]&lt;br /&gt;
* [[ROCK64_Software_Releases#Debian_by_ayufan|Debian by ayufan (microSD / eMMC Boot)]]&lt;br /&gt;
* [[ROCK64_Software_Releases#Debian_by_mrfixit2001|Debian by mrfixit2001 (microSD / eMMC Boot)]]&lt;br /&gt;
* [[ROCK64_Software_Releases#OpenMediaVault|OpenMediaVault 64bit (microSD / eMMC boot)]]&lt;br /&gt;
* [[ROCK64_Software_Releases#NextCloudPi|NextCloudPi (microSD / eMMC Boot)]] &lt;br /&gt;
* [[ROCK64_Software_Releases#Recalbox|Recalbox (microSD / eMMC Boot)]]&lt;br /&gt;
* [[ROCK64_Software_Releases#NetBSD|NetBSD (microSD / eMMC Boot)]]&lt;br /&gt;
* [[ROCK64_Software_Releases#Android_9.x_eMMC|Android 9.x (eMMC)]]&lt;br /&gt;
* [[ROCK64_Software_Releases#Android_8.x_eMMC|Android 8.x (eMMC)]] / [[ROCK64_Software_Releases#Android_8.x|Android 8.x (microSD Boot)]]&lt;br /&gt;
* [[ROCK64_Software_Releases#Android_7.x_eMMC|Android 7.x (eMMC)]] / [[ROCK64_Software_Releases#Android_7.x|Android 7.x (microSD Boot)]]&lt;br /&gt;
* [[ROCK64_Software_Releases#Android_TV_7.x_eMMC|Android TV 7.x (eMMC)]] / [[ROCK64_Software_Releases#Android_TV_7.x|Android TV 7.x (microSD Boot)]]&lt;br /&gt;
&lt;br /&gt;
=== Quick Links to the Source of OS Images Build ===&lt;br /&gt;
&lt;br /&gt;
Some OS images are still in '''beta or nightly build''' which are only fit for testing purposes. These should usually be avoided for normal usage, since they are '''used at your own risk'''.&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/ayufan-rock64/linux-build/releases/latest/ ayufan Linux]&lt;br /&gt;
* [https://github.com/ayufan-rock64/android-7.1/releases/latest/ ayufan Android 7.1]&lt;br /&gt;
* [https://github.com/retro-center/rcade_releases/releases R-Cade]&lt;br /&gt;
* [https://github.com/LibreELEC/LibreELEC.tv LibreELEC (KODI)]&lt;br /&gt;
* [https://github.com/fire219/rock64-fedora/releases/latest/ Fire219 Fedora]&lt;br /&gt;
* [https://nightly.builds.lakka.tv/by_devices/RK3328.aarch64/ Lakka] | [https://github.com/rtissera/RetroPie-Setup/releases/latest/ RetroPie-Setup]&lt;br /&gt;
* [https://dl.armbian.com/rock64/ Armbian]&lt;br /&gt;
* [https://github.com/m01/rock64-arch-linux-build/releases/latest Arch Linux]&lt;br /&gt;
* [https://ownyourbits.com/downloads/ NextCloudPi]&lt;br /&gt;
* [https://dl.fail.pp.ua/slackware/images/rock64/ Slackware]&lt;br /&gt;
* [https://salsa.debian.org/installer-team/debian-installer/ Debian Installer]&lt;br /&gt;
&lt;br /&gt;
=== State of Software Support for the Hardware ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Requirement&lt;br /&gt;
! GNU/Linux&lt;br /&gt;
! Android/Linux&lt;br /&gt;
! Kodi/Linux&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 2160p 30Hz 8bit h264/h265/vp8&lt;br /&gt;
| partial? [https://forum.pine64.org/showthread.php?tid=4861&amp;amp;pid=32474#pid32474 1]&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| UI using GPU&lt;br /&gt;
| no&lt;br /&gt;
| yes&lt;br /&gt;
| yes&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Youtube&lt;br /&gt;
| no&lt;br /&gt;
| yes&lt;br /&gt;
| no&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| vp9 / mpeg4 / mpeg2 / 10bit HDR / YCbCr&lt;br /&gt;
| no&lt;br /&gt;
| yes?&lt;br /&gt;
| yes&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Upstreaming Status ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable plainrowheaders&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Function&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; colspan=&amp;quot;2&amp;quot; | Status&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Component&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Notes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Video Output&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;background:PaleGreen; text-align:center;&amp;quot;|Linux Mainline&lt;br /&gt;
| &amp;lt;code&amp;gt;rockchipdrm&amp;lt;/code&amp;gt;&lt;br /&gt;
| With mpv, you'll need to specify something like &amp;lt;code&amp;gt;mpv --gpu-context=drm --drm-connector=1.HDMI-A-1&amp;lt;/code&amp;gt; to get it to play back on a VT&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | 3D Acceleration &lt;br /&gt;
| style=&amp;quot;background:PaleGreen; text-align:center;&amp;quot;|Linux Mainline&lt;br /&gt;
| style=&amp;quot;background:PaleGreen; text-align:center;&amp;quot;|Upstream Mesa&lt;br /&gt;
| &amp;lt;code&amp;gt;lima&amp;lt;/code&amp;gt;&lt;br /&gt;
| Very recent version recommended for the best experience. Has weird glitches on HDMI output in weston.&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Video Decode &lt;br /&gt;
| style=&amp;quot;background:LightYellow; text-align:center;&amp;quot;|Linux Staging&lt;br /&gt;
| style=&amp;quot;background:#F99; text-align:center;&amp;quot;|Broken/Not in ffmpeg&lt;br /&gt;
| &amp;lt;code&amp;gt;hantro_vpu&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;rockchip_vdec&amp;lt;/code&amp;gt;, using &amp;lt;code&amp;gt;v4l2-requests&amp;lt;/code&amp;gt;&lt;br /&gt;
| [https://lore.kernel.org/linux-media/49b1-608d4d00-2b-62afdf80@101971638/ Soon to be moved out of staging], ffmpeg patch set [https://patchwork.ffmpeg.org/project/ffmpeg/patch/20201209202513.27449-3-jonas@kwiboo.se/ seemingly abandoned], does not work on newer kernels. [https://github.com/Kwiboo/FFmpeg/commits/v4l2-request-hwaccel-master-stable Git branch with commits]&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Audio &lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;  style=&amp;quot;background:PaleGreen; text-align:center;&amp;quot;|Linux Mainline&lt;br /&gt;
| &amp;lt;code&amp;gt;snd_soc_rockchip_*&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Power Button&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;background:PaleGreen; text-align:center;&amp;quot;|Linux Mainline&lt;br /&gt;
| &amp;lt;code&amp;gt;rk805_pwrkey&amp;lt;/code&amp;gt;&lt;br /&gt;
| If your PWR switch does nothing unless held, this may need to be loaded manually with &amp;lt;code&amp;gt;modprobe&amp;lt;/code&amp;gt; or by putting it in &amp;lt;code&amp;gt;/etc/modules-load.d/&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Analog Video Output&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#F99; text-align:center;&amp;quot;|Needs porting&lt;br /&gt;
| &amp;lt;code&amp;gt;rockchip_drm_tve&amp;lt;/code&amp;gt;&lt;br /&gt;
| Definitely needs some cleanup before it'd be ready for mainline, and needs some dt bindings written.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== SoC and Memory Specification ==&lt;br /&gt;
* Based on [https://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html Rockchip RK3328]&lt;br /&gt;
[[File:Rockchip_RK3328.png|right]]&lt;br /&gt;
&lt;br /&gt;
=== CPU Architecture ===&lt;br /&gt;
* [https://www.arm.com/products/processors/cortex-a/cortex-a53-processor.php Quad-core Cortex-A53 up to 1.5GHz CPU]&lt;br /&gt;
* Full implementation of the ARM architecture v8-A instruction set&lt;br /&gt;
* ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation&lt;br /&gt;
* ARMv8 Cryptography Extensions&lt;br /&gt;
* In-order pipeline with symmetric dual-issue of most instructions&lt;br /&gt;
* Unified system L2 cache&lt;br /&gt;
* Includes VFP v3 hardware to support single and double-precision operations&lt;br /&gt;
* Integrated 32KB L1 instruction cache, 32KB 4-way set associative L1 data cache&lt;br /&gt;
* TrustZone technology support&lt;br /&gt;
* Full CoreSight debug solution&lt;br /&gt;
* One separate power domain for CPU core system to support internal power switch, and to externally turn on/off based on different application scenario&lt;br /&gt;
* PD_A53: Cortex-A53 + Neon + FPU + L1 I/D Cache of core 2/3&lt;br /&gt;
* One isolated voltage domain to support DVFS&lt;br /&gt;
&lt;br /&gt;
==== Frequencies &amp;amp; Voltages ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Frequency&lt;br /&gt;
! Voltage&lt;br /&gt;
|- style=&amp;quot;text-align:right;&amp;quot;&lt;br /&gt;
| 408 MHz&lt;br /&gt;
| 0.950 V&lt;br /&gt;
|- style=&amp;quot;text-align:right;&amp;quot;&lt;br /&gt;
| 600 MHz&lt;br /&gt;
| 0.950 V&lt;br /&gt;
|- style=&amp;quot;text-align:right;&amp;quot;&lt;br /&gt;
| 816 MHz&lt;br /&gt;
| 1.000 V&lt;br /&gt;
|- style=&amp;quot;text-align:right;&amp;quot;&lt;br /&gt;
| 1008 MHz&lt;br /&gt;
| 1.100 V&lt;br /&gt;
|- style=&amp;quot;text-align:right;&amp;quot;&lt;br /&gt;
| 1200 MHz&lt;br /&gt;
| 1.225 V&lt;br /&gt;
|- style=&amp;quot;text-align:right;&amp;quot;&lt;br /&gt;
| 1296 MHz&lt;br /&gt;
| 1.300 V&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Power Draw ====&lt;br /&gt;
&lt;br /&gt;
These numbers for power draw have been measured through an USB power monitor (FNB38) while running the &amp;lt;code&amp;gt;stress&amp;lt;/code&amp;gt; utility, whereby &amp;quot;cpu&amp;quot; stands for &amp;lt;code&amp;gt;stress --cpu 4&amp;lt;/code&amp;gt; and &amp;quot;vm&amp;quot; stands for &amp;lt;code&amp;gt;stress --vm 4&amp;lt;/code&amp;gt;. The former spins on the CPU, the latter stresses the memory. Real workloads are usually a mix of both. The tests were ran through ssh, with nothing besides power and ethernet plugged into the ROCK64&lt;br /&gt;
&lt;br /&gt;
Please keep in mind that under real world usage, many other factors come into play. Having a display connected, running a graphical session, I/O and most importantly the connected USB peripherals can add a lot.&lt;br /&gt;
&lt;br /&gt;
Helpful refresher on the formula for power (W) on DC: power = current &amp;amp;times; voltage, because the power factor is 1. The ROCK64 runs on 5V, so use that to calculate current if you need to.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Frequency&lt;br /&gt;
! Power cpu&lt;br /&gt;
! Power vm&lt;br /&gt;
|- style=&amp;quot;text-align:right;&amp;quot;&lt;br /&gt;
| 1296 MHz&lt;br /&gt;
| 2.64 W&lt;br /&gt;
| 2.95 W&lt;br /&gt;
|- style=&amp;quot;text-align:right;&amp;quot;&lt;br /&gt;
| 1200 MHz&lt;br /&gt;
| 2.32 W&lt;br /&gt;
| 2.69 W&lt;br /&gt;
|- style=&amp;quot;text-align:right;&amp;quot;&lt;br /&gt;
| 1008 MHz&lt;br /&gt;
| 1.90 W&lt;br /&gt;
| 2.31 W&lt;br /&gt;
|- style=&amp;quot;text-align:right;&amp;quot;&lt;br /&gt;
| 816 MHz&lt;br /&gt;
| 1.62 W&lt;br /&gt;
| 2.05 W&lt;br /&gt;
|- style=&amp;quot;text-align:right;&amp;quot;&lt;br /&gt;
| 600 MHz&lt;br /&gt;
| 1.45 W&lt;br /&gt;
| 1.85 W&lt;br /&gt;
|- style=&amp;quot;text-align:right;&amp;quot;&lt;br /&gt;
| 408 MHz&lt;br /&gt;
| 1.33 W&lt;br /&gt;
| 1.72 W&lt;br /&gt;
|- style=&amp;quot;text-align:right;&amp;quot;&lt;br /&gt;
| Idle (no load)&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align:center;&amp;quot;| 1.10 W&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
It appears a good upper bound for a headless setup is in the neighbourhood of 3 W, or the energy contained in 0.025 bananas per hour.&lt;br /&gt;
&lt;br /&gt;
=== GPU Architecture ===&lt;br /&gt;
* [https://www.arm.com/products/multimedia/mali-gpu/ultra-low-power/mali-450.php ARM Mali-450MP2 Dual-core GPU]&lt;br /&gt;
* OpenGL ES 1.1 and 2.0, OpenVG1.1&lt;br /&gt;
&lt;br /&gt;
=== System Memory ===&lt;br /&gt;
* LPDDR3 RAM Memory Variants: 1GB, 2GB and 4GB.&lt;br /&gt;
&lt;br /&gt;
== Board Features ==&lt;br /&gt;
[[File:ROCK64_sideimg.jpg|400px|thumb|right|The ROCK64 and a size comparison]]&lt;br /&gt;
&lt;br /&gt;
=== Video ===&lt;br /&gt;
* Digital Video output up to 4K@60Hz&lt;br /&gt;
* 4K HDR @ 60fps&lt;br /&gt;
* H.264/AVC Base/Main/High/High10 profile @ level 5.1; up to 4Kx2K @ 60fps&lt;br /&gt;
* H.265/HEVC Main/Main10 profile @ level 5.1 High-tier; up to 4Kx2K @ 60fps&lt;br /&gt;
* VP9, up to 4Kx2K @ 60fps&lt;br /&gt;
* MPEG-1, ISO/IEC 11172-2, up to 1080P @ 60fps&lt;br /&gt;
* MPEG-2, ISO/IEC 13818-2, SP@ML, MP@HL, up to 1080P @ 60fps&lt;br /&gt;
* MPEG-4, ISO/IEC 14496-2, SP@L0-3, ASP@L0-5, up to 1080P @ 60fps&lt;br /&gt;
* VC-1, SP@ML, MP@HL, AP@L0-3, up to 1080P @ 60fps&lt;br /&gt;
* MVC is supported based on H.264 or H.265, up to 1080P @ 60fps&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* 3.5mm A/V Jack (Composite Video Output and RCA Stereo support using conversion cable)&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
* 10/100/1000Mbps Ethernet&lt;br /&gt;
* WiFi 802.11 b/g/n with Bluetooth 4.0 (optional USB dongle)&lt;br /&gt;
&lt;br /&gt;
=== Storage ===&lt;br /&gt;
* microSD - bootable, supports SDHC and SDXC and storage up to 256GB&lt;br /&gt;
* eMMC - bootable (optional eMMC Module)&lt;br /&gt;
* 128Mbit (16MB) on-board SPI flash memory (empty by default) - bootable? Usually accessible as a [http://linux-mtd.infradead.org/doc/general.html Linux MTD] device at &amp;lt;code&amp;gt;/dev/mtd0&amp;lt;/code&amp;gt;&lt;br /&gt;
* 1 USB3.0 Dedicated Host port&lt;br /&gt;
* 2 USB2.0 Dedicated Host port (top one is USB-OTG)&lt;br /&gt;
&lt;br /&gt;
=== Expansion Ports ===&lt;br /&gt;
All GPIO pins, including UART, operate at 3.3V. (See VCCIO5 in the schematics.)&lt;br /&gt;
&lt;br /&gt;
* 2x20 pins &amp;quot;Pi2&amp;quot; GPIO Header&lt;br /&gt;
* 2x11 pins &amp;quot;Pi P5+&amp;quot; GPIO Header (with 2nd 10/100Mbps Ethernet pins)&lt;br /&gt;
&lt;br /&gt;
== ROCK64 Board Information, Schematics and Certifications ==&lt;br /&gt;
* Board Dimensions: 85mm x 56mm x 18.8mm&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/rock64%20board%20dimension.pdf ROCK64 board dimension drawing]&lt;br /&gt;
* Input Power: +5V @3A with 3.5mm/1.35mm Type H Barrel type DC connector (@2A will work if there is no heavy load on the USB 3.0 port)&lt;br /&gt;
* ROCK64 ver 3.0 SBC related info&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/Rock64%20Ver%203%20change%20notice.pdf ROCK64 SBC v3.0 Change Notice]&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/ROCK64_Schematic_v3.0_20181105.pdf ROCK64 Schematic v3.0 (Production Release)]&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/ROCK64_comp_ref_top_v3.0_20181105.pdf ROCK64 Component Reference location v3.0 (top layer)]&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/ROCK64_comp_ref_bottom_v3.0_20181105.pdf ROCK64 Component Reference location v3.0 (bottom layer)]&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/ROCK64_V3_Pi-2_and_Pi-P5+_Bus.pdf ROCK64 SBC v3.0 Pi-2 and Pi-P5+ Bus GPIO Assignment]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/R64V3%20RTC%20Batt%20connector.png ROCK64 Rev3 SBC RTC Battery Connector polarity]&lt;br /&gt;
* ROCK64 ver 2.0 SBC related info&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/ROCK64_Schematic_v2.0_20171019.pdf ROCK64 Schematic v2.0 (Production Release)] &lt;br /&gt;
** [https://files.pine64.org/doc/rock64/ROCK64_Pi-2%20_and_Pi_P5+_Bus.pdf ROCK64 SBC v2.0 Pi-2 and Pi-P5+ Bus GPIO Assignment]&lt;br /&gt;
* [https://github.com/Leapo/Rock64-R64.GPIO Github on ROCK64 GPIO library, thanks to Leapo]&lt;br /&gt;
* [http://synfare.com/599N105E/hwdocs/rock64/index.html Good documentation about ROCK64 GPIO pins article]&lt;br /&gt;
* [https://files.pine64.org/doc/rock64/ROCK64_ES9023_Audio_100Mbps_Ethernet_Board.pdf ROCK64 Audio DAC with 10/100Mbps Ethernet POT Board Schematic]&lt;br /&gt;
* ROCK64 3-D autodesk drawing, thanks and courtesy of TeaPack&lt;br /&gt;
** [https://myhub.autodesk360.com/ue2b2f72e/g/shares/SH7f1edQT22b515c761e818b9e1b31b54545?viewState=NoIgbgDAdAjCA0IAsSDMAzAnAQwCaoFoYBjAdhgICNTVcCA2S9AJgIFMJTsAOGTU3LmLYQAXSA ROCK64 board 2D drawing @courtesy of TeaPack]&lt;br /&gt;
** [https://myhub.autodesk360.com/ue2b2f72e/g/shares/SH7f1edQT22b515c761e6078b748ecd478e1?viewState=NoIgbgDAdAjCA0IDeAdEAXAngBwKZoC40ARXAZwEsBzAOzXjQEMyzd1C0AmAEwGYZOAI0G4AtAA4ArABZeo6eIiNRggJwxuomAHYAxoOm6YMaQDZOvNAF8QAXSA ROCK64 board 3D drawing @courtesy of TeaPack]&lt;br /&gt;
** [https://myhub.autodesk360.com/ue2b2f72e/g/shares/SH7f1edQT22b515c761e45a87155aecc813f?viewState=NoIgbgDAdAjCA0IDeAdEAXAngBwKZoC40ARXAZwEsBzAOzXjQEMyzd1C0BWAYwgGYYAEyEBaQQDYARoJEAWfjMmzckkQCYAHCs5LZAMxi41aAL4gAukA ROCK64 Audio DAC with 10/100Mbps Ethernet POT board 3D drawing @courtesy of TeaPack]&lt;br /&gt;
** [https://myhub.autodesk360.com/ue2b2f72e/g/shares/SH7f1edQT22b515c761ee09b497ae3f2f72e?viewState=NoIgbgDAdAjCA0IBmSYEMAcBmAbBgtACwBGhMRATMeQKYYYX5ICcAJhjYWjDBGgKwgAukA ROCK64 board with Audio DAC POT board 3D drawing @courtesy of TeaPack]&lt;br /&gt;
* ROCK64 Certifications:&lt;br /&gt;
** Disclaimer: Please note that PINE64 SBC is not a &amp;quot;final&amp;quot; product and in general certification is not necessary. However, PINE64 still submits the SBC for FCC, CE, and ROHS certifications and obtain the certificates to prove that the SBC board can pass the testing. Please note, a final commercial product needs to perform its own testing and obtain its own certificate.&lt;br /&gt;
** [https://files.pine64.org/doc/cert/ROCK64%20FCC%20certification%20VOC20171129.pdf ROCK64 FCC Certificate]&lt;br /&gt;
** [https://files.pine64.org/doc/cert/ROCK64%20CE%20certification%20VOC20171129.pdf ROCK64 CE Certificate]&lt;br /&gt;
** [https://files.pine64.org/doc/cert/ROCK64%20ROHS%20certification%20VOC20170927.pdf ROCK64 RoHS Certificate]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
* Rockchip RK3328 SoC information:&lt;br /&gt;
** [https://www.rock-chips.com/a/en/products/RK33_Series/2017/0118/829.html Rockchip RK3328 SoC Brief]&lt;br /&gt;
** [https://rockchip.fr/RK3328%20datasheet%20V1.2.pdf Rockchip RK3328 Datasheet V1.2]&lt;br /&gt;
** [https://opensource.rock-chips.com/images/9/97/Rockchip_RK3328TRM_V1.1-Part1-20170321.pdf Rockchip RK3328 Technical Reference Manual part 1]&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/Rockchip_RK805_Datasheet_V1.1%C2%A020160921.pdf Rockchip RK805 Datasheet V1.1]&lt;br /&gt;
* LPDDR3 (178 Balls) SDRAM:&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/H9CCNNNCLTMLAR(Rev1.2).pdf Hynix LPDDR3 Datasheet V1.2]&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/K4E8E324EB-EGCF000_DRAM_178F_11x11.5_Ver.1.00.00.pdf Samsung LPDDR3 Datasheet V1.00.00]&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/SPECTEK_178B_32GB_V91M_MOBILE_LPDDR3.pdf Spectek LPDDR3 Datasheet]&lt;br /&gt;
* eMMC information:&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/E-00517%20FORESEE_eMMC_NCEMAM8B-16G%20SPEC.pdf 16GB Foresee eMMC Datasheet]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf 32Gb/64GB/128GB SanDisk eMMC Datasheet]&lt;br /&gt;
* SPI NOR Flash information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/GD25Q128C-Rev2.5.pdf GigaDevice 128Mb SPI Flash Datasheet]&lt;br /&gt;
* Ethernet related info:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/rock64/RTL8211F-CG-Realtek.pdf Realtek RTL8211F 10/100/1000M Ethernet Transceiver Datasheet]&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/DGKYD111B096GWA1D.pdf 10/100Mbps MegJack on Audio DAC POT board Datasheet]&lt;br /&gt;
* Peripheral related info:&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/PDS-16002%20JMS578%20Datasheet%20(Rev.%201.01).pdf JMicron JMS578 to SATA  Datasheet]&lt;br /&gt;
* Enclosure information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/case/ROCK64%20Aluminum%20Waterproof%20Die%20Cast%20Casing.pdf Outdoor Aluminum Cast Dust-proof IP67 Enclosure Drawing]&lt;br /&gt;
* Remote control button mapping&lt;br /&gt;
** [https://files.pine64.org/doc/Pine%20A64%20Schematic/remote-wit-logo.jpg Official Remote Control for the PINE A64 Button Mapping]&lt;br /&gt;
&lt;br /&gt;
== Enclosures ==&lt;br /&gt;
&lt;br /&gt;
[[File:Rock64-Al-Case1-1.jpg|thumb|100px]]&lt;br /&gt;
&lt;br /&gt;
The ROCK64 fits in three officially sold cases.&lt;br /&gt;
&lt;br /&gt;
* [[&amp;quot;Model B&amp;quot; Acrylic Open Enclosure]], [https://pine64.com/product/model-b-acrylic-open-enclosure/ Store]&lt;br /&gt;
* [[&amp;quot;Model B&amp;quot; Aluminum Waterproof Enclosure]], [https://pine64.com/product/model-b-aluminum-waterproof-enclosure/ Store]&lt;br /&gt;
* [[ROCK64 Premium Aluminum Casing]], [https://pine64.com/product/model-b-premium-aluminum-casing/?v=0446c16e2e66 Store]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== HDMI output disconnects as soon as it connects ===&lt;br /&gt;
&lt;br /&gt;
Some older monitors seemingly can get into a weird state wherein the ROCK64 is unable to establish a proper connection with them. [[User:CounterPillow]] has seen this happen on an iiyama ProLite G2773HS connected over HDMI, and an Acer P225HQL connected over an HDMI to DVI adapter. The symptoms usually are that you see the monitor briefly turn on its backlight without displaying a picture, but then immediately either shutting off again or showing a &amp;quot;No Signal&amp;quot; message.&lt;br /&gt;
&lt;br /&gt;
The solution is to completely power down your ROCK64, also removing its power source. Then plug in the monitor, and start up the ROCK64 afterwards. You should now be getting a picture again.&lt;br /&gt;
&lt;br /&gt;
=== Power button doesn't do anything on a short press (Linux) ===&lt;br /&gt;
&lt;br /&gt;
Make sure the &amp;lt;code&amp;gt;rk805_pwrkey&amp;lt;/code&amp;gt; module is loaded, e.g. with &amp;lt;code&amp;gt;lsmod | grep rk805_pwrkey&amp;lt;/code&amp;gt;. If it doesn't show up, do a &amp;lt;code&amp;gt;modprobe rk805_pwrkey&amp;lt;/code&amp;gt; as root. To make this persistent, create a &amp;lt;code&amp;gt;99-rk805_pwrkey.conf&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;/etc/modules-load.d/&amp;lt;/code&amp;gt; with the content &amp;lt;code&amp;gt;rk805_pwrkey&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it still doesn't work, make sure your init system is actually listening to the button press. With systemd, check &amp;lt;code&amp;gt;/etc/systemd/logind.conf&amp;lt;/code&amp;gt; and make sure it's either all commented out (uses defaults) or contains something like &amp;lt;code&amp;gt;HandlePowerKey=poweroff&amp;lt;/code&amp;gt;. You can change the short press action by setting &amp;lt;code&amp;gt;HandlePowerKey&amp;lt;/code&amp;gt; to one of &amp;quot;ignore&amp;quot;, &amp;quot;poweroff&amp;quot;, &amp;quot;reboot&amp;quot;, &amp;quot;halt&amp;quot;, &amp;quot;kexec&amp;quot;, &amp;quot;suspend&amp;quot;, &amp;quot;hibernate&amp;quot;, &amp;quot;hybrid-sleep&amp;quot;, &amp;quot;suspend-then-hibernate&amp;quot;, or &amp;quot;lock&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Video output is glitchy during activity ===&lt;br /&gt;
&lt;br /&gt;
If your video output glitches out while there is memory bandwidth pressure, the likely reason is that the video output (VOP) quality-of-service (QoS) registers aren't set to high priority mode.&lt;br /&gt;
&lt;br /&gt;
[[User:CounterPillow]] submitted [https://overviewer.org/~pillow/up/c5179dcb67/0001-rockchip-rk3328-Set-VOP-QoS-to-high-priority.patch a patch] to u-boot to fix this, but someone still needs to write a kernel patch to save/restore the QoS registers from the power domain driver.&lt;br /&gt;
&lt;br /&gt;
== Other Resources ==&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=85 ROCK64 Forum]&lt;br /&gt;
* IRC Server: irc.pine64.org Channel: ROCK64&lt;br /&gt;
* [https://github.com/rock64-linux ROCK64 Linux GitHub Repo]&lt;br /&gt;
* [https://github.com/ayufan-rock64 ROCK64 ayufan GitHub Repo]&lt;br /&gt;
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]&lt;br /&gt;
* [https://github.com/JamesLinEngineer/RKMC Rockchip Android RKMC (Forked from Kodi 16.1)]&lt;br /&gt;
* [https://opensource.rock-chips.com/ Rockchip Open Source Wiki]&lt;br /&gt;
* [https://wiki.pine64.org/index.php/Rock64_Guides ROCK64 Guides]&lt;br /&gt;
* [https://www.armbian.com/rock64 Armbian's ROCK64 Page]&lt;br /&gt;
&lt;br /&gt;
[[Category:Rock64]] [[Category:Rockchip RK3328]]&lt;/div&gt;</summary>
		<author><name>Mrfixit2001</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=ROCK64_Software_Releases&amp;diff=14436</id>
		<title>ROCK64 Software Releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=ROCK64_Software_Releases&amp;diff=14436"/>
		<updated>2022-10-12T19:56:04Z</updated>

		<summary type="html">&lt;p&gt;Mrfixit2001: /* Linux Image Releases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains a list of all available releases for the [[ROCK64]], as well as links to other resources.&lt;br /&gt;
&lt;br /&gt;
= Linux Image Releases =&lt;br /&gt;
&lt;br /&gt;
== Armbian==&lt;br /&gt;
[[File:armbian.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
* Version 5.88 onward support Rock64-v3 board&lt;br /&gt;
* To find out more about Armbian and available options please visit their [https://www.armbian.com/rock64/ site]&lt;br /&gt;
* Armbian pack as 7zip, please unzip first before dd.&lt;br /&gt;
* DD image to microSD card or eMMC module and boot. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
&lt;br /&gt;
=== Armbian Ubuntu Focal XFCE Desktop [microSD / eMMC Boot]  ===&lt;br /&gt;
* Mainline kernel build&lt;br /&gt;
* DD image (for 8GB microSD card or eMMC Module and above)&lt;br /&gt;
** [https://armbian.tnahosting.net/archive/rock64/archive/ Armbian's ROCK64 Ubuntu Focal XFCE Desktop download site]&lt;br /&gt;
&lt;br /&gt;
=== Armbian Ubuntu Bionic XFCE Desktop [microSD / eMMC Boot]  ===&lt;br /&gt;
* Mainline kernel build&lt;br /&gt;
* DD image (for 8GB microSD card or eMMC Module and above)&lt;br /&gt;
** [https://armbian.tnahosting.net/archive/rock64/archive/ Armbian's ROCK64 Ubuntu Bionic XFCE DEsktop download site]&lt;br /&gt;
* Login with&lt;br /&gt;
** username: root&lt;br /&gt;
** password: 1234&lt;br /&gt;
&lt;br /&gt;
=== Armbian Debian Buster for Server and Light Desktop [microSD / eMMC Boot]  ===&lt;br /&gt;
* Armbian provides a mainline kernel build images for Debian Buster&lt;br /&gt;
* DD image (for 8GB microSD card or eMMC Module and above)&lt;br /&gt;
** [https://armbian.tnahosting.net/archive/rock64/archive/ Armbian's ROCK64 Debian Buster download site]&lt;br /&gt;
&lt;br /&gt;
=== Armbian Ubuntu Focal for Server and Light Desktop [microSD / eMMC Boot]  ===&lt;br /&gt;
* Armbian provides a mainline kernel build images for Ubuntu Focal&lt;br /&gt;
* DD image (for 8GB microSD card or eMMC Module and above)&lt;br /&gt;
** [https://armbian.tnahosting.net/archive/rock64/archive/ Armbian's ROCK64 Ubuntu Focal download site]&lt;br /&gt;
&lt;br /&gt;
== AOSC ==&lt;br /&gt;
[[File:aosc.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
* To learn more about AOSC, please visit the official [https://aosc.io/ AOSC website]&lt;br /&gt;
* AOSC using LZ4 compression algorithm, please visit the [https://github.com/lz4/lz4 LZ4 github site] for utility&lt;br /&gt;
* 8GB microSD card or eMMC module and above&lt;br /&gt;
* Login with&lt;br /&gt;
** username: aosc&lt;br /&gt;
** password: anthon&lt;br /&gt;
=== AOSC KDE Community Build Image [microSD and eMMC Boot] ===&lt;br /&gt;
* [https://releases.aosc.io/os-arm64/rockchip64/kde/rock64/ Direct download from AOSC]&lt;br /&gt;
&lt;br /&gt;
=== AOSC GNOME Community Build Image [microSD and eMMC Boot] ===&lt;br /&gt;
* [https://releases.aosc.io/os-arm64/rockchip64/gnome/rock64/ Direct download from AOSC]&lt;br /&gt;
&lt;br /&gt;
=== AOSC MATE Community Build Image [microSD and eMMC Boot] ===&lt;br /&gt;
* [https://releases.aosc.io/os-arm64/rockchip64/mate/rock64/ Direct download from AOSC]&lt;br /&gt;
&lt;br /&gt;
=== AOSC Cinnamon Community Build Image [microSD and eMMC Boot] ===&lt;br /&gt;
* [https://releases.aosc.io/os-arm64/rockchip64/cinnamon/rock64/ Direct download from AOSC]&lt;br /&gt;
&lt;br /&gt;
=== AOSC XFCE Community Build Image [microSD and eMMC Boot] ===&lt;br /&gt;
* [https://releases.aosc.io/os-arm64/rockchip64/xfce/rock64/ Direct download from AOSC]&lt;br /&gt;
&lt;br /&gt;
=== AOSC LXDE Community Build Image [microSD and eMMC Boot] ===&lt;br /&gt;
* [https://releases.aosc.io/os-arm64/rockchip64/lxde/rock64/ Direct download from AOSC]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Manjaro ARM ==&lt;br /&gt;
[[File:Manjaro.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
Manjaro editions for Rock64 are available directly from Manjaro.&lt;br /&gt;
&lt;br /&gt;
[https://github.com/manjaro-arm/rock64-images/releases Manjaro Rock64 Download Page]&lt;br /&gt;
&lt;br /&gt;
* '''Only support ROCK64 ver2 SBC'''&lt;br /&gt;
* To learn more about Manjaro please visit [https://forum.manjaro.org/tags/manjaroarm Manjaro Forum] &lt;br /&gt;
* DD image to microSD card or eMMC module. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
&lt;br /&gt;
== Ubuntu 18.04 Bionic by ayufan ==&lt;br /&gt;
[[File:penguin.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/ayufan-rock64/linux-build/releases ayufan ROCK64 Linux Build GitHub]&lt;br /&gt;
* Forum thread concerning this release can be found [https://forum.pine64.org/showthread.php?tid=6309 here]&lt;br /&gt;
* DD image to microSD card or eMMC module and boot. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
* Login with&lt;br /&gt;
** username: rock64&lt;br /&gt;
** password: rock64&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 18.04 Bionic LXDE Desktop (armhf) Image [microSD / eMMC Boot] [0.9.14] ===&lt;br /&gt;
* [https://github.com/ayufan-rock64/linux-build/releases/download/0.9.14/bionic-lxde-rock64-0.9.14-1159-armhf.img.xz Direct download from ayufan's github]&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 18.04 Bionic minimal 64bit (arm64) Image [microSD / eMMC Boot] [0.9.14] ===&lt;br /&gt;
* [https://github.com/ayufan-rock64/linux-build/releases/download/0.9.14/bionic-minimal-rock64-0.9.14-1159-arm64.img.xz Direct download from ayufan's github]&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 18.04 Bionic minimal 32bit (armhf) Image [microSD / eMMC Boot] [0.9.14] ===&lt;br /&gt;
* [https://github.com/ayufan-rock64/linux-build/releases/download/0.9.14/bionic-minimal-rock64-0.9.14-1159-armhf.img.xz Direct download from ayufan's github]&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 18.04 Bionic containers (DockerCE &amp;amp; Kubernetes) Image [microSD / eMMC Boot] [0.9.14] ===&lt;br /&gt;
* [https://github.com/ayufan-rock64/linux-build/releases/download/0.9.14/bionic-containers-rock64-0.9.14-1159-arm64.img.xz Direct download from ayufan's github]&lt;br /&gt;
&lt;br /&gt;
== Slackware==&lt;br /&gt;
[[File:slackware.jpg|right|100px]]&lt;br /&gt;
&lt;br /&gt;
* Slackware is a very old, interesting, convenient and easy distribution.&lt;br /&gt;
* Visit the project's website here (https://fail.pp.ua)&lt;br /&gt;
* You can follow the ongoing discussion about Slackware on the PINE64 forum (https://forum.pine64.org/showthread.php?tid=5868)&lt;br /&gt;
* This Slackware build using ZST compression algorithm, please visit the [https://github.com/facebook/zstd ZST github site] for utility&lt;br /&gt;
&lt;br /&gt;
=== Slackware Aarch64 XFCE Community Build Image [microSD Boot] ===&lt;br /&gt;
* System with a graphical shell&lt;br /&gt;
* DD image to microSD card and boot. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
** [http://dl.fail.pp.ua/slackware/images/rock64/ Direct download from http://dl.fail.pp.ua and look for slarm64-current-aarch64-xfce-rock64-x.xx.x-build-xxxxxxxx.img.zst]&lt;br /&gt;
* Login with&lt;br /&gt;
** Username : root&lt;br /&gt;
** Password : password&lt;br /&gt;
&lt;br /&gt;
=== Slackware Aarch64 Miniroot Community Build Image [microSD Boot] ===&lt;br /&gt;
* System without a graphical shell&lt;br /&gt;
* DD image to microSD card and boot. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
** [http://dl.fail.pp.ua/slackware/images/rock64/ Direct download from http://dl.fail.pp.ua and look for slarm64-current-aarch64-base-rock64-x.xx.x-build-xxxxxxxx.img.zst]&lt;br /&gt;
* Login with&lt;br /&gt;
** Username : root&lt;br /&gt;
** Password : password&lt;br /&gt;
&lt;br /&gt;
* To run the OS on eMMC&lt;br /&gt;
**Flash the image to micro SD, power up the board with micro SD and login&lt;br /&gt;
**Copy the image file to micro SD by using SFTP. The image file must be in .img. ''note : root user are not allow transfer file to micro SD.''&lt;br /&gt;
**After finish copy the file, power off the board and add eMMC module to the board&lt;br /&gt;
**Bootup the board, run below command for flashing to eMMC module&lt;br /&gt;
***&amp;gt;&amp;gt;dd if=[image file] of=/dev/mmcblk1 bs=10M&lt;br /&gt;
****''example : dd if=slack-current-aarch64-xfce_08May18-4.4.126-rock64-build-20180508.img of=/dev/mmcblk1 bs=10M''&lt;br /&gt;
***then edit 2 files in eMMC module:&lt;br /&gt;
***&amp;gt;&amp;gt; mount /dev/mmcblk1p1 /media&lt;br /&gt;
***&amp;gt;&amp;gt; echo &amp;quot;rootdev=/dev/mmcblk1p1&amp;quot; &amp;gt;&amp;gt; /media/boot/uEnv.txt&lt;br /&gt;
***&amp;gt;&amp;gt; sed -i 's:mmcblk0p1:mmcblk1p1:' /media/etc/fstab&lt;br /&gt;
**After done, power off board and remove micro SD. Then bootup with only eMMC module.&lt;br /&gt;
&lt;br /&gt;
== DietPi ==&lt;br /&gt;
[[File:dietpi.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
* DietPi is a '''lightweight''', yet '''easy to setup''' and '''feature-rich''' Linux distribution, based on '''Debian'''.&lt;br /&gt;
* To find out more about DietPi, please visit the [https://dietpi.com/docs/ official documentation].&lt;br /&gt;
* Discuss the ROCK64 build on the [https://forum.pine64.org/showthread.php?tid=12514 PINE64 forum thread].&lt;br /&gt;
* DD image (for 4 GiB micro SD card or eMMC and above)&lt;br /&gt;
** [https://dietpi.com/downloads/images/DietPi_ROCK64-ARMv8-Bullseye.7z Direct download from dietpi.com]&lt;br /&gt;
* Login with&lt;br /&gt;
** Username: '''root'''&lt;br /&gt;
** Password: '''dietpi'''&lt;br /&gt;
&lt;br /&gt;
== LibreELEC (KODI) ==&lt;br /&gt;
[[File:libreelec.jpg|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Official LibreELEC KODI Build Image [microSD / eMMC boot] ===&lt;br /&gt;
&lt;br /&gt;
* Unzip and DD image to microSD card or eMMC module and boot. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
* 8GB microSD card or eMMC module and above&lt;br /&gt;
** [https://libreelec.tv/downloads/rockchip/ Direct download from LibreElec site and look for PINE64 LibreELEC-RK3328.arm-x.x.x-rock64.img.gz]&lt;br /&gt;
&lt;br /&gt;
=== Daily Build images (for testing) [microSD / eMMC boot] ===&lt;br /&gt;
&lt;br /&gt;
* Unzip and DD image to microSD card or eMMC module and boot. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
* 8GB microSD card or eMMC module and above&lt;br /&gt;
** [https://test.libreelec.tv/ Direct download from LibreElec site and put 'rock64' in the search box]&lt;br /&gt;
&lt;br /&gt;
== Volumio 2 Digital Audio Player ==&lt;br /&gt;
[[File:volumio.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
* Volumio is a linux-based headless DAP (digital audio player), which connects to your home stereo system or your DAC&lt;br /&gt;
* Visit the project's website [https://community.volumio.org/t/volumio-2-on-rock64/8192 here]&lt;br /&gt;
* You can follow the ongoing discussion about Volumio on the [https://forum.pine64.org/showthread.php?tid=5322 PINE64 forum]&lt;br /&gt;
&lt;br /&gt;
=== Volumio Digital Audio Player Community Build Image [microSD Boot] [2.528-2019-01-12] ===&lt;br /&gt;
* DD image (for 8GB microSD card and above)&lt;br /&gt;
** [https://updates.volumio.org/rock64/volumio/2.861/volumio-2.861-2020-12-22-rock64.img.zip Direct download from volumio.org]&lt;br /&gt;
* Login with&lt;br /&gt;
** Username: volumio&lt;br /&gt;
** Password: volumio&lt;br /&gt;
* '''Volumio is controlled using a Web-GUI which can be accessed via a web browser using the boards IP or volumio.local/'''&lt;br /&gt;
&lt;br /&gt;
== R-Cade ==&lt;br /&gt;
[[File:RCadeLogo.jpg|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Retro Center's R-Cade [USB / microSD / eMMC Boot] ===&lt;br /&gt;
* The 4K Media Center Arcade&lt;br /&gt;
* [https://www.retro-center.com/about-r-cade/ RCade] Features 100+ retro-gaming systems, a lightweight web browser, and full 4K UHD media playback&lt;br /&gt;
* DD image to USB, microSD, or eMMC and boot. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
** [https://github.com/retro-center/rcade_releases/releases Direct download from Retro Center's GitHub] &lt;br /&gt;
&lt;br /&gt;
== Lakka ==&lt;br /&gt;
[[File:lakka.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Lakka Community Build Image [microSD / eMMC Boot] ===&lt;br /&gt;
* [https://www.lakka.tv/ Lakka] The open source game console; a lightweight Linux distribution that transforms the Rock64 into a full blown retrogaming console&lt;br /&gt;
* Visit [https://forum.pine64.org/showthread.php?tid=5354 PINE64 forum] for more information about the Lakka release&lt;br /&gt;
* DD image to microSD card and boot. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
** [https://le.builds.lakka.tv/legacy-2.3/Rockchip.ROCK64.arm/ Direct download from Lakka] &lt;br /&gt;
* [[Lakka|Lakka Basic Setup]]&lt;br /&gt;
&lt;br /&gt;
== Debian ==&lt;br /&gt;
[[File:debian.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Debian Installer - Bullseye ===&lt;br /&gt;
* Go to Debian Bullseye's [https://deb.debian.org/debian/dists/bullseye/main/installer-arm64/current/images/netboot/SD-card-images/ official d-i concatenateable images] directory&lt;br /&gt;
* Download firmware.rock64-rk3328.img.gz and partition.img.gz&lt;br /&gt;
* Combine the 2 parts into 1 image file: &amp;lt;code&amp;gt;zcat firmware.rock64-rk3328.img.gz partition.img.gz &amp;gt; debian-installer-bullseye-rock64-rk3328.img&amp;lt;/code&amp;gt;* &lt;br /&gt;
* Write the created .img file to microSD card or eMMC Module with &amp;lt;code&amp;gt;dd&amp;lt;/code&amp;gt;&lt;br /&gt;
* Plug the microSD/eMMC card in the Rock64 and connect a serial console and boot up to start the Debian Installer&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;) (for non-Linux systems, consult [https://deb.debian.org/debian/dists/bullseye/main/installer-arm64/current/images/netboot/SD-card-images/README.concatenateable_images README.concatenateable_images])&lt;br /&gt;
&lt;br /&gt;
=== Debian Installer - Daily Build (for Bookworm+) ===&lt;br /&gt;
* Go to Debian's daily build [https://d-i.debian.org/daily-images/arm64/daily/netboot/SD-card-images/ official d-i concatenateable images] directory&lt;br /&gt;
* Download firmware.rock64-rk3328.img.gz and partition.img.gz&lt;br /&gt;
* Combine the 2 parts into 1 image file: &amp;lt;code&amp;gt;zcat firmware.rock64-rk3328.img.gz partition.img.gz &amp;gt; debian-installer-daily-build-rock64-rk3328.img&amp;lt;/code&amp;gt;* &lt;br /&gt;
* Write the created .img file to microSD card or eMMC Module with &amp;lt;code&amp;gt;dd&amp;lt;/code&amp;gt;&lt;br /&gt;
* Plug the microSD/eMMC card in the Rock64 and boot up to start the Debian Installer. It should work with both a [https://bugs.debian.org/1009014 normal display and a serial console]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;) (for non-Linux systems, consult [https://d-i.debian.org/daily-images/arm64/daily/netboot/SD-card-images/README.concatenateable_images README.concatenateable_images])&lt;br /&gt;
&lt;br /&gt;
== Debian by ayufan ==&lt;br /&gt;
[[File:debian.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Debian Stretch Minimal 64bit (arm64) OS Image [microSD / eMMC Boot] [0.8.3] ===&lt;br /&gt;
* DD image to microSD card or eMMC module and boot. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
** [https://github.com/ayufan-rock64/linux-build/releases/download/0.8.3/stretch-minimal-rock64-0.8.3-1141-arm64.img.xz Direct download from ayufan's github]&lt;br /&gt;
** size: 212MB&lt;br /&gt;
* Login with&lt;br /&gt;
** username: rock64&lt;br /&gt;
** password: rock64&lt;br /&gt;
*Forum thread concerning this release can be found [https://forum.pine64.org/showthread.php?tid=6309&amp;amp;pid=39314#pid39314 here]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Debian by mrfixit2001 ==&lt;br /&gt;
[[File:debian.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Minimal Debian [microSD / eMMC Boot] ===&lt;br /&gt;
** DD image to microSD card or eMMC module and boot. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
** [https://github.com/mrfixit2001/debian_builds/releases Direct download from mrfixit2001's github]&lt;br /&gt;
** Version 190514 onward support Rock64-v3 board&lt;br /&gt;
* Login with&lt;br /&gt;
** username: rock&lt;br /&gt;
** password: rock&lt;br /&gt;
&lt;br /&gt;
== OpenMediaVault ==&lt;br /&gt;
[[File:omv.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Jessie OpenMediaVault Community Build Image [microSD to eMMC] [0.5.15-136] by ayufan ===&lt;br /&gt;
* [https://www.openmediavault.org/ openmediavault is the next generation network attached storage (NAS) solution, click link to OMV main page]&lt;br /&gt;
* DD image to microSD card. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
** Shorting the eMMC PIN with a jumper as shown on the 1st image of [https://files.pine64.org/doc/rock64/guide/ROCK64_Installing_Android_To_eMMC.pdf Guide to install stock Android build to eMMC module]. After power ON the box for 2-3 second, quickly remove the jumper. After boot, it will prompt for confirmation 'Y' to start writing the new image to the eMMC. Then follow the instructions on the screen&lt;br /&gt;
'''* There's a bug with eMMC in the &amp;quot;Stable&amp;quot; version of openmediavault linked from the wiki page. In order to use eMMC, please you need to be on the latest (pre-release) version which is linked here https://github.com/ayufan-rock64/linux-build/releases'''&lt;br /&gt;
*&lt;br /&gt;
* [https://github.com/ayufan-rock64/linux-build/releases/ Release notes on ayufan Linux github]&lt;br /&gt;
* [https://files.pine64.org/os/ROCK64/omv/jessie-openmediavault-rock64-0.5.15-136-armhf_sd2emmc.img.xz Direct download from pine64.org]&lt;br /&gt;
** MD5 (XZ file): 7E423EF9146EA15403E7D1B4EA30594A&lt;br /&gt;
** File Size: 487MB&lt;br /&gt;
** Credentials (console/ssh, except OMV): rock64/rock64&lt;br /&gt;
** Credentials (OMV for Web): admin/openmediavault&lt;br /&gt;
** Credentials (OMV for console): root/openmediavault&lt;br /&gt;
* [[OpenMediaVault|OpenMediaVault Basic Setup]]&lt;br /&gt;
* [https://omv-extras.org/joomla/index.php/omv-plugins-3/3-stable OpenMediaVault Plugins]&lt;br /&gt;
&lt;br /&gt;
=== Stretch OpenMediaVault OS Image 32bit (armhf) [microSD / eMMC Boot] [0.8.3] ===&lt;br /&gt;
* [https://www.openmediavault.org/ openmediavault is the next generation network attached storage (NAS) solution, click link to OMV main page to learn more]&lt;br /&gt;
* DD image to microSD card or eMMC module. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
* [https://github.com/ayufan-rock64/linux-build/releases/ Release notes on ayufan Linux github] ''(pay attention to the release tag. Don't accidentaly choose a pre-release build)''&lt;br /&gt;
** [https://github.com/ayufan-rock64/linux-build/releases/download/0.8.3/stretch-openmediavault-rock64-0.8.3-1141-armhf.img.xz Direct download from ayufan's github]&lt;br /&gt;
** size: 391MB&lt;br /&gt;
* WebGUI Login:&lt;br /&gt;
** username: admin&lt;br /&gt;
** password: openmediavault&lt;br /&gt;
* SSH/ Console Login:&lt;br /&gt;
** username: root&lt;br /&gt;
** password: openmediavault &lt;br /&gt;
*** '''NB! You need to enable root login in OMV WebGUI'''&lt;br /&gt;
* [[OpenMediaVault|OpenMediaVault Basic Setup]]&lt;br /&gt;
* [https://omv-extras.org/joomla/index.php/omv-plugins-3/3-stable OpenMediaVault Plugins]&lt;br /&gt;
*Forum thread concerning this release can be found [https://forum.pine64.org/showthread.php?tid=6309 here]&lt;br /&gt;
&lt;br /&gt;
=== Stretch OpenMediaVault OS Image 64bit (arm64) [microSD / eMMC Boot] [0.8.3] ===&lt;br /&gt;
* [https://www.openmediavault.org/ openmediavault is the next generation network attached storage (NAS) solution, click link to OMV main page to learn more]&lt;br /&gt;
* DD image to microSD card or eMMC module. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
* [https://github.com/ayufan-rock64/linux-build/releases/ Release notes on ayufan Linux github] ''(pay attention to the release tag. Don't accidentaly choose a pre-release build)''&lt;br /&gt;
** [https://github.com/ayufan-rock64/linux-build/releases/download/0.8.3/stretch-openmediavault-rockpro64-0.8.3-1141-arm64.img.xz Direct download from ayufan's github]&lt;br /&gt;
** size: 340MB&lt;br /&gt;
* WebGUI Login:&lt;br /&gt;
** username: admin&lt;br /&gt;
** password: openmediavault&lt;br /&gt;
* SSH/ Console Login:&lt;br /&gt;
** username: root&lt;br /&gt;
** password: openmediavault &lt;br /&gt;
*** '''NB! You need to enable root login in OMV WebGUI'''&lt;br /&gt;
* [[OpenMediaVault|OpenMediaVault Basic Setup]]&lt;br /&gt;
* [https://omv-extras.org/joomla/index.php/omv-plugins-3/3-stable OpenMediaVault Plugins]&lt;br /&gt;
*Forum thread concerning this release can be found [https://forum.pine64.org/showthread.php?tid=6309 here]&lt;br /&gt;
&lt;br /&gt;
== NextCloudPi==&lt;br /&gt;
[[File:nextcloudpi.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== NextCloudPi Community Build Image [microSD / eMMC Boot] [03-10-19] ===&lt;br /&gt;
* NextCloudPi comes not only with NextCloud preinstalled, but also with management tools for backups, SSL certificates, SAMBA, enhanced security and more.&lt;br /&gt;
* Visit the project's [https://nextcloudpi.com website]&lt;br /&gt;
* You can follow the ongoing discussion about NextCloudPi on the [https://forum.pine64.org/showthread.php?tid=6047 PINE64 forum]&lt;br /&gt;
* DD image to microSD card and boot. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
** [https://files.pine64.org/os/ROCK64/nextcloudplus/NextCloudPi_Rock64_03-10-19.img.xz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (XZ file): 1432c8b8082696f38770004b3cb5ac1e&lt;br /&gt;
*** File Size: 310MB&lt;br /&gt;
* Login with&lt;br /&gt;
** username: root&lt;br /&gt;
** password: 1234&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Recalbox ==&lt;br /&gt;
[[File:RB.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Recalbox Community Build Image [microSD / eMMC boot] ===&lt;br /&gt;
* '''Only support ROCK64 ver2 SBC'''&lt;br /&gt;
* Recalbox allows you to re-play a variety of videogame consoles and platforms in your living room, with ease! &lt;br /&gt;
* To find out more about Recalbox and available tweaks to the installation please visit the [https://forum.pine64.org/showthread.php?tid=7111 PINE64 forum thread]&lt;br /&gt;
*Visit the project's [https://www.recalbox.com/ website]&lt;br /&gt;
* DD image (for 8GB microSD card and above)&lt;br /&gt;
** [https://github.com/mrfixit2001/recalbox_rock64/releases Direct download latest release build from mrfixit2001 github]&lt;br /&gt;
&lt;br /&gt;
== Cent OS [No Longer Maintained] ==&lt;br /&gt;
[[File:Centos.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== CentOS-7 Community Build Image [microSD Boot] ===&lt;br /&gt;
* '''Only support ROCK64 ver2 SBC'''&lt;br /&gt;
* Centos-7.4.1708 with kernel from Armbian-5.69 (minimum build)&lt;br /&gt;
** DD image (for 8GB microSD card and above)&lt;br /&gt;
** [https://github.com/Project31/centos-pine64/releases/download/v7.4.1708-v5.59/centos7-rock64.img.xz Project31 download mirrors]&lt;br /&gt;
* To find out more on installation process, please visit their [https://project31.github.io/pine64/ Project31 site]&lt;br /&gt;
* Login with&lt;br /&gt;
** username: root&lt;br /&gt;
** password: centos&lt;br /&gt;
&lt;br /&gt;
== NEMS Linux ==&lt;br /&gt;
[[File:nems.jpg|right|100px]]&lt;br /&gt;
&lt;br /&gt;
https://files.pine64.org/sw/pine64_installer/json/nems.jpg&lt;br /&gt;
* '''Only support ROCK64 ver2 SBC'''&lt;br /&gt;
* NEMS stands for &amp;quot;Nagios Enterprise Monitoring Server&amp;quot; and it is a modern pre-configured, customized and ready-to-deploy Nagios Core image designed to run on low-cost micro computers.&lt;br /&gt;
* To find out more about NEMS on the PINE64 and available tweaks to the installation please visit the [https://forum.pine64.org/showthread.php?tid=7306 PINE64 forum thread]&lt;br /&gt;
* Login with&lt;br /&gt;
** Username: nemsadmin&lt;br /&gt;
** Password: nemsadmin&lt;br /&gt;
* [https://docs.nemslinux.com/installation  Installation Guide]&lt;br /&gt;
* To find out more on NEM Linux, please visit their [https://nemslinux.com/ site]&lt;br /&gt;
&lt;br /&gt;
=== NEMS Linux [microSD / eMMC boot] [v1.5 - build 2] ===&lt;br /&gt;
* DD image (for 16GB microSD card and above)&lt;br /&gt;
** [https://nemslinux.com/download/nagios-for-pine64.php Download torrent seed from NEMS Linux]&lt;br /&gt;
** [https://files.pine64.org/os/ROCK64/nems/NEMS_v1.5-Rock64-Build2.zip Direct download from pine64.org]&lt;br /&gt;
*** MD5 (XZ file): 6e2088922c5d197db8b8ba3057120389&lt;br /&gt;
*** File Size: 1.30GB&lt;br /&gt;
&lt;br /&gt;
== Fedora  [No Longer Maintained] ==&lt;br /&gt;
[[File:fedora1.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Fedora Minimal Community Build Image [microSD boot] [Preliminary Build] ===&lt;br /&gt;
* [https://github.com/fire219/rock64-fedora/releases/ Follow up on Fire219 github]&lt;br /&gt;
&lt;br /&gt;
= BSD Image Releases =&lt;br /&gt;
&lt;br /&gt;
==NetBSD==&lt;br /&gt;
[[File:netbsd.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
* To learn more about NetBSD please visit [https://www.netbsd.org/ NetBSD main page] &lt;br /&gt;
* DD image to microSD card or eMMC module. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
** [https://www.invisible.ca/arm/ Direct download latest release build from NetBSD by select ROCK64]&lt;br /&gt;
** size: 280MB&lt;br /&gt;
* Console and SSH default login:&lt;br /&gt;
** username: root&lt;br /&gt;
** password: [none]&lt;br /&gt;
* Instructions concerning enabling SSH can be found [https://www.netbsd.org/docs/guide/en/chap-boot.html#chap-boot-ssh here]&lt;br /&gt;
&lt;br /&gt;
==OpenBSD==&lt;br /&gt;
[[File:Puffy_mascot_openbsd.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
* You can install OpenBSD on your Rock64 by following [https://github.com/krjdev/rock64_openbsd these instructions]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FreeBSD==&lt;br /&gt;
&amp;lt;div style=float:right&amp;gt;[[File:Freebsd_Logo.png|right|100px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
The [https://wiki.freebsd.org/arm/RockChip#Rock64 RockChip FreeBSD page] has instructions for installing FreeBSD.&lt;br /&gt;
&lt;br /&gt;
* Images for various FreeBSD releases can be found [https://www.freebsd.org/where/ here]&lt;br /&gt;
* Version 13.0 and greater include prebuilt images. Find the link in the SD Card Images section and download the ROCK64 image.&lt;br /&gt;
* SSH is enable by default and can be accessed with the following account:&lt;br /&gt;
:: username: freebsd&lt;br /&gt;
:: password: freebsd&lt;br /&gt;
* The root account credentials are:&lt;br /&gt;
:: username: root&lt;br /&gt;
:: password: root&lt;br /&gt;
&lt;br /&gt;
= Android Image Releases =&lt;br /&gt;
&lt;br /&gt;
== Android TV 9.x eMMC (No Google Play) ==&lt;br /&gt;
[[File:android_9.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
'''* For install Playstore on Android 9.0, please follows [https://forum.pine64.org/showthread.php?tid=8655 this forum thread]'''&lt;br /&gt;
&lt;br /&gt;
=== Android 9.0 Stock Image [eMMC Boot] using DD method [20190617] ===&lt;br /&gt;
* DD image to eMMC module using USB adapter for eMMC module and boot. Highly recommend using [https://etcher.io/ Etcher] or [https://github.com/pine64dev/PINE64-Installer/blob/master/README.md#download PINE64 Installer]&lt;br /&gt;
* Please allow 3-5 minutes boot up time on first time for initialization&lt;br /&gt;
* DD image for 16GB eMMC module&lt;br /&gt;
** [https://files.pine64.org/os/ROCK64/android/ROCK64_dd_20190617_stock_android_9.0_emmcboot-16GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): D985808B4CA912201372DC2F5F322AE9&lt;br /&gt;
*** File Size: 560MB&lt;br /&gt;
* DD image for 32GB eMMC module&lt;br /&gt;
** [https://files.pine64.org/os/ROCK64/android/ROCK64_dd_20190617_stock_android_9.0_emmcboot-32GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): 5D65A44F78BD08B4584413C8BEEAAF05&lt;br /&gt;
*** File Size: 579MB&lt;br /&gt;
* DD image for 64GB eMMC module&lt;br /&gt;
** [https://files.pine64.org/os/ROCK64/android/ROCK64_dd_20190617_stock_android_9.0_emmcboot-64GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): B34D1C119386CBA1658E5F0FB9E4413D&lt;br /&gt;
*** File Size: 615MB&lt;br /&gt;
&lt;br /&gt;
=== Android 9.0 Stock Image [eMMC Boot] using ROCKChip tools method [20190617] ===&lt;br /&gt;
* Please unzip first and then using Android tool to flash in&lt;br /&gt;
* The OTG port located at top USB 2.0 port, needs USB type A to type A cable.&lt;br /&gt;
* Please allow 3-5 minutes boot up time on first time for initialization&lt;br /&gt;
* This is Android TV build version&lt;br /&gt;
** [https://files.pine64.org/os/ROCK64/android/ROCK64_20190617_stock_android_9.0_emmcboot.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): 9B717263E7749A732C8B5C7D7D59C5C6&lt;br /&gt;
*** File Size: 544MB&lt;br /&gt;
&lt;br /&gt;
=== Android 9.0 Stock Rooted Image [eMMC Boot] using DD method [20190618] ===&lt;br /&gt;
* DD image to eMMC module using USB adapter for eMMC module and boot. Highly recommend using [https://etcher.io/ Etcher] or [https://github.com/pine64dev/PINE64-Installer/blob/master/README.md#download PINE64 Installer]&lt;br /&gt;
* Please allow 3-5 minutes boot up time on first time for initialization&lt;br /&gt;
* DD image for 16GB eMMC module&lt;br /&gt;
** [https://files.pine64.org/os/ROCK64/android/ROCK64_dd_20190618_stock_rooted_android_9.0_emmcboot-16GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): DBB5B3D46B77A33BC9F09173C9788E6E&lt;br /&gt;
*** File Size: 561MB&lt;br /&gt;
* DD image for 32GB eMMC module&lt;br /&gt;
** [https://files.pine64.org/os/ROCK64/android/ROCK64_dd_20190618_stock_rooted_android_9.0_emmcboot-32GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): 5F3B97EA72B3227082500B3FB1FAB44A&lt;br /&gt;
*** File Size: 579MB&lt;br /&gt;
* DD image for 64GB eMMC module&lt;br /&gt;
** [https://files.pine64.org/os/ROCK64/android/ROCK64_dd_20190618_stock_rooted_android_9.0_emmcboot-64GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): 6833B124ABA3AC2269A6B4F51EFD1109&lt;br /&gt;
*** File Size: 615MB&lt;br /&gt;
&lt;br /&gt;
=== Android 9.0 Stock Rooted Image [eMMC Boot] using ROCKChip tools method [20190618] ===&lt;br /&gt;
* Please unzip first and then using Android tool to flash in&lt;br /&gt;
* The OTG port located at top USB 2.0 port, needs USB type A to type A cable.&lt;br /&gt;
* Please allow 3-5 minutes boot up time on first time for initialization&lt;br /&gt;
* This is Rooted Android TV build version&lt;br /&gt;
* [https://wiki.pine64.org/index.php/NOOB#Flashing_to_eMMC_using_Rockchip_Tools_.28Rock64_Only.29 Guide to flashing eMMC using Rockchip Tools]&lt;br /&gt;
* [https://files.pine64.org/os/ROCK64/android/ROCK64_20190618_stock_rooted_android_9.0_emmcboot.img.gz Direct download from pine64.org]&lt;br /&gt;
** MD5 (GZip file): FC5F80C3A939AD0F8DCE5B85F22D20A1&lt;br /&gt;
** File Size: 544MB&lt;br /&gt;
&lt;br /&gt;
== Android 9.x (No Google Play) ==&lt;br /&gt;
[[File:android_9.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Android 9.0 Stock Rooted Image [microSD Boot] using DD method [20190621] ===&lt;br /&gt;
* DD image to microSD card and boot. Highly recommend using [https://etcher.io/ Etcher] or [https://github.com/pine64dev/PINE64-Installer/blob/master/README.md#download PINE64 Installer]&lt;br /&gt;
* Please allow 3-5 minutes boot up time on first time for initialization&lt;br /&gt;
* This is Rooted Android TV build version&lt;br /&gt;
* DD image for 8GB microSD card&lt;br /&gt;
** [https://files.pine64.org/os/ROCK64/android/ROCK64_dd_20190621_stock_rooted_android_9.0_sdboot-8GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): A250B72CD6AAB24B8156DE08EB15530C&lt;br /&gt;
*** File Size: 546MB&lt;br /&gt;
* DD image for 16GB microSD card&lt;br /&gt;
** [https://files.pine64.org/os/ROCK64/android/ROCK64_dd_20190621_stock_rooted_android_9.0_sdboot-16GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): 09A6BACD71159853D5E4C6C21C883B0F&lt;br /&gt;
*** File Size: 556MB&lt;br /&gt;
* DD image for 32GB microSD card&lt;br /&gt;
** [https://files.pine64.org/os/ROCK64/android/ROCK64_dd_20190621_stock_rooted_android_9.0_sdboot-32GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): C68DC5D96F1C546B96EC690CE7BFE910&lt;br /&gt;
*** File Size: 574MB&lt;br /&gt;
* DD image for 64GB microSD card&lt;br /&gt;
** [https://files.pine64.org/os/ROCK64/android/ROCK64_dd_20190621_stock_rooted_android_9.0_sdboot-64GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): 4EFC87B4CEE4C7655618DCA95EF7DD0D&lt;br /&gt;
*** File Size: 707MB&lt;br /&gt;
&lt;br /&gt;
=== Android 9.0 Stock Rooted Image [microSD Boot] using ROCKChip SDDisk tools method [20190621] ===&lt;br /&gt;
* Please unzip first and then using Android tool to flash in&lt;br /&gt;
* Please allow 3-5 minutes boot up time on first time for initialization&lt;br /&gt;
* This is Rooted Android TV build version&lt;br /&gt;
* [https://files.pine64.org/os/ROCK64/android/SDDiskTool_v1.57.zip Rockchip SDDisk Tool ver 1.57]&lt;br /&gt;
* [https://files.pine64.org/os/ROCK64/android/ROCK64_20190621_stock_rooted_android_9.0_sdboot.img.gz Direct download from pine64.org]&lt;br /&gt;
** MD5 (GZip file): EE00D309745F842213E21B2F1E20C510&lt;br /&gt;
** File Size: 539MB&lt;br /&gt;
&lt;br /&gt;
== Android 8.x TV eMMC (preinstalled Google Play Store) ==&lt;br /&gt;
[[File:android_8.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Android 8.1. Stock Image [eMMC Boot] using DD method [20180606] ===&lt;br /&gt;
* DD image to eMMC module. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
* Please allow 10-15 minutes boot up time on first time for initialization&lt;br /&gt;
* [https://files.pine64.org/os/ROCK64/android/rock64_20180606_stock_android_8.1_emmcboot.img.xz Direct download from pine64.org]&lt;br /&gt;
** MD5 (XZ file): C05846B89A6483DA911CEA604627524F&lt;br /&gt;
** File Size: 561MB&lt;br /&gt;
&lt;br /&gt;
=== Android 8.1. Stock Image [eMMC Boot] using ROCKChip tools method [20180606] ===&lt;br /&gt;
* Please unzip first and then using Android tool to flash in&lt;br /&gt;
* The OTG port located at top USB 2.0 port&lt;br /&gt;
* [https://wiki.pine64.org/index.php/NOOB#Flashing_to_eMMC_using_Rockchip_Tools_.28Rock64_Only.29 Guide to flashing eMMC using Rockchip Tools]&lt;br /&gt;
* [https://files.pine64.org/os/ROCK64/android/rock64_android8.1_emmc_boot_v1.1.zip Direct download from pine64.org]&lt;br /&gt;
** MD5 (XZ file): 9738F060D2F62A83637797363D2B38C9&lt;br /&gt;
** File Size: 752MB&lt;br /&gt;
&lt;br /&gt;
== Android 8.x TV ==&lt;br /&gt;
[[File:android_8.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Android 8.1. Stock Image [microSD Boot] [20180623] ===&lt;br /&gt;
* DD image to microSD card and boot. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
* Please allow 10-15 minutes boot up time on first time for initialization&lt;br /&gt;
* [https://files.pine64.org/os/ROCK64/android/rock64_20180623_stock_android_8.1_sdboot.img.xz Direct download from pine64.org]&lt;br /&gt;
** MD5 (XZ file): 85372A568C114ADE7CD9632CEBA193E9&lt;br /&gt;
** File Size: 575MB&lt;br /&gt;
&lt;br /&gt;
== Android 7.x eMMC ==&lt;br /&gt;
[[File:android_7.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Android 7.1.2 Stock Image [microSD to eMMC] [Rooted] [20171204] ===&lt;br /&gt;
* DD image to microSD card. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
** Shorting the eMMC PIN with a jumper as shown on the 1st image of [https://files.pine64.org/doc/rock64/guide/ROCK64_Installing_Android_To_eMMC.pdf Guide to install stock Android build to eMMC module]. After power ON the box for 2-3 second, quickly remove the jumper, then it will start writing the new image to the eMMC. Please allow around 1 minute of boot up time before UI is presented via HDMI&lt;br /&gt;
* Please allow 10-15 minutes boot up time on first time for initialization&lt;br /&gt;
* USB 3.0 patches&lt;br /&gt;
* Enable Real Time Clock support for Popcorn Hour Transformer&lt;br /&gt;
* [https://files.pine64.org/os/ROCK64/android/rock64_20171204_stock_android_7.1.2_rooted_sd2emmc.img.xz Direct download from pine64.org]&lt;br /&gt;
** MD5 (XZ file): 43443467DFCAEDE767556843EB4D6707&lt;br /&gt;
** File Size: 558MB&lt;br /&gt;
* See [[ROCK64 MAC Address]] on how to set the MAC address.&lt;br /&gt;
&lt;br /&gt;
=== Android 7.1.2 Stock Image [eMMC Boot] [Rooted] [20171204] ===&lt;br /&gt;
* Please unzip first and then using Android tool to flash in&lt;br /&gt;
* USB 3.0 patches&lt;br /&gt;
* Enable Real Time Clock support for Popcorn Hour Transformer&lt;br /&gt;
* [https://files.pine64.org/os/ROCK64/android/rock64_20171204_stock_android_7.1.2_rooted_emmc.img.xz Direct download from pine64.org]&lt;br /&gt;
** MD5 (XZ file): 7C831F9E6B4311A3B3D4743FBBB628D0&lt;br /&gt;
** File Size: 544MB&lt;br /&gt;
* See [[ROCK64 MAC Address]] on how to set the MAC address.&lt;br /&gt;
&lt;br /&gt;
== Android 7.x ==&lt;br /&gt;
[[File:android_7.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Android 7.1.2 Stock Image [microSD Boot] [Rooted] [20171204] ===&lt;br /&gt;
* DD image to microSD card and boot. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
* Please allow 10-15 minutes boot up time on first time for initialization&lt;br /&gt;
* USB 3.0 patches&lt;br /&gt;
* Enable Real Time Clock support for Popcorn Hour Transformer&lt;br /&gt;
* [https://files.pine64.org/os/ROCK64/android/rock64_20171204_stock_android_7.1.2_rooted_sdboot.img.xz Direct download from pine64.org]&lt;br /&gt;
** MD5 (XZ file): 56520ED3DB6E587DA140AD314A055EB2&lt;br /&gt;
** File Size: 544MB&lt;br /&gt;
&lt;br /&gt;
== Android TV 7.x eMMC ==&lt;br /&gt;
[[File:android_7.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Android TV 7.1 Community Build Image [microSD to eMMC] [v0.3.4-r86] by ayufan ===&lt;br /&gt;
* DD image to microSD card. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
** Shorting the eMMC PIN with a jumper as shown on the 1st image of [https://files.pine64.org/doc/rock64/guide/ROCK64_Installing_Android_To_eMMC.pdf Guide to install stock Android build to eMMC module]. After power ON the box for 2-3 second, quickly remove the jumper. After boot, it will prompt for confirmation 'Y' to start writing the new image to the eMMC. Then follow the instructions on the screen&lt;br /&gt;
* [https://github.com/ayufan-rock64/android-7.1/releases/tag/0.3.4 Release notes on ayufan Android 7.1 github]&lt;br /&gt;
* Please allow 5 minutes boot up time on first time for initialization&lt;br /&gt;
* [https://files.pine64.org/os/ROCK64/android/android-7.1-rock-64-rock64_atv-v0.3.4-r86-raw_sd2emmc.img.xz Direct download from pine64.org]&lt;br /&gt;
** MD5 (XZ file): 6FD1FA4BE87EC2D4E0862F66541BC6F0&lt;br /&gt;
** File Size: 716MB&lt;br /&gt;
* See [[ROCK64 MAC Address]] on how to set the MAC address.&lt;br /&gt;
&lt;br /&gt;
=== Android TV 7.1 Community Build Image [eMMC] by ayufan ===&lt;br /&gt;
* For eMMC flash-all image, please unzip first and then use Android tool to flash in&lt;br /&gt;
** [https://github.com/ayufan-rock64/android-7.1/releases/latest Direct download latest release build from ayufan github and look for android-7.1-rock-64-rock64_atv-x.x.x-xx-update.zip]&lt;br /&gt;
* See [[ROCK64 MAC Address]] on how to set the MAC address.&lt;br /&gt;
&lt;br /&gt;
== Android TV 7.x ==&lt;br /&gt;
[[File:android_7.png|right|100px]]&lt;br /&gt;
&lt;br /&gt;
=== Android TV 7.1 Community Build Image [microSD Boot] by ayufan ===&lt;br /&gt;
* [https://github.com/ayufan-rock64/android-7.1/releases/latest Direct download latest release build from ayufan github and look for android-7.1-rock-64-rock64_atv-x.x.x-xx-raw.img.gz]&lt;br /&gt;
&lt;br /&gt;
= Android SDK =&lt;br /&gt;
&lt;br /&gt;
=== Android P SDK [v9.0] ===&lt;br /&gt;
* [https://files.pine64.org//SDK/ROCK64/ROCK64_SDK_android9.0.tar.gz Direct Download from pine64.org]&lt;br /&gt;
** MD5 (TAR-GZip file): 1EAC08942E238293E3AF11C7890DF307&lt;br /&gt;
** File Size: 104.34GB&lt;br /&gt;
&lt;br /&gt;
[[Category:Rock64]]&lt;/div&gt;</summary>
		<author><name>Mrfixit2001</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=ROCKPro64&amp;diff=14435</id>
		<title>ROCKPro64</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=ROCKPro64&amp;diff=14435"/>
		<updated>2022-10-12T19:48:56Z</updated>

		<summary type="html">&lt;p&gt;Mrfixit2001: /* Software and OS Image Builds */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float: right; margin-left: 1ch; max-width: 24em;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The [https://www.pine64.org/rockpro64/ '''ROCKPro64'''] is the most powerful Single Board Computer released by PINE64. It is powered by a Rockchip RK3399 Hexa-Core (dual ARM Cortex A72 and quad ARM Cortex A53) 64-Bit Processor with a Mali T-860 Quad-Core GPU.&lt;br /&gt;
&lt;br /&gt;
Key features include a PCIe x4 open ended slot, the use of LPDDR4 RAM, and industry standard heatsink mounting holes.&lt;br /&gt;
&lt;br /&gt;
The ROCKPro64 is equipped with 2GB or 4GB LPDDR4 system memory, and 128Mb SPI boot Flash. There is also an optional eMMC module (up to 128GB) and microSD slot for booting. The board is equipped with 1x USB 3.0 type C Host with DP 1.2, 1x USB 3.0 type A Host, 2x USB 2.0 Host, Gigabit Ethernet, PI-2 GPIO Bus, MiPi DSI interface, eDP interface, touch Panel interface, stereo MiPi CSI interface, as well as many other device interfaces such as UART, SPI, I2C, for makers to integrate with sensors and other peripherals. Many different Operating Systems (OS) are freely available from the open source community, such as Android, Linux (Ubuntu, Debian, Arch), and BSD.&lt;br /&gt;
&lt;br /&gt;
= Board Pictures =&lt;br /&gt;
&amp;lt;gallery heights=&amp;quot;400&amp;quot; mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
Image:ROCKPro64v21FRONT.jpg|A hi-res picture of v2.1 front.|alt=&amp;quot;A hi-res picture of v2.1 front.&amp;quot;&lt;br /&gt;
Image:ROCKPro64v21REAR.jpg|A hi-res picture of v2.1 rear.|alt=&amp;quot;A hi-res picture of v2.1 rear.&amp;quot;&lt;br /&gt;
Image:FLIR 20220619 125451 686.jpg|A thermal image of v2.1 front (upside-down).|alt=&amp;quot;A thermal image of v2.1 front (upside-down).&amp;quot;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Board Layout =&lt;br /&gt;
[[File:ROCKPro64_annotated.jpg|An annotated ROCKPro64]]&lt;br /&gt;
&lt;br /&gt;
== Main Chips ==&lt;br /&gt;
* RK3399 system-on-chip (1)&lt;br /&gt;
* LPDDR4 SDRAM 1 (18)&lt;br /&gt;
* LPDDR4 SDRAM 2 (3)&lt;br /&gt;
* SPI NOR flash memory (17)&lt;br /&gt;
* RK808 power management (near 19)&lt;br /&gt;
* RTL8211 ethernet transceiver (near 25)&lt;br /&gt;
* ES8316 Sound Codec (on rear of board)&lt;br /&gt;
* The heatsink mounting holes around the RK3399 are 59 mm apart&lt;br /&gt;
&lt;br /&gt;
== Switches ==&lt;br /&gt;
&lt;br /&gt;
The Power button (11, SW3): is the same as on your mobile phone - press and release after about 1 second to power on. Press and hold for about 3 seconds to power off.&lt;br /&gt;
&lt;br /&gt;
The Reset button (10, SW901): perfoms a reset.&lt;br /&gt;
&lt;br /&gt;
The Recover button (28, SW900): used to enter maskrom mode.&lt;br /&gt;
&lt;br /&gt;
== Connectors, Sockets and Headers ==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;line-height: 1.4;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: .9em;&amp;quot;&lt;br /&gt;
! Diagram !! Schematic&amp;lt;br&amp;gt;designator !! Silkscreen&amp;lt;br&amp;gt;label !! Number&amp;lt;br&amp;gt;of pins !! Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2  || U39   || PI-2-bus || style=&amp;quot;text-align: center;&amp;quot; | 40 || Pi-2 bus &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4  || J8    || +FAN- || style=&amp;quot;text-align: center;&amp;quot; | 2 || PWM controlled fan header&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 5  || J10   || SPDIF || style=&amp;quot;text-align: center;&amp;quot; | 3 || SPDIF header&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 6  || U6    || +RTC- || style=&amp;quot;text-align: center;&amp;quot; | 2 || RTC battery backup header&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 7  || U31   || Wifi-BT || style=&amp;quot;text-align: center;&amp;quot; | 16 || SDIO WIFI/BT module-MIMO 2&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 8  || USB3  ||  || style=&amp;quot;text-align: center;&amp;quot; | 9 || USB-3 and USB Type C&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 9  || USB1  ||  || style=&amp;quot;text-align: center;&amp;quot; | 2×4 || Dual USB-2&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 12 || IR1   || IR || style=&amp;quot;text-align: center;&amp;quot; | 3 || infrared receiver socket &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 13 || J16   || Headphone+mic || style=&amp;quot;text-align: center;&amp;quot; | 4 || Headphone + mic 3.5mm jack&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | -  || CON16 || GND PWR RST GND || style=&amp;quot;text-align: center;&amp;quot; | 4 || Power &amp;amp; reset, unpopulated&amp;lt;br&amp;gt;header near Headphone jack&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 14 || U29   || EMMC || style=&amp;quot;text-align: center;&amp;quot; | 34 || eMMC connector&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 14* || J13  ||  || style=&amp;quot;text-align: center;&amp;quot; | 13 || TF-card, a.k.a. microSD&amp;lt;br&amp;gt;(* under 14 on the bottom side)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 15 || U30   ||  || style=&amp;quot;text-align: center;&amp;quot; | 14 || SDIO WIFI/BT module-MIMO 1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 16 || SW4   ||  || style=&amp;quot;text-align: center;&amp;quot; | 2 || Jumper to [[#Disable eMMC]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 19 || J15   || PCI || style=&amp;quot;text-align: center;&amp;quot; | 64 || PCI-express X4 socket&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 20 || J21   || DSI || style=&amp;quot;text-align: center;&amp;quot; | 30 || DSI&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 21 || J22   || EDP || style=&amp;quot;text-align: center;&amp;quot; | 30 || LCD EDP&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 22 || CON1  || TP || style=&amp;quot;text-align: center;&amp;quot; | 6 || touch panel connector&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 23 || CON15 ||  || style=&amp;quot;text-align: center;&amp;quot; | 4 || DC out for SATA disk cable&amp;lt;br&amp;gt;(direct connect from DC-IN)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 24 || J11   || DC-IN || style=&amp;quot;text-align: center;&amp;quot; | 2 || Power input, positive tip;&amp;lt;br&amp;gt;12V/3A (minimum) recommended&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 25 || U32   ||  || style=&amp;quot;text-align: center;&amp;quot; | 8 || RJ45&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 26 || J14   ||  || style=&amp;quot;text-align: center;&amp;quot; | 19 || HDMI&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 27 || J17   || MIPI CAM || style=&amp;quot;text-align: center;&amp;quot; | 32 || MIPI-1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 29 || J19   || MIPI CAM || style=&amp;quot;text-align: center;&amp;quot; | 32 || MIPI-2&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 30 || J18   || CIF || style=&amp;quot;text-align: center;&amp;quot; | 26 || CIF&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== LEDs ==&lt;br /&gt;
&lt;br /&gt;
A green LED next to the 12V input barrel connector will light as long as there is 12V applied to the connector. (Even if the RockPro64 is powered off.)&lt;br /&gt;
&lt;br /&gt;
A white LED behind the reset button will light as long as the RockPro64 is running (it comes on a few seconds after power on, when control is passed to the operating system.)&lt;br /&gt;
&lt;br /&gt;
A red LED behind the reset button is DIY - it is lit for example if the board is in OTG mode with an Ayufan image, or if an Android image is in standby mode.&lt;br /&gt;
&lt;br /&gt;
Yellow and green LEDs on the LAN socket behave in a standard way.&lt;br /&gt;
&lt;br /&gt;
== Jumpers ==&lt;br /&gt;
They are used for boot device selection, as described in the following section.&lt;br /&gt;
&lt;br /&gt;
=== Disable eMMC ===&lt;br /&gt;
&lt;br /&gt;
There is an unlabelled (on the PCB silk-screen) 2-pin jumper (16) between the eMMC socket (14) and the SPI chip (17). It is designated as SW4 on the [[#Board Information, Schematics and Certifications | schematic diagram]]. The default condition is OPEN (no jumper). It is useful for controlling the boot as follows:&lt;br /&gt;
&lt;br /&gt;
Default boot device (with no SPI software) is eMMC, then SDcard. If both the eMMC and the SDcard contain bootable images then the eMMC can be disabled by installing the jumper. This completely removes the eMMC from the resulting OS. If you wish the eMMC to be visible in the booted OS the jumper should be removed 2 seconds after applying power (and before the white LED comes on).&lt;br /&gt;
&lt;br /&gt;
The possible combinations are summarised in the table below.&lt;br /&gt;
&lt;br /&gt;
* 1 = present&lt;br /&gt;
* 0 = not present&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
! µSD !! eMMC !! SW4 !! boot from&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 0 || 0 || unsupported&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 0 || 1 || unsupported&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 1 || 0 || eMMC&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 1 || 1 || unsupported&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 0 || 0 || SDCard&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 0 || 1 || SDCard&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1 || 0 || eMMC&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1 || 1 || SDCard&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Disable SPI (while booting) ===&lt;br /&gt;
There is a second possibility to jumper your ROCKPro64: If you mess-up your SPI and are unable to boot, jumpering pins 23 (CLK) and 25 pin (GND) on the PI-2-bus header will disable the SPI as a boot device. (This was taken from the IRC logs, 09 August 2018 @ 17:23) You have to remove the jumper 2 seconds after having started your RP64 (before the white LED turns ON) otherwise the SPI will be missing and you won't be able to flash it.&lt;br /&gt;
Ayufan images contain (at the moment) only one script for the SPI and the RP64, it's &amp;quot;rockpro64_reset_spi_flash&amp;quot;. Other SPI scripts are dedicated to the R64 (as it is written on the name) and it will mess-up your RP64 SPI if you use them.&lt;br /&gt;
&lt;br /&gt;
= Getting Started =&lt;br /&gt;
&lt;br /&gt;
This section gives important information to get the board up and running.&lt;br /&gt;
&lt;br /&gt;
== Software and OS Image Builds ==&lt;br /&gt;
&lt;br /&gt;
In the [[ROCKPro64 Software Release]] page, you will find a complete list of currently supported Operating System images that work with the ROCKPro64, as well as other related software. The Software Release page has links to download the images as well as high level instructions to load each image.&lt;br /&gt;
&lt;br /&gt;
The page includes many OS images and descriptions. Some links:&lt;br /&gt;
&lt;br /&gt;
* [[ROCKPro64_Software_Release#Armbian | Armbian]]&lt;br /&gt;
* [[ROCKPro64_Software_Release#Debian  | Debian]]&lt;br /&gt;
* [[ROCKPro64_Software_Release#DietPi  | DietPi]]&lt;br /&gt;
* [[ROCKPro64_Software_Release#OpenMediaVault | Open Media Vault]]&lt;br /&gt;
* [[ROCKPro64_Software_Release#LibreELEC_.28KODI.29 | LibreELEC for KODI]]&lt;br /&gt;
* [[ROCKPro64_Software_Release#Retro-Center_R-Cade | R-Cade - Retro Gaming 4K Media Center]]&lt;br /&gt;
* [[ROCKPro64_Software_Release#Slackware   | Slackware]]&lt;br /&gt;
* [[ROCKPro64_Software_Release#NextCloudPi | NextCloudPi]]&lt;br /&gt;
* [[ROCKPro64_Software_Release#Manjaro_ARM | Manjaro ARM]]&lt;br /&gt;
* [[ROCKPro64_Software_Release#OpenWrt     | OpenWrt]]&lt;br /&gt;
&lt;br /&gt;
Those linked OS support both microSD and eMMC Boot.&lt;br /&gt;
&lt;br /&gt;
Please see the [[NOOB]] page for detailed discussion of what you need (prerequisites) as well as instructions if the high level instructions are insufficient.&lt;br /&gt;
&lt;br /&gt;
== More Advanced Linux Bits ==&lt;br /&gt;
&lt;br /&gt;
Some Linux tips are given below.&lt;br /&gt;
&lt;br /&gt;
=== How to Update Your Linux ===&lt;br /&gt;
&lt;br /&gt;
For Debian/Ubuntu images entering the following commands at a terminal prompt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will keep your installation up to date. To update Ayufan images to the next release (when available) use the following command&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get dist-upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are happy to update your system to pre-releases of Ayufan images then modify /etc/apt/sources.list.d/ayufan-rock64.list as per the comment in that file.&lt;br /&gt;
&lt;br /&gt;
The kernel in Ayufan releases is under active development and, if you wish to install a later version, then it is best to use a package manager. In synaptic (for example), if you search for package names linux-image-4.4 you should see your currently installed version(s) as well as any more recent ones. Similarly if you wish to install the mainline kernel then searching for linux-image-4.18 will show you what is available. '''At the time of writing (August 2018) there are significant features missing from the mainline kernel for aarch64 processors (e.g. HDMI sound).'''&lt;br /&gt;
&lt;br /&gt;
=== Useful Scripts ===&lt;br /&gt;
After you install an Ayufan image you will find some scripts in /usr/local/sbin/ and /usr/local/bin/ that may be useful. (Need to expand this section)&lt;br /&gt;
&lt;br /&gt;
=== Video Playback ===&lt;br /&gt;
Hardware video acceleration is supported in recent kernels and user needs only to install the relevant Mesa packages/ports, specifically the Mesa DRI drivers for Mali GPUs (Midgard/Bifrost).  One can confirm via software glxinfo, or having the library file such as .../lib/dri/panfrost_dri.so.&lt;br /&gt;
&lt;br /&gt;
Ayufan has some old documentation on [https://github.com/ayufan-rock64/linux-build/blob/master/recipes/video-playback.md video playback here.] For your ROCKPro64 the install should be&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install ffmpeg mpv libmali-rk-midgard-t86x-r14p0-gbm&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(These modules are included in the Ayufan deskop releases.) At which stage rkmpv myvideo.mp4 will play a fullscreen, hardware assisted, version of your video. rkmpv is at /usr/local/bin/rkmpv&lt;br /&gt;
&lt;br /&gt;
=== Swapping Kernel Versions ===&lt;br /&gt;
extlinux is in use on Ayufan images (at least) which enables some switching between installed kernel versions - [https://github.com/ayufan-rock64/linux-build/blob/master/recipes/extlinux.md intro documentation is here.] In particular after you install any additional kernels, you can edit your /boot/extlinux/extlinux.conf file to specify which of the kernels you have installed to use for the next boot.&lt;br /&gt;
&lt;br /&gt;
From Ayufan version 0.7.11 the script /usr/local/sbin/change-default-kernel.sh does a nice little menu swap for you if you run it as root (sudo).&lt;br /&gt;
&lt;br /&gt;
=== Using an NVMe Disk as rootfs ===&lt;br /&gt;
Forum member Bullet64 has documented [https://forum.frank-mankel.org/topic/208/booten-von-der-nvme-platte how to move rootfs to an NVMe disk.] This is useful until we get a full SPI option to boot from the NVMe.&lt;br /&gt;
&lt;br /&gt;
== More advanced bits related to any OS ==&lt;br /&gt;
&lt;br /&gt;
This section gives some hints for advanced users.&lt;br /&gt;
&lt;br /&gt;
=== Setup a Serial Console (UART2)===&lt;br /&gt;
&lt;br /&gt;
{{warning|1=RockPro64 is designed to use 3VDC3A (3 Volts Direct Current 3 Ampere) for the connection, using 5VDC and more might damage the board!}}&lt;br /&gt;
&lt;br /&gt;
To use Serial Console you will a need operating system that supports it on your RockPro64, by default the serial console is provided for baud 9 600 which is far too slow for rockpro64 so consider using 1 500 000 (1.5Mbps) instead &amp;lt;b&amp;gt;IF&amp;lt;/b&amp;gt; your serial console device supports it (many doesn't which results in their unability to use the console).&lt;br /&gt;
&lt;br /&gt;
{{warning|1=Do not connect RxD (pin 10) until the U-Boot SPL is running (see [[RK3399 boot sequence]]) or the SPL will not start}} &lt;br /&gt;
&lt;br /&gt;
In terms of connections you need to perform the following from your serial console-capable device e.g. Pine64's Woodpecker available in store:&lt;br /&gt;
* GND &amp;lt;-&amp;gt; GND (pin 6)&lt;br /&gt;
* RxD &amp;lt;-&amp;gt; TxD (pin 8)&lt;br /&gt;
* TxD &amp;lt;-&amp;gt; RxD (pin 10)&lt;br /&gt;
&lt;br /&gt;
After the configuration of your preferred operating system you can connect to the serial console using any of these commands:&lt;br /&gt;
&lt;br /&gt;
  $ screen /dev/ttyUSB0 1500000&lt;br /&gt;
&lt;br /&gt;
  $ picocom /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
  $ minicom -D /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
NOTE: You might need a root permission if your user is not in the appropriate user-group e.g. &amp;lt;code&amp;gt;dialup&amp;lt;/code&amp;gt; on GNU/Linux&lt;br /&gt;
&lt;br /&gt;
Alternatively there is a detailed guide on forums: https://forum.pine64.org/showthread.php?tid=6387&lt;br /&gt;
&lt;br /&gt;
==== GNU/Linux ====&lt;br /&gt;
&lt;br /&gt;
With GNU/Linux on your RockPro64 the built-in support for serial console can be enabled by parsing parse e.g. &amp;lt;code&amp;gt;console=ttyS2,1500000n8&amp;lt;/code&amp;gt; in the kernel command line, many distributions make this available by default, but consider verifying the contents of &amp;lt;code&amp;gt;/boot/extlinux/extlinux.conf&amp;lt;/code&amp;gt; if you encounter issues.&lt;br /&gt;
&lt;br /&gt;
NOTE: the &amp;lt;code&amp;gt;n8&amp;lt;/code&amp;gt; in the kernel argument means &amp;lt;b&amp;gt;no parity, 8 bits per character&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Booting from USB or PXE ===&lt;br /&gt;
&lt;br /&gt;
The default choice of boot device is first eMMC (if present) then SDcard. See [[ ROCKPro64_Main_Page#Disable_eMMC | jumpers above for details on adjusting this sequence.]]&lt;br /&gt;
&lt;br /&gt;
It is possible to flash the SPI to extend the options for boot devices to USB drives or PXE. The preferred method is now the rock64_write_spi_flash.sh script (see [[ROCKPro64_Main_Page#Useful_scripts | useful scripts above.]]) The NOOB wiki page has more details [[NOOB#Flashing_u-boot_to_SPI_Flash | here.]]&lt;br /&gt;
&lt;br /&gt;
Background info and historic details of this usage [https://github.com/ayufan-rock64/linux-build/blob/master/recipes/flash-spi.md can be found here.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Booting from SPI using u-boot ===&lt;br /&gt;
&lt;br /&gt;
{{warning|1=idbloader is not open-source}}&lt;br /&gt;
&lt;br /&gt;
Always be prepared to recover from a broken SPI boot BEFORE flashing or you will end up with a broken boot.&lt;br /&gt;
&lt;br /&gt;
In general the recovery is killswitching SPI through shorting pins 23 &amp;lt;-&amp;gt; 25 together and then loading u-boot from a storage device e.g. sd-card or eMMC where majority of GNU distributions e.g. Manjaro usually have u-boot packaged with the provided images.&lt;br /&gt;
&lt;br /&gt;
Follow instructions in https://github.com/sigmaris/u-boot/wiki/Flashing-U-Boot-to-SPI#instructions-for-rockpro64&lt;br /&gt;
&lt;br /&gt;
=== Boot sequence ===&lt;br /&gt;
&lt;br /&gt;
The RockPro64 boot sequence has been documented [https://github.com/sigmaris/u-boot/wiki/RockPro64-boot-sequence here] by sigmaris.&lt;br /&gt;
&lt;br /&gt;
=== OTG Mode ===&lt;br /&gt;
&lt;br /&gt;
You can boot your ROCKPro64 into OTG mode with the use of the Recover button (see [[ROCKPro64_Main_Page#Switches | switch 28 above.]]) Note there are 2 OTG ports on your ROCKPro64: the type-C USB 3 socket is definitely one. From the schematic it appears the USB 3 (type A) socket is the other, but this has yet to be confirmed.&lt;br /&gt;
&lt;br /&gt;
The method is to power off the board. Then push and hold the Recover button and push and release the Power button. &lt;br /&gt;
* If you have an Ayufan bootable image in either the SDcard or eMMC then there are 4 OTG modes [https://github.com/ayufan-rock64/linux-u-boot/commit/ea6efecdfecc57c853a6f32f78469d1b2417329b described here] including Android fastboot, RockUSB and MaskROM modes. Releasing the Recover button as soon as the white LED lights counts as 1 blink. Keeping it pressed you will get 2 blinks of the white LED etc. Once the board enters OTG mode the red LED will be lit. In mode 1 the boot and linux-root partitions of the card with the Ayufan image (partitions 6 &amp;amp; 7 of a linux installation) are made available as devices. In all cases the USB device made available at the host has device ID 18d1:d00d.&lt;br /&gt;
* If you do not have an Ayufan image in either the SDcard or the eMMC, then neither white nor red LEDs will light, but the board will enter MaskROM mode where the USB device made available at the host has device ID 2207:330c.&lt;br /&gt;
&lt;br /&gt;
=== NVMe Drives ===&lt;br /&gt;
Please be aware that [https://pine64.com/product/rockpro64-pci-e-x4-to-m-2-ngff-nvme-ssd-interface-card the PINE64 SSD interface card] is intended for use with NVMe devices. These can be identified by the fact they have a single (Key M) notch, e.g. [https://www.wdc.com/content/dam/wdc/website/products/family/wd-black-pcie-ssd/wdfWDBlackSSD_PCIe_img1.jpg.imgw.500.500.jpg the WD Black devices.]&lt;br /&gt;
&lt;br /&gt;
While M2/NGFF SATA devices (with a Key B notch, typically have Key M as well) will physically fit, they will not work. e.g. [https://www.wdc.com/content/dam/wdc/website/products/personal/internal_storage/wd_blue_3d_nand_sata_ssd/blue3d_product-overview.jpg.imgw.1000.1000.jpg WD Blue devices.]&lt;br /&gt;
&lt;br /&gt;
=== SATA Drives ===&lt;br /&gt;
SATA drives can be connected directly via the [https://pine64.com/?product=rockpro64-pci-e-to-dual-sata-ii-interface-card ROCKPro64 PCIe interface card.] Please note the card does not include the power cable - that is a [https://pine64.com/?product=rockpro64-power-cable-for-dual-sata-drives separate item.] Equally you must be aware that connecting SATA drives in this manner means they will be drawing power from your ROCKPro64 - please ensure you are using a 5A or better power supply.&lt;br /&gt;
&lt;br /&gt;
ExplainingComputers did a YouTube [https://www.youtube.com/watch?v=9CCQicHwfDI ROCKPro64 PCIe SATA card review and tests using a Ubuntu console and OpenMediaVault.]&lt;br /&gt;
&lt;br /&gt;
=== Wi-Fi &amp;amp; Bluetooth Module ===&lt;br /&gt;
If you have bought the [https://pine64.com/product/rockpro64-1x1-dual-band-wifi-802-11ac-bluetooth-5-0-module Wi-Fi and Bluetooth module] from the Pine store then instructions for connecting it can be found on the accessories page [[ Accessories_Step_by_Step_Guides#Wifi.2FBluetooth_module | here.]] '''Please note that the 0.7.9 Ayufan's linux releases (August 2018) have deliberately DISABLED support for this module in the search for stability. It can be tested and used with the Android image.'''&lt;br /&gt;
&lt;br /&gt;
It can also be used on Manjaro by installing ap6256-firmware and wireless-regdb packages.&lt;br /&gt;
&lt;br /&gt;
=== 7&amp;quot; LCD Touch Screen ===&lt;br /&gt;
Instructions for connecting the [https://pine64.com/?product=7-lcd-touch-screen-panel LCD touch screen] from the Pine [[ Accessories_Step_by_Step_Guides#7.22_LCD_Touch_Screen_Panel | are here.]]&lt;br /&gt;
&lt;br /&gt;
'''Note at present (August 2018) this screen is only supported by the Android image.'''&lt;br /&gt;
&lt;br /&gt;
{{warning|1= When using the touchscreen ensure the cables are properly connected and tightened down and that you do not let the metal backplane touch the SBC}}&lt;br /&gt;
&lt;br /&gt;
=== RTC Battery Backup ===&lt;br /&gt;
The Pine store has a couple of options for RTC battery backups: a [https://pine64.com/product/rtc-backup-battery-holder-2-x-aaa AAA version here] or a [https://pine64.com/product/rtc-backup-battery-holder-cr-2032 CR-2032 version here.] Instructions for plugging in either of them are also on the [[ Accessories_Step_by_Step_Guides| Accessories page ]]. For the ROCKPro64, the backup plugs into the RTC connector, number 6 in the board layout diagram above, next to the USB3 and case screw point.&lt;br /&gt;
&lt;br /&gt;
=== Acrylic Open Enclosure ===&lt;br /&gt;
Assembly instructions for the [https://pine64.com/product/pine-a64-rockpro64-acrylic-open-enclosure acrylic enclosure] from the Pine store are also on the [[ Accessories_Step_by_Step_Guides| Accessories page ]]&lt;br /&gt;
&lt;br /&gt;
=== NAS case ===&lt;br /&gt;
The [https://files.pine64.org/doc/rockpro64/ROCKPro64%20NAS%20Case%20Exploded%20View%20Diagram.pdf Exploded View Installation Diagram] for the [https://pine64.com/product/rockpro64-metal-desktop-nas-casing NAS case from the Pine store].&lt;br /&gt;
&lt;br /&gt;
Detailed '''NAS Case overview and assembly instructions''' can be found [[NASCase | here]].&lt;br /&gt;
&lt;br /&gt;
= [[ROCKPro64_Hardware_Accessory_Compatibility|Hardware Compatibility]] =&lt;br /&gt;
== Hardware Compatibility Page ==&lt;br /&gt;
Please contribute to the hardware compatibility page, which lists hardware which has been tested with the rockpro64, whether successful or not.&lt;br /&gt;
&lt;br /&gt;
* [[ROCKPro64_Hardware_Accessory_Compatibility#PCIe devices|PCIe devices]]&lt;br /&gt;
* [[ROCKPro64_Hardware_Accessory_Compatibility#NVMe_SSD_drives|NVMe SSD drives]]&lt;br /&gt;
* [[ROCKPro64_Hardware_Accessory_Compatibility#USB_hardware|USB hardware]]&lt;br /&gt;
* [[ROCKPro64_Hardware_Accessory_Compatibility#USB_C_alternate_mode_DP|USB C alternate mode DP]]&lt;br /&gt;
* [[ROCKPro64_Hardware_Accessory_Compatibility#Other_hardware|Other hardware]]&lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
=== Older firmware overwrites actively used memory ===&lt;br /&gt;
Some people get system freeze when:&lt;br /&gt;
* use SATA disk with ROCKPro64 PCIe card. (maybe on newer PCIe card ASM1062 vs ASM1061)&lt;br /&gt;
* or do read or write 4GB to the flash. (not using PCIe)&lt;br /&gt;
&lt;br /&gt;
If you connect the serial console you will see a Linux kernel oops: (a)synchronous external abort.&lt;br /&gt;
&lt;br /&gt;
Both issues are in fact the same software BUG. There is no hardware problem.&lt;br /&gt;
Currently, most OS do use uboot with a rockpro blob FW which use memory that Linux kernel is not aware of. &lt;br /&gt;
&lt;br /&gt;
People are currently fixing this BUG, but it may take some time.&lt;br /&gt;
In the mean time, you can fix it manually.&lt;br /&gt;
&lt;br /&gt;
The latest u-boot can boot the rockpro64 without any blobs from rockchip.&lt;br /&gt;
Install first arm-none-eabi-gcc and aarch64-linux-gnu-gcc compiler, then run the following commands:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/ARM-software/arm-trusted-firmware.git atf&lt;br /&gt;
 make -C atf CROSS_COMPILE=aarch64-linux-gnu- PLAT=rk3399 bl31&lt;br /&gt;
 git clone https://gitlab.denx.de/u-boot/u-boot.git u-boot&lt;br /&gt;
 cd u-boot/&lt;br /&gt;
 git checkout v2020.01-rc5&lt;br /&gt;
 make rockpro64-rk3399_defconfig&lt;br /&gt;
 BL31=../atf/build/rk3399/release/bl31/bl31.elf make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-&lt;br /&gt;
&lt;br /&gt;
Which gives you idbloader.img and u-boot.itb.&lt;br /&gt;
Copy them to the rockpro64, and run the following: (Or put your SD card into your PC)&lt;br /&gt;
&lt;br /&gt;
 sudo dd if=idbloader.img of=/dev/mmcblk0 seek=64&lt;br /&gt;
 sudo dd if=u-boot.itb of=/dev/mmcblk0 seek=16384&lt;br /&gt;
 sync&lt;br /&gt;
&lt;br /&gt;
=== PCIe Controller Hardware Error Handling Bug ===&lt;br /&gt;
There is an issue with the rk3399 pcie controller that is currently unmitigated:&lt;br /&gt;
* [https://lore.kernel.org/linux-pci/CAMdYz...gmail.com/ LKML Original Thread]&lt;br /&gt;
* [https://lkml.org/lkml/2020/4/6/320 LKML Additional Information]&lt;br /&gt;
&lt;br /&gt;
The rk3399 pcie controller throws either a synchronous abort or a SError when a pcie device sends an unknown message.&lt;br /&gt;
&lt;br /&gt;
The error type is determined by which cpu cluster handles the message.&lt;br /&gt;
&lt;br /&gt;
=== Virtualization ===&lt;br /&gt;
The PCIe controller on the rk3399 is not behind an IOMMU.&lt;br /&gt;
This means it is not possible to safely pass through PCIe devices to a virtual machine.&lt;br /&gt;
&lt;br /&gt;
= Board Features =&lt;br /&gt;
&lt;br /&gt;
This section outlines the most important characteristics of the board and its components.&lt;br /&gt;
&lt;br /&gt;
== SoC and Memory Specification ==&lt;br /&gt;
* Based on Rockchip RK3399&lt;br /&gt;
[[File:Rockchip_RK3399.png|right]]&lt;br /&gt;
&lt;br /&gt;
=== CPU Architecture ===&lt;br /&gt;
* [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]&lt;br /&gt;
* [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]&lt;br /&gt;
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU&lt;br /&gt;
* Cortex-A72:&lt;br /&gt;
** 1-4x Symmetrical Multiprocessing (SMP) within a single processor cluster, and multiple coherent SMP processor clusters through AMBA 5 CHI or AMBA 4 ACE technology&lt;br /&gt;
** AArch64 for 64-bit support and new architectural features&lt;br /&gt;
** L1 cache 48KB Icache and 32KB Dcache for each A72 &lt;br /&gt;
** L2 cache 1024KB for big cluster &lt;br /&gt;
** DSP &amp;amp; SIMD extensions&lt;br /&gt;
** VFPv4 floating point&lt;br /&gt;
** Hardware virtualization support&lt;br /&gt;
* Cortex-A53:&lt;br /&gt;
** L1 cache 32KB Icache and 32KB Dcache for each A53&lt;br /&gt;
** L2 cache 512KB for little cluster &lt;br /&gt;
* Full implementation of the ARM architecture v8-A instruction set&lt;br /&gt;
* ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation&lt;br /&gt;
* ARMv8 Cryptography Extensions&lt;br /&gt;
* In-order pipeline with symmetric dual-issue of most instructions&lt;br /&gt;
* Include VFP v3 hardware to support single and double-precision operations&lt;br /&gt;
* TrustZone technology support&lt;br /&gt;
* Full CoreSight debug solution&lt;br /&gt;
* One isolated voltage domain to support DVFS&lt;br /&gt;
&lt;br /&gt;
=== GPU Architecture ===&lt;br /&gt;
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]&lt;br /&gt;
* The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPU is designed for complex graphics use cases and provides stunning visuals for UHD content.&lt;br /&gt;
* Frequency: 650MHz &lt;br /&gt;
* Throughput: 1300Mtri/s, 10.4Gpix/s &lt;br /&gt;
* OpenGL® ES 1.1, 1.2, 2.0, 3.1, 3.2, Vulkan 1.0*, OpenCL™ 1.1, 1.2, DirectX® 11 FL11_1, RenderScript™.&lt;br /&gt;
&lt;br /&gt;
=== System Memory ===&lt;br /&gt;
* LPDDR4 RAM Memory Variants: Dual Channels 2GB and 4GB.&lt;br /&gt;
* Storage Memory: 128Mb built-in SPI Flash memory (as at August 2018 only support for USB boot).&lt;br /&gt;
&lt;br /&gt;
== Display ==&lt;br /&gt;
* Dual VOP: one supports resolutions up to 4096x2160 and [https://www.arm.com/why-arm/technologies/graphics-technologies/arm-frame-buffer-compression AFBC]; the other supports resolutions up to 2560x1600&lt;br /&gt;
* Dual channel MIPI-DSI (4 lanes per channel)&lt;br /&gt;
* eDP 1.3 (4 lanes with 10.8Gbps) to support displays, with PSR&lt;br /&gt;
* Digital Video port up to 4Kp60&lt;br /&gt;
* DisplayPort 1.2 (4 lanes, up to 4K 60Hz)&lt;br /&gt;
* Supports Rec.2020 and conversion to Rec.709 &lt;br /&gt;
&lt;br /&gt;
== Video ==&lt;br /&gt;
* Digital Video output up to 4K@60Hz&lt;br /&gt;
* 4K HDR @ 30fps&lt;br /&gt;
* H.264/AVC Base/Main/High/High10 profile @ level 5.1; up to 4Kx2K @ 60fps&lt;br /&gt;
* H.265/HEVC Main/Main10 profile @ level 5.1 High-tier; up to 4Kx2K @ 60fps&lt;br /&gt;
* VP9, up to 4Kx2K @ 60fps&lt;br /&gt;
* MPEG-1, ISO/IEC 11172-2, up to 1080P @ 60fps&lt;br /&gt;
* MPEG-2, ISO/IEC 13818-2, SP@ML, MP@HL, up to 1080P @ 60fps&lt;br /&gt;
* MPEG-4, ISO/IEC 14496-2, SP@L0-3, ASP@L0-5, up to 1080P @ 60fps&lt;br /&gt;
* VC-1, SP@ML, MP@HL, AP@L0-3, up to 1080P @ 60fps&lt;br /&gt;
* MVC is supported based on H.264 or H.265, up to 1080P @ 60fps&lt;br /&gt;
&lt;br /&gt;
== Audio ==&lt;br /&gt;
* 3.5mm Phone Jack&lt;br /&gt;
* 3-pin S/PDIF header &lt;br /&gt;
* Audio via Digital Video port&lt;br /&gt;
&lt;br /&gt;
== Camera ==&lt;br /&gt;
* Dual MIPI CSI，dual ISP, maximum input resolution of 13M pixels &lt;br /&gt;
&lt;br /&gt;
== Network ==&lt;br /&gt;
* 10/100/1000Mbps Ethernet - Capable of pushing 941 MBit/s in iperf3&lt;br /&gt;
* Wi-Fi 802.11 ac/a/b/g/n with Bluetooth 4.01 (old version with 2x2) / Bluetooth 5 (new version with 1x1) (optional)&lt;br /&gt;
&lt;br /&gt;
== Storage ==&lt;br /&gt;
* microSD - bootable, support SDHC and SDXC, storage up to 256GB&lt;br /&gt;
* eMMC - bootable (optional eMMC Module)&lt;br /&gt;
* 1 USB3.0 Host port&lt;br /&gt;
* 1 USB type C OTG port with DP output &lt;br /&gt;
* 2 USB2.0 Dedicated Host ports&lt;br /&gt;
&lt;br /&gt;
== Expansion Ports ==&lt;br /&gt;
* 2x20 pins &amp;quot;Pi2&amp;quot; GPIO Header&lt;br /&gt;
* PCIe 2.1 (4 full-duplex lanes with 20Gbps) x4 open ended port&lt;br /&gt;
&lt;br /&gt;
=== GPIO Pins ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable plainrowheaders&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width:20em;&amp;quot; | Assigned To&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Pin Nr.&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Pin Nr.&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width:20em;&amp;quot; | Assigned To&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| 3.3 V&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 1&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 2&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| 5 V&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| GPIO1_C4 (I2C8_SDA) &amp;lt;sup style=&amp;quot;font-style:italic;color:green&amp;quot;&amp;gt;a&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 3&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 4&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| 5 V&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| GPIO1_C5 (I2C8_SCL) &amp;lt;sup style=&amp;quot;font-style:italic;color:green&amp;quot;&amp;gt;a&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 5&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 6&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GND&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| GPIO4_D0 (CPU_GPCLK)&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 7&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 8&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GPIO4_C4 (UART2_TX)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 9&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 10&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GPIO4_C3 (UART2_RX)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| GPIO1_C6&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 11&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 12&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GPIO3_D0 (I2S0_CLK)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| GPIO1_C2&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 13&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 14&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GND&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| GPIO1_A1&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 15&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 16&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GPIO1_A4&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| 3.3 V&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 17&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 18&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GPIO4_C5 [SPDIF]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| [UART4_TX] GPIO1_B0 (SPI1_TXD)&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 19&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 20&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GND&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| [UART4_RX] GPIO1_A7 (SPI1_RXD)&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 21&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 22&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GPIO4_D1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| GPIO1_B1 (SPI1_CLK)&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 23&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 24&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GPIO1_B2 (SPI1_CSN0)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 25&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 26&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GPIO1_B5&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| GPIO1_B3 (I2C4_SDA)&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 27&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 28&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GPIO1_B4 (I2C4_SCL)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| GPIO4_D3&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 29&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 30&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GND&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| GPIO4_D4&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 31&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 32&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GPIO3_D4 (I2S0_SDI1SDO3)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| GPIO3_D5 (I2S0_SDI2SDO2)&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 33&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 34&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GND&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| GPIO3_D2 (I2S0_LRCKTX)&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 35&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 36&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GPIO3_D6 (I2S0_SDI3SDO1)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| GPIO3_D1 (I2S0_LRCKRX)&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 37&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 38&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GPIO3_D3 (I2S0_SDI0)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot;| GND&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 39&lt;br /&gt;
| style=&amp;quot;text-align:center; background-color:black; color:gold; font-weight:bold;&amp;quot;| 40&lt;br /&gt;
| style=&amp;quot;text-align:left;&amp;quot;| GPIO3_D7 (I2S0_SDO0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Notes ====&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type:lower-alpha&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;pulled high to 3.3V through 2.2kOhm resistor&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Linux /dev/gpiochip Assignments ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable plainrowheaders&amp;quot; style=&amp;quot;float: right; margin: 0 0 0 1ch; line-height: 1.4; text-align: center;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-size: .9em;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Pin Nr.&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Chip&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Line&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 1 || 20&lt;br /&gt;
|-&lt;br /&gt;
| 5 || 1 || 21 &lt;br /&gt;
|-&lt;br /&gt;
| 7 || 4 || 24 &lt;br /&gt;
|-&lt;br /&gt;
| 8 || 4 || 20 &lt;br /&gt;
|-&lt;br /&gt;
| 10 || 4 || 19 &lt;br /&gt;
|-&lt;br /&gt;
| 11 || 1 || 22 &lt;br /&gt;
|-&lt;br /&gt;
| 12 || 3 || 24 &lt;br /&gt;
|-&lt;br /&gt;
| 13 || 1 || 18 &lt;br /&gt;
|-&lt;br /&gt;
| 15 || 1 || 1 &lt;br /&gt;
|-&lt;br /&gt;
| 16 || 1 || 4 &lt;br /&gt;
|-&lt;br /&gt;
| 18 || 4 || 21 &lt;br /&gt;
|-&lt;br /&gt;
| 19 || 1 || 8 &lt;br /&gt;
|-&lt;br /&gt;
| 21 || 1 || 7 &lt;br /&gt;
|-&lt;br /&gt;
| 22 || 4 || 25 &lt;br /&gt;
|-&lt;br /&gt;
| 23 || 1 || 9 &lt;br /&gt;
|-&lt;br /&gt;
| 24 || 1 || 10 &lt;br /&gt;
|-&lt;br /&gt;
| 26 || 1 || 13 &lt;br /&gt;
|-&lt;br /&gt;
| 27 || 1 || 11 &lt;br /&gt;
|-&lt;br /&gt;
| 28 || 1 || 12 &lt;br /&gt;
|-&lt;br /&gt;
| 29 || 4 || 27 &lt;br /&gt;
|-&lt;br /&gt;
| 31 || 4 || 28 &lt;br /&gt;
|-&lt;br /&gt;
| 32 || 3 || 28 &lt;br /&gt;
|-&lt;br /&gt;
| 33 || 3 || 29 &lt;br /&gt;
|-&lt;br /&gt;
| 35 || 3 || 26 &lt;br /&gt;
|-&lt;br /&gt;
| 36 || 3 || 30 &lt;br /&gt;
|-&lt;br /&gt;
| 37 || 3 || 25 &lt;br /&gt;
|-&lt;br /&gt;
| 38 || 3 || 27 &lt;br /&gt;
|-&lt;br /&gt;
| 40 || 3 || 31&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
On Linux, using the new &amp;lt;code&amp;gt;/dev/gpiochip&amp;lt;/code&amp;gt; API,&lt;br /&gt;
the &amp;lt;code&amp;gt;''n''&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;GPIO''n''_''XX''&amp;lt;/code&amp;gt; appears to correlate to the number of the &amp;lt;code&amp;gt;/dev/gpiochip''n''&amp;lt;/code&amp;gt;,&lt;br /&gt;
and the &amp;lt;code&amp;gt;''XX''&amp;lt;/code&amp;gt; to the definition &amp;lt;code&amp;gt;RK_P''XX''&amp;lt;/code&amp;gt; of lines in &amp;lt;code&amp;gt;include/dt-bindings/pinctrl/rockchip.h&amp;lt;/code&amp;gt; of the Linux kernel source.&lt;br /&gt;
Having these named in the dts would be nice.&lt;br /&gt;
&lt;br /&gt;
You can use [https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/ libgpiod] to drive them,&lt;br /&gt;
and test them with the included tools (&amp;lt;code&amp;gt;gpioinfo&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gpioset&amp;lt;/code&amp;gt;, ...)&lt;br /&gt;
&lt;br /&gt;
For example, &amp;lt;code&amp;gt;gpioset 4 25=1&amp;lt;/code&amp;gt; (run as root) would turn pin 22 on.&lt;br /&gt;
Do beware that poking the wrong GPIO pin can lock up your system.&lt;br /&gt;
&lt;br /&gt;
The conversion table at right is also available as a [https://gist.github.com/CounterPillow/fe066655bf2d929148fe6eb3f15b1dd5 C header file].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Working Features ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;overflow: auto&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feature/Option&lt;br /&gt;
! Android&lt;br /&gt;
! Android Version&lt;br /&gt;
! Linux&lt;br /&gt;
! Linux Version&lt;br /&gt;
! Test/Verify Steps&lt;br /&gt;
! Notes&lt;br /&gt;
! Product Link&lt;br /&gt;
|-&lt;br /&gt;
| PINE64 LCD Touchscreen (Screen/Touch)&lt;br /&gt;
| Yes/Yes&lt;br /&gt;
| &lt;br /&gt;
| No/No&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Maybe [https://github.com/avafinger/pine64-touchscreen this] will help get this working?&lt;br /&gt;
| [https://pine64.com/?product=7-lcd-touch-screen-panel 7″ LCD Touch Screen Panel]&lt;br /&gt;
|-&lt;br /&gt;
| Wireless&lt;br /&gt;
&amp;lt;small&amp;gt;ROCKPro64 2×2 MIMO Dual Band WiFi 802.11AC / Bluetooth 4.2 Module (old)&lt;br /&gt;
ROCKPro64 1x1 Dual Band WiFi 802.11AC / Bluetooth 5.0 Module (new)&amp;lt;/small&amp;gt;&lt;br /&gt;
| Yes/Yes&lt;br /&gt;
| &lt;br /&gt;
| No/No&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| In 0.7.9 Ayufan linux releases this is deliberately disabled for stability reasons.&lt;br /&gt;
| [https://store.pine64.org/product/rockpro64-1x1-dual-band-wifi-802-11acbluetooth-5-0-module ROCKPro64 1x1 Dual Band WiFi 802.11AC / Bluetooth 5.0 Module]&lt;br /&gt;
|-&lt;br /&gt;
| USB OTG&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| use this script: [https://github.com/ayufan-rock64/linux-package/blob/master/root-rockpro64/usr/local/sbin/rockpro64_enable_otg.sh rockpro64_enable_otg.sh], then configure ip on usb0: ifconfig usb0 169.169.222.222 and run iperf, you should likely see about 200-300MB/s&lt;br /&gt;
| [[ROCKPro64_Main_Page#OTG_mode]]&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| USB Mass Storage USB2/USB3&lt;br /&gt;
| Yes/yes&lt;br /&gt;
| &lt;br /&gt;
| Yes/Yes&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Dedicated Fan Power (pwm1)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| You might want to use [https://github.com/tuxd3v/ats ATS].&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| GPIO pins (raw or via RPI python scripts)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Check out [https://forum.frank-mankel.org/topic/292/rockpro64-rp64-gpio/2 what Frank Mankel has done].&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| MIPI CSI Camera 1 and 2&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| eDP&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| HDMI Audio&lt;br /&gt;
| Yes&lt;br /&gt;
| 7.1.2&lt;br /&gt;
| Yes&lt;br /&gt;
| 4.4.132-1083 - 4.4.138-1100&lt;br /&gt;
| &lt;br /&gt;
| Stopped working in 4.4.154.1105. Ayufan is looking into it.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 3.5mm Audio/Mic&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| USB-C Host&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Display via USB-C&lt;br /&gt;
| Yes&lt;br /&gt;
| 7.x and 8.x&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| eDP via USB-C per tillim. No sound on Android 7.x. Sound does work on Android 8.x&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| ROCKPro64 PLAYBOX ENCLOSURE&lt;br /&gt;
| N/A&lt;br /&gt;
| &lt;br /&gt;
| N/A&lt;br /&gt;
| &lt;br /&gt;
| N/A&lt;br /&gt;
| Ventilation does not exist, thus requires manual changes to add venting. Case should be modified to account power adapter not being centered in cut holes. Opening the case once close without modifying it first is near impossible without special tools. Graphene heatsink is included and does well for Linux but not Android.&lt;br /&gt;
| https://pine64.com/?product=rockpro64-playbox-enclosure&lt;br /&gt;
|-&lt;br /&gt;
| ROCKPro64 30mm Tall Profile Heatsink&lt;br /&gt;
| N/A&lt;br /&gt;
| &lt;br /&gt;
| N/A&lt;br /&gt;
| &lt;br /&gt;
| N/A&lt;br /&gt;
| &lt;br /&gt;
| https://store.pine64.org/?product=rockpro64-heatsink&lt;br /&gt;
|-&lt;br /&gt;
| ROCKPro64 20mm Mid Profile Heatsink&lt;br /&gt;
| N/A&lt;br /&gt;
| &lt;br /&gt;
| N/A&lt;br /&gt;
| &lt;br /&gt;
| N/A&lt;br /&gt;
| &lt;br /&gt;
| https://pine64.com/?product=rockpro64-20mm-mid-profile-heatsink&lt;br /&gt;
|-&lt;br /&gt;
| Fan For ROCKPro64 20mm Mid Profile Heatsink&lt;br /&gt;
| N/A&lt;br /&gt;
| &lt;br /&gt;
| N/A&lt;br /&gt;
| &lt;br /&gt;
| N/A&lt;br /&gt;
| You might want to use [https://github.com/tuxd3v/fanctl fanctl] to control the fan while keeping your CPU cool&lt;br /&gt;
| https://pine64.com/?product=fan-for-rockpro64-20mm-mid-profile-heatsink&lt;br /&gt;
|-&lt;br /&gt;
| HDMI output 4K@60Hz&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| PCIe 2.1&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Real Time Clock (RTC) battery backup&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| https://store.pine64.org/?product=rtc-backup-battery-cr-battery&lt;br /&gt;
|-&lt;br /&gt;
| Boot from USB/PXE&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
RockChip themselves have tables of supported features at 4.4 and mainline kernel versions [http://opensource.rock-chips.com/wiki_Status_Matrix in their wiki here].&lt;br /&gt;
&lt;br /&gt;
= Board Information, Schematics and Certifications =&lt;br /&gt;
* Board Dimensions: 133mm x 80mm x 19mm&lt;br /&gt;
* Input Power: +12V @3A/5A with 5.5mm/2.1mm Type M Barrel type DC connector&lt;br /&gt;
* [https://files.pine64.org/doc/rockpro64/rockpro64_v21-SCH.pdf ROCKPro64 Schematic v2.1 (Second Batch Production Release)]&lt;br /&gt;
** [https://files.pine64.org/doc/rockpro64/RockPro64_v21_Boardoutline-top.dxf ROCKPro64 v2.1 Board Top Outline in AutoCad DXF format]&lt;br /&gt;
** [https://files.pine64.org/doc/rockpro64/RockPro64_v21_Boardoutline-bottom.dxf ROCKPro64 v2.1 Board Bottom Outline in AutoCad DXF format]&lt;br /&gt;
** [https://files.pine64.org/doc/rockpro64/RockPro64_v21_Boardoutline-top.pdf ROCKPro64 v2.1 Board Top Outline in PDF format]&lt;br /&gt;
** [https://files.pine64.org/doc/rockpro64/RockPro64_v21_Boardoutline-bottom.pdf ROCKPro64 v2.1 Board Bottom Outline in PDF format]&lt;br /&gt;
* [https://files.pine64.org/doc/rockpro64/rockpro64_v20-SCH.pdf ROCKPro64 Schematic v2.0 (Pilot Production Release)]&lt;br /&gt;
** [https://files.pine64.org/doc/rockpro64/ROCKPRo64%20Engineering%20Change%20Notice%2020180628RP01.pdf Engineering Change Notice for v2.0 to turn on 3.3V power on PCIe]&lt;br /&gt;
* [https://files.pine64.org/doc/rockpro64/rockpro64_wifi_ap6359SA.pdf ROCKPro64 AP6359SA Wifi/BT Schematic]&lt;br /&gt;
* [https://files.pine64.org/doc/rockpro64/Rockpro64%20Pi-2%20Connector%20ver0.2.png ROCKPro64 Pi-2 Pin assignment and definition]&lt;br /&gt;
* [https://files.pine64.org/doc/rockpro64/RockPro-3D-model.zip ROCKPro64 3D model]&lt;br /&gt;
&lt;br /&gt;
* Certifications:&lt;br /&gt;
** Disclaimer: Please note that PINE64 SBC is not a &amp;quot;final&amp;quot; product and in general certification is not necessary. However, PINE64 still submit the SBC for FCC, CE, and ROHS certification and obtain the certificates to proof that SBC board is capable on passing the testing. Please note a final commercial product needs to performs its owns testing and obtains its owns certificates.&lt;br /&gt;
** [https://files.pine64.org/doc/cert/ROCKPro64%20FCC%20SDOC%20Certificate.pdf ROCKPro64 FCC Certificate]&lt;br /&gt;
** [https://files.pine64.org/doc/cert/ROCKPro64%20CE-EMC%20Certificate.pdf ROCKPro64 CE Certificate]&lt;br /&gt;
** [https://files.pine64.org/doc/cert/ROCKPro64%20ROHS%20%20SEC180529404001E%20Report.pdf ROCK64 RoHS Report]&lt;br /&gt;
&lt;br /&gt;
= Datasheets for Components and Peripherals =&lt;br /&gt;
* Rockchip RK3399 SoC information:&lt;br /&gt;
** [https://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]&lt;br /&gt;
** [http://opensource.rock-chips.com/images/d/d7/Rockchip_RK3399_Datasheet_V2.1-20200323.pdf Rockchip RK3399 Datasheet V2.1]&lt;br /&gt;
** [http://opensource.rock-chips.com/images/e/ee/Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf Rockchip RK3399 Technical Reference Manual part 1]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet V0.8]&lt;br /&gt;
* LPDDR4 (200 Balls) SDRAM:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/rockpro64/SM512M32Z01MD2BNP(200BALL).pdf Micron LPDDR4 Mobile LPDDR4 Datasheet]&lt;br /&gt;
* eMMC information:&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/E-00517%20FORESEE_eMMC_NCEMAM8B-16G%20SPEC.pdf 16GB Foresee eMMC Datasheet]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf 32GB/64GB/128GB SanDisk eMMC Datasheet]&lt;br /&gt;
* SPI NOR Flash information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/GD25Q128C-Rev2.5.pdf GigaDevice 128Mb SPI Flash Datasheet]&lt;br /&gt;
* Heatsink related info:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/rockpro64/Rockpro%20Passive%20Heatsink%20Spec.jpg ROCKPro64 Passive Heatsink Dimension Drawing]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/rockpro64/LMS-TC150%20Silicon%20Thermal%20Pad.pdf Heatsink Thermal Pad Specification]&lt;br /&gt;
* Wireless related info:&lt;br /&gt;
** AMPAK AP6256 11AC WiFi + Bluetooth5.0 Datasheet [https://files.pine64.org/doc/datasheet/rockpro64/AP6256%20datasheet_V1.3_12202017.pdf (v. 1.3)] [http://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf (v. 1.7)]&lt;br /&gt;
* Ethernet related info:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/rock64/RTL8211F-CG-Realtek.pdf Realtek RTL8211F 10/100/1000M Ethernet Transceiver Datasheet]&lt;br /&gt;
* Peripheral related info:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/rockpro64/ASM1061_Data%20Sheet_R1_8.pdf asmedia ASM1061 PCIe SATA 2.0 Datasheet]&lt;br /&gt;
* Remote control button mapping&lt;br /&gt;
** [https://files.pine64.org/doc/Pine%20A64%20Schematic/remote-wit-logo.jpg Official Remote Control for the PINE64 Button Mapping]&lt;br /&gt;
* Audio Codec (ES8316) (Under Board)&lt;br /&gt;
** [http://everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec]&lt;br /&gt;
* PWM controlled fan, SPDIF, and RTC Battery Backup headers&lt;br /&gt;
** [https://www.jst-mfg.com/product/pdf/eng/ePH.pdf JST-PH connector]&lt;br /&gt;
&lt;br /&gt;
= Useful Articles and Blog Posts = &lt;br /&gt;
&lt;br /&gt;
If you want to dive in to the ecosystem, here's a short list of various articles and blog posts that can help you set up your soft- or hardware development environment.&lt;br /&gt;
&lt;br /&gt;
* [https://stikonas.eu/wordpress/2019/09/15/blobless-boot-with-rockpro64/ Blobless boot with RockPro64 by Andrius Štikonas]&lt;br /&gt;
&lt;br /&gt;
* [https://marcin.juszkiewicz.com.pl/2020/06/17/ebbr-on-rockpro64/ EBBR on RockPro64 by Marcin Juszkiewicz]&lt;br /&gt;
&lt;br /&gt;
* [[ROCKPro64 Device Tree Overlays on Mainline]]&lt;br /&gt;
&lt;br /&gt;
= The NAS Case for the ROCKPro64 =&lt;br /&gt;
[[file:NASCaseMain.png|thumb|right|Front View of the PINE64 NAS Case for the ROCKPro64]]&lt;br /&gt;
Please [[NASCase | follow this this link]] for '''detailed instructions on how to assemble the ROCKPro64 NAS Case'''.&lt;br /&gt;
&lt;br /&gt;
The NAS Case instructions also contains detailed information about:&lt;br /&gt;
*what the NAS Case ships with&lt;br /&gt;
*What additional things you need to purchase for your NAS Case&lt;br /&gt;
*What optional things you can consider purchasing for your NAS build&lt;br /&gt;
*What OS Image we recommend you use for your NAS build&lt;br /&gt;
*IO accessibility after installing the ROCKPro64 into the NAS Case&lt;br /&gt;
*[https://files.pine64.org/doc/rockpro64/ROCKPro64%20NAS%20Case%20Exploded%20View%20Diagram.pdf NAS Case Exploded View]&lt;br /&gt;
*[https://files.pine64.org/doc/rockpro64/NAS%20Case%20Drawing.dwg NAS Case Drawing]&lt;br /&gt;
&lt;br /&gt;
= 3D printable ITX mounting brackets =&lt;br /&gt;
[[file:ITX-Bracket-Mounted.jpg|300px|thumb|right|A Quartz64-A mounted in an ITX case using 3D printed brackets]]&lt;br /&gt;
&lt;br /&gt;
Allows mounting a ROCKPro64-A or Quartz64-A board inside a regular PC case that conforms to the ITX standard, using 3D printed brackets:&lt;br /&gt;
&lt;br /&gt;
* AMF/STL/STEP files plus the original FreeCAD file used to create the models [[File:RP64-A_Q64-A_to_ITX_mounting_brackets.zip]]&lt;br /&gt;
* Make sure to flip the two brackets by 180 degrees on one of the horizontal axes (X/Y) in your slicer of choice before printing to avoid unnecessary supports&lt;br /&gt;
* To allow enough clearance between the board and the bracket you either need to print four copies of the washer model or add nut(s) between the board and the bracket&lt;br /&gt;
* If using nuts for the clearance between the board and the brackets, make sure it creates at least 3.2mm of spacing in between&lt;br /&gt;
* Depending on the accuracy and calibration of a 3D printer, slight deviation can occur and you likely need to manually widen some of the holes to allow screws to fit&lt;br /&gt;
&lt;br /&gt;
= Other Resources =&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=98 ROCKPro64 Forum]&lt;br /&gt;
* [https://pine64.com/?post_type=product PINE64 shop]&lt;br /&gt;
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]&lt;br /&gt;
* [http://opensource.rock-chips.com/ Rockchip Open Source Wiki]&lt;br /&gt;
* ExplainingComputers have a video review [https://www.youtube.com/watch?v=CeoNHGFN_30 of the RockPro64 here, including linux first boot.]&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
== No Video or GPU Acceleration on Debian ==&lt;br /&gt;
&lt;br /&gt;
If you can log in through serial but don't get any video or GPU acceleration on Debian, this is likely due to Debian's decision to compile the devfreq governors as loadable modules but not including them early enough for panfrost to be able to be provided with one of them.&lt;br /&gt;
&lt;br /&gt;
The usual sign of this being the case is the following line in your log: &amp;lt;code&amp;gt;[drm:panfrost_devfreq_init [panfrost]] *ERROR* Couldn't initialize GPU devfreq&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Log in to your ROCKPro64, and run the following:&lt;br /&gt;
&lt;br /&gt;
 sudo -i&lt;br /&gt;
 echo governor_simpleondemand &amp;gt;&amp;gt; /etc/initramfs-tools/modules &amp;amp;&amp;amp; update-initramfs -u -k $(uname -r)&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
Then, reboot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:ROCKPro64]] [[Category:Rockchip RK3399]]&lt;/div&gt;</summary>
		<author><name>Mrfixit2001</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=ROCKPro64_Software_Releases&amp;diff=14434</id>
		<title>ROCKPro64 Software Releases</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=ROCKPro64_Software_Releases&amp;diff=14434"/>
		<updated>2022-10-12T19:45:40Z</updated>

		<summary type="html">&lt;p&gt;Mrfixit2001: /* Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=float:right&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
= Linux =&lt;br /&gt;
== Debian ==&lt;br /&gt;
=== Official Debian Installer ===&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div style=float:right&amp;gt;[[File:debian.png|center|100px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;As of April 2020 [https://d-i.debian.org/daily-images/arm64/daily/netboot/SD-card-images/ Debian have a ROCKPro64 images available for sid daily build]. See forum thread [https://forum.pine64.org/showthread.php?tid=9744 here].&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Debian 11 Bullseye images are available [https://deb.debian.org/debian/dists/bullseye/main/installer-arm64/current/images/netboot/SD-card-images/ here].&lt;br /&gt;
&lt;br /&gt;
Instructions for creating a bootable image are in the README file on the Debian website, as at June 2020 these were too short&lt;br /&gt;
* Download: &amp;lt;code&amp;gt;firmware.rockpro64-rk3399.img.gz&amp;lt;/code&amp;gt;&lt;br /&gt;
* Download: &amp;lt;code&amp;gt;partition.img.gz&amp;lt;/code&amp;gt;&lt;br /&gt;
* Create the disk image:&lt;br /&gt;
:: For Linux: &amp;lt;code&amp;gt;zcat firmware.rockpro64-rk3399.img.gz partition.img.gz&amp;lt;nowiki&amp;gt; &amp;gt; &amp;lt;/nowiki&amp;gt;complete_image.img&amp;lt;/code&amp;gt;&lt;br /&gt;
:: For Mac: &amp;lt;code&amp;gt;gzcat firmware.rockpro64-rk3399.img.gz partition.img.gz&amp;lt;nowiki&amp;gt; &amp;gt; &amp;lt;/nowiki&amp;gt;complete_image.img&amp;lt;/code&amp;gt;&lt;br /&gt;
* Write the image to your boot device:&lt;br /&gt;
:: For Linux: &amp;lt;code&amp;gt;dd if=complete_image.img of=your_chosen_boot_device bs=4M&amp;lt;/code&amp;gt;&lt;br /&gt;
:: For Mac: [https://www.balena.io/etcher/ Etcher]&lt;br /&gt;
&lt;br /&gt;
What you now have is the official Debian installer that will boot and run on your ROCKPro64. You will need an Ethernet connection and to answer the various installer questions/options.&lt;br /&gt;
&lt;br /&gt;
{{note|'''Note:''' See the [[ROCKPro64#No_Video_or_GPU_Acceleration_on_Debian|troubleshooting section]] if you encounter issues with GPU acceleration.}}&lt;br /&gt;
&lt;br /&gt;
=== Armbian===&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div style=float:right&amp;gt;[[File:armbian.png|right|100px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Minimal Debian based Linux with powerful configurator and software installer. To find out more about Armbian and available options please visit their [https://www.armbian.com/rockpro64/ site]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
If you are booting from a Micro SD card, then both Linux kernel versions will work. If you are trying to boot from an eMMC module then the 4.4.y will work, but the newer 5.10.y will not.&lt;br /&gt;
&lt;br /&gt;
* Armbian packed as 7zip, please unzip first before dd.&lt;br /&gt;
* DD image to microSD card or eMMC module and boot. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
&lt;br /&gt;
''' Armbian Debian Buster XFCE Desktop [microSD / eMMC Boot] '''&lt;br /&gt;
Armbian provides a mainline kernel build images for Debian Buster with XFCE Desktop&lt;br /&gt;
* DD image (for 8GB microSD card or eMMC Module and above)&lt;br /&gt;
** [https://dl.armbian.com/rockpro64/Buster_current_desktop Armbian's ROCKPro64 Debian Buster XFCE Desktop download site]&lt;br /&gt;
&lt;br /&gt;
''' Armbian Ubuntu Focal XFCE Desktop [microSD / eMMC Boot] '''&lt;br /&gt;
Armbian provides a mainline kernel build images for Ubuntu Focal with XFCE Desktop&lt;br /&gt;
* DD image (for 8GB microSD card or eMMC Module and above)&lt;br /&gt;
** [https://dl.armbian.com/rockpro64/Focal_current_desktop Armbian's ROCKPro64 Ubuntu Focal XFCE Desktop download site]&lt;br /&gt;
&lt;br /&gt;
''' Armbian Ubuntu Bionic for Server and Light Desktop [microSD / eMMC Boot] '''&lt;br /&gt;
Armbian provides a mainline kernel build images for Ubuntu Bionic&lt;br /&gt;
* DD image (for 8GB microSD card or eMMC Module and above)&lt;br /&gt;
** [https://dl.armbian.com/rockpro64/Bionic_current Armbian's ROCKPro64 Ubuntu Bionic download site]&lt;br /&gt;
&lt;br /&gt;
''' Armbian Ubuntu Focal for Server and Light Desktop [microSD / eMMC Boot] '''&lt;br /&gt;
Armbian provides a mainline kernel build images for Ubuntu Focal&lt;br /&gt;
* DD image (for 8GB microSD card or eMMC Module and above)&lt;br /&gt;
** [https://dl.armbian.com/rockpro64/Focal_current Armbian's ROCKPro64 Ubuntu Focal download site]&lt;br /&gt;
&lt;br /&gt;
=== DietPi ===&lt;br /&gt;
&amp;lt;div style=float:right&amp;gt;[[File:dietpi.png|center|100px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* DietPi is a '''lightweight''', yet '''easy to setup''' and '''feature-rich''' Linux distribution, based on '''Debian'''.&lt;br /&gt;
* To find out more about DietPi, please visit the [https://dietpi.com/docs/ official documentation].&lt;br /&gt;
* Discuss the ROCKPro64 build on the [https://forum.pine64.org/showthread.php?tid=12532 PINE64 forum thread].&lt;br /&gt;
* DD image (for 4 GiB or above micro SD card or eMMC)&lt;br /&gt;
** [https://dietpi.com/downloads/images/DietPi_ROCKPro64-ARMv8-Bullseye.7z Direct download from dietpi.com]&lt;br /&gt;
* Login with&lt;br /&gt;
** Username: '''root'''&lt;br /&gt;
** Password: '''dietpi'''&lt;br /&gt;
&lt;br /&gt;
=== Community Debian builds ===&lt;br /&gt;
----&lt;br /&gt;
''' ayufan Debian and Ubuntu Release '''&lt;br /&gt;
&amp;lt;div style=float:right&amp;gt;[[File:penguin.png|right|100px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
Forum thread concerning these releases can be found [https://forum.pine64.org/showthread.php?tid=6308 here]&lt;br /&gt;
&lt;br /&gt;
A number of release versions are available based on either Ubuntu or Debian. In addition releases are available that are [https://github.com/ayufan-rock64/linux-build/releases/tag/0.9.14 stable] (based on a 4.4 kernel which has all the RockChip patches in it) or [https://github.com/ayufan-rock64/linux-build/releases pre-releases] (based on the latest linux kernel). An overview of the philosophy is [https://github.com/ayufan-rock64/linux-build on this GitHub page.]&lt;br /&gt;
&lt;br /&gt;
Clicking through on any chosen release header (or expanding the &amp;quot;assets&amp;quot; section under the Changelog) will provide options to download many images suitable for the ROCKPro64 as well as others suitable for other devices such as the Rock64 and PinebookPro - please read the download filenames carefully to choose precisely the image you desire.&lt;br /&gt;
&lt;br /&gt;
''' Mrfixit2001 Debian Release '''&lt;br /&gt;
&amp;lt;div style=float:right&amp;gt;[[File:debian.png|right|100px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
Mrfixit has engineered 2 releases based on Debian.&lt;br /&gt;
&lt;br /&gt;
''' Feature complete desktop release '''&lt;br /&gt;
See forum thread [https://forum.pine64.org/showthread.php?tid=7269 here.]&lt;br /&gt;
&lt;br /&gt;
* DD image to microSD card or eMMC module and boot. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
:: [https://github.com/mrfixit2001/debian_desktop/releases GitHub Release page]&lt;br /&gt;
* Login with&lt;br /&gt;
:: username: rock&lt;br /&gt;
:: password: rock&lt;br /&gt;
&lt;br /&gt;
''' Minimal Debian '''&lt;br /&gt;
Forum thread concerning this release can be found [https://forum.pine64.org/showthread.php?tid=7055 here]&lt;br /&gt;
&lt;br /&gt;
* DD image to microSD card or eMMC module and boot. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
:: [https://github.com/mrfixit2001/debian_builds/releases GitHub Releases page]&lt;br /&gt;
* Login with&lt;br /&gt;
:: username: rock&lt;br /&gt;
:: password: rock&lt;br /&gt;
&lt;br /&gt;
== Manjaro ARM ==&lt;br /&gt;
&amp;lt;div style=float:right&amp;gt;[[File:Manjaro.png|right|100px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
To learn more about Manjaro please visit [https://forum.manjaro.org/c/arm/releases/102 Manjaro Forum] &lt;br /&gt;
&amp;lt;!-- * Console and SSH default login:&lt;br /&gt;
:: username: manjaro&lt;br /&gt;
:: password: manjaro&lt;br /&gt;
&lt;br /&gt;
* Download: https://manjaro.org/download/&lt;br /&gt;
** Scroll down to ARM team images, choose ROCKPro64 on dropdown --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Download: [https://github.com/manjaro-arm/rockpro64-images/releases from Github]&lt;br /&gt;
** RockPro64 is no longer listed on the updated Manjaro.org download page.&lt;br /&gt;
&lt;br /&gt;
Decompress the image (&amp;lt;tt&amp;gt;unxz&amp;lt;/tt&amp;gt;) before flashing, or decompress on the fly while flashing (&amp;lt;tt&amp;gt;xzcat&amp;lt;/tt&amp;gt; in a root shell, Etcher, ...)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--On first boot, it will present you with a guided installer, and expand the root filesystem as appropriate.--&amp;gt;&lt;br /&gt;
* A display and keyboard will be required for first boot.&lt;br /&gt;
** Initial setup includes: keyboard layout, locale, username, user password, and root password.&lt;br /&gt;
** Then the installation will expand the root partition to use the remaining space on the storage device you've flashed.&lt;br /&gt;
&lt;br /&gt;
== AOSC ==&lt;br /&gt;
&amp;lt;div style=float:right&amp;gt;[[File:aosc.png|right|100px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Originally AnthonOS (an OpenSUSE derivative built with SUSE Studio), then remade as a Debian derivative with customised KDE 4 UI and CJK support.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
To learn more about AOSC, please visit the official [https://aosc.io/ AOSC website]&lt;br /&gt;
* AOSC using LZ4 compression algorithm, please visit the [https://github.com/lz4/lz4 LZ4 github site] for utility&lt;br /&gt;
* 8GB microSD card or eMMC module and above&lt;br /&gt;
* Login with&lt;br /&gt;
:: username: aosc&lt;br /&gt;
:: password: anthon&lt;br /&gt;
&lt;br /&gt;
* Community Build Images (microSD / eMMC Boot)&lt;br /&gt;
::[https://releases.aosc.io/os-arm64/rockchip64/kde/rockpro64/ AOSC KDE]&lt;br /&gt;
::[https://releases.aosc.io/os-arm64/rockchip64/gnome/rockpro64/ AOSC GNOME]&lt;br /&gt;
::[https://releases.aosc.io/os-arm64/rockchip64/mate/rockpro64/ AOSC MATE]&lt;br /&gt;
::[https://releases.aosc.io/os-arm64/rockchip64/cinnamon/rockpro64/ AOSC Cinnamon]&lt;br /&gt;
::[https://releases.aosc.io/os-arm64/rockchip64/xfce/rockpro64/ AOSC XFCE]&lt;br /&gt;
::[https://releases.aosc.io/os-arm64/rockchip64/lxde/rockpro64/ AOSC LXDE]&lt;br /&gt;
&lt;br /&gt;
== Twister OS ==&lt;br /&gt;
&amp;lt;div style=float:right&amp;gt;[[File:Twister_OS.png|right|100px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Desktop computing experience for SBCs, right out-of-the-box. Including themes, applications, tools, and optimizations to get the most out of your SBC.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
For more information on Twister OS, please visit the {https://twisteros.com/ official site]&lt;br /&gt;
* You can follow the ongoing discussion about Twister OS on the PINE64 forum (https://forum.pine64.org/showthread.php?tid=12192)&lt;br /&gt;
=== Twister OS Armbian-Reforged XFCE Desktop beta images [SD boot]===&lt;br /&gt;
After flashing image with Etcher, edit /boot/armbianEnv.txt, replace the dtb name with rk3399-rockpro64.dtb.&lt;br /&gt;
* DD image (for 16GB microSD card / 16GB eMMC module and above):&lt;br /&gt;
** [https://twisteros.com/twisterarmbian.html latest images from Twister OS's website]&lt;br /&gt;
:: size: 2.8GB&lt;br /&gt;
* Login with&lt;br /&gt;
:: username: pi&lt;br /&gt;
:: password: raspberry&lt;br /&gt;
&lt;br /&gt;
=== Twister OS Monka-Manjaro XFCE Desktop beta images [SD boot]===&lt;br /&gt;
After flashing image with Etcher, edit /boot/armbianEnv.txt, replace the dtb name with rk3399-rockpro64.dtb.&lt;br /&gt;
* DD image (for 16GB microSD card / 16GB eMMC module and above):&lt;br /&gt;
** [https://drive.google.com/file/d/1I0yHIDfezqnz1jdphJ4gooWbGtNw0ArW/view?usp=sharing latest images from Google Drive]&lt;br /&gt;
:: size: 8.9GB&lt;br /&gt;
* Login with&lt;br /&gt;
:: username: pi&lt;br /&gt;
:: password: root&lt;br /&gt;
&lt;br /&gt;
== SkiffOS ==&lt;br /&gt;
&amp;lt;div style=float:right&amp;gt;[[File:SkiffOS-Icon-1.png|right|100px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Minimal cross-compiled OS optimized for hosting distributions in Docker containers. Provides the reliability of firmware with the ease-of-use of package managers.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Uses the [http://buildroot.org Buildroot] cross-compilation tool for support for all Pine64 boards.&lt;br /&gt;
&lt;br /&gt;
Use configuration packages to configure distro:&lt;br /&gt;
* core/gentoo: Gentoo optimized for Rockpro64&lt;br /&gt;
* core/nixos: NixOS arm64&lt;br /&gt;
&lt;br /&gt;
You can also configure the skiff core yaml file to configure multiple distros to run in parallel.&lt;br /&gt;
&lt;br /&gt;
The boot-up OS can be upgraded independently from the containers.&lt;br /&gt;
&lt;br /&gt;
'''Download location'''&lt;br /&gt;
:The repository and instructions can be found [https://github.com/skiffos/SkiffOS/tree/master/configs/pine64 here].&lt;br /&gt;
&lt;br /&gt;
== Slackware ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=float:right&amp;gt;[[File:slackware.jpg|right|100px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://arm.slackware.com/ Slackware] is the world's oldest actively developed Linux distribution, providing a modern user land (applications) and Linux Kernel, within a more classic Unix Operating System environment.&lt;br /&gt;
&lt;br /&gt;
More information can be found about Slackware in this [https://www.youtube.com/watch?v=A5PFYUttsWA&amp;amp;list=PL1XOSJnvang3IbwySOf6m3PK1gm13hS5s 20 minute video].&lt;br /&gt;
&lt;br /&gt;
[https://docs.slackware.com/slackwarearm:inst Installation instructions].&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=uXAL9jz-yaA&amp;amp;list=PL1XOSJnvang3VLmqke2QbRitKtOD6Rm3t Installation video guide]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== slarm64 ==&lt;br /&gt;
&lt;br /&gt;
[https://bitbucket.org/sndwvs/slarm64-current/src/master/ slarm64] is an unofficial aarch64 / riscv64 Slackware Linux port&lt;br /&gt;
&lt;br /&gt;
You can follow the ongoing discussion about slarm64 on the RockPro64 on the PINE64 forum (https://forum.pine64.org/showthread.php?tid=6823)&lt;br /&gt;
Or this forum thread for more general slarm64 information: https://www.linuxquestions.org/questions/slackware-arm-108/slarm64-aarch64-unofficial-slackware-4175613287/&lt;br /&gt;
&lt;br /&gt;
rsync: rsync://dl.fail.pp.ua&lt;br /&gt;
&lt;br /&gt;
mirror: http://mirrors.slackware.bg/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* This build uses ZST compression algorithm, please visit the [https://github.com/facebook/zstd ZST github site] for utility&lt;br /&gt;
&lt;br /&gt;
=== slarm64 XFCE ===&lt;br /&gt;
Community Build Image [microSD Boot] with a graphical shell&lt;br /&gt;
* DD image to microSD card and boot. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
::[http://dl.fail.pp.ua/slackware/images/rockpro64/ download] (look for slarm64-current-aarch64-xfce-rockpro64-x.xx.x-build-xxxxxxxx.img.zst)&lt;br /&gt;
* Login with&lt;br /&gt;
::Username: root&lt;br /&gt;
::Password: password&lt;br /&gt;
&lt;br /&gt;
=== slarm64 Miniroot ===&lt;br /&gt;
Community Build Image [microSD Boot] without a graphical shell&lt;br /&gt;
* DD image to microSD card and boot. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
:: [http://dl.fail.pp.ua/slackware/images/rockpro64/ download] (look for slarm64-current-aarch64-base-rockpro64-x.xx.x-build-xxxxxxxx.img.zst)&lt;br /&gt;
* Login with&lt;br /&gt;
::Username: root&lt;br /&gt;
::Password: password&lt;br /&gt;
&lt;br /&gt;
'''To run the OS on eMMC'''&lt;br /&gt;
:Flash the image to micro SD, power up the board with micro SD and login&lt;br /&gt;
:Copy the image file to micro SD by using SFTP. The image file must be in .img. ''note : root user are not allow transfer file to micro SD.''&lt;br /&gt;
:After finish copy the file, power off the board and add eMMC module to the board&lt;br /&gt;
*Bootup the board, run below command for flashing to eMMC module&lt;br /&gt;
:&amp;lt;code&amp;gt;dd if=[image file] of=/dev/mmcblkX bs=10M&amp;lt;/code&amp;gt;&lt;br /&gt;
:example: &amp;lt;code&amp;gt;dd if=slack-current-aarch64-xfce_29Sep18-4.4.162-rockpro64-build-20181126.img of=/dev/mmcblkX bs=10M&amp;lt;/code&amp;gt;&lt;br /&gt;
*then edit 2 files in eMMC module:&lt;br /&gt;
:&amp;lt;code&amp;gt;mount /dev/mmcblk1p1 /media&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;echo &amp;quot;rootdev=/dev/mmcblk1p1&amp;quot;&amp;lt;nowiki&amp;gt; &amp;gt;&amp;gt; &amp;lt;/nowiki&amp;gt;/media/boot/uEnv.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;sed -i 's:mmcblk0p1:mmcblk1p1:' /media/etc/fstab&amp;lt;/code&amp;gt;&lt;br /&gt;
*After done, power off board and remove microSD. Then bootup with only eMMC module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OpenWrt ==&lt;br /&gt;
&amp;lt;div style=float:right&amp;gt;[[File:OpenWrt.png|right|100px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;OpenWrt ​is a highly extensible ​GNU/​Linux ​distribution for embedded devices ​(typically wireless routers). Unlike many other distributions for these routers, OpenWrt ​is built from the ground up to be a full-featured, easily modifiable operating system for your router. In practice, this means that you can have all the features you need with none of the bloat, powered by a Linux kernel ​that's more recent than most other distributions.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Choose a version and DD image to SD card (for 512MB microSD card and above)&lt;br /&gt;
* To find out more on installation process, visit OpenWrt's [https://openwrt.org/toh/pine64/rockpro64_v2.1 ROCKPro64 wiki page]&lt;br /&gt;
* Login with SSH:&lt;br /&gt;
:: default IP: 192.168.1.1&lt;br /&gt;
:: username: root&lt;br /&gt;
* Install a WebGUI: [https://openwrt.org/docs/guide-quick-start/ssh_connect_to_the_internet_and_install_luci Use SSH to connect to the internet and install Luci Web interface]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
-----&lt;br /&gt;
[https://openwrt.org/releases/snapshot OpenWrt wiki] notes: '''Main differences of buildbot snapshots vs. official stable releases'''&lt;br /&gt;
*snapshots do not contain LuCI GUI by default. It needs to be installed by the user.&lt;br /&gt;
*snapshots are completely untested. Just automatic builds of the most recent source code and packages. Although snapshots are usually ok, they may sometimes contain serious bugs that prevent booting the device correctly or even prevent easy sysupgrading to new versions.&lt;br /&gt;
*snapshots are '''built daily, and that sets time limits to installing new packages''' with opkg. Due to kernel version checksums, you can only install “kmod” kernel modules and other kernel version dependent modules from the exactly same snapshot build. So, a few hours after flashing the firmware you may not be able to install new modules with opkg any more (as the next snapshot has been built into the download repo and has different checksums). See [https://openwrt.org/releases/snapshot OpenWrt wiki] for package availability time limits.&lt;br /&gt;
-----&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OpenWrt 21.02 ===&lt;br /&gt;
&lt;br /&gt;
Release Candidates:&lt;br /&gt;
&lt;br /&gt;
*[https://firmware-selector.openwrt.org/?version=21.02.0-rc2&amp;amp;target=rockchip%2Farmv8&amp;amp;id=pine64_rockpro64 21.02.0-rc2]&lt;br /&gt;
*:&lt;br /&gt;
*:Version: 21.02.0-rc2 (r16122-c2139eef27)&lt;br /&gt;
*:Date: 2021-05-29 21:10:28&lt;br /&gt;
&lt;br /&gt;
*[https://firmware-selector.openwrt.org/?version=21.02.0-rc1&amp;amp;target=rockchip%2Farmv8&amp;amp;id=pine64_rockpro64 21.02.0-rc1]&lt;br /&gt;
*:&lt;br /&gt;
*:Version: 21.02.0-rc1 (r16046-59980f7aaf)&lt;br /&gt;
*:Date: 2021-04-21 01:29:32&lt;br /&gt;
&lt;br /&gt;
*[https://firmware-selector.openwrt.org/?version=21.02-SNAPSHOT&amp;amp;target=rockchip%2Farmv8&amp;amp;id=pine64_rockpro64 21.02-SNAPSHOT]&lt;br /&gt;
*:&lt;br /&gt;
&lt;br /&gt;
=== OpenWrt Snapshot Build [microSD Boot] ===&lt;br /&gt;
* OpenWrt with 5.4 mainline linux kernel&lt;br /&gt;
*: [https://downloads.openwrt.org/snapshots/targets/rockchip/armv8/ OpenWrt snapshot page]&lt;br /&gt;
&lt;br /&gt;
*[https://firmware-selector.openwrt.org/?version=SNAPSHOT&amp;amp;target=rockchip%2Farmv8&amp;amp;id=pine64_rockpro64 SNAPSHOT]&lt;br /&gt;
*:&lt;br /&gt;
&lt;br /&gt;
== LibreELEC (KODI) ==&lt;br /&gt;
&amp;lt;div style=float:right&amp;gt;[[File:libreelec.jpg|right|100px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;LibreELEC is a lightweight ‘Just enough OS’ Linux distribution purpose-built for Kodi on current and popular mediacentre hardware.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
''' Official LibreElec KODI Build Image [microSD / eMMC boot] '''&lt;br /&gt;
: Unzip and DD image to microSD card or eMMC module and boot. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
: 8GB microSD card or eMMC module and above&lt;br /&gt;
* [https://libreelec.tv/downloads_new/rockchip/ download] (look for PINE64 RockPro64-LibreELEC-RK3399.arm-x.x.x-rockpro64.img.gz)&lt;br /&gt;
&lt;br /&gt;
== OpenMediaVault ==&lt;br /&gt;
&amp;lt;div style=float:right&amp;gt;[[File:omv.png|right|100px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;OpenMediaVault is the next generation network attached storage (NAS) solution, [https://www.openmediavault.org/ click this link to OMV main page to learn more.]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Forum thread concerning this release can be found [https://forum.pine64.org/showthread.php?tid=6308 here]&lt;br /&gt;
&lt;br /&gt;
''' Stretch 32bit (armhf) [microSD / eMMC Boot] [0.8.3] '''&lt;br /&gt;
: DD image to microSD card or eMMC module. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
: [https://github.com/ayufan-rock64/linux-build/releases/ Release notes on ayufan Linux github]&lt;br /&gt;
:: [https://github.com/ayufan-rock64/linux-build/releases/download/0.8.3/stretch-openmediavault-rockpro64-0.8.3-1141-armhf.img.xz Direct download from ayufan's github]&lt;br /&gt;
:: size: 392MB&lt;br /&gt;
* WebGUI Login:&lt;br /&gt;
:: username: admin&lt;br /&gt;
:: password: openmediavault&lt;br /&gt;
* SSH/Console Login:&lt;br /&gt;
:: username: root&lt;br /&gt;
:: password: openmediavault &lt;br /&gt;
* '''NB! You need to enable root login in OMV WebGUI'''&lt;br /&gt;
: [[OpenMediaVault|OpenMediaVault Basic Setup]]&lt;br /&gt;
: [http://omv-extras.org/joomla/index.php/omv-plugins-3/3-stable OpenMediaVault Plugins]&lt;br /&gt;
&lt;br /&gt;
''' Stretch 64bit (aarch64) [microSD / eMMC Boot] [0.8.3] '''&lt;br /&gt;
: DD image to microSD card or eMMC module. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
: [https://github.com/ayufan-rock64/linux-build/releases/ Release notes on ayufan Linux github]&lt;br /&gt;
:: [https://github.com/ayufan-rock64/linux-build/releases/download/0.8.3/stretch-openmediavault-rockpro64-0.8.3-1141-arm64.img.xz Direct download from ayufan's github]&lt;br /&gt;
:: size: 340MB&lt;br /&gt;
* WebGUI Login:&lt;br /&gt;
:: username: admin&lt;br /&gt;
:: password: openmediavault&lt;br /&gt;
* SSH/Console Login:&lt;br /&gt;
:: username: root&lt;br /&gt;
:: password: openmediavault &lt;br /&gt;
* '''NB! You need to enable root login in OMV WebGUI'''&lt;br /&gt;
: [[OpenMediaVault|OpenMediaVault Basic Setup]]&lt;br /&gt;
: [http://omv-extras.org/joomla/index.php/omv-plugins-3/3-stable OpenMediaVault Plugins]&lt;br /&gt;
&lt;br /&gt;
== NextCloudPi==&lt;br /&gt;
&amp;lt;div style=float:right&amp;gt;[[File:nextcloudpi.png|right|100px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;NextCloudPi includes not only NextCloud, but also management tools for backup, SSL certificates, SAMBA, enhanced security and more. Visit the project's [http://nextcloudpi.com website].&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
You can follow the ongoing discussion about NextCloudPi on the [https://forum.pine64.org/showthread.php?tid=7265 forum]&lt;br /&gt;
&lt;br /&gt;
''' NextCloudPi Community Build Image [microSD / eMMC Boot] [03-10-19] '''&lt;br /&gt;
* DD image to microSD card and boot. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
:: [http://files.pine64.org/os/ROCKPro64/nextcloudpi/NextCloudPi_RockPro64_03-09-19.img.xz Direct download from pine64.org]&lt;br /&gt;
::: MD5 (XZ file): 6ab1b08a8e4c2ed3abe40511749971a7&lt;br /&gt;
::: File Size: 312MB&lt;br /&gt;
* Login with&lt;br /&gt;
:: username: root&lt;br /&gt;
:: password: 1234&lt;br /&gt;
&lt;br /&gt;
== Retro-Center R-Cade ==&lt;br /&gt;
&amp;lt;div style=float:right&amp;gt;[[File:RCadeLogo.jpg|right|100px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Retro-Gaming OS with over 100 systems combined with a lightweight web browser and a 4K UHD Media Center (https://www.retro-center.com/about-r-cade/)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''RCade Releases and Updates [USB / microSD / eMMC Boot] '''&lt;br /&gt;
* DD image to microSD card and boot. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
:: [https://github.com/retro-center/rcade_releases/releases Direct download from Retro Center's GitHub]&lt;br /&gt;
&lt;br /&gt;
== Batocera Linux ==&lt;br /&gt;
&amp;lt;div style=float:right&amp;gt;[[File:batocera.png|right|100px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;It is an operating system in retrogaming. Visit the project's website here (https://batocera.org/)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
You can follow the ongoing discussion about batocera.linux on the PINE64 forum (https://forum.pine64.org/showthread.php?tid=7084)&lt;br /&gt;
&lt;br /&gt;
'''Batocera Linux Community Build Image [microSD / eMMC Boot] [5.25-20200310] '''&lt;br /&gt;
* DD image to microSD card and boot. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
:: [https://batocera.org/upgrades/rockpro64/stable/last/batocera-5.25-rockpro64-20200310.img.gz Direct download from batocera.org website]&lt;br /&gt;
::: File Size: 834MB&lt;br /&gt;
::: MD5 (gzip file): 9559c7570e48ca0a51bd9fc639b8a3c0&lt;br /&gt;
&lt;br /&gt;
''' Batocera Linux Community Build Image [microSD / eMMC Boot] [5.24-20191108] '''&lt;br /&gt;
* DD image to microSD card and boot. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
:: [https://batocera.org/upgrades/rockpro64/stable/last/archives/20191108/batocera-5.24-rockpro64-20191108.img.gz Direct download from batocera.org website]&lt;br /&gt;
::: File Size: 857MB&lt;br /&gt;
::: MD5 (gzip file): 3228bf24e555ef75bba562dfe09f30a4&lt;br /&gt;
&lt;br /&gt;
== Recalbox ==&lt;br /&gt;
&amp;lt;div style=float:right&amp;gt;[[File:RB.png|right|100px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Recalbox allows you to re-play a variety of videogame consoles and platforms in your living room, with ease! Visit the project's website here (https://www.recalbox.com/)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
You can follow the ongoing discussion about Recalbox on the PINE64 forum (https://forum.pine64.org/showthread.php?tid=7194)&lt;br /&gt;
&lt;br /&gt;
''' Recalbox Community Build Image [microSD / eMMC Boot] '''&lt;br /&gt;
* DD image to microSD card and boot. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
:: [https://github.com/mrfixit2001/recalbox_rockpro64/releases download] latest release build from mrfixit2001 github.&lt;br /&gt;
&lt;br /&gt;
== Retro Arena==&lt;br /&gt;
&amp;lt;div style=float:right&amp;gt;[[File:retroarena.png|right|100px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
''' Retro Arena Community Build Image [microSD / eMMC Boot] [Beta 0.0.8] '''&lt;br /&gt;
&amp;lt;blockquote&amp;gt;This is a BETA and therefore is not update-able nor supported, however bugs or issues are appreciated to be identified and shared via the issues tab on our GitHub so that we can address them in the future. The Roshambo Case support is baked in with one major caveat due to kernel limitation: You can power the unit off by the POWER switch and the RESET button works 100% however to power the unit on you will need to manually plug/unplug the power cord. This limitation will not be present in future releases. Visit the project's [http://odroidarena.com/downloads/]&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
You can follow the ongoing discussion about Retro Arena on the [https://forum.pine64.org/showthread.php?tid=7555 forum]&lt;br /&gt;
* DD image to microSD card and boot. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
:: [http://files.pine64.org/os/ROCKPro64/odroidretroarena/TheRA-RP64-BETA-0.8-FINAL.img.gz Direct download from pine64.org]&lt;br /&gt;
::: MD5 (XZ file): fdfacfa8560356ba8d3aff0762c3e7cc&lt;br /&gt;
::: File Size: 4.06GB&lt;br /&gt;
&lt;br /&gt;
== Nems Linux ==&lt;br /&gt;
&amp;lt;div style=float:right&amp;gt;[[File:nems.jpg|right|100px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;NEMS stands for &amp;quot;Nagios Enterprise Monitoring Server&amp;quot; and it is a modern pre-configured, customized and ready-to-deploy Nagios Core image designed to run on low-cost micro computers.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
To find out more about NEMS on the PINE64 and available tweaks to the installation please visit the [https://forum.pine64.org/showthread.php?tid=7306 PINE64 forum thread]&lt;br /&gt;
* Login with&lt;br /&gt;
:: Username: nemsadmin&lt;br /&gt;
:: Password: nemsadmin&lt;br /&gt;
&lt;br /&gt;
''' NEMS Linux [microSD / eMMC Boot] [v1.5 - build 1] '''&lt;br /&gt;
: DD image (for 16GB microSD card and above)&lt;br /&gt;
:: [https://nemslinux.com/download/nagios-for-pine64.php Download page] with torrent seed or direct download.&lt;br /&gt;
:: [http://files.pine64.org/os/ROCKPro64/nems/NEMS_v1.5-RockPro64-Build1.zip Direct download from pine64.org]&lt;br /&gt;
::: MD5 (XZ file): 2627bc0aa81e1c55de69a621d80987a5&lt;br /&gt;
::: File Size: 1.32GB&lt;br /&gt;
&lt;br /&gt;
== NixOS ==&lt;br /&gt;
&amp;lt;div style=float:right&amp;gt;[[File:NixOS.webp|right|100px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
*Needs development&lt;br /&gt;
More information can be found on the [https://nixos.wiki/wiki/NixOS_on_ARM/PINE64_ROCKPro64 NixOS wiki] and [https://github.com/AshyIsMe/nixos-installer-rockpro64 this GitHub]&lt;br /&gt;
&lt;br /&gt;
== CentOS [No Longer Maintained] ==&lt;br /&gt;
&amp;lt;div style=float:right&amp;gt;[[File:Centos.png|right|100px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
''' CentOS-7 Community Build Image [microSD Boot] '''&lt;br /&gt;
: Centos-7.4.1708 with kernel from Armbian-5.67 (minimum build)&lt;br /&gt;
:: DD image (for 8GB microSD card and above)&lt;br /&gt;
:: [https://github.com/Project31/centos-pine64/releases/download/v7.4.1708-v5.56/centos7-rock64pro.img.xz Project31 download mirrors]&lt;br /&gt;
* To find out more on installation process, please visit their [https://project31.github.io/pine64/ Project31 site]&lt;br /&gt;
: Login with&lt;br /&gt;
:: username: root&lt;br /&gt;
:: password: centos&lt;br /&gt;
&lt;br /&gt;
== VoidLinux ==&lt;br /&gt;
Official guide at [https://docs.voidlinux.org/installation/guides/arm-devices/index.html Guide].  At this time no RockPro64 image is available.  Follows is the generic steps if you have an existing VoidLinux installation, eg thanks to a Live /bootable image on a Windows machine from voidlinux.org:&lt;br /&gt;
* &amp;lt;code&amp;gt;xbps-insall -Syu&amp;lt;/code&amp;gt; # updates the xbps installation of live image&lt;br /&gt;
* create RockPro64 image from void-mklive software (from github.com):&lt;br /&gt;
** create a rootfs via mkrootfs.sh:  &amp;lt;code&amp;gt;sh mkrootfs.sh -o void-aarch64-muls-ROOTFS-yyyymmdd.tar.xz&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;sh mkplatformfs.sh rockpro64 void-aarch64-muls-ROOTFS-yyyymmdd.tar.xz&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;sh mkimage.sh -s 7GiB void-rockpro64-PLATFORMFS-yyyymmdd.tar.xz&amp;lt;/code&amp;gt;&lt;br /&gt;
* write image to sdcard or eMMC:  &amp;lt;code&amp;gt;dd if=IMAGE-FILENAME of=DEVICENAME bs=2M&amp;lt;/code&amp;gt;&lt;br /&gt;
* If mkplatformfs.sh errors with rockpro64 not supported, install xbps-src from gibhub.com void-linux/void-packages and build the rockpro64 package.&lt;br /&gt;
* Tip:  write a new uboot to the image if you see on the serial console the boot-up stalls:&lt;br /&gt;
** get the two uboot files from [https://pkgs.org/download/u-boot-rockpro64 pkgs.org], the aarch64 files.&lt;br /&gt;
&amp;lt;code&amp;gt;dd if=idbloader.img of=DEVICENAME seek=64&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;dd if=u-boot.itb of=DEVICENAME seek=16384&amp;lt;/code&amp;gt;&lt;br /&gt;
* Login with username root and password voidlinux&lt;br /&gt;
&lt;br /&gt;
= BSD Images =&lt;br /&gt;
==NetBSD==&lt;br /&gt;
&amp;lt;div style=float:right&amp;gt;[[File:netbsd.png|right|100px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
To learn more about NetBSD please visit [https://www.netbsd.org/ NetBSD main page] &lt;br /&gt;
&lt;br /&gt;
* DD image to microSD card or eMMC module. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
:: [http://www.invisible.ca/arm/ download] latest release build from NetBSD by select 64bit - RockPro64&lt;br /&gt;
:: size: 339 MB&lt;br /&gt;
* Console and SSH default login:&lt;br /&gt;
:: username: root&lt;br /&gt;
:: password: [none]&lt;br /&gt;
* Instructions concerning enabling SSH can be found [https://www.netbsd.org/docs/guide/en/chap-boot.html#chap-boot-ssh here]&lt;br /&gt;
&lt;br /&gt;
==OpenBSD==&lt;br /&gt;
&amp;lt;div style=float:right&amp;gt;[[File:Puffy_mascot_openbsd.png|right|100px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
Official instruction to get OpenBSD on ROCKPro64 is [https://www.openbsd.org/arm64.html here], and blogs on installation [https://github.com/jasperla/openbsd-rockpro64 is here] and [https://bsandro.tech/posts/openbsd-7.1-on-pine64-rockpro64/ here.]&lt;br /&gt;
&lt;br /&gt;
Forum discussion [https://forum.pine64.org/forumdisplay.php?fid=109 is here.]&lt;br /&gt;
&lt;br /&gt;
==FreeBSD==&lt;br /&gt;
&amp;lt;div style=float:right&amp;gt;[[File:Freebsd_Logo.png|right|100px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
The [https://wiki.freebsd.org/arm/RockChip#RockPro64 RockChip FreeBSD page] has instructions for installing FreeBSD.&lt;br /&gt;
&lt;br /&gt;
* Images for various FreeBSD releases can be found [https://www.freebsd.org/where/ here]&lt;br /&gt;
* Version 13.0 and greater include prebuilt images. Find the link in the SD Card Images section and download the ROCKPRO64 image.&lt;br /&gt;
* SSH is enable by default and can be accessed with the following account:&lt;br /&gt;
:: username: freebsd&lt;br /&gt;
:: password: freebsd&lt;br /&gt;
* The root account credentials are:&lt;br /&gt;
:: username: root&lt;br /&gt;
:: password: root&lt;br /&gt;
&lt;br /&gt;
The wiki also has instructions on [https://wiki.freebsd.org/arm/RockChip#Fan_Control_on_RockPro64 enabling the PWM cooling fan].&lt;br /&gt;
&lt;br /&gt;
= Chromium OS =&lt;br /&gt;
=== Chromium Community Build Image [microSD / eMMC Boot] [Beta (R76)] ===&lt;br /&gt;
&amp;lt;div style=float:right&amp;gt;[[File:chromium.jpg|right|100px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To learn more please visit [https://forum.pine64.org/showthread.php?tid=7659 Forum] &lt;br /&gt;
* DD image to microSD card or eMMC module. Highly recommend using [https://etcher.io/ Etcher]&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/ayufan-rock64/chromiumos-build/releases/download/R76-12239.4.100.gf2199d0/chromiumos-rockpro64-R76-12239.4.100.gf2199d0.img.xz Direct download from ayufan's github]&lt;br /&gt;
*** size: 357MB&lt;br /&gt;
*** MD5 (Zip file): 9ead15fd85e039de3445abdfd3c5013e&lt;br /&gt;
&lt;br /&gt;
= Android Images =&lt;br /&gt;
== Android 9.0.0 ==&lt;br /&gt;
&amp;lt;div style=float:right&amp;gt;[[File:android_9.png|right|100px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Stock for DD method [eMMC Boot] [20200804] ===&lt;br /&gt;
* Use 'dd' to write the image to the eMMC module using the USB-to-eMMC adapter module and boot. Using [https://www.balena.io/etcher/ Etcher] or another specialized SD writing tool is preferred.&lt;br /&gt;
* Please allow 3-5 minutes boot up time on first time for initialization&lt;br /&gt;
* Supports new RockPro64 AP6256 Wifi/BT module&lt;br /&gt;
* Support Sony IMX214 camera module and works on both MiPi-CSI ports &lt;br /&gt;
* This build supports PINE64 7&amp;quot; LCD panel with tablet UI (not Android TV)&lt;br /&gt;
* DD image for 8GB eMMC module&lt;br /&gt;
** [http://files.pine64.org/os/ROCKPro64/android/ROCKPro64_dd_20200804_stock_android_9.0_emmcboot-8GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): 7287fd0846616354615c8d3eff6a2a92&lt;br /&gt;
*** File Size: 602MB&lt;br /&gt;
* DD image for 16GB eMMC module&lt;br /&gt;
** [http://files.pine64.org/os/ROCKPro64/android/ROCKPro64_dd_20200804_stock_android_9.0_emmcboot-16GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): 78352bbf21198d062af8bab2217ee691&lt;br /&gt;
*** File Size: 611MB&lt;br /&gt;
* DD image for 32GB eMMC module&lt;br /&gt;
** [http://files.pine64.org/os/ROCKPro64/android/ROCKPro64_dd_20200804_stock_android_9.0_emmcboot-32GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): c5c8dce419478f75f85f893ee4808dbd&lt;br /&gt;
*** File Size: 624MB&lt;br /&gt;
* DD image for 64GB eMMC module&lt;br /&gt;
** [http://files.pine64.org/os/ROCKPro64/android/ROCKPro64_dd_20200804_stock_android_9.0_emmcboot-64GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): aab1cf4d30c4d16e6ce2672f3ecae935&lt;br /&gt;
*** File Size: 666MB&lt;br /&gt;
&lt;br /&gt;
=== Stock for RK Flash tool [eMMC Boot] [20200804] ===&lt;br /&gt;
* Please unzip first and then using Android tool to flash in&lt;br /&gt;
* The OTG port located at USB type-C connector, needs USB type A to type C cable.&lt;br /&gt;
* [http://files.pine64.org/os/ROCKPro64/android/ROCKPro64_20200708_stock_android_9.0_emmcboot.img.gz Direct download from pine64.org]&lt;br /&gt;
** MD5 (GZip file): 9ac830527814521e15b009fa2503c9e3&lt;br /&gt;
** File Size: 589MB&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Stock for DD method [eMMC Boot] [20200708] ===&lt;br /&gt;
* Use 'dd' to write the image to the eMMC module using the USB-to-eMMC adapter module and boot. Using [https://www.balena.io/etcher/ Etcher] or another specialized SD writing tool is preferred.&lt;br /&gt;
* Please allow 3-5 minutes boot up time on first time for initialization&lt;br /&gt;
* Supports new RockPro64 AP6256 Wifi/BT module&lt;br /&gt;
* This build supports PINE64 7&amp;quot; LCD panel with tablet UI (not Android TV)&lt;br /&gt;
* DD image for 8GB eMMC module&lt;br /&gt;
** [http://files.pine64.org/os/ROCKPro64/android/ROCKPro64_dd_20200708_stock_android_9.0_emmcboot-8GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): ef5f5a890a9270734e0adee21f006837&lt;br /&gt;
*** File Size: 597MB&lt;br /&gt;
* DD image for 16GB eMMC module&lt;br /&gt;
** [http://files.pine64.org/os/ROCKPro64/android/ROCKPro64_dd_20200708_stock_android_9.0_emmcboot-16GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): 179bd684a468f800a86f7c658a543bef&lt;br /&gt;
*** File Size: 606MB&lt;br /&gt;
* DD image for 32GB eMMC module&lt;br /&gt;
** [http://files.pine64.org/os/ROCKPro64/android/ROCKPro64_dd_20200708_stock_android_9.0_emmcboot-32GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): d930b757c4427be07b83c37a9c8494a1&lt;br /&gt;
*** File Size: 630MB&lt;br /&gt;
* DD image for 64GB eMMC module&lt;br /&gt;
** [http://files.pine64.org/os/ROCKPro64/android/ROCKPro64_dd_20200708_stock_android_9.0_emmcboot-64GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): 09a970d68a10bdb3d6495d55860940e6&lt;br /&gt;
*** File Size: 660MB&lt;br /&gt;
&lt;br /&gt;
=== Stock for RK Flash tool [eMMC Boot] [20200708] ===&lt;br /&gt;
* Please unzip first and then using Android tool to flash in&lt;br /&gt;
* The OTG port located at USB type-C connector, needs USB type A to type C cable.&lt;br /&gt;
* [http://files.pine64.org/os/ROCKPro64/android/ROCKPro64_20200708_stock_android_9.0_emmcboot.img.gz Direct download from pine64.org]&lt;br /&gt;
** MD5 (GZip file): 6d060ddd47ebcfd5cfcdbf90ec042c97&lt;br /&gt;
** File Size: 589MB&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Stock for DD method [eMMC Boot] [20190427] ===&lt;br /&gt;
* Use 'dd' to write the image to the eMMC module using the USB-to-eMMC adapter module and boot. Using [https://www.balena.io/etcher/ Etcher] or another specialized SD writing tool is preferred.&lt;br /&gt;
* Please allow 3-5 minutes boot up time on first time for initialization&lt;br /&gt;
* Please ignore &amp;quot;internal problem with your device&amp;quot; popup message if appear on Android boot-up page.&lt;br /&gt;
* This build supports PINE64 7&amp;quot; LCD panel with tablet UI (not Android TV)&lt;br /&gt;
* DD image for 16GB eMMC module&lt;br /&gt;
** [http://files.pine64.org/os/ROCKPro64/android/ROCKPro64_dd_20190417_stock_android_9.0_emmcboot-16GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): 3BA4C72D81BCFC4C21B3B5D2BCB4F9F7&lt;br /&gt;
*** File Size: 609MB&lt;br /&gt;
* DD image for 32GB eMMC module&lt;br /&gt;
** [http://files.pine64.org/os/ROCKPro64/android/ROCKPro64_dd_20190417_stock_android_9.0_emmcboot-32GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): 4965CCF50A8F06CEB2E4A6828A21F31C&lt;br /&gt;
*** File Size: 627MB&lt;br /&gt;
* DD image for 64GB eMMC module&lt;br /&gt;
** [http://files.pine64.org/os/ROCKPro64/android/ROCKPro64_dd_20190417_stock_android_9.0_emmcboot-64GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): 748EC28FE5D5395D33E858C913D744BF&lt;br /&gt;
*** File Size: 663MB&lt;br /&gt;
&lt;br /&gt;
=== Stock for DD method [microSD Boot] [20190506] ===&lt;br /&gt;
* DD image to microSD card and boot. &lt;br /&gt;
* Use 'dd' to write the image to the eMMC module using the USB-to-eMMC adapter module and boot. Using [https://www.balena.io/etcher/ Etcher] or another specialized SD writing tool is preferred.&lt;br /&gt;
* Please allow 3-5 minutes boot up time on first time for initialization&lt;br /&gt;
* Please ignore &amp;quot;internal problem with your device&amp;quot; popup message if appear on Android boot-up page.&lt;br /&gt;
* This build supports PINE64 7&amp;quot; LCD panel with tablet UI (not Android TV)&lt;br /&gt;
* DD image for 8GB microSD card&lt;br /&gt;
** [http://files.pine64.org/os/ROCKPro64/android/ROCKPro64_dd_20190506_stock_android_9.0_sdboot-8GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): E1C551E8106E178841E1C3F71432194A&lt;br /&gt;
*** File Size: 599MB&lt;br /&gt;
* DD image for 16GB microSD card&lt;br /&gt;
** [http://files.pine64.org/os/ROCKPro64/android/ROCKPro64_dd_20190506_stock_android_9.0_sdboot-16GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): 73592FDD5A2F52F08020F16AD99E8C8C&lt;br /&gt;
*** File Size: 609MB&lt;br /&gt;
* DD image for 32GB microSD card&lt;br /&gt;
** [http://files.pine64.org/os/ROCKPro64/android/ROCKPro64_dd_20190506_stock_android_9.0_sdboot-32GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): 74DE0FE528F210E4DD483B411A71904B&lt;br /&gt;
*** File Size: 627MB&lt;br /&gt;
* DD image for 64GB microSD card&lt;br /&gt;
** [http://files.pine64.org/os/ROCKPro64/android/ROCKPro64_dd_20190506_stock_android_9.0_sdboot-64GB.img.gz Direct download from pine64.org]&lt;br /&gt;
*** MD5 (GZip file): D7626BD50443A88AEB9254C88C575284&lt;br /&gt;
*** File Size: 663MB&lt;br /&gt;
&lt;br /&gt;
=== Stock for RK Flash tool [eMMC Boot] [20190427] ===&lt;br /&gt;
* Please unzip first and then using Android tool to flash in&lt;br /&gt;
* The OTG port located at USB type-C connector, needs USB type A to type C cable.&lt;br /&gt;
* Please allow 3-5 minutes boot up time on first time for initialization&lt;br /&gt;
* This build supports PINE64 7&amp;quot; LCD panel with tablet UI (not Android TV)&lt;br /&gt;
* [http://files.pine64.org/os/ROCKPro64/android/ROCKPro64_20190417_stock_android_9.0_emmcboot.img.gz Direct download from pine64.org]&lt;br /&gt;
** MD5 (GZip file): 046BA4A07933120809FBE1B9577B7341&lt;br /&gt;
** File Size: 592MB&lt;br /&gt;
&lt;br /&gt;
== Android 8.1.0 ==&lt;br /&gt;
&amp;lt;div style=float:right&amp;gt;[[File:android_8.png|right|100px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Stock for DD method [eMMC Boot] [20180828] ===&lt;br /&gt;
* Use 'dd' to write the image to the eMMC module using the USB-to-eMMC adapter module and boot. Using [https://www.balena.io/etcher/ Etcher] or another specialized SD writing tool is preferred.&lt;br /&gt;
* Please allow 3-5 minutes boot up time on first time for initialization&lt;br /&gt;
* This build supports PINE64 7&amp;quot; LCD panel with tablet UI (not Android TV)&lt;br /&gt;
* [http://files.pine64.org/os/ROCKPro64/android/ROCKPro64_dd_20180828_stock_android_8.1_emmcboot.img.xz Direct download from pine64.org]&lt;br /&gt;
** MD5 (XZ file): 9AEE21BC1B9DE886DCB0E64FA123988A&lt;br /&gt;
** File Size: 414MB&lt;br /&gt;
&lt;br /&gt;
=== Stock for DD method [microSD Boot] [20181212] ===&lt;br /&gt;
* Use 'dd' to write the image to the eMMC module using the USB-to-eMMC adapter module and boot. Using [https://www.balena.io/etcher/ Etcher] or another specialized SD writing tool is preferred.&lt;br /&gt;
* Please allow 3-5 minutes boot up time on first time for initialization&lt;br /&gt;
* This build supports PINE64 7&amp;quot; LCD panel with tablet UI (not Android TV)&lt;br /&gt;
* DD image (for 8GB microSD card and above)&lt;br /&gt;
* [http://files.pine64.org/os/ROCKPro64/android/ROCKPro64_dd_20181212_stock_android_8.1_sdboot.img.xz Direct download from pine64.org]&lt;br /&gt;
** MD5 (XZ file): 5A6BB7FCD7B3F77FCEE99CE462AE7405&lt;br /&gt;
** File Size: 616MB&lt;br /&gt;
&lt;br /&gt;
=== Stock for RK Flash tool [eMMC Boot] [20180828] ===&lt;br /&gt;
* Please unzip first and then using Android tool to flash in&lt;br /&gt;
* The OTG port located at USB type-C connector, needs USB type A to type C cable.&lt;br /&gt;
* Please allow 3-5 minutes boot up time on first time for initialization&lt;br /&gt;
* This build supports PINE64 7&amp;quot; LCD panel with tablet UI (not Android TV)&lt;br /&gt;
* [http://files.pine64.org/os/ROCKPro64/android/ROCKPro64_20180828_stock_android_8.1_emmcboot.img.xz Direct download from pine64.org]&lt;br /&gt;
** MD5 (XZ file): 4DACFE927BB09EE9C56B5232A7F624EE&lt;br /&gt;
** File Size: 415MB&lt;br /&gt;
&lt;br /&gt;
== Android 7.1.2 ==&lt;br /&gt;
&amp;lt;div style=float:right&amp;gt;[[File:android_7.png|right|100px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Stock for DD method [eMMC Boot] [20180809] ===&lt;br /&gt;
* Use 'dd' to write the image to the eMMC module using the USB-to-eMMC adapter module and boot. Using [https://www.balena.io/etcher/ Etcher] or another specialized SD writing tool is preferred.&lt;br /&gt;
* Please allow 3-5 minutes boot up time on first time for initialization&lt;br /&gt;
* This build supports PINE64 7&amp;quot; LCD panel with tablet UI (not Android TV)&lt;br /&gt;
* [http://files.pine64.org/os/ROCKPro64/android/ROCKPro64_dd_20180809_stock_android_7.1_emmcboot.img.gz Direct download from pine64.org]&lt;br /&gt;
** MD5 (XZ file): 00F194017557017C2588724686E90CEA&lt;br /&gt;
** File Size: 498MB&lt;br /&gt;
&lt;br /&gt;
=== Stock for RK Flash tool [eMMC Boot] [20180809] ===&lt;br /&gt;
* Please unzip first and then using Android tool to flash in&lt;br /&gt;
* The OTG port located at USB type-C connector, needs USB type A to type C cable.&lt;br /&gt;
* Please allow 3-5 minutes boot up time on first time for initialization&lt;br /&gt;
* This build supports PINE64 7&amp;quot; LCD panel with tablet UI (not Android TV)&lt;br /&gt;
* [http://files.pine64.org/os/ROCKPro64/android/ROCKPro64_20180809_stock_android_7.1_emmcboot.img.gz Direct download from pine64.org]&lt;br /&gt;
** MD5 (XZ file): 197A9905B48441D8655E7542F4643FE9&lt;br /&gt;
** File Size: 483MB&lt;br /&gt;
&lt;br /&gt;
=== Stock for DD method [microSD Boot] [20180920] ===&lt;br /&gt;
* Use 'dd' to write the image to the eMMC module using the USB-to-eMMC adapter module and boot. Using [https://www.balena.io/etcher/ Etcher] or another specialized SD writing tool is preferred.&lt;br /&gt;
* Please allow 3-5 minutes boot up time on first time for initialization&lt;br /&gt;
* This build supports PINE64 7&amp;quot; LCD panel with tablet UI (not Android TV)&lt;br /&gt;
* [http://files.pine64.org/os/ROCKPro64/android/ROCKPro64_20180920_stock_android_7.1_sdboot.img.gz Direct download from pine64.org]&lt;br /&gt;
** MD5 (XZ file): CE39642A379B357BB3E4BC80ACA2E0CE&lt;br /&gt;
** File Size: 765MB&lt;br /&gt;
&lt;br /&gt;
=== Stock for DD method [eMMC Boot] [20180518] ===&lt;br /&gt;
* Use 'dd' to write the image to the eMMC module using the USB-to-eMMC adapter module and boot. Using [https://www.balena.io/etcher/ Etcher] or another specialized SD writing tool is preferred.&lt;br /&gt;
* Please allow 3-5 minutes boot up time on first time for initialization&lt;br /&gt;
* This build supports PINE64 7&amp;quot; LCD panel with tablet UI (not Android TV)&lt;br /&gt;
* [http://files.pine64.org/os/ROCKPro64/android/ROCKPro64_dd_20180518_stock_android_7.1_emmcboot.img.xz Direct download from pine64.org]&lt;br /&gt;
** MD5 (XZ file): 33622034ACDBC31A7D7BB01ED634E29B&lt;br /&gt;
** File Size: 345MB&lt;br /&gt;
&lt;br /&gt;
=== Stock for RK Flash tool [eMMC Boot] [20180518] ===&lt;br /&gt;
* Please unzip first and then using Android tool to flash in&lt;br /&gt;
* The OTG port located at USB type-C connector, needs USB type A to type C cable.&lt;br /&gt;
* Please allow 3-5 minutes boot up time on first time for initialization&lt;br /&gt;
* This build supports PINE64 7&amp;quot; LCD panel with tablet UI (not Android TV)&lt;br /&gt;
* [http://files.pine64.org/os/ROCKPro64/android/ROCKPro64_20180518_stock_android_7.1_emmcboot.img.xz Direct download from pine64.org]&lt;br /&gt;
** MD5 (XZ file): 90C1991DADAE13ADC94E927F171F8920&lt;br /&gt;
** File Size: 342MB&lt;br /&gt;
&lt;br /&gt;
=== Stock for install from SDcard to eMMC [microSD Boot] [20180921] ===&lt;br /&gt;
* Use 'dd' to write the image to the eMMC module using the USB-to-eMMC adapter module and boot. Using [https://www.balena.io/etcher/ Etcher] or another specialized SD writing tool is preferred.&lt;br /&gt;
* Please allow 3-5 minutes boot up time on first time for initialization&lt;br /&gt;
* This build supports PINE64 7&amp;quot; LCD panel with tablet UI (not Android TV)&lt;br /&gt;
* [http://files.pine64.org/os/ROCKPro64/android/ROCKPro64_20180921_stock_android_7.1_sdboot.img.xz Direct download from pine64.org]&lt;br /&gt;
** MD5 (XZ file): c6900e82a1d6ef397dcac241f76f43c9&lt;br /&gt;
** File Size: 350MB&lt;br /&gt;
&lt;br /&gt;
== Android SDK ==&lt;br /&gt;
=== Android P SDK [v9.0] ===&lt;br /&gt;
* [http://files.pine64.org/SDK/ROCKPro64/ROCKPro64_SDK_android9.0.tar.gz Direct Download from pine64.org]&lt;br /&gt;
** MD5 (TAR-GZip file): 3CEBEEFD1A873BEEEC149148A785D92E&lt;br /&gt;
** File Size: 125.16GB&lt;br /&gt;
&lt;br /&gt;
== Slash TV OS ==&lt;br /&gt;
Android 7 based system including Play Store, working only from SD card (does not boot when installed on eMMC)&lt;br /&gt;
* https://drive.google.com/drive/folders/1K5YhWaB7Xstuv2HCo1HkpglCEm9x-RIM&lt;br /&gt;
&lt;br /&gt;
= For Linux Developer =&lt;br /&gt;
&lt;br /&gt;
The Ayufan github page&lt;br /&gt;
* [https://github.com/ayufan-rock64/linux-build/releases github.com/ayufan-rock64/linux-build/]&lt;br /&gt;
&lt;br /&gt;
Below are the LPDDR4 driver for RK3399&lt;br /&gt;
&lt;br /&gt;
* [http://files.pine64.org/os/ROCKPro64/driver/rk3399_loader_v1.10.112_support_1CS.bin rk3399_loader_v1.10.112_support_1CS.bin, this is 800Mhz version used in Android Build]&lt;br /&gt;
* [http://files.pine64.org/os/ROCKPro64/driver/rk3399_ddr_666MHz_v1.11.bin rk3399_ddr_666MHz_v1.11.bin, this is alpha version]&lt;br /&gt;
* [http://files.pine64.org/os/ROCKPro64/driver/rk3399_ddr_933MHz_v1.11.bin rk3399_ddr_933MHz_v1.11.bin, this is alpha version]&lt;br /&gt;
&lt;br /&gt;
ROCKPro64 related files&lt;br /&gt;
&lt;br /&gt;
* [http://files.pine64.org/os/ROCKPro64/driver/kernel_rockpro64.tar.gz ROCKPro64 Kernel file]&lt;br /&gt;
* [http://files.pine64.org/os/ROCKPro64/driver/trust.img trust.img]&lt;br /&gt;
&lt;br /&gt;
= Miscellaneous tools =&lt;br /&gt;
&lt;br /&gt;
* [http://files.pine64.org/doc/rock64/tools/DriverAssitant_v4.5.zip Windows ADB driver package]&lt;br /&gt;
* [[ROCK64 MAC Address]]&lt;br /&gt;
* [http://files.pine64.org/doc/rock64/guide/ROCK64_Installing_Android_To_eMMC.pdf Guide to install stock Android build to eMMC module]&lt;br /&gt;
* [http://files.pine64.org/doc/rock64/tools/SD_Firmware_Tool._v1.46.zip Tools to burn Android build into a bootable microSD card]&lt;br /&gt;
* [http://files.pine64.org/doc/rock64/tools/AndroidTool_Release_v2.38.zip Tools that allows developer flash image into eMMC's Loader/Parameter/Misc/Kernal/Boot/Recovery/System/Backup partition]&lt;br /&gt;
&lt;br /&gt;
[[Category:ROCKPro64]]&lt;/div&gt;</summary>
		<author><name>Mrfixit2001</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=File:RCadeLogo.jpg&amp;diff=14433</id>
		<title>File:RCadeLogo.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=File:RCadeLogo.jpg&amp;diff=14433"/>
		<updated>2022-10-12T19:36:27Z</updated>

		<summary type="html">&lt;p&gt;Mrfixit2001: 100px logo for R-Cade&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
100px logo for R-Cade&lt;/div&gt;</summary>
		<author><name>Mrfixit2001</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=14430</id>
		<title>Pinebook Pro</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro&amp;diff=14430"/>
		<updated>2022-10-12T17:07:56Z</updated>

		<summary type="html">&lt;p&gt;Mrfixit2001: /* Software tuning guide */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= User Guide =&lt;br /&gt;
== Introducing PineBook Pro == &lt;br /&gt;
[[File:PBP.jpg|400px|thumb|right|Pinebook Pro running Debian with MATE]]&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is a Linux and *BSD ARM laptop from [https://www.pine64.org/ PINE64]&lt;br /&gt;
&lt;br /&gt;
It is built to be a compelling alternative to mid-ranged Chromebooks that people convert into Linux laptops. It features an IPS 1080p 14″ LCD panel, a premium magnesium alloy shell, high capacity eMMC storage, a 10,000 mAh capacity battery, and the modularity that only an open source project can deliver. &lt;br /&gt;
&lt;br /&gt;
It's compact and slim dimensions are 329mm x 220mm x 12mm (WxDxH).&lt;br /&gt;
&lt;br /&gt;
Key features include: the RK3399 SOC; USB-C for data, video-out and power-in (3A 5V); privacy switches for the microphone, BT/WiFi module, and camera; and expandable storage via NVMe (PCIe x4) with an optional adapter. &lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is equipped with 4GB LPDDR4 system memory, high capacity eMMC flash storage, and 128Mb SPI boot Flash. The I/O includes: 1 x micro SD card reader (bootable), 1 x USB 2.0, 1 x USB 3.0, 1 x USB type C Host with DP 1.2 and power-in, PCIe x4 for an NVMe SSD drive (requires an optional adapter), and UART (via the headphone jack by setting an internal switch). &lt;br /&gt;
&lt;br /&gt;
The keyboard and touchpad both use the USB 2.0 protocol.  The LCD panel uses eDP MiPi display protocol.&lt;br /&gt;
&lt;br /&gt;
Many different Operating Systems (OS) are freely available from the open source community and partner projects.  These include various flavors of Linux (Ubuntu, Debian, Manjaro, etc.) and *BSD.&lt;br /&gt;
&lt;br /&gt;
== Software and OS Image Downloads ==&lt;br /&gt;
&lt;br /&gt;
=== Default Manjaro KDE Desktop Quick Start ===&lt;br /&gt;
&lt;br /&gt;
When you first get your Pinebook Pro and boot it up for the first time, it'll come with Manjaro using the KDE desktop. The Pinebook Pro is officially supported by the Manjaro ARM project, and support can be found on the [https://forum.manjaro.org/c/manjaro-arm/78 Manjaro ARM forums.]&lt;br /&gt;
&lt;br /&gt;
On first boot, it will ask for certain information such as your timezone location, keyboard layout, username, password, and hostname. Most of these should be self-explanatory. Note that the hostname it asks for should be thought of as the &amp;quot;codename&amp;quot; of your machine, and if you don't know what it's about, you can make something up (use a single word, all lower case, no punctuation; e.g. &amp;quot;pbpro&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
After you're on the desktop, be sure to update it as soon as possible and reboot after updates are finished installing. If nothing appears when you click on the Networking icon in your system tray to connect to your Wi-Fi, ensure the Wi-Fi [https://wiki.pine64.org/index.php/Pinebook_Pro#ANSI_Fn_.2B_F_keys_wrong_for_F9.2C_F10.2C_F11_and_F12  privacy switch] is not disabled.&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Pro images ===&lt;br /&gt;
Under [[Pinebook Pro Software Release]] you will find a complete list of currently supported Operating System images that work with the Pinebook as well as other related software. &lt;br /&gt;
&lt;br /&gt;
The list includes OS images and descriptions of:&lt;br /&gt;
&lt;br /&gt;
* [[PinebookPro_Software_Release#Manjaro ARM|Manjaro ARM]] (microSD and eMMC Boot)&lt;br /&gt;
* [[PinebookPro_Software_Release#Armbian|Armbian]] (microSD and eMMC Boot)&lt;br /&gt;
* [[PinebookPro_Software_Release#Twister OS|Twister OS]] (microSD Boot)&lt;br /&gt;
* [[PinebookPro_Software_Release#Fedora|Fedora]] (microSD and eMMC Boot)&lt;br /&gt;
* [[PinebookPro_Software_Release#Arch_Linux_ARM|Arch Linux]] (microSD and USB boot)&lt;br /&gt;
* [[PinebookPro_Software_Release#postmarketOS|Postmarket OS]] (microSD and USB boot)&lt;br /&gt;
* [[PinebookPro_Software_Release#Kali Linux|Kali Linux]] (microSD and USB boot)&lt;br /&gt;
* [[PinebookPro_Software_Release#DietPi|DietPi]] (microSD and eMMC Boot)&lt;br /&gt;
* [[PinebookPro_Software_Release#Q4OS|Q4OS]] (microSD and eMMC Boot)&lt;br /&gt;
* [[PinebookPro_Software_Release#NetBSD|NetBSD]] (microSD and eMMC Boot)&lt;br /&gt;
* [[Pinebook_Pro_Software_Release#OpenBSD|OpenBSD release for ARM64]]&lt;br /&gt;
* [[Pinebook_Pro_Software_Release#Gentoo|Gentoo]]&lt;br /&gt;
* [[Pinebook_Pro_Software_Release#Slackware|Slackware (microSD boot)]]&lt;br /&gt;
* [[Pinebook_Pro_Software_Release#Void_Linux|Void Linux]]&lt;br /&gt;
&lt;br /&gt;
== Keyboard ==&lt;br /&gt;
The Pinebook Pro is available in two keyboard configurations: ISO and ANSI. Both the keyboard and touchpad in the Pinebook Pro use the USB 2.0 protocol and show up as such in xinput. The keyboard features function (Fn) keys in the F-key row, which include display brightness controls, sound volume, touchpad lock, and other functionality. There is also a custom PINE64 logo key that functions as Menu/Super key. It has also a secondary functionality for setting the privacy switches.   &lt;br /&gt;
&lt;br /&gt;
The keyboard firmware binary can be flashed from userspace using the provided open source utility.&lt;br /&gt;
&lt;br /&gt;
{{warning|DO NOT update the keyboard firmware before checking which keyboard IC your Pinebook Pro has.&amp;lt;/b&amp;gt; Some Pinebook Pro were delivered with a '''SH61F83''' instead of a '''SH68F83'''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when &amp;lt;code&amp;gt;step-1&amp;lt;/code&amp;gt; is flashed, see the [https://reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to &amp;lt;code&amp;gt;U23&amp;lt;/code&amp;gt; on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable.}}&lt;br /&gt;
&lt;br /&gt;
Documentation for the keyboard can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. &lt;br /&gt;
&lt;br /&gt;
=== Typing special characters ===&lt;br /&gt;
The [[Wikipedia:British_and_American_keyboards#Other_keyboard_layouts|UK ISO Layout]] does not have dedicated keys for characters like the German umlauts (Ä,Ö,Ü, etc). Certain characters can still be generated by means of either key combinations or key sequences. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Character&lt;br /&gt;
!Key combination/sequence&lt;br /&gt;
|-&lt;br /&gt;
|Ä, Ö, Ü, ä, ö, ü&lt;br /&gt;
|[[Wikipedia:AltGr_key|[AltGr]]]+'[' followed by [A], [O], [U], [a], [o] or [u]&lt;br /&gt;
|-&lt;br /&gt;
|µ&lt;br /&gt;
|[AltGr]+[m]&lt;br /&gt;
|-&lt;br /&gt;
|Ø, ø&lt;br /&gt;
|[AltGr]+[O], [AltGr]+[o]&lt;br /&gt;
|-&lt;br /&gt;
|@&lt;br /&gt;
|[AltGr]+[q] (as on the German layout)&lt;br /&gt;
|-&lt;br /&gt;
|ß&lt;br /&gt;
|[AltGr]+[s]&lt;br /&gt;
|-&lt;br /&gt;
|§&lt;br /&gt;
|[AltGr]+[S]&lt;br /&gt;
|-&lt;br /&gt;
|°&lt;br /&gt;
|[AltGr]+[)]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Privacy Switches ===&lt;br /&gt;
There are three privacy switches mapped to the F10, F11 and F12 keys on the Pinebook Pro keyboard. They de/activate the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Privacy switch function and description&lt;br /&gt;
! Combination&lt;br /&gt;
! Effect&lt;br /&gt;
! Description&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F10&lt;br /&gt;
| Microphone Privacy switch&lt;br /&gt;
| CAPs lock LED blinks. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F11&lt;br /&gt;
| WiFi Privacy switch&lt;br /&gt;
| NUM lock LED blinks. 2 blinks = WiFi enabled / privacy switch disabled, 3 blinks = WiFi disabled / privacy switch enabled.&lt;br /&gt;
| '''Re-enabling requires reboot''' (or a [//forum.pine64.org/showthread.php?tid=8313&amp;amp;pid=52645#pid52645 command line hack to bind/unbind]).&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | PINE64 logo key+F12&lt;br /&gt;
| Camera privacy switch&lt;br /&gt;
| CAPs lock and NUM lock LEDs blink together. 2 blinks = enabled, 3 blinks = disabled&lt;br /&gt;
| Can use tools like '''&amp;lt;code&amp;gt;lsusb&amp;lt;/code&amp;gt;''' to detect camera's presence. If not detected, check privacy switch.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''(Press the PINE64 logo key plus F10/F11/F12) for 3 seconds)'''&lt;br /&gt;
&lt;br /&gt;
The keyboard operates on firmware independent of the operating system.  It detects if one of the F10, F11 or F12 keys is pressed in combination with the Pine key for 3 seconds. Doing so disables power to the appropriate peripheral, thereby disabling it.  This has the same effect as cutting off the power to each peripheral with a physical switch. This implementation is very secure, since the firmware that determines whether a peripheral gets power is not part of the Pinebook Pro’s operating system. So the power state value for each peripheral cannot be overridden or accessed from the operating system. The power state setting for each peripheral is stored across reboots inside the keyboard's firmware flash memory.&lt;br /&gt;
&lt;br /&gt;
=== Basic summary of replacing keyboard ===&lt;br /&gt;
&lt;br /&gt;
This guide is very basic and should be fleshed out with (better) pictures.  There just isn't a list of steps anywhere else yet.&lt;br /&gt;
&lt;br /&gt;
Here's what the replacement keyboard looks like:&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (front)]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-front.jpg|300px|Replacement keyboard (back)]]&lt;br /&gt;
&lt;br /&gt;
''Step 0'': If changing from ISO keyboard to ANSI keyboard, or vice versa, be sure to have a system capable of running the firmware updater that you can access either remotely or with a USB keyboard beyond the internal keyboard, as the firmware for each is very different and keys won't work correctly.  See https://forum.pine64.org/showthread.php?tid=8407 (and for NetBSD, https://forum.pine64.org/showthread.php?tid=8716).&lt;br /&gt;
&lt;br /&gt;
''Step 1'': The remove back back panel.&lt;br /&gt;
&lt;br /&gt;
There are 10 screws on the back that must be removed, and the back panel detached.  I recommend using a PH0 bit.  The speakers may remain attached via glue to the case and should be carefully pried off.  When this is done, taking photos of how everything looks now can help put it all back together later.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_keyboard-replacement-screws.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 2'': Places to unscrew.&lt;br /&gt;
&lt;br /&gt;
There are 3 items screwed into the keyboard frame that must be removed.  There are 2 large screws for daughter board, 3 large screws and 1 small screw for mainboard, and 4 small screws for battery.  Be sure to not lose them.  I recommend a PH00 bit for the large screws on the daughter and main boards and a PH1 bit for the small screws on the battery and mainboard.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-back-removed.jpg|300px|Remove the back panel]]&lt;br /&gt;
&lt;br /&gt;
''Step 3'': Remove the battery.&lt;br /&gt;
&lt;br /&gt;
Once the battery screws are removed, it should be unplugged from the mainboard and removed.  Note that there are two unconnected cables lying around, that should remain unconnected.  They are used when the battery is disconnected entirely.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-mainboard.jpg.jpg|300px|Zoom on the mainboard]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-zoom-daughterboard.jpg|300px|Zoom on the daughterboard]]&lt;br /&gt;
&lt;br /&gt;
''Step 4'': Unplug the ribbon cables.&lt;br /&gt;
&lt;br /&gt;
NOTE: you should remove the M.2 adapter board now if you have one installed. See elsewhere in this wiki for instructions on how to install/remove that piece.&lt;br /&gt;
&lt;br /&gt;
There are several ribbon cables.  To remove, flip up the tab and gentle pull the ribbon out.&lt;br /&gt;
&lt;br /&gt;
* One cable runs from the mainboard to the daughterboard underneath the battery.  Detach from both ends.  With the battery removed, detach from keyboard shell, and set aside for the new keyboard shell.&lt;br /&gt;
* One cable runs between the touchpad and the mainboard.  Detach from both ends, and also set aside.&lt;br /&gt;
* One cable runs between the keyboard and the mainboard.  This one remains attached to the keyboard and only needs to be detached from the mainboard.&lt;br /&gt;
* One cable from the LCD attaches near the lid hinge.  It should be just unplugged.&lt;br /&gt;
&lt;br /&gt;
''Step 5'': Detach microphone, speakers, and antenna.  &lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_microphone_removed.jpg|300px|thumb|right|One of the Pinebook Pro microphones after removal]]&lt;br /&gt;
&lt;br /&gt;
The speakers, microphone, and antenna don't have to be detached from the mainboard, but they need to be detached from the keyboard shell.  The microphones are held in place by tape, and the speakers have sticky sides.  The speakers are found obviously, but the microphones (two of) can be found between the battery and the hinge area. Each microphone can be carefully pulled/wedged out of its position by a small screwdriver or pick.  The antenna, similar to the microphones, is found near the hinge area and to the top left of the battery.&lt;br /&gt;
&lt;br /&gt;
''Step 6'': Remove mainboard and daughterboard.&lt;br /&gt;
&lt;br /&gt;
At this point, the mainboard and daughterboards should be removed.  When unscrewed (see Step 2) they should pull out fairly easily.  Put them aside (including microphones and speakers if left attached.)&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-all-boards-removed.jpg|300px|All boards removed]]&lt;br /&gt;
&lt;br /&gt;
''Step 7'': Detach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
Step 2 didn't tell you, there are 6 more screws to remove here, 3 for each of the hinges.  I recommend a PH1 bit for these screws.  Unscrew these and the LCD panel will be able to be removed.  You may have to jiggle or move the hinges for this.  When detached, be sure to place the LCD panel such that the display is protected.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display.jpg|300px|Display detached]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-detached-display2.jpg|300px|Display detached (front)]]&lt;br /&gt;
&lt;br /&gt;
''Step 8'': Try Not To Break Your Touchpad, or, How I Learned To Love Things That Bend&lt;br /&gt;
&lt;br /&gt;
'''NOTE This section really feels like you're going to break something.'''&lt;br /&gt;
&lt;br /&gt;
The touchpad is glued to the keyboard shell and it's glued well.  There are two places it is glued to.  If you can, only the middle must be force-detached.  You will think you're going to break it.  Gently apply increasing force until the glue begins to detach (you will hear a crackle as it comes off), and continue very slowly until the whole thing is detached.  This may take minutes due to that feeling you're going to break it.&lt;br /&gt;
&lt;br /&gt;
I found it helpful to lift the top left plastic bit on the keyboard to unstick that portion of the touchpad, then push on the top left portion of the touchpad to unstick the rest of the touchpad.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad1.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad2.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-touchpad3.jpg|300px|Unmouting the touchpad]]&lt;br /&gt;
&lt;br /&gt;
''Step 9'': Over the hill, touchpad goes into new shell.&lt;br /&gt;
&lt;br /&gt;
In the new keyboard shell put the touchpad back where it was, hopefully the glue will remain sufficiently attached.  If there is a glue issue, this guide unfortunately has no advice currently.&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_Pro_new_keyboard-install-touchpad.jpg|300px|Install the touchpad]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Step 10'': Reattach the LCD panel.&lt;br /&gt;
&lt;br /&gt;
The LCD panel should slot back into the keyboard frame, the same way it came out.  If the hinges were moved, they should be *very* *gently* closed such that the LCD panel and keyboard closed like normal for the remaining steps.&lt;br /&gt;
&lt;br /&gt;
''Step 11'': Tape it out.&lt;br /&gt;
&lt;br /&gt;
Move any tape from the old keyboard shell to the new one.  These items protect the mainboard and daughterboard, and keep various wires in their right place.  Some are grey and some are black.  For tape that holds the speakers, microhones, or their cables in place, do not reattach yet.&lt;br /&gt;
&lt;br /&gt;
''Step 12'': Board install.&lt;br /&gt;
&lt;br /&gt;
Install the mainboard, the daughtboard, and their connecting ribbon cable.  Be sure to put the boards in place, 2 large flat screws for the daughterboard, 3 large flat screws and one small screw for the mainboard, before attempting to place the ribbon.&lt;br /&gt;
&lt;br /&gt;
''Step 13'': Microphone, speaker, and antenna install.&lt;br /&gt;
&lt;br /&gt;
Reattach the microphones, antenna, and speakers to their respective areas, making sure that both are properly oriented - the speaker &amp;quot;out&amp;quot; faces up, and the microphone cables as connected must face up (these are opposite directions.)&lt;br /&gt;
&lt;br /&gt;
''Step 14'': Reattach other ribbon cables.&lt;br /&gt;
 &lt;br /&gt;
NOTE: this would be a good time to attach/install the M.2 adapter board if that is desired. See elsewhere in this wiki for those instructions.&lt;br /&gt;
&lt;br /&gt;
The LCD panel, keyboard and touchpad ribbon cables should be reattached.  Make sure the flap is open, insert the ribbon into the slot (a portion of the cable will disappear), and push the flap down.  The cable should not be easy to pull out.&lt;br /&gt;
 &lt;br /&gt;
''Step 15'': Reattach the battery, and final re-tape.&lt;br /&gt;
  &lt;br /&gt;
The battery should be installed with the 4 screws holding it in place, and the connector attached to the mainboard.  Be sure to keep the two other cables remain unconnected.  Ensure all wires and other tapes are held in place.&lt;br /&gt;
&lt;br /&gt;
''Step 16'': Reattach the back panel.&lt;br /&gt;
 &lt;br /&gt;
Put the back panel back on, and reattach the 10 screws.&lt;br /&gt;
&lt;br /&gt;
''Step 17'': If you changed from ISO to ANSI or from ANSI to ISO, you'll need to update your firmware now.  See the links in Step 0 above.&lt;br /&gt;
&lt;br /&gt;
== Touchpad (trackpad) ==&lt;br /&gt;
Documentation for the touchpad can be found in [[#Datasheets for Components and Peripherals|Datasheets for Components and Peripherals]]. It is the only component of the Pinebook Pro held in place with strong adhesive tape. Here are some of its features:&lt;br /&gt;
&lt;br /&gt;
* 2 actuating buttons.&lt;br /&gt;
&lt;br /&gt;
* multi-touch functionality. &lt;br /&gt;
&lt;br /&gt;
* A matte finish that your finger can slide along easily.&lt;br /&gt;
&lt;br /&gt;
* A reasonable size (96mm &amp;amp;times; 64mm; diagonal: 115.378mm or 4.542&amp;amp;rdquo;).&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
If you are having trouble using 2 fingers to scroll or emulate the click of a mouse's right-button, then try these solutions:&lt;br /&gt;
&lt;br /&gt;
* Update the firmware.&lt;br /&gt;
&lt;br /&gt;
* Keep your 2 fingers spread apart rather than close together.&lt;br /&gt;
&lt;br /&gt;
* Individual programs might need to be configured specially.&lt;br /&gt;
&lt;br /&gt;
:* For smooth scrolling and gestures under X-Windows, ''Firefox'' should be launched with with the following environment variable assignment:&lt;br /&gt;
&lt;br /&gt;
::: &amp;lt;code&amp;gt;MOZ_USE_XINPUT2=1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Experiment with other settings, via [[#X-Windows Configuration|X-Windows Configuration]] or some other system preferences; for example, you could disable double-finger scrolling, and instead enable scrolling by sliding one finger along the edge of the touchpad.&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
The touchpad controller is connected to the keyboard controller. All touchpad events go through the keyboard controller and it's software, then to the keyboard controller's USB port. Note that the touchpad does have separate firmware, (which has to be written through the keyboard controller). The touchpad vendor&amp;amp;rsquo;s firmware binary can be flashed from userspace using the following open source command-line utility:&lt;br /&gt;
&lt;br /&gt;
* Kamil Trzciński&amp;amp;rsquo;s [https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater pinebook-pro-keyboard-updater].&lt;br /&gt;
&lt;br /&gt;
Naturally, forks have begun to appear:&lt;br /&gt;
&lt;br /&gt;
* Jack Humbert&amp;amp;rsquo;s [https://github.com/jackhumbert/pinebook-pro-keyboard-updater fork]&lt;br /&gt;
&lt;br /&gt;
* Dragan Simic&amp;amp;rsquo;s [https://github.com/dragan-simic/pinebook-pro-keyboard-updater fork]. This one has recently delivered a much improved firmware from the vendor, which greatly improves the control of the cursor (see this [https://forum.pine64.org/showthread.php?tid=14531 thread] for discussion); before installing this update, consider resetting to the defaults any configuration of your touchpad.&lt;br /&gt;
&lt;br /&gt;
'''Every Pinebook Pro produced before September 2021 should have its keyboard and touchpad firmware updated.'''&lt;br /&gt;
&lt;br /&gt;
{{warning| DO NOT update the touchpad firmware before checking which keyboard IC your Pinebook Pro has.&amp;lt;/b&amp;gt; Some Pinebook Pro were delivered with a '''SH61F83''' instead of a '''SH68F83'''. The SH61F83 can only be written 8 times, this will render the keyboard and touchpad unusable if this limit is reached when &amp;lt;code&amp;gt;step-1&amp;lt;/code&amp;gt; is flashed. See [//old.reddit.com/r/PINE64official/comments/loq4db/very_disappointed/ Reddit SH61F83 thread]. The keyboard IC corresponds to &amp;lt;code&amp;gt;U23&amp;lt;/code&amp;gt; on the [[#Pinebook_Pro_Schematics_and_Certifications|top layer silkscreen of the main board]]. It is located under the keyboard flat flexible cable.}}&lt;br /&gt;
&lt;br /&gt;
Before updating ''any'' firmware, your Pinebook Pro should be either fully charged or, preferably, running from mains. This utility will be writing data to chips on the keyboard and touchpad, so a loss of power during any stage of the update can result in irrecoverable damage to your touchpad or keyboard.&lt;br /&gt;
&lt;br /&gt;
The scripts ought to work on all OSs available for the Pinebook Pro. Some OSs may, however, require installation of relevant dependencies. The instructions below assume a Debian desktop. To install these dependencies, newer Pinebook Pro models that come with Manjaro will require a different command.&lt;br /&gt;
&lt;br /&gt;
There are two keyboard versions of the Pinebook Pro: ISO and ANSI. You need to know which model you have prior to running the updater. &lt;br /&gt;
Firmware update steps for both models are listed below.  &lt;br /&gt;
&lt;br /&gt;
What you will need:&lt;br /&gt;
&lt;br /&gt;
* Connection to WiFi (for getting dependencies).&lt;br /&gt;
&lt;br /&gt;
* Your Pinebook Pro fully charged or running from mains power.&lt;br /&gt;
&lt;br /&gt;
* An external USB keyboard &amp;amp;amp; mouse (or access to the Pinebook Pro via SSH. Please note that for some configurations, the SSH service might not be available without first having logged in once; in this case, you will definitely want at least an external keyboard).&lt;br /&gt;
&lt;br /&gt;
==== ISO Model ====&lt;br /&gt;
&lt;br /&gt;
From the terminal command line: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-1 iso&lt;br /&gt;
sudo poweroff # do not use 'reboot'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-2 iso&lt;br /&gt;
sudo poweroff # do not use 'reboot'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ANSI Model ====&lt;br /&gt;
&lt;br /&gt;
{{Hint| Note: Running step 1 on the ANSI keyboard model will make the keyboard and touchpad inaccessible until step 2 is run, so an external keyboard must be connected to complete the update on this model!}}&lt;br /&gt;
&lt;br /&gt;
From the terminal command line: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/ayufan-rock64/pinebook-pro-keyboard-updater&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo apt-get install build-essential libusb-1.0-0-dev xxd&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 1&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-1 ansi&lt;br /&gt;
sudo poweroff # do not use 'reboot'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 2 (after booting)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd pinebook-pro-keyboard-updater&lt;br /&gt;
sudo ./updater step-2 ansi&lt;br /&gt;
sudo poweroff # do not use 'reboot'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When done, if some of the keys produce incorrect characters, please check your OS’s language settings. For ANSI users, the default OS may have shipped with English UK as the default language; you can change it to English US if desired.&lt;br /&gt;
&lt;br /&gt;
==== Revised Firmware ====&lt;br /&gt;
&lt;br /&gt;
In addition, you might consider using revised firmware data; this is one final step that should not require a reboot:&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ISO''' (after booting)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo ./updater flash-kb firmware/default_iso.hex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Step 3: '''ANSI''' (after booting)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo ./updater flash-kb firmware/default_ansi.hex&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== X-Windows Configuration ===&lt;br /&gt;
''Before making adjustments, consider updating the firmware; reset your adjustments before updating the firmware, so that your adjustments do not interfere with new functionality.''&lt;br /&gt;
&lt;br /&gt;
Some forum members have found that an adjustment to X-Windows will allow finer motion in the touchpad. If you use the '''Synaptic''' mouse/touchpad driver, use this command to make the change live:&lt;br /&gt;
&amp;lt;pre&amp;gt;synclient MinSpeed=0.25&amp;lt;/pre&amp;gt;&lt;br /&gt;
You may experiment with different settings, but 0.25 was tested as helping noticeably.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
To make the change persist across reboots, change the file &amp;lt;code&amp;gt;/etc/X11/xorg.conf&amp;lt;/code&amp;gt; similar to below:&lt;br /&gt;
&amp;lt;pre&amp;gt;    Section &amp;quot;InputClass&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;touchpad catchall&amp;quot;&lt;br /&gt;
        Driver &amp;quot;synaptics&amp;quot;&lt;br /&gt;
        MatchIsTouchpad &amp;quot;on&amp;quot;&lt;br /&gt;
        MatchDevicePath &amp;quot;/dev/input/event*&amp;quot;&lt;br /&gt;
        Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&lt;br /&gt;
    EndSection&amp;lt;/pre&amp;gt;&lt;br /&gt;
The line &amp;lt;code&amp;gt;Option &amp;quot;MinSpeed&amp;quot; &amp;quot;0.25&amp;quot;&amp;lt;/code&amp;gt; is the change.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Another forum user built on the above settings a little, and have found these to be very good:&lt;br /&gt;
&amp;lt;pre&amp;gt;synclient MinSpeed=0.25&lt;br /&gt;
synclient TapButton1=1&lt;br /&gt;
synclient TapButton2=3&lt;br /&gt;
synclient TapButton3=2&lt;br /&gt;
synclient FingerLow=30&lt;br /&gt;
synclient PalmDetect=1&lt;br /&gt;
synclient VertScrollDelta=64&lt;br /&gt;
synclient HorizScrollDelta=64&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;FingerLow&amp;lt;/code&amp;gt; has the same value as 'FingerHigh' in one config (30). It is believed to help reduce mouse movement as you lift your finger, but it's unknown whether synaptic works like this.&lt;br /&gt;
You may find this config to be comfortable for daily use.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;TabButton&amp;lt;/code&amp;gt; allows to just tab the touchpad instead of physically pressing it down (to get this click noise).&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;right mouse click&amp;lt;/code&amp;gt; is emulated by tapping with two fingers on the touchpad. If you feel that this is not very responsive you can try this value:&lt;br /&gt;
&amp;lt;pre&amp;gt; synclient MaxTapTime=250 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some users may encounter an issue with the mouse jumping when typing when using libinput driver (has not been test with synaptic) due to their hand hitting the touchpad which can be fixed by updating the xorg settings to disable it while typing. One can disable the touchpad while typing by setting the below option in the xorg config simliar to the previou example. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        Option &amp;quot;DisableWhileTyping&amp;quot; &amp;quot;on&amp;quot; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The setting can be verified by using the xinput command to first list the devices and then listing the properties for the Touchpad device. Exact commands to check this have been omitted for save of brevity. If DisableWhileTyping is shown enabled but does not appear to be working the issue may be due to the fact that the keyboard is connected to a USB bus which causes it to be seen as a external keyboard. To resolve this one can add the config below which sets the keyboard to internal to ensure the DisableWhileTyping works properly. &lt;br /&gt;
&lt;br /&gt;
You will need to edit &amp;lt;code&amp;gt;/etc/libinput/local-overrides.quirks&amp;lt;/code&amp;gt; and add the following lines:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Serial Keyboards]&lt;br /&gt;
MatchUdevType=keyboard&lt;br /&gt;
MatchBus=usb&lt;br /&gt;
AttrKeyboardIntegration=internal&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once X11 is restarted the new setting should now take effect and you will no longer be able to use the touchpad while typing which will mostly eliminate the mouse jumping issue.&lt;br /&gt;
&lt;br /&gt;
== Power Supply ==&lt;br /&gt;
* Input Power: 5V DC @ 3A&lt;br /&gt;
* Mechanical: 3.5mm OD / 1.35mm ID, Barrel jack&lt;br /&gt;
* USB-C 5V, 15W PD quickcharge&lt;br /&gt;
* Only use one power input at a time, barrel jack OR USB-C&lt;br /&gt;
&lt;br /&gt;
== LEDs ==&lt;br /&gt;
In total, there are four LEDs on the Pinebook Pro, three of which are placed in the top-left side of the keyboard, and one near the barrel port: &lt;br /&gt;
&lt;br /&gt;
# The red LED next to the barrel port indicates charging, in three ways.  First, it will illuminate steadily when either the factory power supply or a USB Type-C charger is connected to the Pinebook Pro, and the battery is getting charged.  Second, if the battery is at 100%, the LED will remain turned off regardless of the connected power input; however, this is [https://forum.pine64.org/showthread.php?tid=10899 rather rarely achieved].  Third, this LED will flash at 0.5&amp;amp;nbsp;Hz if there are any problems that prevent charging, such as the battery becoming too hot.&lt;br /&gt;
# The power indicator LED, above the keyboard, supports three different colors: green, amber and red. It is also capable of flashing to indicate eMMC activity. In the default Debian with MATE build, green LED means power and red means suspend (amber is unused). &lt;br /&gt;
# The green NumLock LED, above the keyboard.&lt;br /&gt;
# The green CapsLock LED, above the keyboard.&lt;br /&gt;
&lt;br /&gt;
The NumLock and CapsLock LEDs serve their usual purposes on a keyboard, but they also have a secondary function. When the privacy switches get activated they blink to confirm that the switch has been activated.&lt;br /&gt;
&lt;br /&gt;
== Webcam ==&lt;br /&gt;
{{Hint| You can use Cheese to test the Camera functionality}}&lt;br /&gt;
* Streaming video resolutions supported, (uncompressed):&lt;br /&gt;
** 320 x 240 &lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
* Still frame resolutions supported:&lt;br /&gt;
** 160 x 120&lt;br /&gt;
** 176 x 144&lt;br /&gt;
** 320 x 240&lt;br /&gt;
** 352 x 288 &lt;br /&gt;
** 640 x 480&lt;br /&gt;
** 800 x 600&lt;br /&gt;
** 1280 x 720&lt;br /&gt;
** 1600 x 1200&lt;br /&gt;
&lt;br /&gt;
== Microphones ==&lt;br /&gt;
While it has been said that some Pinebook Pro units contain only one microphone despite having two labeled microphone holes on the outer casing, other units do indeed contain two microphones. It is presently unclear which batches have either configuration; units from the initial community batch of 1000 units (following the initial 100) are believed to contain two, populating both labeled holes.&lt;br /&gt;
&lt;br /&gt;
The wires leading to both microphones connect to the mainboard with a small white plastic connector, located directly adjacent to the ribbon cable attachment point for the keyboard interface.&lt;br /&gt;
&lt;br /&gt;
'''Microphones not working?'''&lt;br /&gt;
&lt;br /&gt;
If pavucontrol input doesn't show microphone activity try changing the [[Pinebook_Pro#Privacy_Switches|privacy switches]]. If the switches are in the correct place and microphone input isn't working you can run &amp;lt;code&amp;gt;alsamixer&amp;lt;/code&amp;gt; from the command line, hit &amp;lt;i&amp;gt;F6&amp;lt;/i&amp;gt; and select the &amp;lt;i&amp;gt;es8316&amp;lt;/i&amp;gt;, hit F4 to get to the capture screen, select the bar labeled ADC, increase the gain to 0dB, change the audio profile in pavucontrol to another one with input. Additionally you may want to modify ADC PGA to get the levels to where you want them. If that still hasn't fixed it you may want to check that the microphone connector is plugged in (see the section [[#Technical Reference|Technical Reference]]).&lt;br /&gt;
&lt;br /&gt;
== Bluetooth and WiFi ==&lt;br /&gt;
[[File:PinebookPro_WirelessIC_Location.jpg|400px|thumb|right|The Pinebook Pro's AP6256 wireless module]]&lt;br /&gt;
===Hardware Overview===&lt;br /&gt;
The Pinebook Pro contains an AMPAK AP6256 wireless module to provide Wi-Fi (compliant to IEEE 802.11ac) and Bluetooth (compliant to Bluetooth SIG revision 5.0). The module contains a Broadcom transceiver IC, believed to be the BCM43456, as well as the support electronics needed to allow the Wi-Fi and Bluetooth modes to share a single antenna. &lt;br /&gt;
&lt;br /&gt;
The wireless module interfaces with the Pinebook Pro’s system-on-chip using a combination of three interfaces: Bluetooth functionality is operated by serial UART and PCM, while the Wi-Fi component uses SDIO. It is unknown if the module’s Bluetooth capabilities are usable under operating systems that do not support SDIO.&lt;br /&gt;
&lt;br /&gt;
The module’s RF antenna pin is exposed on the mainboard via a standard Hirose U.FL connector, where a coaxial feedline links it to a flexible adhesive antenna situated near the upper right corner of the Pinebook Pro’s battery. As the RF connector is fragile and easily damaged, it should be handled carefully during connection and disconnection, and should not be reconnected frequently.&lt;br /&gt;
&lt;br /&gt;
===Issues===&lt;br /&gt;
Problems have been reported with the Wi-Fi transceiver’s reliability during extended periods of high throughput, especially on the 2.4 GHz band. While the cause of this has yet to be determined, switching to the 5 GHz band may improve stability.&lt;br /&gt;
&lt;br /&gt;
Since the Bluetooth transceiver shares both its spectrum and antenna with 2.4 GHz Wi-Fi, simultaneous use of these modes may cause interference, especially when listening to audio over Bluetooth. If Bluetooth audio cuts out frequently, switching to the 5 GHz band – or deactivating Wi-Fi – may help.&lt;br /&gt;
&lt;br /&gt;
===Wi-Fi Capabilities===&lt;br /&gt;
Wi-Fi on the Pinebook Pro is capable of reaching a maximum data transfer rate of approximately 433 megabits per second, using one spatial stream. The transceiver does not support multiple spatial streams or 160-MHz channel bandwidths.&lt;br /&gt;
&lt;br /&gt;
The Wi-Fi transceiver supports the lower thirteen standard channels on the 2.4 GHz band, using a bandwidth of 20 MHz. At least twenty-four channels are supported on the 5 GHz band, spanning frequencies from 5180 to 5320 MHz, 5500 to 5720 MHz, and 5745 to 5825 MHz, with bandwidths of 20, 40, or 80 MHz.&lt;br /&gt;
&lt;br /&gt;
Maximum reception sensitivity for both bands is approximately -92 dBm. The receiver can tolerate input intensities of no more than -20 dBm on the 2.4 GHz band, and no more than -30 dBm on the 5 GHz band. Maximum transmission power is approximately +15 dBm for either band, falling further to approximately +10 dBm at higher data transfer rates on the 5 GHz band.&lt;br /&gt;
&lt;br /&gt;
With current available drivers and firmware, the Wi-Fi interface supports infrastructure, ad-hoc, and access-point modes with satisfactory reliability. Monitor mode is not presently supported. Wi-Fi Direct features may be available, but it is unclear how to make use of them under Linux.&lt;br /&gt;
&lt;br /&gt;
Be aware that Linux userspace utilities, such as &amp;lt;code&amp;gt;iw&amp;lt;/code&amp;gt;, may report inaccurate information about the capabilities of wireless devices. Parameter values derived from vendor datasheets, or direct testing, should be preferred to the outputs of hardware-querying tools.&lt;br /&gt;
&lt;br /&gt;
===Bluetooth Capabilities===&lt;br /&gt;
Bluetooth data transfer speeds have an indicated maximum of 3 megabits per second, but it is unclear what practical data rates can be expected. Audio streaming over Bluetooth is functioning normally, as is networking. Bluetooth Low-Energy functions, such as interacting with Bluetooth beacons, have not yet been tested conclusively.&lt;br /&gt;
&lt;br /&gt;
The Bluetooth transceiver supports all 79 channel allocations, spanning frequencies from 2402 MHz to 2480 MHz. Reception sensitivity is approximately -85 dBm, with a maximum tolerable reception intensity of -20 dBm. Bluetooth transmission power is limited to +10 dBm.&lt;br /&gt;
&lt;br /&gt;
===Disabling Bluetooth===&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth under Linux once:&lt;br /&gt;
&lt;br /&gt;
 sudo rfkill block bluetooth&lt;br /&gt;
&lt;br /&gt;
To confirm if Bluetooth under Linux is disabled:&lt;br /&gt;
&lt;br /&gt;
 rfkill&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on boot (note: for distributions such as Manjaro XFCE see the step below):&lt;br /&gt;
&lt;br /&gt;
 sudo systemctl enable rfkill-block@bluetooth&lt;br /&gt;
&lt;br /&gt;
To disable Bluetooth on certain distributions, such as Manjaro XFCE, right click on the Bluetooth panel icon, select &amp;lt;i&amp;gt;plugins&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;PowerManager&amp;lt;/i&amp;gt;, then &amp;lt;i&amp;gt;configuration&amp;lt;/i&amp;gt; and then deselect the &amp;lt;i&amp;gt;auto power on&amp;lt;/i&amp;gt; option&lt;br /&gt;
&lt;br /&gt;
== LCD Panel ==&lt;br /&gt;
* Model: BOE NV140FHM-N49&lt;br /&gt;
* 14.0&amp;quot; (35.56&amp;amp;nbsp;cm) diagonal size&lt;br /&gt;
* 1920x1080 resolution&lt;br /&gt;
* 60&amp;amp;nbsp;Hz refresh rate&lt;br /&gt;
* IPS technology&lt;br /&gt;
* 1000:1 contrast&lt;br /&gt;
* 250&amp;amp;nbsp;nit brightness&lt;br /&gt;
* 63% sRGB coverage&lt;br /&gt;
* 6-bit color&lt;br /&gt;
* 30-pin eDP connection&lt;br /&gt;
&lt;br /&gt;
Some people have tested hardware video decode using the following;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ffmpeg -benchmark -c:v h264_rkmpp -i file.mp4 -f null -&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External ports list ==&lt;br /&gt;
Here are a list of the external ports. See [[Pinebook_Pro#Expansion_Ports|Technical Reference - Expansion Ports]] for port specifications.&lt;br /&gt;
* Left side&lt;br /&gt;
** Barrel jack for power, (with LED)&lt;br /&gt;
** USB 3, Type A&lt;br /&gt;
** USB 3, Type C&lt;br /&gt;
* Right side&lt;br /&gt;
** USB 2, Type A&lt;br /&gt;
** Standard headset jack&lt;br /&gt;
** MicroSD card slot&lt;br /&gt;
&lt;br /&gt;
== Using the UART ==&lt;br /&gt;
[[File:PinePhone_Serial_Cable.png|400px|thumb|right|Pinout of the serial adapter. Swapping the tx and rx around from this also works and is more traditional. See the official [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pine64 document].]]&lt;br /&gt;
&lt;br /&gt;
UART output is enabled by flipping the UART switch to the ON position (item 9). To do so you need to remove the Pinebook Pro's bottom cover - please follow [[Pinebook_Pro#Disassembly_and_Reassembly|proper disassembly and reassembly protocol]]. The OFF position is towards the touchpad, the ON position is towards the display hinges.&lt;br /&gt;
&lt;br /&gt;
With the UART switch in the ON position, console is relayed via the audiojack and the laptop's sound is turned OFF. Please ensure that you are using a 3.3&amp;amp;nbsp;V interface (such as the CH340, FTDI-232R, or PL2303, which are sold in both 3.3&amp;amp;nbsp;V and 5&amp;amp;nbsp;V variants) to avoid damage to the CPU.  Older version of the serial console cable sold by Pine64 uses wrong voltage level and should not be used; see [https://forum.pine64.org/showthread.php?tid=9367 this forum thread] for further information.  Recent version of the same cable uses the right voltage level.&lt;br /&gt;
&lt;br /&gt;
Insert the USB plug of the cable into an open USB port on the machine which will monitor, ensuring that the audio jack of the serial cable is be fully inserted into the Pinebook Pro audio port. Run the following in a terminal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$ lsusb&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you should find a line similar to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Bus 001 Device 058: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Serial output should now be accessible using screen, picocom or minicom (and others).&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
screen /dev/ttyUSB0 1500000&lt;br /&gt;
&lt;br /&gt;
picocom /dev/ttyUSB0 -b 1500000&lt;br /&gt;
&lt;br /&gt;
minicom -D /dev/ttyUSB0 -b 1500000&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Old versions of U-Boot do not use the UART for console output. &amp;lt;strike&amp;gt;The console function is activated by the Linux kernel. Thus, if you use a non-Pinebook Pro Linux distro and want the UART as a console, you have to manually enable it.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using the optional NVMe adapter ==&lt;br /&gt;
The optional NVMe adapter allows the use of M.2 cards that support the NVMe standard, (but not SATA standard). The optional NVMe M.2 adapter supports '''M''' &amp;amp; '''M'''+'''B''' keyed devices, in both 2242 &amp;amp; 2280 physical sizes, the most common ones available. In addition, 2230 &amp;amp; 2260 are also supported, though NVMe devices that use those sizes are rare.&lt;br /&gt;
&lt;br /&gt;
Once you have fitted and tested your NVMe drive, please add a note to this page [[Pinebook Pro Hardware Accessory Compatibility]] to help build a list of tried and tested devices.&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook Pro Troubleshooting Guide#NVMe SSD issues|a separate section]] that describes reported issues with the NVMe drives in PineBook Pro.&lt;br /&gt;
&lt;br /&gt;
=== Installing the adapter ===&lt;br /&gt;
The V2.1-2019-0809 SSD adapter that shipped with the initial Pinebook Pro batches had significant issues. A repair kit will be shipped to address those issues.&lt;br /&gt;
(If necessary, it can be modified to work. There is [https://forum.pine64.org/showthread.php?tid=8322&amp;amp;pid=52700#pid52700 an unofficial tutorial on the forums] describing these modifications.)&lt;br /&gt;
&lt;br /&gt;
The updated SSD adapter, labeled V2-2019-1107, takes into account the prior problems with touchpad interference. New orders as of Feb. 22nd, 2020 will be the updated adapter.&lt;br /&gt;
&lt;br /&gt;
This is the link to the Pinebook Pro accessories in the store: [[https://pine64.com/?v=0446c16e2e66]]&lt;br /&gt;
&lt;br /&gt;
Actual installation instructions are a work in progress. Unofficial instructions for installing V2-2019-1107 can be found [https://eli.gladman.cc/blog/2020/06/23/pine-book-pro-nvme.html here].&lt;br /&gt;
&lt;br /&gt;
=== Post NVMe install power limiting ===&lt;br /&gt;
Some NVMe SSDs allow reducing the maximum amount of power. Doing so may reduce the speed, but it may be needed in the Pinebook Pro to both improve reliability on battery: Some NVME may be stable with default settings when runnning on AC power but cause frequent kernel panics (system freeze with power LED blinking red/green) when running on battery. Reducing NVME power drain solves this in some cases. And reducing power used gives better battery life.&lt;br /&gt;
Here are the commands to obtain and change the power settings. The package 'nvme-cli' is required to run these commands. The example shows how to find the available power states, and then sets it to the lowest, non-standby setting, (which is 3.8 watts for the device shown);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo nvme id-ctrl /dev/nvme0&lt;br /&gt;
NVME Identify Controller:&lt;br /&gt;
...&lt;br /&gt;
ps    0 : mp:9.00W operational enlat:0 exlat:0 rrt:0 rrl:0&lt;br /&gt;
         rwt:0 rwl:0 idle_power:- active_power:-&lt;br /&gt;
ps    1 : mp:4.60W operational enlat:0 exlat:0 rrt:1 rrl:1&lt;br /&gt;
         rwt:1 rwl:1 idle_power:- active_power:-&lt;br /&gt;
ps    2 : mp:3.80W operational enlat:0 exlat:0 rrt:2 rrl:2&lt;br /&gt;
         rwt:2 rwl:2 idle_power:- active_power:-&lt;br /&gt;
ps    3 : mp:0.0450W non-operational enlat:2000 exlat:2000 rrt:3 rrl:3&lt;br /&gt;
         rwt:3 rwl:3 idle_power:- active_power:-&lt;br /&gt;
ps    4 : mp:0.0040W non-operational enlat:6000 exlat:8000 rrt:4 rrl:4&lt;br /&gt;
         rwt:4 rwl:4 idle_power:- active_power:-&lt;br /&gt;
&lt;br /&gt;
$ sudo nvme get-feature /dev/nvme0 -f 2&lt;br /&gt;
get-feature:0x2 (Power Management), Current value:00000000&lt;br /&gt;
$ sudo nvme set-feature /dev/nvme0 -f 2 -v 2 -s&lt;br /&gt;
set-feature:02 (Power Management), value:0x000002&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some NVMe SSDs don't appear to allow saving the setting with &amp;quot;-s&amp;quot; option. In those cases, leave off the &amp;quot;-s&amp;quot; and use a startup script to set the non-default power state at boot.&amp;lt;br&amp;gt;&lt;br /&gt;
If you want to test performance without saving the new power setting semi-permanantly, then leave off the &amp;quot;-s&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
On systemd based distros like Manjaro, a non-defaut power state for an NVME can be set using a systemd service.&amp;lt;br&amp;gt;&lt;br /&gt;
This is useful in cases where the NVME drive does not save the power state and/or uses APST.&amp;lt;br&amp;gt;&lt;br /&gt;
An example systemd service, nvme-throttle.service, is shown below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Throttles NVME to lesss power hungry mode&lt;br /&gt;
After=suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
ExecStart=/usr/bin/nvme set-feature /dev/nvme0 -f 2 -v 1&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target suspend.target hibernate.target hybrid-sleep.target suspend-then-hibernate.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here the value after &amp;quot;-v&amp;quot; is the maximum power state that you want your SSD to use.&amp;lt;br&amp;gt;&lt;br /&gt;
This will be executed at system startup, and every time your system exits any suspend mode that might reset the SSD to default values.&lt;br /&gt;
&lt;br /&gt;
This file needs to be placed in the /etc/systemd/system directory. Afterwards, to activate the service, run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
systemctl daemon-reload&lt;br /&gt;
systemctl enable --now nvme-throttle.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is another power saving feature for NVMes, APST, (Autonomous Power State Transitions). This performs the power saving &amp;amp; transitions based on usage. To check if you have a NVMe SSD with this feature;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo nvme get-feature -f 0x0c -H /dev/nvme0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Information for this feature, (on a Pinebook Pro), is a work in progress. It is enabled by default in latest Manjaro kernels and reported to work.&lt;br /&gt;
On some NVME SSDS (WD), APST is compatible with limiting NVME maximum power : APST will work and not exceed maximum power state defined using &lt;br /&gt;
previous method.&lt;br /&gt;
&lt;br /&gt;
=== Using as data drive ===&lt;br /&gt;
As long as the kernel in use has both the PCIe and NVMe drivers, you should be able to use a NVMe drive as a data drive. It can automatically mount when booting from either the eMMC or an SD card. This applies to Linux, FreeBSD, and Chromium, using the normal partitioning and file system creation tools. Android requires testing.&lt;br /&gt;
&lt;br /&gt;
=== Using as OS root drive ===&lt;br /&gt;
The SoC does not include the NVMe boot code, so the NVMe is not in the SoC's boot order. However, using the [https://github.com/mrfixit2001/updates_repo/blob/v1.1/pinebook/filesystem/mrfixit_update.sh U-Boot update script] from the mrfixit2001 Debian or [https://pastebin.com/raw/EeK074XB Arglebargle's modified script], and [https://github.com/pcm720/rockchip-u-boot/releases the modified u-boot images] provided by forum user pcm720, you can now add support to boot from an NVMe drive. Binary images are useable with SD, eMMC, and [[Pinebook_Pro_SPI|SPI flash]]. For OS images using the mainline kernel, there are a few variants of U-Boot available that also support NVMe as the OS drive. Though these may require writing the U-Boot to the SPI flash for proper use of the NVMe as the OS drive.&lt;br /&gt;
&lt;br /&gt;
The current boot order, per last testing, for this modified U-Boot is:&lt;br /&gt;
*MicroSD&lt;br /&gt;
*eMMC&lt;br /&gt;
*NVMe&lt;br /&gt;
&lt;br /&gt;
For more information, please refer to [https://forum.pine64.org/showthread.php?tid=8439&amp;amp;pid=53764#pid53764 the forum post.]&lt;br /&gt;
&lt;br /&gt;
It is also possible to initially boot off an eMMC or SD card, then transfer to a root file system on the NVMe. Currently, it is necessary to have the U-Boot code on an eMMC or SD card.  (A forum member [https://forum.pine64.org/showthread.php?tid=8439 posted here] about using a modified version of U-Boot with NVMe drivers, that uses &amp;lt;code&amp;gt;/boot&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; off the NVMe drive. So this may change in the future.)&lt;br /&gt;
&lt;br /&gt;
Please see [[Pinebook_Pro#Bootable Storage|Bootable Storage]].&lt;br /&gt;
&lt;br /&gt;
== Caring for the PineBook Pro ==&lt;br /&gt;
=== Bypass Cables ===&lt;br /&gt;
The mainboard features two (disconnected by default) bypass cables that are only to be used with the battery disconnected. The female (10) male (6) ends of the bypass cables can be connected to provide power to the mainboard if you need to run the laptop without a battery. Please refer to this [https://files.pine64.org/doc/PinebookPro/PinebookPro_Engineering_Notice.pdf engineering notice].  &lt;br /&gt;
&lt;br /&gt;
'''Note that despite the bypass cable being a two conductor cable, it is only used as one. Both wires being soldered together on either side is normal!'''&lt;br /&gt;
&lt;br /&gt;
{{warning|Do not connect the bypass cables with the battery connected.  Using the bypass cables with the battery connected can permanently damage the computer.}}&lt;br /&gt;
&lt;br /&gt;
=== Pinebook Service Step-by-Step Guides ===&lt;br /&gt;
&lt;br /&gt;
Under [[Pinebook_Service_Step_by_Step_Guides|Service Guides for Pinebook]] you can find instructions guides concerning disassembly of:&lt;br /&gt;
&lt;br /&gt;
* The installation process on Pinebook Pro similar to 14&amp;quot; Pinebook&lt;br /&gt;
* The installation process is the reverse order of removal guide:&lt;br /&gt;
** 14″ Pinebook Lithium Battery Pack Removal Guide&lt;br /&gt;
** 14″ Pinebook LCD Panel Screen Removal Guide&lt;br /&gt;
** 14″ Pinebook eMMC Module Removal Guide&lt;br /&gt;
&lt;br /&gt;
== Using the SPI flash device ==&lt;br /&gt;
&lt;br /&gt;
See [[Pinebook Pro SPI]] for details.&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro comes with a 128Mbit, (16MByte), flash device suitable for initial boot target, to store the bootloader. The SoC used on the Pinebook Pro boots from this SPI flash device first, before eMMC or SD card. At present, April 19, 2020, the Pinebook Pros ship without anything programmed in the SPI flash device. So the SoC moves on to the next potential boot device, the eMMC. ARM/ARM64 computers do not have a standardized BIOS, yet.&lt;br /&gt;
&lt;br /&gt;
Here is some information on using the SPI flash device:&lt;br /&gt;
&lt;br /&gt;
* You need the kernel built with SPI flash device support, which will supply a device similar to: code&amp;gt;/dev/mtd0&amp;lt;/code&amp;gt;&lt;br /&gt;
* The Linux package below, will need to be available: &amp;lt;code&amp;gt;mtd-utils&amp;lt;/code&amp;gt;&lt;br /&gt;
* You can then use this program from the package to write the SPI device: &amp;lt;code&amp;gt;flashcp &amp;amp;lt;filename&amp;amp;gt; /dev/mtd0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Even if you need to recover from a defective bootloader written to the SPI flash, you can simply short pin 6 of the SPI flash to GND and boot. This will render the SoC bootrom unable to read from the SPI flash and have it fall back to reading the bootloader from other boot media like the eMMC or Micro SD card.&lt;br /&gt;
&lt;br /&gt;
The procedures described above are a lot less risky than attaching an external SPI flasher and do not require any additional hardware. At present, April 19th, 2020, there is no good bootloader image to flash into the SPI flash device. This is expected to change, as there are people working on issue.&lt;br /&gt;
&lt;br /&gt;
= Software tuning guide =&lt;br /&gt;
Details on how to get the most out of a Pinebook Pro &amp;amp; its RK3399 SoC.&lt;br /&gt;
&lt;br /&gt;
== Customizing the Pinebook Pro's default Manjaro KDE system ==&lt;br /&gt;
=== Watching DRM content (Netflix, etc.) ===&lt;br /&gt;
Most paid online streaming services use Widevine DRM to make their content more difficult to pirate. Widevine is not directly supported on Manjaro KDE, however it is still possible to watch DRM content via the &amp;quot;chromium-docker&amp;quot; package which downloads a 32-bit ARM container and installs Chromium with Widevine inside of that. While not space-efficient, or efficient in general, it's the recommended solution for watching this content on your Pinebook Pro. You can install this package with:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pacman -Sy chromium-docker&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Checking GPU capabilities ===&lt;br /&gt;
To see what versions of OpenGL and OpenGL ES are supported by the Pinebook Pro, what driver is in use, and what version of the driver is loaded, install the &amp;quot;mesa-demos&amp;quot; package with:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo pacman -Sy mesa-demos&amp;lt;/pre&amp;gt;&lt;br /&gt;
And then run:&lt;br /&gt;
&amp;lt;pre&amp;gt;glxinfo | grep OpenGL&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will give detailed information about your graphics card and driver, useful for debugging.&lt;br /&gt;
&lt;br /&gt;
=== Better GPU compatibility and performance ===&lt;br /&gt;
For better graphics performance, you may install the &amp;quot;mesa-git&amp;quot; package, built and supplied in the Manjaro ARM repos. This lets you bring in the latest features, optimizations, and bugfixes for the graphics driver used by the Pinebook Pro. Installation is as simple as:&lt;br /&gt;
&amp;lt;pre&amp;gt;pacman -Sy mesa-git&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then you may reboot to load the newer driver.&lt;br /&gt;
&lt;br /&gt;
With Mesa 20.2 there is no longer much reason to use this over the standard mesa package, and applications may occasionally break with mesa-git.&lt;br /&gt;
&lt;br /&gt;
[https://docs.mesa3d.org/bugs.html Reporting bugs] to the Mesa project will help make sure any problems are quickly fixed.&lt;br /&gt;
&lt;br /&gt;
=== OpenGL 3.3 support ===&lt;br /&gt;
By default, with the current state of the Panfrost GPU driver, the Pinebook Pro supports OpenGL 2.1 and OpenGL ES 3.0. If you want to use OpenGL 3.3, you need to set the system-wide environment variable, open the '''/etc/environment''' file with:&lt;br /&gt;
&amp;lt;pre&amp;gt;kate /etc/environment&amp;lt;/pre&amp;gt;&lt;br /&gt;
And then at the bottom of the file, on a new line, add:&lt;br /&gt;
&amp;lt;pre&amp;gt;PAN_MESA_DEBUG=&amp;quot;gl3&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then save the file, entering your password when prompted, and reboot the system. When you check your GPU capabilities, it should report OpenGL 3.3 and applications that rely on it should function properly. Note that GL 3.3 support is incomplete and some rendering features do not work yet, notably geometry shaders.&lt;br /&gt;
&lt;br /&gt;
=== Install Anbox on Pinebook Pro Manjaro 20.10 ===&lt;br /&gt;
[https://www.youtube.com/watch?v=EU8_Q11dATs Youtube video on installing Anbox on Pienbook Pro Manjaro Build 20.10 by LivingLinux]&lt;br /&gt;
&lt;br /&gt;
== Customizing the Pinebook Pro's previously-default Debian system ==&lt;br /&gt;
Here are some hints on what you can do to customize the Pinebook Pro's previous factory image (aka [https://github.com/mrfixit2001/debian_desktop mrfixit2001 debian build])&lt;br /&gt;
&lt;br /&gt;
=== Initial user changes, password, name, etc ===&lt;br /&gt;
When you first get your Pinebook Pro, you should consider setting strong passwords and making the default account your own.&lt;br /&gt;
&lt;br /&gt;
* Reboot (this is just to ensure all background processes belong to the user are not running... there are other ways to achieve this but this way is easy)&lt;br /&gt;
* Once the machine reboots press Alt-Ctrl-F1 to bring up a text terminal&lt;br /&gt;
* Login as root (login: root, password: root)&lt;br /&gt;
* Set a strong password for the root user using the following command and it's prompts:&lt;br /&gt;
&amp;lt;pre&amp;gt;# passwd (and follow prompts)&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Rename the rock user to your prefered username (replace myself with whatever you like):&lt;br /&gt;
&amp;lt;pre&amp;gt;# usermod -l myself -d /home/myself -m rock&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Rename the rock group to match your preferred username:&lt;br /&gt;
&amp;lt;pre&amp;gt;# groupmod -n myself rock&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Put your name in the account, (replace &amp;quot;John A Doe&amp;quot; with your name):&lt;br /&gt;
&amp;lt;pre&amp;gt;# chfn -f &amp;quot;John A Doe&amp;quot; myself&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Set a strong password for the normal user:&lt;br /&gt;
&amp;lt;pre&amp;gt;# passwd myself&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Log out of the text terminal:&lt;br /&gt;
&amp;lt;pre&amp;gt;# logout&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Press Alt-Ctrl-F7 to go back to the login screen and then login as the normal user&lt;br /&gt;
* Open text terminal to fix login error: &amp;quot;Configured directory for incoming files does not exist&amp;quot;;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ blueman-services&amp;lt;/pre&amp;gt;&lt;br /&gt;
Select &amp;quot;Transfer&amp;quot; tab and set &amp;quot;Incoming Folder&amp;quot; to myself&lt;br /&gt;
OR&lt;br /&gt;
If adduser is in distro, this is MUCH easier&lt;br /&gt;
sudo adduser $USER ,, fill out requested data&lt;br /&gt;
Then,, sudo adduser $USER $GROUP,,, 1 group at a time&lt;br /&gt;
To see which groups to add,,, id $USER,  id rock&lt;br /&gt;
&lt;br /&gt;
=== Changing the default hostname ===&lt;br /&gt;
Debian 9 has a command to allow you to change the hostname. You can see the current settings using;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo hostnamectl&lt;br /&gt;
   Static hostname: Debian-Desktop&lt;br /&gt;
         Icon name: computer&lt;br /&gt;
        Machine ID: dccbddccbdccbdccbdccbdccbdccbccb&lt;br /&gt;
           Boot ID: ea99ea99ea99ea99ea99ea99ea99ea99&lt;br /&gt;
  Operating System: Debian GNU/Linux 9 (stretch)&lt;br /&gt;
            Kernel: Linux 4.4.210&lt;br /&gt;
      Architecture: arm64&amp;lt;/pre&amp;gt;&lt;br /&gt;
To change, use this, (with &amp;quot;My_Hostname&amp;quot; used as the example);&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo hostnamectl set-hostname My_Hostname&amp;lt;/pre&amp;gt;&lt;br /&gt;
Whence done, you can re-verify using the first example.&lt;br /&gt;
&lt;br /&gt;
Then you should backup and edit your &amp;lt;code&amp;gt;/etc/hosts&amp;lt;/code&amp;gt; entry's name;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo cp -p /etc/hosts /etc/hosts.`date +%Y%m%d`&lt;br /&gt;
$ sudo vi /etc/hosts&lt;br /&gt;
127.0.0.1	localhost&lt;br /&gt;
127.0.0.1	My_Hostname&lt;br /&gt;
::1		localhost ip6-localhost ip6-loopback&lt;br /&gt;
fe00::0		ip6-localnet&lt;br /&gt;
ff00::0		ip6-mcastprefix&lt;br /&gt;
ff02::1		ip6-allnodes&lt;br /&gt;
ff02::2		ip6-allrouters&lt;br /&gt;
127.0.1.1       linaro-alip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Disable Chromium browser's prompt for passphrase &amp;amp; password storage ===&lt;br /&gt;
&lt;br /&gt;
Perform the following steps:&lt;br /&gt;
&lt;br /&gt;
* On the tool bar, hover over the Chromium icon&lt;br /&gt;
* Using the right mouse button, select '''Properties'''&lt;br /&gt;
* In the '''Command:''' line section, add &amp;lt;code&amp;gt;--password-store=basic&amp;lt;/code&amp;gt; before the &amp;lt;code&amp;gt;%U&amp;lt;/code&amp;gt;&lt;br /&gt;
* Use the '''x Close''' button to save the change&lt;br /&gt;
This will of course, use basic password storage, meaning any saved passwords are not encrypted. Perfectly fine if you never use password storage.&lt;br /&gt;
&lt;br /&gt;
=== Changing the boot splash picture ===&lt;br /&gt;
&lt;br /&gt;
The default boot splash picture can be replaced using the following instructions:&lt;br /&gt;
&lt;br /&gt;
* Install '''ImageMagick''' which will do the conversion&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo apt-get install imagemagick&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a 1920 x 1080 picture. For the best results, use a PNG image (It supports lossless compression).&lt;br /&gt;
* From the directory in which your new image is stored run the following commands&lt;br /&gt;
* Convert your image to the bootsplash raw format using imagemagick convert.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ convert yoursplashimage.png -separate +channel -swap 0,2 -combine -colorspace sRGB RGBO:splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a backup copy of your current splash screen&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo cp /usr/share/backgrounds/splash.fb /usr/share/backgrounds/splash_original.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Copy your new splash screen into place&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo cp splash.fb /usr/share/backgrounds/splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Set the correct permissions on the splash.fb file&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo chmod 644 /usr/share/backgrounds/splash.fb&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If you do not want to see kernel console text messages, make sure you don't have '''Plymouth''' installed&lt;br /&gt;
&lt;br /&gt;
=== Watching Amazon Prime videos with Chromium ===&lt;br /&gt;
When you create a new user, it will be necessary to launch the Chromium browswer with a specific user agent like below;&lt;br /&gt;
&amp;lt;pre&amp;gt;chromium-browser --user-agent=&amp;quot;Mozilla/5.0 (X11; CrOS armv7l 6946.63.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
There may be more tweaks needed.&lt;br /&gt;
&lt;br /&gt;
=== Enabling text boot time messages ===&lt;br /&gt;
&lt;br /&gt;
By default, most Linux distros have a boot screen with a picture. To see all the boot time messages, use one of the following;&lt;br /&gt;
&lt;br /&gt;
==== Debian ====&lt;br /&gt;
* Backup and edit the U-Boot configuration file:&lt;br /&gt;
&lt;br /&gt;
 cp -p /etc/default/u-boot /etc/default/u-boot.`date +%Y%m%d`&lt;br /&gt;
 chmod a-w /etc/default/u-boot.`date +%Y%m%d`&lt;br /&gt;
 vi /etc/default/u-boot&lt;br /&gt;
&lt;br /&gt;
Remove the '''quiet''' and '''splash''' parameters. Leave everything else alone.&lt;br /&gt;
&lt;br /&gt;
* Update the U-Boot configuration:&lt;br /&gt;
&lt;br /&gt;
 u-boot-update&lt;br /&gt;
&lt;br /&gt;
* Test and verify you get what you think you should be seeing.&lt;br /&gt;
&lt;br /&gt;
==== Manjaro ====&lt;br /&gt;
* Backup and edit the U-Boot configuration file:&lt;br /&gt;
&lt;br /&gt;
 cp -p /boot/extlinux/extlinux.conf /boot/extlinux/extlinux.conf.`date +%Y%m%d`&lt;br /&gt;
 chmod a-w /boot/extlinux/extlinux.conf.`date +%Y%m%d`&lt;br /&gt;
 vi /boot/extlinux/extlinux.conf&lt;br /&gt;
&lt;br /&gt;
* Change '''console=ttyS2,1500000''' to '''console=tty1'''&lt;br /&gt;
* Remove the '''bootsplash.bootfile''' option and it's parameter.&lt;br /&gt;
* You can add verbose logging by appending '''ignore_loglevel''' to the line where boot splash was.&lt;br /&gt;
* Leave everything else alone.&lt;br /&gt;
* Test and verify you get what you think you should be seeing.&lt;br /&gt;
&lt;br /&gt;
== Retro Gaming on the Pinebook Pro ==&lt;br /&gt;
A retro-gaming OS named R-Cade has been made available for the Pinebook Pro, provided by [https://www.retro-center.com The Retro Center].&lt;br /&gt;
&lt;br /&gt;
R-Cade includes over 100 retro-gaming systems, a lightweight web browser, and includes the latest release of KODI to provide full 4K UHD media playback.&lt;br /&gt;
More information can be found [https://www.retro-center.com/about-r-cade/ here].&lt;br /&gt;
&lt;br /&gt;
Releases can be downloaded from their [https://github.com/retro-center/rcade_releases GitHub].&lt;br /&gt;
&lt;br /&gt;
== Improving readability ==&lt;br /&gt;
&lt;br /&gt;
Some people find that a 14&amp;quot; LCD screen with 1080p, (1920 x 1080), has text and icons a bit too small. There are things you can do to make the screen easier to use and read.&amp;lt;br&amp;gt;&lt;br /&gt;
* Increase the font size&lt;br /&gt;
* Use a font with more pronounced features&lt;br /&gt;
* Increase the various window manager sizes (e.g. increase the height of the tool bar)&lt;br /&gt;
* Change the color scheme to be easier on the eyes. Higher contrast can help usability.&lt;br /&gt;
* Change the window manager's decorations (e.g. use larger icons)&lt;br /&gt;
* Use a workspace manager, with one application per workspace&lt;br /&gt;
* When at home or office, use an external monitor&lt;br /&gt;
* Change the X-Windows DPI. One such method that someone used successfully, is:&amp;lt;br&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;code&amp;gt;echo &amp;quot;Xft.dpi: 150&amp;quot; &amp;gt;&amp;gt; ~/.Xresources&amp;lt;/code&amp;gt;&amp;lt;/blockquote&amp;gt;Change the 150 as desired to get the size adjustment you want.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
However, do not change the resolution of the LCD screen, otherwise you may end up with a blank / black screen. If that happens, see this troubleshooting section for the fix:&amp;lt;br&amp;gt;&lt;br /&gt;
[[Pinebook_Pro#After_changing_builtin_LCD_resolution.2C_blank_screen|Blank screen after changing builtin LCD resolution]]&lt;br /&gt;
&lt;br /&gt;
== Chromium tweaks ==&lt;br /&gt;
&lt;br /&gt;
=== Flags ===&lt;br /&gt;
&lt;br /&gt;
From the [https://github.com/mrfixit2001/updates_repo/blob/v1.8/pinebook/filesystem/default official Debian image]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--disable-low-res-tiling \&lt;br /&gt;
--num-raster-threads=6 \&lt;br /&gt;
--profiler-timing=0 \&lt;br /&gt;
--disable-composited-antialiasing \&lt;br /&gt;
--test-type \&lt;br /&gt;
--show-component-extension-options \&lt;br /&gt;
--ignore-gpu-blacklist \&lt;br /&gt;
--use-gl=egl \&lt;br /&gt;
--ppapi-flash-path=/usr/lib/chromium-browser/pepper/libpepflashplayer.so \&lt;br /&gt;
--ppapi-flash-version=32.0.0.255 \&lt;br /&gt;
--enable-pinch \&lt;br /&gt;
--flag-switches-begin \&lt;br /&gt;
--enable-gpu-rasterization \&lt;br /&gt;
--enable-oop-rasterization \&lt;br /&gt;
--flag-switches-end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that in some cases, this may also decrease performance substantially, as observed when using these flags on the Manjaro KDE desktop. Feel free to experiment to find what is smoothest for you personally.&lt;br /&gt;
&lt;br /&gt;
== gVim has performance issue ==&lt;br /&gt;
It appears that using GTK3 can cause very slow scrolling, while Vim in a terminal window works fine.&amp;lt;br/&amp;gt;&lt;br /&gt;
Simply revert back to using GTK2, (how to do so is somewhat Linux distro-specific).&lt;br /&gt;
&lt;br /&gt;
Another solution may be to run gVim with &lt;br /&gt;
&lt;br /&gt;
 GDK_RENDERING=image&lt;br /&gt;
&lt;br /&gt;
environment variable set. It seems that this improves the performance by reverting back to software-only rendering.&lt;br /&gt;
&lt;br /&gt;
== Kernel options ==&lt;br /&gt;
Here are some Pinebook Pro &amp;amp; its RK3399 SoC Linux specific options. If kernel version, (or version range specific), it should list that information in the description.&lt;br /&gt;
&lt;br /&gt;
To see if a specific feature is enabled in the current kernel, you can use something like this;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ zgrep -i rockchip_pcie /proc/config.gz&lt;br /&gt;
# CONFIG_ROCKCHIP_PCIE_DMA_OBJ is not set&lt;br /&gt;
CONFIG_PHY_ROCKCHIP_PCIE=m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If it's listed as &amp;lt;code&amp;gt;=m&amp;lt;/code&amp;gt;, then it's a module. You can see if the module is loaded with;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lsmod | grep -i rockchip_pcie&lt;br /&gt;
phy_rockchip_pcie      16384  0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note modules are not loaded until needed. Thus, we sometimes check the kernel configuration instead to see if a feature is configured first, then see if it's a module.&lt;br /&gt;
&lt;br /&gt;
=== Hardware video decoding ===&lt;br /&gt;
Here is a method to check for hardware video decoding by the VPU. There are special Linux kernel modules that perform this function.&amp;lt;br&amp;gt;&lt;br /&gt;
Older systems, such as the previously-default Debian desktop, use the Rockchip-supplied kernel module &amp;lt;code&amp;gt;rk-vcodec&amp;lt;/code&amp;gt;. To check, something like this can be used:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ lsmod | grep rk-vcodec&lt;br /&gt;
    or&lt;br /&gt;
$ zgrep RK_VCODEC /proc/config.gz&lt;br /&gt;
CONFIG_RK_VCODEC=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that in the above example, the Rockchip video CODEC is not built as a module, but included into the kernel. Thus, it does not show up in the list modules check.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Newer systems may use a different option as in the configuration below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ zgrep HANTRO /proc/config.gz&lt;br /&gt;
CONFIG_VIDEO_HANTRO=m&lt;br /&gt;
CONFIG_VIDEO_HANTRO_ROCKCHIP=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting guide =&lt;br /&gt;
&lt;br /&gt;
Do not panic if something goes wrong or in an unexpected way.  Instead, stop and consider carefully how to undo something, or how to redo it.  This particularly applies when flashing a new operating system, or flashing new firmware to the keyboard or touchpad.  If everything fails, consider reporting the issue on the forums, with as many relevant details as available.&lt;br /&gt;
&lt;br /&gt;
Please, have a look at the [[Pinebook Pro Troubleshooting Guide]], which details a number of issues you may encounter.&lt;br /&gt;
&lt;br /&gt;
= Hardware/Accessory Compatibility =&lt;br /&gt;
Please contribute to the [[Pinebook Pro Hardware Accessory Compatibility|hardware/accessory compatibility page]], which lists the status of hardware tested with the Pinebook Pro.  Available hardware categories include the following:&lt;br /&gt;
&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#NVMe SSD drives|NVMe SSD drives]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB hardware|USB hardware]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#USB C alternate mode DP|USB-C alternate mode DP]]&lt;br /&gt;
* [[Pinebook Pro Hardware Accessory Compatibility#Other hardware|Other hardware]]&lt;br /&gt;
&lt;br /&gt;
= Technical Reference =&lt;br /&gt;
== Disassembly and Reassembly  == &lt;br /&gt;
[[File:Standoffs.png|400px|thumb|right|Pinebook Screw stand-offs correct placement and location]]&lt;br /&gt;
&lt;br /&gt;
[[File:Hinges_cover_removed_1.jpeg|300px|thumb|right|Hinge area of the Pinebook Pro lid with the cover removed]]&lt;br /&gt;
[[File:Hinges_cover_removed_2.jpeg|300px|thumb|right|Close-up of a Pinebook Pro lid hinge]]&lt;br /&gt;
&lt;br /&gt;
There are a few '''mandatory''' precautions to be taken:&lt;br /&gt;
&lt;br /&gt;
* Do not open the laptop by lifting the lid while the Pinebook Pro bottom cover is removed - this can cause structural damage to the hinges and/or other plastic components of the chassis such as the IO port cut-outs.&lt;br /&gt;
* When removing the back cover plate, *do not, under any circumstances, slide your fingertips between the metal shell and the plastic frame!* The back cover plate edges are sharp, and when combined with the pressure and movement generated from, specifically, attempting to slide the tips of your fingers along the bottom edge of the plate along the lid-hinge, they *will* slice open the tips of your fingers like a knife.&lt;br /&gt;
* When removing the back cover plate, use care to avoid damaging the speakers. They can be stuck to the back cover with double-sided tape, and the thin wires are very delicate. Newer Pinebook Pro laptops (as of the May 2021 batch, and perhaps earlier) seem to lack the double-sided tape to the rear cover, instead opting for tape or glue that makes them stick to the front cover. Nevertheless, be gentle when removing the back cover.&lt;br /&gt;
&lt;br /&gt;
[[File:PinebookProScrewGuide.png|400px|thumb|right|Pinebook Pro external screws (this particular unit has suffered damage on screw (4)L)]]&lt;br /&gt;
&lt;br /&gt;
When disassembling the laptop make sure that it is powered off and folded closed. To remove the bottom cover of the Pinebook Pro, first remove the ten (10) Phillips head screws that hold the bottom section of the laptop in place. There are four (4) short screws along the front edge, and six (6) long screws along the 3 remaining sides. Remove the cover from the back where the hinges are situated by lifting it up and away from the rest of the chassis. The aluminum case is held on only by screws. There are no plastic snaps, and the shell should pull away without any effort. If you experience any resistance at all stop and ensure all ten (10) screws are accounted for.&lt;br /&gt;
&lt;br /&gt;
During reassembly, make sure that the back-screw standoffs are in place and seated correctly. Before replacing the aluminum back-plate, ensure that the speakers are properly seated by pressing gently on the hard plastic edge of the speaker module. Slide the bottom section into place so it meets the front lip of the keyboard section. Secure the front section (where the touchpad is located) in place using the short screws in the front left and right corners. Then proceed to pop in the bottom panel into place. Secure the bottom section (where hinges are located) by screwing in the left and right corners. Then screw in the remaining screws and run your finger though the rim on the chassis to make sure its fitted correctly. Note that the front uses the remaining 4 short screws.&lt;br /&gt;
&lt;br /&gt;
The screws are small and should only be finger tight. Too much force will strip the threads. If after installing screws the back cover plate has not seated properly on one side (which may be caused by the aforementioned misseating of the speakers), open the display and hold the base on either side of the keyboard and gently flex the base with both hands in opposing directions. Once the side pops further in, then recheck the screws on that side. If it does not pop back in, re-open the machine and check for misseated components.&lt;br /&gt;
&lt;br /&gt;
A basic 3D model to print replacement standoffs for the back cover screws is [https://www.thingiverse.com/thing:4226648 available on Thingiverse], until the official drawings or 3D models are made available.&lt;br /&gt;
&lt;br /&gt;
====Display Disassembly====&lt;br /&gt;
It is not recommended to adjust the position of the lid when the bottom cover is removed, because the bottom cover provides structural strength, so the lid should be open fully as the first step, before starting any disassembly of the laptop.  After opening the lid, remove the bottom cover by following the instruction found in the section above.  Alternatively, you can keep the lid closed and remove the screws that hold the hinges to the main laptop body, as described in [[Pinebook Service Step by Step Guides]].&lt;br /&gt;
&lt;br /&gt;
Parts of the hinge mechanism, as well as the screws that hold the hinges to the lid, are hidden behind an elongated plactic U-shaped cover that snaps in place using latches.  Use a dedicated plastic prying tool or a guitar pick to gently pry the cover and remove it, starting from the outer edge.  Once you pry the cover to a certain extent, it should be possible to remove it fully using only your hands.  The U-shaped cover is rather sturdy, but still be careful not to break or bend it.&lt;br /&gt;
&lt;br /&gt;
There are two small screws hidden underneath the two small rubber nubs on the upper part of the screen bezel, so first gently remove the nubs and then remove the screws.  The screen bezel is held in place with a combination of latches and some adhesive tape, which is there to prevent dust ingress.  The adhesive isn't very strong, and the bezel is capable of flexing back into shape after being twisted to a certain extent.  There is more adhesive on the bottom part of the screen bezel, so be more careful while prying that section apart.  Use the same prying tool that you used for the U-shaped cover, and work it around the outer edges of the screen bezel.&lt;br /&gt;
&lt;br /&gt;
== Internal Layout ==&lt;br /&gt;
&lt;br /&gt;
=== Main chips ===&lt;br /&gt;
* RK3399 system-on-chip (1)&lt;br /&gt;
* LPDDR4 SDRAM (21)&lt;br /&gt;
* SPI NOR flash memory (29)&lt;br /&gt;
* eMMC flash memory (26)&lt;br /&gt;
* WiFi/BT module (27)&lt;br /&gt;
&lt;br /&gt;
=== Mainboard Switches and Buttons ===&lt;br /&gt;
There are two switches on the main board: disabling the eMMC (24), and enabling UART (9) via headphone jack. &lt;br /&gt;
&lt;br /&gt;
The Reset and Recovery buttons (28): the reset button performs an immediate reset of the laptop. The Recovery button is used to place the device in maskrom mode; this mode allows flashing eMMC using Rockchip tools (e.g. rkflashtools). &lt;br /&gt;
&lt;br /&gt;
[[File:PBPL_S.jpg]]&lt;br /&gt;
&lt;br /&gt;
=== Key Internal Parts ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Numbered parts classification and description&lt;br /&gt;
! Number&lt;br /&gt;
! Type&lt;br /&gt;
! Descriptor&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 1&lt;br /&gt;
| Component || RK3399 System-On-Chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 2&lt;br /&gt;
| Socket || PCIe x4 slot for optional NVMe adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 3&lt;br /&gt;
| Socket || Speakers socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 4&lt;br /&gt;
| Socket || Touchpad socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 5&lt;br /&gt;
| Component || Left speaker &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 6&lt;br /&gt;
| Connector || Power bridge connector &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 7&lt;br /&gt;
| Socket || Keyboard Socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 8&lt;br /&gt;
| Component || Optional NVMe SSD adapter&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 9&lt;br /&gt;
| Switch || UART/Audio switch - outputs UART via headphone jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 10&lt;br /&gt;
| Socket || Power bridge socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 11&lt;br /&gt;
| Socket || Battery socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 12&lt;br /&gt;
| Component || Touchpad&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 13&lt;br /&gt;
| Component || Battery&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 14&lt;br /&gt;
| Component || Right speaker&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 15&lt;br /&gt;
| Socket || MicroSD card slot&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 16&lt;br /&gt;
| Socket || Headphone / UART jack&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 17&lt;br /&gt;
| Socket || USB 2.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 18&lt;br /&gt;
| Socket || Daughterboard-to-mainboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 19&lt;br /&gt;
| Cable || Daughterboard-to-mainboard ribbon cable&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 20&lt;br /&gt;
| Component || microphone&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 21&lt;br /&gt;
| Component || LPDDR4 RAM&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 22&lt;br /&gt;
| Socket || Mainboard-to-daughterboard ribbon cable socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 23&lt;br /&gt;
| Socket || Microphone socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 24&lt;br /&gt;
| Switch || Switch to hardware disable eMMC&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 25&lt;br /&gt;
| Antenna || BT/WiFI antenna&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 26&lt;br /&gt;
| Component || eMMC flash memory module &lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 27&lt;br /&gt;
| Component ||BT/WiFi module chip&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 28&lt;br /&gt;
| Buttons || Reset and recovery buttons&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 29&lt;br /&gt;
| Component || SPI flash storage&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 30&lt;br /&gt;
| Socket || eDP LCD socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 31&lt;br /&gt;
| Socket || Power in barrel socket&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 32&lt;br /&gt;
| Socket || USB 3.0 Type A&lt;br /&gt;
|-&lt;br /&gt;
! scope=row | 33&lt;br /&gt;
| Socket || USB 3.0 Type C &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Smallboard detailed picture ===&lt;br /&gt;
&lt;br /&gt;
[[File:Pinebook_pro_smallboard.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Bootable Storage ==&lt;br /&gt;
&lt;br /&gt;
=== Boot sequence details ===&lt;br /&gt;
The RK3399's mask 32KB ROM boot code looks for the next stage of code at byte off-set 32768, (sector 64 if using 512 byte sectors). This is where U-Boot code would reside on any media that is bootable.&amp;lt;br&amp;gt;&lt;br /&gt;
[[RK3399_boot_sequence|RK3399 boot sequence]]&lt;br /&gt;
&lt;br /&gt;
=== Boot devices ===&lt;br /&gt;
&lt;br /&gt;
The Pinebook Pro is capable of booting from eMMC, USB 2.0, USB 3.0, or an SD card. It cannot boot from USB-C.  The boot order of the hard-coded ROM of its RK3399 SoC is: SPI NOR, eMMC, SD, USB OTG. &lt;br /&gt;
&lt;br /&gt;
At this time, the Pinebook Pro ships with a Manjaro + KDE build with [https://www.denx.de/wiki/U-Boot/ u-boot] on the eMMC.  Its boot order is: SD, USB, then eMMC.&lt;br /&gt;
&lt;br /&gt;
(An update has been pushed for the older Debian + MATE build that improves compatibility with booting other OSes from an SD card. In order to update, fully charge the battery, establish an internet connection, click the update icon in the toolbar, and then reboot your Pinebook Pro.  Please see [https://forum.pine64.org/showthread.php?tid=7830 this log] for details.)&lt;br /&gt;
&lt;br /&gt;
Please note that PCIe, the interface used for NVMe SSD on the Pinebook Pro, is not bootable on the RK3399 and therefore is not a part of the boot hierarchy. It is possible to run the desired OS from NVMe by pointing extlinux on the eMMC to rootfs on the SSD. This requires uboot, the Kernel image, DTB, and extlinux.conf&lt;br /&gt;
in a /boot partition on the eMMC.&lt;br /&gt;
&lt;br /&gt;
=== eMMC information ===&lt;br /&gt;
The eMMC appears to be hot-pluggable. This can be useful if trying to recover data or a broken install. Best practice is probably to turn the eMMC switch to off position before changing modules. Note that the enable/disable label on the silkscreen is incorrect on some board revisions (known bad on v2.1).&lt;br /&gt;
&lt;br /&gt;
The eMMC storage will show up as multiple block devices:&lt;br /&gt;
*mmcblk1boot0 - eMMC standard boot0 partition, may be 4MB&lt;br /&gt;
*mmcblk1boot1 - eMMC standard boot1 partition, may be 4MB&lt;br /&gt;
*mmcblk1rpmb - eMMC standard secure data partition, may be 16MB&lt;br /&gt;
*mmcblk1 - This block contains the user areas&lt;br /&gt;
&lt;br /&gt;
Only the last is usable as regular storage device in the Pinebook Pro.&lt;br /&gt;
The device number of &amp;quot;1&amp;quot; shown above may vary, depending on kernel.&lt;br /&gt;
&lt;br /&gt;
If the eMMC module is enabled after boot from an SD card, you can detect this change with the following commands as user &amp;quot;root&amp;quot;;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/unbind&lt;br /&gt;
echo fe330000.mmc &amp;gt;/sys/bus/platform/drivers/sdhci-arasan/bind&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Note: with the device trees coming with older kernels (Linux &amp;lt; 5.11), the device name may be fe330000.sdhci instead of fe330000.mmc)&lt;br /&gt;
&lt;br /&gt;
== Case Dimensions and Data ==&lt;br /&gt;
* Dimensions: 329mm x 220mm x 12mm (WxDxH)&lt;br /&gt;
* Weight: 1.26Kg&lt;br /&gt;
* Screws&lt;br /&gt;
** Philips head type screws&lt;br /&gt;
** M2 flat head machine screws (measurements in mm)&lt;br /&gt;
** 4 x Small screws (used along the front edge): Head - 3.44, Thread Diameter - 1.97, Thread Length - 2.1,  Overall length - 3.05&lt;br /&gt;
** 6 x Large screws: Head - 3.44, Thread Diameter - 1.97, Thread Length - 4.41, Overall Length - 5.85&lt;br /&gt;
* Rubber Feet&lt;br /&gt;
** 18mm diameter&lt;br /&gt;
** 3mm height&lt;br /&gt;
** Dome shaped&lt;br /&gt;
&lt;br /&gt;
== SoC and Memory Specification ==&lt;br /&gt;
[[File:Rockchip_RK3399.png|right]]&lt;br /&gt;
* Based on Rockchip RK3399&lt;br /&gt;
&lt;br /&gt;
=== CPU Architecture ===&lt;br /&gt;
* big.LITTLE architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU&lt;br /&gt;
** Full implementation of the ARM architecture v8-A instruction set (both AArch64 and AArch32)&lt;br /&gt;
** ARM Neon Advanced SIMD (single instruction, multiple data) support for accelerated media and signal processing computation&lt;br /&gt;
** ARMv8 Cryptography Extensions&lt;br /&gt;
** VFPv4 floating point unit supporting single and double-precision operations&lt;br /&gt;
** Hardware virtualization support&lt;br /&gt;
** TrustZone technology support&lt;br /&gt;
** Full CoreSight debug solution&lt;br /&gt;
** One isolated voltage domain to support DVFS&lt;br /&gt;
* Cortex-A72 (big cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a72 Dual-core Cortex-A72 up to 2.0GHz CPU]&lt;br /&gt;
** Superscalar, variable-length, out-of-order pipeline&lt;br /&gt;
** L1 cache 48KB Icache and 32KB Dcache for each A72 &lt;br /&gt;
** L2 cache 1024KB for big cluster &lt;br /&gt;
* Cortex-A53 (little cluster):&lt;br /&gt;
** [https://developer.arm.com/products/processors/cortex-a/cortex-a53 Quad-core Cortex-A53 up to 1.5GHz CPU]&lt;br /&gt;
** In-order pipeline with symmetric dual-issue of most instructions &lt;br /&gt;
** L1 cache 32KB Icache and 32KB Dcache for each A53&lt;br /&gt;
** L2 cache 512KB for little cluster&lt;br /&gt;
* Cortex-M0 (control processors):&lt;br /&gt;
** [https://developer.arm.com/ip-products/processors/cortex-m/cortex-m0 Cortex-M0 CPU]&lt;br /&gt;
** Two Cortex-M0 cooperate with the central processors&lt;br /&gt;
** Architecture: Armv6-M&lt;br /&gt;
** Thumb/Thumb2 instruction set&lt;br /&gt;
** 32 bit only&lt;br /&gt;
&lt;br /&gt;
=== GPU Architecture ===&lt;br /&gt;
* [https://developer.arm.com/products/graphics-and-multimedia/mali-gpus/mali-t860-and-mali-t880-gpus ARM Mali-T860MP4 Quad-core GPU]&lt;br /&gt;
* The highest performance GPUs built on Arm Mali’s famous Midgard architecture, the Mali-T860 GPU is designed for complex graphics use cases and provide stunning visuals for UHD content.&lt;br /&gt;
* Frequency 	650MHz &lt;br /&gt;
* Throughput 	1300Mtri/s, 10.4Gpix/s&lt;br /&gt;
* Graphic interface standards:&lt;br /&gt;
** OpenGL® ES 1.1, 1.2, 2.0, 3.0, 3.1, 3.2. (Panfrost has initial support of 3.0 beginning 2020/02/27)&lt;br /&gt;
** Vulkan 1.0, using the Mali binary blob. (Panfrost does not support Vulkan as of 2020/06/24)&lt;br /&gt;
** OpenCL™ 1.1, 1.2&lt;br /&gt;
** DirectX® 11 FL11_1&lt;br /&gt;
** RenderScript™&lt;br /&gt;
&lt;br /&gt;
=== System Memory ===&lt;br /&gt;
* RAM Memory:&lt;br /&gt;
** LPDDR4&lt;br /&gt;
** 800MHz, (limited by RK3399)&lt;br /&gt;
** Dual memory channels on the CPU, each 32 bits wide&lt;br /&gt;
** Quad memory channels on the RAM chip, each 16 bits wide, 2 bonded together for each CPU channel&lt;br /&gt;
** 4GB as a single 366 pin mobile RAM chip&lt;br /&gt;
* Storage Memory: &lt;br /&gt;
** 64GB eMMC module, can be upgraded to an 128GB eMMC module. (The initial PINE64 community build version shipped with a 128GB eMMC.)&lt;br /&gt;
** eMMC version 5.1, HS400, 8 bit on RK3399 side&lt;br /&gt;
** Bootable&lt;br /&gt;
* SPI flash:&lt;br /&gt;
** [[Pinebook Pro SPI]]&lt;br /&gt;
** 128Mbit / 16MByte&lt;br /&gt;
** 1 bit interface&lt;br /&gt;
** Bootable, (first boot device, ahead of eMMC &amp;amp; SD card)&lt;br /&gt;
** U-Boot images can be made to work, but as of 2020/06/24 there is no standardized image available.&lt;br /&gt;
&lt;br /&gt;
=== Video out ===&lt;br /&gt;
* USB-C Alt mode DP&lt;br /&gt;
* Up to 3840x2160 p60, dependant on adapter, (2 lanes verses 4 lanes)&lt;br /&gt;
&lt;br /&gt;
=== Expansion Ports ===&lt;br /&gt;
* MicroSD card:&lt;br /&gt;
** Bootable&lt;br /&gt;
** Supports SD, SDHC and SDXC cards, up to 512GB tested. SDXC standard says 2TB is the maximum.&lt;br /&gt;
** Version SD3.0, (MMC 4.5), up to 50MB/s&lt;br /&gt;
** SD card Application Performance Class 1 (A1), (or better), recommended by some users, for better IOPS&lt;br /&gt;
* USB ports:&lt;br /&gt;
** 1 x USB 2.0 Type-A Host Port, bootable&lt;br /&gt;
** 1 x USB 3.0 Type-A Host Port, 5Gbps, is not bootable&lt;br /&gt;
** 1 x USB 3.0 Type-C OTG Port, 5Gbps, (includes laptop charging function), is not bootable&lt;br /&gt;
** Note that high power USB devices may not work reliably on a PBP. Or they may draw enough power to drain the battery even when the PBP is plugged into A.C. One alternative is externally powered USB devices.&lt;br /&gt;
* Headphone jack switchable to UART console mux circuit&lt;br /&gt;
&lt;br /&gt;
== Additional hardware ==&lt;br /&gt;
Hardware that is not part of the SoC.&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
* Lithium Polymer Battery (10,000 mAH)&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
* 14.0&amp;quot; 1920x1080 IPS LCD panel&lt;br /&gt;
=== Lid closed magnet ===&lt;br /&gt;
There is a magnet to detect when the laptop lid is closed, so action can be taken like sleep. This meets up with the Hall sensor on the daughter / small board to detect lid closed.&lt;br /&gt;
* The magnet is located on the LCD panel right side, around 1.5 inches up measure from bottom edge.&lt;br /&gt;
&lt;br /&gt;
=== Webcam ===&lt;br /&gt;
* Internal USB attached Webcam&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
* 3.5mm stereo earphone/microphone plug&lt;br /&gt;
* Built-in microphone&lt;br /&gt;
* Built-in stereo speakers:&lt;br /&gt;
** Oval in design&lt;br /&gt;
** 3 mm high x 20 mm x 30 mm&lt;br /&gt;
&lt;br /&gt;
=== Network ===&lt;br /&gt;
* WiFi:&lt;br /&gt;
** 802.11 b/g/n/ac&lt;br /&gt;
** Dual band: 2.4Ghz &amp;amp; 5Ghz&lt;br /&gt;
** Single antenna&lt;br /&gt;
* Bluetooth 5.0&lt;br /&gt;
&lt;br /&gt;
=== Optional NVMe adapter ===&lt;br /&gt;
* PCIe 1.1, 2.5 GT/s per lane&lt;br /&gt;
** Note that due to errata, PCIe is limited to Gen1. See [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/arm64/boot/dts/rockchip/rk3399.dtsi?id=712fa1777207c2f2703a6eb618a9699099cbe37b this commit].&lt;br /&gt;
* Four PCIe lanes, which can not be bifurcated, but can be used with one- or two-lane NVMe cards&lt;br /&gt;
* '''M''' keyed, though '''M'''+'''B''' keyed devices will work too&lt;br /&gt;
* Maximum length for M.2 card is 80mm (M.2 2280). The following sizes will also work: 2230, 2242, 2260&lt;br /&gt;
* Power: 2.5&amp;amp;nbsp;W continuous, 8.25&amp;amp;nbsp;W peak momentary&lt;br /&gt;
* Does not support SATA M.2 cards&lt;br /&gt;
* Does not support USB M.2 cards&lt;br /&gt;
&lt;br /&gt;
== Pinebook Pro Schematics and Certifications ==&lt;br /&gt;
* Pinebook Pro Main Board Schematic And Silkscreen:&lt;br /&gt;
** [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_mainboard_schematic.pdf Pinebook Pro Main Board ver 2.1 Schematic]&lt;br /&gt;
** [https://wiki.pine64.org/images/3/30/Pinebookpro-v2.1-top-ref.pdf Pinebook Pro ver 2.1 Top Layer Silkscreen]&lt;br /&gt;
** [https://wiki.pine64.org/images/b/b7/Pinebookpro-v2.1-bottom-ref.pdf Pinebook Pro ver 2.1 Bottom Layer Silkscreen]&lt;br /&gt;
* Pinebook Pro Daughter Board Schematic:&lt;br /&gt;
** [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_daughterboard_schematic.pdf Pinebook Pro Daughter Board ver 2.1 Schematic]&lt;br /&gt;
* Optional Pinebook Pro NVMe Adapter Schematic:&lt;br /&gt;
** [https://files.pine64.org/doc/PinebookPro/pinebookpro_v2.1_NVMe-adapter_schematic.pdf Pinebook Pro NVMe Adapter Board ver 2.1 Schematic]&lt;br /&gt;
* Serial Console Earphone Jack Pinout:&lt;br /&gt;
** [https://files.pine64.org/doc/pinebook/guide/Pinebook_Earphone_Serial_Console_Developer_Guide.pdf Pinebook Serial Console Earphone Jack Pinout]&lt;br /&gt;
* Pinebook Pro Case:&lt;br /&gt;
** [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.pdf AutoCAD PDF File ]&lt;br /&gt;
** [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.ai AutoCAD AI File ]&lt;br /&gt;
** [https://files.pine64.org/doc/PinebookPro/drawings/Pinebook%20Pro%20Principle%20Views.dwg AutoCAD DWG File ]&lt;br /&gt;
* Pinebook Pro Certifications:&lt;br /&gt;
** [https://files.pine64.org/doc/cert/Pinebook%20Pro%20FCC%20Certificate-S19071103501001.pdf Pinebook Pro FCC Certificate]&lt;br /&gt;
** [https://files.pine64.org/doc/cert/Pinebook%20Pro%20CE%20RED%20Certificate-S19051404304.pdf Pinebook Pro CE Certificate]&lt;br /&gt;
** [https://files.pine64.org/doc/cert/Pinebook%20Pro%20ROHS%20Compliance%20Certificate.pdf Pinebook Pro RoHS Certificate]&lt;br /&gt;
&lt;br /&gt;
== Datasheets for Components and Peripherals ==&lt;br /&gt;
* Rockchip RK3399 SoC information:&lt;br /&gt;
** [https://www.rock-chips.com/a/en/products/RK33_Series/2016/0419/758.html Rockchip RK3399 SoC Brief]&lt;br /&gt;
** [https://opensource.rock-chips.com/images/d/d7/Rockchip_RK3399_Datasheet_V2.1-20200323.pdf Rockchip RK3399 Datasheet v2.1]&lt;br /&gt;
** [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.4%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.4, part 1]&lt;br /&gt;
** [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part1.pdf Rockchip RK3399 Technical Reference Manual v1.3, part 1] and [https://www.rockchip.fr/Rockchip%20RK3399%20TRM%20V1.3%20Part2.pdf part 2]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/rockpro64/RK808%20datasheet%20V0.8.pdf Rockchip RK808 Datasheet v0.8]&lt;br /&gt;
* LPDDR4 SDRAM (366-pin BGA):&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/PinebookPro/micron%20SM512M64Z01MD4BNK-053FT%20LPDDR4%20(366Ball).pdf Micron 366 balls Mobile LPDDR4 Datasheet]&lt;br /&gt;
* eMMC information:&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/PINE64_eMMC_Module_20170719.pdf PINE64 eMMC module schematic]&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/usb%20emmc%20module%20adapter%20v2.pdf PINE64 USB adapter for eMMC module V2 schematic]&lt;br /&gt;
** [https://files.pine64.org/doc/rock64/USB%20adapter%20for%20eMMC%20module%20PCB.tar PINE64 USB adapter for eMMC module PCB in JPEG]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/SDINADF4-16-128GB-H%20data%20sheet%20v1.13.pdf 64GB/128GB SanDisk eMMC Datasheet]&lt;br /&gt;
* SPI NOR Flash information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pine64/w25q128jv%20spi%20revc%2011162016.pdf WinBond 128Mb SPI Flash Datasheet]&lt;br /&gt;
** [https://wiki.pine64.org/images/b/b9/Ds-00220-gd25q127c-rev1-df2f4.pdf GigaDevice 128Mb SPI Flash Datasheet (updated)]&lt;br /&gt;
* Wireless and Bluetooth information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/PinebookPro/AP6256%20datasheet_V1.7_12282018.pdf AMPAK AP6256 11AC Wi-Fi + Bluetooth5 Datasheet]&lt;br /&gt;
* Audio codec:&lt;br /&gt;
** [http://www.everest-semi.com/pdf/ES8316%20PB.pdf Everest ES8316 Audio Codec Datasheet]&lt;br /&gt;
* LCD panel:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/PinebookPro/NV140FHM-N49_Rev.P0_20160804_201710235838.pdf 14&amp;quot; 1920x1080 IPS LCD Panel datasheet]&lt;br /&gt;
* USB-related information:&lt;br /&gt;
** Internal USB 2.0 hub: [https://wiki.pine64.org/images/3/39/GL850G_USB_Hub_1.07.pdf GL850G USB Hub Datasheet]&lt;br /&gt;
** USB Type-C Controller: [https://www.onsemi.com/pub/Collateral/FUSB302-D.PDF ON Semiconductor FUSB302 Datasheet]&lt;br /&gt;
* Touchpad information:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/PinebookPro/YX%20HK-9562%20HID%20I2C%20Specification.pdf PineBook Pro Touchpad Specification]&lt;br /&gt;
* Keyboard information:&lt;br /&gt;
** [https://wiki.pine64.org/images/b/b0/SH68F83V2.0.pdf Sinowealth SH68F83 Datasheet]&lt;br /&gt;
** US ANSI: XK-HS002 MB27716023&lt;br /&gt;
* Full HD camera sensor:&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/PinebookPro/HK-2145-263.pdf Full HD Camera module specification (in Chinese)]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/PinebookPro/GC2145%20CSP%20DataSheet%20release%20V1.0_20131201.pdf GalaxyCore GC2145 Full HD Camera Sensor Datasheet]&lt;br /&gt;
* Battery-related information:&lt;br /&gt;
** Battery charging IC: [https://www.ti.com/lit/ds/symlink/bq24171.pdf?ts=1607068456825&amp;amp;ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FBQ24171 Texas Instruments BQ24171 Datasheet]&lt;br /&gt;
** Battery monitoring IC: [https://cdn.datasheetspdf.com/pdf-down/C/W/2/CW2015-Cellwise.pdf Cellwise CW2015 Datasheet]&lt;br /&gt;
** [https://files.pine64.org/doc/datasheet/pinebook/40110175P%203.8V%2010000mAh规格书-14.pdf 10000mAH Lithium Battery Specification]&lt;br /&gt;
* Power path device:&lt;br /&gt;
** [https://wiki.pine64.org/images/9/99/Sis412dn.pdf N-MOS / MOSFET]&lt;br /&gt;
* NVMe adapter:&lt;br /&gt;
** [https://wiki.pine64.org/images/d/d0/Hirose-FH26W-35S-0.3SHW%2860%29-datasheet.pdf FH26-35S-0.3SHW flat flex connector (compatible, not OEM)]&lt;br /&gt;
&lt;br /&gt;
== Versions ==&lt;br /&gt;
Pinebook Pro v1 and v2 were prototype models that did not make it to the public. The &amp;quot;first batch&amp;quot; (First 100 forum preorders) onward are v2.1. [https://forum.pine64.org/showthread.php?tid=8111]&lt;br /&gt;
&lt;br /&gt;
=Skinning and Case Customization=&lt;br /&gt;
* Template files for creating custom skins. Each includes template layers for art placement, and CUT lines.&lt;br /&gt;
**[https://drive.google.com/open?id=1UKFlC53DO0GJm3Hz1E_669n_HhI45e4n Case Lid Template]&lt;br /&gt;
**[https://drive.google.com/open?id=1Q6bKGarMDhvWz3HdGvhL5qDhyHb546ve Case Bottom Template]&lt;br /&gt;
**[https://drive.google.com/open?id=1ugI74ygNJ3EN5jXks5jKvdpEAoxIzHo4 Case Palmrest Template]&lt;br /&gt;
&lt;br /&gt;
= Other Resources =&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=111 Pinebook Pro Forum]&lt;br /&gt;
* [https://forum.pine64.org/forumdisplay.php?fid=98 ROCKPro64 Forum]&lt;br /&gt;
* [https://riot.im/app/#/room/#pinebook:matrix.org Matrix Channel] (no login required to read)&lt;br /&gt;
* IRC Server: irc.pine64.org Channel: PineBook&lt;br /&gt;
* [https://discordapp.com/channels/463237927984693259/622348681538043924 Discord Channel]&lt;br /&gt;
* [https://github.com/rockchip-linux Rockchip Linux GitHub Repo]&lt;br /&gt;
* [https://opensource.rock-chips.com/ Rockchip Open Source Wiki]&lt;br /&gt;
* [[Pinebook Pro/Freepascal and Lazarus IDE on Manjaro|Freepascal and Lazarus IDE on Pinebook Pro]]&lt;br /&gt;
&lt;br /&gt;
[[Category:PineBook Pro]]&lt;br /&gt;
[[Category:Rockchip RK3399]]&lt;/div&gt;</summary>
		<author><name>Mrfixit2001</name></author>
	</entry>
</feed>