{"id":4633,"date":"2023-12-13T18:22:20","date_gmt":"2023-12-13T18:22:20","guid":{"rendered":"https:\/\/castle-engine.io\/wp\/?p=4633"},"modified":"2023-12-13T00:21:51","modified_gmt":"2023-12-13T00:21:51","slug":"castle-game-engine-on-pinetab2-linux-tablet-from-pine64","status":"publish","type":"post","link":"https:\/\/castle-engine.io\/wp\/2023\/12\/13\/castle-game-engine-on-pinetab2-linux-tablet-from-pine64\/","title":{"rendered":"Castle Game Engine on PineTab2, Linux tablet from PINE64"},"content":{"rendered":"<table class=\"thumbnails thumbnails-align-right\"><tr><td>\n          <a href=\"https:\/\/castle-engine.io\/wp\/wp-content\/uploads\/2023\/12\/Screenshot_20231212_234958.png\"\n             class=\"screenshot\"\n             title=\"Castle Game Engine on PineTab2\"><img loading=\"lazy\" decoding=\"async\"\n            style=\"float: right\"\n            src=\"https:\/\/castle-engine.io\/wp\/wp-content\/uploads\/2023\/12\/Screenshot_20231212_234958-200x125.png\"\n             width=\"200\" height=\"125\" \n            alt=\"Castle Game Engine on PineTab2\"\n          ><\/a><\/td><\/tr><tr><td>\n          <a href=\"https:\/\/castle-engine.io\/wp\/wp-content\/uploads\/2023\/12\/Screenshot_20231212_235435.png\"\n             class=\"screenshot\"\n             title=\"Castle Game Engine on PineTab2 - occlusion_query example\"><img loading=\"lazy\" decoding=\"async\"\n            style=\"float: right\"\n            src=\"https:\/\/castle-engine.io\/wp\/wp-content\/uploads\/2023\/12\/Screenshot_20231212_235435-200x125.png\"\n             width=\"200\" height=\"125\" \n            alt=\"Castle Game Engine on PineTab2 - occlusion_query example\"\n          ><\/a><\/td><\/tr><tr><td>\n          <a href=\"https:\/\/castle-engine.io\/wp\/wp-content\/uploads\/2023\/12\/Screenshot_20231212_235549.png\"\n             class=\"screenshot\"\n             title=\"Castle Game Engine on PineTab2 - terrain example\"><img loading=\"lazy\" decoding=\"async\"\n            style=\"float: right\"\n            src=\"https:\/\/castle-engine.io\/wp\/wp-content\/uploads\/2023\/12\/Screenshot_20231212_235549-200x125.png\"\n             width=\"200\" height=\"125\" \n            alt=\"Castle Game Engine on PineTab2 - terrain example\"\n          ><\/a><\/td><\/tr><tr><td>\n          <a href=\"https:\/\/castle-engine.io\/wp\/wp-content\/uploads\/2023\/12\/Screenshot_20231213_001425.png\"\n             class=\"screenshot\"\n             title=\"Castle Game Engine on PineTab2 - platformer example\"><img loading=\"lazy\" decoding=\"async\"\n            style=\"float: right\"\n            src=\"https:\/\/castle-engine.io\/wp\/wp-content\/uploads\/2023\/12\/Screenshot_20231213_001425-200x125.png\"\n             width=\"200\" height=\"125\" \n            alt=\"Castle Game Engine on PineTab2 - platformer example\"\n          ><\/a><\/td><\/tr><tr><td>\n          <a href=\"https:\/\/castle-engine.io\/wp\/wp-content\/uploads\/2023\/12\/Screenshot_20231212_235802.png\"\n             class=\"screenshot\"\n             title=\"Castle Game Engine on PineTab2 - platformer example\"><img loading=\"lazy\" decoding=\"async\"\n            style=\"float: right\"\n            src=\"https:\/\/castle-engine.io\/wp\/wp-content\/uploads\/2023\/12\/Screenshot_20231212_235802-200x125.png\"\n             width=\"200\" height=\"125\" \n            alt=\"Castle Game Engine on PineTab2 - platformer example\"\n          ><\/a><\/td><\/tr><\/table>\n<p>Last week, I got my <a href=\"https:\/\/www.pine64.org\/pinetab\/\">PineTab2 tablet<\/a>, made by the <a href=\"https:\/\/www.pine64.org\/\">PINE64<\/a> community. In a way, it&#8217;s an early Christmas gift I bought for myself \ud83d\ude42 It&#8217;s a tablet running Linux on 64-bit Arm. My hope was to have something that can be a tablet (light device, can do tasks for which touchscreen input is comfortable enough, like read things and watch movies) but also can be a laptop (do e.g. coding, as it features a fully-functional Linux and a keyboard with touchpad). It took some tinkering, but I have to say my hope was fulfilled and I love it \ud83d\ude42<\/p>\n<p>It&#8217;s still a <i>low-end device<\/i>, by which I mean that it&#8217;s not very fast and when I have a choice &mdash; working on a regular modern PC \/ laptop is just faster. But it&#8217;s also not terribly slow. It is much more powerful than e.g. a Raspberry Pi 4 (e.g. <a href=\"https:\/\/github.com\/castle-engine\/castle-engine\/tree\/master\/examples\/platformer\">examples\/platformer<\/a> runs on PineTab2 with ~30 FPS, which is playable; on Raspberry Pi 4, I could run it, but it wasn&#8217;t really playable). The device is fast enough to even use <a href=\"https:\/\/kde.org\/plasma-desktop\/\">KDE Plasma by default<\/a> (Though I&#8217;m a GNOME guy, I&#8217;m bound to install there familiar GNOME 3 or XFCE at some point; but for now I enjoy KDE, it&#8217;s an interesting change for me).<\/p>\n<p>You can install there <a href=\"https:\/\/www.freepascal.org\/\">FPC<\/a>, <a href=\"https:\/\/www.lazarus-ide.org\/\">Lazarus<\/a>, <a href=\"https:\/\/castle-engine.io\/vscode\">VS Code<\/a>, and finally our <a href=\"https:\/\/castle-engine.io\/\">Castle Game Engine<\/a> and have fun making games. The default OS on PineTab2 is DanctNIX, which is <i>Arch Linux ARM<\/i>, and in practice it features most of software you would find on a regular <i>Arch Linux<\/i>, both from official packages and AUR.<\/p>\n<p>Technically, it is just Linux on a <i>64-bit Arm CPU<\/i> (known also as <i>Aarch64<\/i>).<\/p>\n<p>You can guess where this is leading: The <a href=\"https:\/\/castle-engine.io\/download\">official Linux\/Aarch64 downloads of Castle Game Engine<\/a> &#8220;just work&#8221; on PineTab2. Enjoy!<\/p>\n<p>There are no special instructions, just download, unzip and run <code>bin\/castle-editor<\/code> inside, as on other platforms. Remember to also install FPC (<em>Free Pascal Compiler<\/em>), see below<\/p>\n<h3>FPC on PineTab2<\/h3>\n<p>While you can install FPC from the packages (<code>sudo pacman -S fpc<\/code>), you may experience linking problems with FPC 3.2.2. They result in errors with messages like <code>undefined reference to<\/code>__libc_csu_init&#8217;`.<\/p>\n<p>When that happens, my advise is to install FPC 3.2.3 (from the <code>fixes_3_2<\/code> FPC branch). I am testing now on FPC 3.2.3 + Lazarus IDE from recent <code>main<\/code> branch. I used my <a href=\"https:\/\/github.com\/castle-engine\/cge-scripts\/blob\/master\/install_fpc_lazarus\">install_fpc_lazarus<\/a> script for easy setup.<\/p>\n<h3>Castle Game Engine in AUR<\/h3>\n<p>About <a href=\"https:\/\/aur.archlinux.org\/packages\/castle-engine-git\">CGE package in AUR<\/a>: While it should work in the future, first the FPC built into DanctNIX has to be upgraded (see above &#8212; FPC 3.2.2 will have problems at linking). Then we should update the <code>castle-engine-git<\/code> package to just add <code>aarch64<\/code> architecture and it will rock, allowing you to install CGE on it by just <code>yay -S castle-engine-git<\/code>.<\/p>\n<h3>Editor binaries: GTK2 or Qt5<\/h3>\n<p>The CGE editor on Lonux comes with 2 binaries since some time: <code>castle-editor<\/code> (GTK 2) and <code>castle-editor-qt5<\/code> (Qt5). To run the latter, you have to install <code>qt5pas<\/code> (<code>sudo pacman -S qt5pas<\/code>) but it does have occasional crashes, looks like some LCL Qt5 widgetset problems. I advise using <code>castle-editor<\/code> for now.<\/p>\n<h3>PinePhone, PineBook Pro<\/h3>\n<p>In theory, this support should extend as well to other PINE64 products using Arm64, like <a href=\"https:\/\/wiki.pine64.org\/index.php\/Pinebook_Pro\">Pinebook Pro<\/a> and <a href=\"https:\/\/wiki.pine64.org\/index.php\/PinePhone\">PinePhone<\/a>. They all <i>&#8220;just run Linux on Arm64&#8221;<\/i> so in principle should work.<\/p>\n<p>I&#8217;m pretty confident that it will work on <i>Pinebook Pro<\/i> without any issues. I would assume it would be just an upgraded experience compared to PineTab2 in terms of performance, but without touchscreen.<\/p>\n<p>I&#8217;m super-curious about <i>PinePhone<\/i> \ud83d\ude42 If anyone has <i>PinePhone<\/i>, and wants to test can we install FPC and CGE there, <a href=\"https:\/\/castle-engine.io\/talk.php\">let me know<\/a>. I can help if you want, e.g. we can meet online and test it together.<\/p>\n<h3>Before you buy PineTab2<\/h3>\n<p>In case this post encourages you to actually buy <a href=\"https:\/\/www.pine64.org\/pinetab\/\">PineTab2 tablet<\/a>, please take into consideration:<\/p>\n<ol>\n<li>\n<p>I am enthusiastic about this tablet, and I&#8217;m also a Linux fanboy \ud83d\ude42 I actually enjoyed testing 3 different OSes on this (DanctNIX, <a href=\"https:\/\/ubuntu-touch.io\/\">Ubuntu Touch<\/a>, <a href=\"https:\/\/rhinolinux.org\/\">Rhino Linux<\/a>) to see what works best. I enjoyed testing browsers to see what has best support for the touch screen, performance, and can <a href=\"https:\/\/wiki.pine64.org\/wiki\/PineTab2_FAQ#Can_PineTab2_play_back_DRM_content_such_as_Netflix?\">play DRM content<\/a>. I enjoyed playing with WiFi (while the laptop has a WiFi card, <em>DanctNIX<\/em> doesn&#8217;t feature a working WiFi driver, and the simplest recommendation is to use a WiFi dongle; <em>Ubuntu Touch<\/em> has a working WiFi driver, but comes with different issues around touchpad).<\/p>\n<li>\n<p>Make your own decision if you will enjoy above tinkering too \ud83d\ude42<\/p>\n<li>\n<p>See <a href=\"https:\/\/wiki.pine64.org\/wiki\/PineTab2\">PineTab2 wiki<\/a> and reviews like <a href=\"https:\/\/ivonblog.com\/en-us\/posts\/pine64-pinetab2-review\/\">Pine64 PineTab 2 unboxing and review by Ivon Huang<\/a>, <a href=\"https:\/\/ivonblog.com\/en-us\/posts\/after-3-months-of-daily-driving-pinetab-2\/\">After 3 months of daily-driving tPineTab 2, ARM Linux tablet, I love but also hate it<\/a>.<\/p>\n<li>\n<p>If you want a fast and fully-functional tablet that &#8220;just works&#8221; then a modern Android tablet or iPad may suit you better. (Though PineTab2 supports <a href=\"https:\/\/docs.waydro.id\/\">Waydroid<\/a> so you <i>can<\/i> run Android tabs, but with performance hit.) <\/p>\n<p>And if you want a fully-functional laptop that &#8220;just works&#8221;, than a regular laptop may be better \ud83d\ude42 PineTab2 wasn&#8217;t even supposed to be a laptop (for this, see <a href=\"https:\/\/wiki.pine64.org\/index.php\/Pinebook_Pro\">Pinebook Pro<\/a>). I just decided to test can it fulfill the role of a laptop, for some work, for me.\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Last week, I got my PineTab2 tablet, made by the PINE64 community. In a way, it&#8217;s an early Christmas gift I bought for myself \ud83d\ude42 It&#8217;s a tablet running Linux on 64-bit Arm. My hope was to have something that can be a tablet (light device, can do tasks for which touchscreen input is comfortable &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/castle-engine.io\/wp\/2023\/12\/13\/castle-game-engine-on-pinetab2-linux-tablet-from-pine64\/\" class=\"more-link\">Continue reading  \u27a4<span class=\"screen-reader-text\"> &#8220;Castle Game Engine on PineTab2, Linux tablet from PINE64&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":4637,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"publish_to_discourse":"1","publish_post_category":"9","wpdc_auto_publish_overridden":"","wpdc_topic_tags":"","wpdc_pin_topic":"","wpdc_pin_until":"","discourse_post_id":"3978","discourse_permalink":"https:\/\/forum.castle-engine.io\/t\/castle-game-engine-on-pinetab2-linux-tablet-from-pine64\/1026","wpdc_publishing_response":"success","wpdc_publishing_error":"","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[1],"tags":[],"class_list":["post-4633","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/castle-engine.io\/wp\/wp-content\/uploads\/2023\/12\/Screenshot_20231212_235435.png","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9IgYW-1cJ","jetpack_likes_enabled":false,"_links":{"self":[{"href":"https:\/\/castle-engine.io\/wp\/wp-json\/wp\/v2\/posts\/4633","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/castle-engine.io\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/castle-engine.io\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/castle-engine.io\/wp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/castle-engine.io\/wp\/wp-json\/wp\/v2\/comments?post=4633"}],"version-history":[{"count":13,"href":"https:\/\/castle-engine.io\/wp\/wp-json\/wp\/v2\/posts\/4633\/revisions"}],"predecessor-version":[{"id":4651,"href":"https:\/\/castle-engine.io\/wp\/wp-json\/wp\/v2\/posts\/4633\/revisions\/4651"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/castle-engine.io\/wp\/wp-json\/wp\/v2\/media\/4637"}],"wp:attachment":[{"href":"https:\/\/castle-engine.io\/wp\/wp-json\/wp\/v2\/media?parent=4633"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/castle-engine.io\/wp\/wp-json\/wp\/v2\/categories?post=4633"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/castle-engine.io\/wp\/wp-json\/wp\/v2\/tags?post=4633"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}