Difference between revisions of "PineTab2 FAQ"
(backlink, +cat) |
(Please no html code, the wiki is not a website) |
||
(9 intermediate revisions by 4 users not shown) | |||
Line 15: | Line 15: | ||
Insert a supported WIFI dongle in the upper USB port, using a USB-C to USB-A adapter as necessary. As a general rule, single state adapters are recommended. Even better, select one from this list: https://github.com/morrownr/USB-WiFi/blob/main/home/The_Short_List.md | Insert a supported WIFI dongle in the upper USB port, using a USB-C to USB-A adapter as necessary. As a general rule, single state adapters are recommended. Even better, select one from this list: https://github.com/morrownr/USB-WiFi/blob/main/home/The_Short_List.md | ||
If you must use a multi-state adapter and it isn't recognized by the kernel, you can try ejecting the device. | If you must use a multi-state adapter and it isn't recognized by the kernel, you can try ejecting the device. This ''should'' force it back into adapter mode. If this does not work, you can try installing [https://man.archlinux.org/man/usb_modeswitch.1.en usb_modeswitch] to troubleshoot. You will need to temporarily use another method to get internet (such as phone tethering below) or load the package on an SD card to install it. | ||
==== Performing USB Tethering with an Android Phone ==== | ==== Performing USB Tethering with an Android Phone ==== | ||
Line 47: | Line 47: | ||
# Use an Lightning (Apple) to USB-C (Pinetab2) cable to connect the devices. | # Use an Lightning (Apple) to USB-C (Pinetab2) cable to connect the devices. | ||
# In the Pinetab make sure to use the USB-C port next to the volume keys. | # In the Pinetab make sure to use the USB-C port next to the volume keys. | ||
# Once the cable is connected open your iPhone. | # Once the cable is connected open your iPhone. | ||
# You will see a request to trust the new device. Trust it. | # You will see a request to trust the new device. Trust it. | ||
# Confirm by typing in your Apple Device PIN | # Confirm by typing in your Apple Device PIN | ||
Line 64: | Line 64: | ||
* A KaiOS phone | * A KaiOS phone | ||
* A USB OTG adapter | * A USB OTG adapter | ||
* Your device’s charging cable | * Your device’s charging cable | ||
* Some knowledge of your KaiOS phone | * Some knowledge of your KaiOS phone | ||
Line 83: | Line 83: | ||
* To enable auto-rotation, install the iio-sensor-proxy package: <code>sudo pacman -S iio-sensor-proxy</code> and reboot. | * To enable auto-rotation, install the iio-sensor-proxy package: <code>sudo pacman -S iio-sensor-proxy</code> and reboot. | ||
* Some desktop environments, such as KDE, default to only allowing screen rotation while in tablet mode (detached from the case.) | * Some desktop environments, such as KDE, default to only allowing screen rotation while in tablet mode (detached from the case.) To enable it with the keyboard attached, go to System Settings-->Display and Monitor -> Display Configuration -> Uncheck "Only when in tablet mode" and click "Apply." | ||
==== Rotating the Login Screen ==== | ==== Rotating the Login Screen ==== | ||
Login screen orientation is handled by your operating system. | Login screen orientation is handled by your operating system. Below are the instructions for the SDDM login screen that ships with the factory image: | ||
By default, the login screen is set to display in portrait mode. | By default, the login screen is set to display in portrait mode. If you wish to change it to landscape mode to match the keyboard while in the case, use the following steps ([https://forum.pine64.org/showthread.php?tid=18313 Credit to chzbacon]) : | ||
* Install necessary software: <code>sudo pacman -S xorg-xrandr xorg-xinput</code> | * Install necessary software: <code>sudo pacman -S xorg-xrandr xorg-xinput</code> | ||
* Edit /usr/share/sddm/scripts/Xsetup. | * Edit /usr/share/sddm/scripts/Xsetup. For example, using nano: <code>sudo nano /usr/share/sddm/scripts/Xsetup</code> and add the following two lines to the end of file: | ||
** <code>xrandr --output DSI-1 --mode 800x1280 --rate 60.00 --rotate right</code> | ** <code>xrandr --output DSI-1 --mode 800x1280 --rate 60.00 --rotate right</code> | ||
** <code>xinput set-prop "pointer:Goodix Capacitive TouchScreen" --type=float "Coordinate Transformation Matrix" 0 1 0 -1 0 1 0 0 1</code> | ** <code>xinput set-prop "pointer:Goodix Capacitive TouchScreen" --type=float "Coordinate Transformation Matrix" 0 1 0 -1 0 1 0 0 1</code> | ||
Line 97: | Line 97: | ||
** <code>[X11]</code> | ** <code>[X11]</code> | ||
** <code>DisplayCommand=/usr/share/sddm/scripts/Xsetup</code> | ** <code>DisplayCommand=/usr/share/sddm/scripts/Xsetup</code> | ||
*Reboot, and your login screen should now display in landscape mode. | * Reboot, and your login screen should now display in landscape mode. | ||
== Frequently Asked Questions == | == Frequently Asked Questions == | ||
Line 110: | Line 110: | ||
==== I am a casual user with minimal Linux experience. Is this device for me? ==== | ==== I am a casual user with minimal Linux experience. Is this device for me? ==== | ||
The PineTab 2 is considered early release at this point, and the community is expected to develop support for it over time. For example, the [[PineTab2#Known_Issues]] page details several features that are not yet fully working. You may at times need to troubleshoot this device and some development experience is ideal if you want to realize the tablet's full potential at this stage. | The PineTab 2 is considered early release at this point, and the community is expected to develop support for it over time. For example, the [[PineTab2#Known_Issues]] page details several features that are not yet fully working. You may at times need to troubleshoot this device and some development experience is ideal if you want to realize the tablet's full potential at this stage. | ||
For these reasons, the PineTab2 may not be the ideal device for casual users. However, if you feel up to the challenge and want to learn while joining a great community, you are more than welcome! Please join one of our [[Main_Page#Chat_Platforms|chat platforms]]: the community is always happy to help! | For these reasons, the PineTab2 may not be the ideal device for casual users. However, if you feel up to the challenge and want to learn while joining a great community, you are more than welcome! Please join one of our [[Main_Page#Chat_Platforms|chat platforms]]: the community is always happy to help! | ||
Line 119: | Line 119: | ||
==== I only know Python, can I help with drivers? ==== | ==== I only know Python, can I help with drivers? ==== | ||
Drivers are (at least typically) written in the C programming language. Unfortunately, there is no way to "code drivers in Python" because usually drivers need to access and process memory allocation directly. If you feel like this is interesting to you, we suggest you to spend some time learning the C programming language, maybe with an emphasis in device driver development. The good news is that, since you already know a programming language, you already know part of the skill. | |||
In short, you can only help with drivers development if you learn the C programming language first. | |||
=== Hardware === | === Hardware === | ||
Line 131: | Line 133: | ||
=== Software === | === Software === | ||
==== What operating systems are currently available? ==== | ==== What operating systems are currently available? ==== | ||
The PineTab2 uses ARM operating systems. | The PineTab2 uses ARM operating systems. Please see [[PineTab2 Releases]] for a current list of software releases. | ||
==== How can I install an operating system on the SD card / eMMC? ==== | ==== How can I install an operating system on the SD card / eMMC? ==== | ||
See [[ | See the article [[PineTab2]]. | ||
==== Can I run Android on it? ==== | ==== Can I run Android on it? ==== | ||
Theoretically yes, practically there's little chance anyone wants to make a well-supported Android build for this device. If you're looking for an Android tablet, buy any mainstream tablet, you'll get better value for your money. | |||
Theoretically yes, practically there's little chance anyone wants to make a well-supported Android build for this device. If you're looking for an Android tablet, buy any mainstream tablet, and you'll get better value for your money. | |||
However, if you just need to run a few simple android apps, you might want to have a look at [https://docs.waydro.id/usage/install-on-desktops Waydroid] which can be installed on Arch Linux ARM using the following command: <code>sudo pacman -S waydroid</code> | However, if you just need to run a few simple android apps, you might want to have a look at [https://docs.waydro.id/usage/install-on-desktops Waydroid] which can be installed on Arch Linux ARM using the following command: <code>sudo pacman -S waydroid</code> | ||
Line 145: | Line 148: | ||
==== What's the boot order for SD cards and eMMC? ==== | ==== What's the boot order for SD cards and eMMC? ==== | ||
The SPI and the internal memory (eMMC) have a higher boot priority than the microSD card. | |||
The SPI and the internal memory (eMMC) have a higher boot priority than the microSD card. Please see the [[PineTab2]] for more detailed information. | |||
==== Can I install a different OS on my PineTab2? ==== | ==== Can I install a different OS on my PineTab2? ==== | ||
Yes! While all PineTab2 come with an OS preinstalled, you are free to use any OS on the integrated storage (the eMMC) or an SD card. | Yes! While all PineTab2 come with an OS preinstalled, you are free to use any OS on the integrated storage (the eMMC) or an SD card. See [[PineTab2]] and [[PineTab2 Releases]] for how to install them. | ||
=== Bluetooth === | === Bluetooth === | ||
==== The Bluetooth isn't working ==== | ==== The Bluetooth isn't working ==== | ||
The BES2600 Bluetooth driver still needs to be implemented. Please see the [[#Networking Using USB]] section above for a workaround. | The BES2600 Bluetooth driver still needs to be implemented. Please see the [[#Networking Using USB]] section above for a workaround. | ||
Line 164: | Line 169: | ||
==== Can PineTab2 play back DRM content such as Netflix? ==== | ==== Can PineTab2 play back DRM content such as Netflix? ==== | ||
Yes. Procedure below was confirmed to get working Disney+, Amazon Prime and Netflix, as of 2023-12-14. | |||
1 '''Install [https://aur.archlinux.org/packages/glibc-widevine glibc-widevine] from AUR.''' | |||
This adds the necessary bits that are missing from glibc versions below 2.36. It's available in AUR, so you can follow the standard installation process for any AUR package. E.g. <code>yay -S glibc-widevine</code> if you use <code>yay</code>. During installation it says it conflicts with, and will replace, glibc. That's OK, as expected. | |||
Doing this explicitly is no longer actually necessary, as installing [https://aur.archlinux.org/packages/widevine widevine] should automatically install <code>glibc-widevine</code> too. | |||
2. '''Install [https://aur.archlinux.org/packages/widevine widevine] from AUR.''' | |||
It automatically registers the libraries with Firefox and Chromium. After first installation, you will need to log out and back in. It might also be required to restart the browser up to 2 times before the widevine library is fully recognized and registered. | |||
3. '''Test.''' | |||
At this point, playing some DRM content should already work. It is best to test https://bitmovin.com/demos/drm . Disney+ and Amazon Prime also should already work fine. | |||
4. '''User agent spoofing for Netflix.''' | |||
For Netflix, you will need an extra step -- spoof the user agent, i.e. pretend you're using a different device. For some reason, Netflix doesn't tolerate "WWW browser on Linux on 64-bit Arm" which you use. You can use various Firefox or Chromium extensions to change the user agent, like like [https://addons.mozilla.org/en-US/firefox/addon/user-agent-string-switcher/ User-Agent Switcher and Manager for Firefox]. You have to pretend to be a user agent coming from ChromeOS, so it matches the ARM architecture (choosing a popular user agent like Windows on x86_64 will not work). You can peek at sample user agent strings on https://user-agents.net/platforms/chromeos/user-agents . | |||
User agent confirmed to work on 2023-12-11: | |||
Mozilla/5.0 (X11; CrOS x86_64 14541.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 | |||
In the preferences of the extension (for Firefox or Chromium) you should be able to define a new entry to pretend you're using ''ChromeOS'' with the user agent string as above. Double-check you changed the user agent correctly by visiting e.g. [https://duckduckgo.com/?q=my+user+agent&t=ffab&ia=answer DuckDuckGo answer for "my user agent"]. | |||
Once this is set up correctly, Netflix should work. | |||
When you're confident Netflix works, you can change the "user agent spoofing" extension preferences to only change the user agent for the <code>*.netflix.com</code> domains. Otherwise you are pretending for all sites that you come from ''ChromeOS'' -- which is unnecessary (albeit harmless). | |||
'''Notes:''' | |||
* https://aur.archlinux.org/packages/glibc-widevine has version 2.35 . And that is OK, despite e.g. https://github.com/AsahiLinux/widevine-installer saying that ''"Using Widevine requires glibc version 2.36 or later."'' . The https://aur.archlinux.org/packages/glibc-widevine adds the necessary glibc RELRO bits and that's enough for widevine to work. | |||
* In case you have <code>mobile-config-firefox</code> installed, it may cause issues according to https://forum.pine64.org/showthread.php?tid=18933&pid=120956#pid120956 . Check do you have it by a command like <code>sudo pacman -Qi mobile-config-firefox</code>. Remove it by a command like <code>sudo pacman -R mobile-config-firefox</code>. | |||
[[Category:Rockchip RK3566]] | [[Category:Rockchip RK3566]] |
Latest revision as of 21:10, 15 December 2023
This is a collection of tutorials and frequently asked questions for the PineTab2.
Tutorials
Putting the Device into Maskrom Mode
To recover from a bad eMMC/SPI flash, plug the included debug adapter into the charging USB-C port and switch the white switch to its "ON" position to bypass eMMC/SPI boot. This tries to boot from SD, and if no SD is inserted, enters Maskrom mode.
Networking using USB
Until the internal BES2600 WIFI has a stable driver, the community suggests that you connect using USB. This section summarizes the more detailed information in File:PineTab2 USB Guide.pdf, which covers connecting via a tethered Android phone, a suitable USB WIFI adapter, a wired USB Ethernet adapter, and a tethered iOS device.
Selecting a USB WIFI Adapter
Insert a supported WIFI dongle in the upper USB port, using a USB-C to USB-A adapter as necessary. As a general rule, single state adapters are recommended. Even better, select one from this list: https://github.com/morrownr/USB-WiFi/blob/main/home/The_Short_List.md
If you must use a multi-state adapter and it isn't recognized by the kernel, you can try ejecting the device. This should force it back into adapter mode. If this does not work, you can try installing usb_modeswitch to troubleshoot. You will need to temporarily use another method to get internet (such as phone tethering below) or load the package on an SD card to install it.
Performing USB Tethering with an Android Phone
This guide simply describes HOW to undertake this option. The user is responsible for ensuring that their wireless plan permits such use, and for any fees incurred.
You can use an Android phone as a network adapter.
You'll need:
- An Android phone
- A USB OTG adapter (or the USB-C to USB-C cable)
- Some knowledge of your variation of Android
Do the following in order:
- Plug in the device to the PineTab2 using the USB cable and a USB OTG adapter
- On your android phone, open the settings app (specifics from here may vary on version)
- Navigate to "Network & Internet"
- Navigate to "Hotspot & Tethering"
- Tap on "USB Tethering"
You should now see a new network interface on the PineTab2.
Performing USB Tethering with an iPhone
Prerequisite:
On the iPhone make sure that Settings -> Personal Hotspot -> Allow others to join is turned on.
- Use an Lightning (Apple) to USB-C (Pinetab2) cable to connect the devices.
- In the Pinetab make sure to use the USB-C port next to the volume keys.
- Once the cable is connected open your iPhone.
- You will see a request to trust the new device. Trust it.
- Confirm by typing in your Apple Device PIN
This should be it. The Pinetab2 will show you the new device and the network connects to `Wired connection 1`
Make sure to open the iPhone once you reconnect.
Performing USB Tethering with a KaiOS phone
This guide simply describes HOW to undertake this option. The user is responsible for ensuring that their wireless plan permits such use, and for any fees incurred.
You can use a KaiOS phone for mobile Internet use with your PineTab2.
You'll need:
- A KaiOS phone
- A USB OTG adapter
- Your device’s charging cable
- Some knowledge of your KaiOS phone
Do the following in order:
- Plug the device into the PineTab2 using the USB cable and a USB OTG adapter
- On your KaiOS phone, open settings (specifics from here may vary on version)
- Navigate to "Network & Connectivity"
- Navigate to "Internet Sharing"
- Select "USB" and select On under USB tethering (Note: This option will be greyed out unless connected to the PineTab2)
You should now see a new network interface on the PineTab2 and it should show a wired connection icon.
Screen Rotation
Auto-rotating the Screen
Auto-rotation is handled by your operating system. However, the following general steps should work on distributions that support iio-sensor-proxy:
- To enable auto-rotation, install the iio-sensor-proxy package:
sudo pacman -S iio-sensor-proxy
and reboot. - Some desktop environments, such as KDE, default to only allowing screen rotation while in tablet mode (detached from the case.) To enable it with the keyboard attached, go to System Settings-->Display and Monitor -> Display Configuration -> Uncheck "Only when in tablet mode" and click "Apply."
Rotating the Login Screen
Login screen orientation is handled by your operating system. Below are the instructions for the SDDM login screen that ships with the factory image:
By default, the login screen is set to display in portrait mode. If you wish to change it to landscape mode to match the keyboard while in the case, use the following steps (Credit to chzbacon) :
- Install necessary software:
sudo pacman -S xorg-xrandr xorg-xinput
- Edit /usr/share/sddm/scripts/Xsetup. For example, using nano:
sudo nano /usr/share/sddm/scripts/Xsetup
and add the following two lines to the end of file:xrandr --output DSI-1 --mode 800x1280 --rate 60.00 --rotate right
xinput set-prop "pointer:Goodix Capacitive TouchScreen" --type=float "Coordinate Transformation Matrix" 0 1 0 -1 0 1 0 0 1
- Now edit /etc/sddm.conf.d/sddm.conf, for example:
sudo nano /etc/sddm.conf.d/sddm.conf
and add the following two lines (case sensitive):[X11]
DisplayCommand=/usr/share/sddm/scripts/Xsetup
- Reboot, and your login screen should now display in landscape mode.
Frequently Asked Questions
General
How does the PineTab2 compare to the Pinebook Pro?
It's slower, as it is intended to be a successor to the PineTab1, not the Pinebook Pro. It'll still handle web browsing, video playback and documents fine though.
What is the Performance of the PineTab2 compared to the PineTab-V?
The PineTab2 is notably faster than the PineTab-V. You can see this by comparing the Quartz64 sbc-bench results to the Star64 ones. Performance should not be a factor of consideration when purchasing a PineTab-V.
I am a casual user with minimal Linux experience. Is this device for me?
The PineTab 2 is considered early release at this point, and the community is expected to develop support for it over time. For example, the PineTab2#Known_Issues page details several features that are not yet fully working. You may at times need to troubleshoot this device and some development experience is ideal if you want to realize the tablet's full potential at this stage.
For these reasons, the PineTab2 may not be the ideal device for casual users. However, if you feel up to the challenge and want to learn while joining a great community, you are more than welcome! Please join one of our chat platforms: the community is always happy to help!
What works, what doesn't?
Please see PineTab2#Known_Issues.
I only know Python, can I help with drivers?
Drivers are (at least typically) written in the C programming language. Unfortunately, there is no way to "code drivers in Python" because usually drivers need to access and process memory allocation directly. If you feel like this is interesting to you, we suggest you to spend some time learning the C programming language, maybe with an emphasis in device driver development. The good news is that, since you already know a programming language, you already know part of the skill.
In short, you can only help with drivers development if you learn the C programming language first.
Hardware
Does the Tablet support a Pen?
No, adding a digitiser for pen inputs would make the price too high.
Is there SPI Flash?
Yes! A 128 Mbit flash chip (sk25lp128) is reportedly present on production devices.
Software
What operating systems are currently available?
The PineTab2 uses ARM operating systems. Please see PineTab2 Releases for a current list of software releases.
How can I install an operating system on the SD card / eMMC?
See the article PineTab2.
Can I run Android on it?
Theoretically yes, practically there's little chance anyone wants to make a well-supported Android build for this device. If you're looking for an Android tablet, buy any mainstream tablet, and you'll get better value for your money.
However, if you just need to run a few simple android apps, you might want to have a look at Waydroid which can be installed on Arch Linux ARM using the following command: sudo pacman -S waydroid
Booting
What's the boot order for SD cards and eMMC?
The SPI and the internal memory (eMMC) have a higher boot priority than the microSD card. Please see the PineTab2 for more detailed information.
Can I install a different OS on my PineTab2?
Yes! While all PineTab2 come with an OS preinstalled, you are free to use any OS on the integrated storage (the eMMC) or an SD card. See PineTab2 and PineTab2 Releases for how to install them.
Bluetooth
The Bluetooth isn't working
The BES2600 Bluetooth driver still needs to be implemented. Please see the #Networking Using USB section above for a workaround.
Wi-Fi
The Wi-Fi isn't working
The BES2600 Wi-Fi driver needs major cleanup and bugfixing: at the moment it causes system crashes. Please see the #Networking Using USB section above for a workaround.
Video
Can PineTab2 play back DRM content such as Netflix?
Yes. Procedure below was confirmed to get working Disney+, Amazon Prime and Netflix, as of 2023-12-14.
1 Install glibc-widevine from AUR.
This adds the necessary bits that are missing from glibc versions below 2.36. It's available in AUR, so you can follow the standard installation process for any AUR package. E.g. yay -S glibc-widevine
if you use yay
. During installation it says it conflicts with, and will replace, glibc. That's OK, as expected.
Doing this explicitly is no longer actually necessary, as installing widevine should automatically install glibc-widevine
too.
2. Install widevine from AUR.
It automatically registers the libraries with Firefox and Chromium. After first installation, you will need to log out and back in. It might also be required to restart the browser up to 2 times before the widevine library is fully recognized and registered.
3. Test.
At this point, playing some DRM content should already work. It is best to test https://bitmovin.com/demos/drm . Disney+ and Amazon Prime also should already work fine.
4. User agent spoofing for Netflix.
For Netflix, you will need an extra step -- spoof the user agent, i.e. pretend you're using a different device. For some reason, Netflix doesn't tolerate "WWW browser on Linux on 64-bit Arm" which you use. You can use various Firefox or Chromium extensions to change the user agent, like like User-Agent Switcher and Manager for Firefox. You have to pretend to be a user agent coming from ChromeOS, so it matches the ARM architecture (choosing a popular user agent like Windows on x86_64 will not work). You can peek at sample user agent strings on https://user-agents.net/platforms/chromeos/user-agents .
User agent confirmed to work on 2023-12-11:
Mozilla/5.0 (X11; CrOS x86_64 14541.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36
In the preferences of the extension (for Firefox or Chromium) you should be able to define a new entry to pretend you're using ChromeOS with the user agent string as above. Double-check you changed the user agent correctly by visiting e.g. DuckDuckGo answer for "my user agent".
Once this is set up correctly, Netflix should work.
When you're confident Netflix works, you can change the "user agent spoofing" extension preferences to only change the user agent for the *.netflix.com
domains. Otherwise you are pretending for all sites that you come from ChromeOS -- which is unnecessary (albeit harmless).
Notes:
- https://aur.archlinux.org/packages/glibc-widevine has version 2.35 . And that is OK, despite e.g. https://github.com/AsahiLinux/widevine-installer saying that "Using Widevine requires glibc version 2.36 or later." . The https://aur.archlinux.org/packages/glibc-widevine adds the necessary glibc RELRO bits and that's enough for widevine to work.
- In case you have
mobile-config-firefox
installed, it may cause issues according to https://forum.pine64.org/showthread.php?tid=18933&pid=120956#pid120956 . Check do you have it by a command likesudo pacman -Qi mobile-config-firefox
. Remove it by a command likesudo pacman -R mobile-config-firefox
.