Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums



(Advanced Search)

Forum Statistics
» Members: 29,445
» Latest member: lnk22882
» Forum threads: 16,185
» Forum posts: 116,838

Full Statistics

Latest Threads
Experimental Mobian kerne...
Forum: PinePhone Pro Software
Last Post: teekay
52 minutes ago
» Replies: 0
» Views: 4
[Pinebook Pro/Mobian/XFCE...
Forum: Linux on Pinebook Pro
Last Post: Seraphina
6 hours ago
» Replies: 1
» Views: 945
RSS feed for the forum
Forum: General
Last Post: Seraphina
6 hours ago
» Replies: 2
» Views: 1,745
does the Joplin note taki...
Forum: PineNote Software
Last Post: Francus
6 hours ago
» Replies: 4
» Views: 1,329
PulseAudio dropouts after...
Forum: Linux on Pinebook Pro
Last Post: Dendrocalamus64
7 hours ago
» Replies: 1
» Views: 51
Any updates on Bluetooth ...
Forum: General Discussion on PineTab
Last Post: biketool
Yesterday, 06:38 AM
» Replies: 1
» Views: 52
Suggestion: For future Pi...
Forum: General
Last Post: bilaljack23
Yesterday, 04:07 AM
» Replies: 4
» Views: 4,605
Keyboard availability?
Forum: PinePhone Pro Accessories
Last Post: Peter Gamma
08-04-2025, 08:37 PM
» Replies: 9
» Views: 1,104
google will take control ...
Forum: General
Last Post: bilaljack23
08-04-2025, 04:57 AM
» Replies: 22
» Views: 8,576
PINETAB-V doesn't boot.
Forum: Getting Started
Last Post: FEC
08-04-2025, 03:38 AM
» Replies: 0
» Views: 39

 
  How to convert your pinephone to a palmtop now that you have the clamshell keyboard
Posted by: rotwang - 02-26-2022, 04:30 PM - Forum: Manjaro on PinePhone - Replies (3)

For me, and probably for a small minority of other Pinephone users out there, the arrival of the clamshell keyboard allowed me to convert my Pinephone into the thing I had been dreaming about for years: a tiny palmtop computer. However some googling on how to do this was not super helpful. So I'm writing up what I figured out, both as an archive of my process and maybe to help others who want to do this get past sticky points.

There's two big categories of what I tried: First, I experimented with using Plasma Mobile as a desktop, but turned on its side to landscape by default. This worked more or less fine, but I soon got the hankering for being able to have multiple windows open on a screen, and being able to alt-tab between applications. (Why doesn't that work on Plasma Mobile? Seems like there's no reason it shouldn't! But it didn't.) So after a week of using Plasma Mobile in landscape mode, I installed Awesome windows manager and never looked back.

I really want to spend more time using and less time configuring, so while I _could_ do this on Arch or some other more experimental Pinephone OS, I really wanted to make everything work on default Manjaro. Thankfully this turned out to not be too difficult.

So first up: configurations to Plasma Mobile to make it more like a desktop now that you've got the clamshell keyboard going (this stuff is pretty basic, but I had trouble finding it):

  1. Landscape mode: Just use the settings to turn on auto-rotate and roll the screen to landscape mode. I found it annoying to auto-rotate so once it was in landscape I turned auto-rotate off.

  2. The most important thing is to disable the soft keyboard. This is done by adding the keyboard control widget to the desktop and then disabling the soft keyboard, see:
    https://forum.pine64.org/showthread.php?...#pid105077
    (I wish I had seen this post. I had to figure it out for myself. Tip: if you haven't seen the Pine64 wiki page on the keyboard it is full of useful information:
    https://wiki.pine64.org/wiki/PinePhone_(Pro)_Keyboard
    ...And surprisingly difficult to google.)

  3. That's pretty much it for Plasma Mobile. Because poking and swiping sucks, I recommend just getting used to using the keyboard shortcuts for your software, but those are all the same as shortcuts you've probably been using for your full-sized laptop/desktop for years. With the soft keyboard disabled the Plasma Mobile Terminal works nicely. Install a terminal-based text editor and start writing or coding! Firefox rocks as a browser, particularly if you install the Vim Vixen extension and go to an all-keyboard interaction with your browser.

But... if you're like me you quickly realize you want a terminal open next to a browser, or something like that. Time to throw off Plasma Mobile and get a full-blown Linux desktop running!

How to get Awesome windows manager (and probably you can generalize to a bunch of other windows managers) on your Pinephone with clamshell keyboard:

  1. Install Awesome or any other windows manager you want to run with pacman. Nothing fancy here, you should already know how to do this as part of basic system maintenance and management. I didn't try IceWM or any other more conventional windows manager. I don't see any reason why you can't run whatever you like most. I would suggest though that a tiling windows manager like Awesome or DWM where everything can be controlled by keyboard shortcuts will be more useful. Poking tiny menus on the Pinephone touchscreen isn't super easy. I'd also suggest that -- at least with regular Pinephone -- keeping your windows manager lightweight is going to help.

  2. Now to launch the windows manager you want to use you need to change the display/login manager. The factory-installed setup on the Pinephone is sddm (KDE's display manager) which kicks you automatically into Plasma-mobile windows manager. (All running on top of Manjaro Linux of course.) The sweetest thing would be if sddm let you choose which windows manager you wanted to use on login. This is how most Linux desktops are set up. So normally all you have to do is install the windows manager you want (mine = Awesome as I said) and then you can choose it at the login screen.

    On the Pinephone, sddm has been modified for poking in a number to unlock the screen/log in. Nowhere is there an option to choose your windows manager (or 'session' as many call it). I could not figure out how to change the settings of sddm to give you the option to choose your windows manager (even though regular desktop sddm has this normally). After messing with it for a while, I decided it would be easier to just switch display/login managers.
    • The first thing I tried was switching to LightDM, a common enough choice for display managers. This was just a matter of installing it with pacman, and then enabling it as a service:
      Code:
      sudo systemctl enable lightdm.service
      But LightDM was crashing on startup for some reason. Gave up on that.
    • Then I tried ly display manager -- super minimal, non-graphical, ncurses-like. I love it on my full-sized laptop. I compiled it and installed it from the AUR:
      https://aur.archlinux.org/ly.git
      That one seemed to be starting fine, but wasn't coming up on the console when it started. So I gave up on that one too.
    • Finally I decided minimalism was the way to go, and compiled and installed emptty:
      https://aur.archlinux.org/emptty.git
      Emptty is nothing but a command-line login that then lets you choose which windows manager to start. (Note: it required installing the pacman package go to compile it.) It worked perfectly. Remember you need to enable the service:
      Code:
      sudo systemctl enable emptty

    • You may also need to disable sddm:
      Code:
      sudo systemctl disable sddm.service

  3. Now you've got the display manager going but since emptty is running on the console it is in portrait mode and rotated from your landscape keyboard setting. You'll want to rotate the console so you can read it.
    As root, edit /boot/boot.txt. To the setenv bootargs line, add:
    Code:
    fbcon=rotate:1

    Then run:
    Code:
    mkimage -A arm -O linux -T script -C none -n "U-Boot boot script" -d boot.txt boot.scr

    This will set your console to boot in landscape mode. Just remember that if you want to run your phone _without_ your keyboard, you'll need to use systemctl to enable sddm and disable emptty because without the keyboard there's no way to input anything on the console! In that case you will need to go back to the sddm poking-in-a-number display manager.

  4. More on configuring Awesome ('Awesome' has got to be one of the single most ungoogle-able pieces of software in the linux world! It's not the smartest name.) Obviously if you are using a different windows manager, you can skip this. Though I think a few of the concepts will be relevant to other windows managers, and you may find them useful.
    • Screen rotation: Awesome is going to default to portrait mode. You'll want to rotate it once you are running by opening a terminal and using xrandr:
      Code:
      xrandr --output DSI-1 --rotate right

    • Pointer rotation: You also need to rotate your pointer input or your x will be on your y axis and visa versa. This took my _forever_ to figure out how to do. You use xinput to do the same thing xrandr did for the screen:
      Code:
      xinput set-prop 8 --type=float "Coordinate Transformation Matrix"  0 1 0 -1 0 1 0 0 1

    • Set these automatically on login: You can probably do this in Awesome, but I like to control it in the .xinitrc file in my home directory. This is the file that is read if you use 'startx' to start your windows manager from the command line. But you can also use it if you start your windows manager with a display/login manager like we are doing. To do so, you need to install the xinit-session package from AUR:
      https://aur.archlinux.org/xinit-xsession.git
      After install xinit will be one of your session options in emptty, and you can start Awesome by reading from .xinitrc. I added these lines to the end of my ~/.xinitrc:
      Code:
      exec xrandr --output DSI-1 --rotate right &
      exec xinput set-prop 8 --type=float "Coordinate Transformation Matrix" 0 1 0 -1 0 1 0 0 1 &
      awesome  # Needs to NOT have a &

      Big NOTE: you need to make your .xinitrc file _executable_ for xinit to work as a session:
      Code:
      chmod 755 ~/.xinitrc
    • Configuring Awesome itself: Awesome is configured in the ~/.config/awesome/rc.lua file. It is not entirely simple or straightforward, and you'll want to read the documentation on Awesome if you really want to get into this. However, here's a few tips:
      • Mod4 is the Pinecone key. Might as well put that to work!
      • I like to go through the rc.lua and disable the stuff I don't use. I can only hold so many key commands in my head anyway.
      • I like to put system commands on keyboard combinations in the rc.lua,like:
      • put 'systemctl suspend' on meta-z
      • put 'firefox' on meta-f or something.
      • put a terminal launch command on meta-Enter
      • put 'xbacklight -dec 10' and 'xbacklight -inc 10' on meta--(minus) and meta-+ respectively so you can control screen brightness. This will require installing the xbacklight or the acpilight packages. And it only works if your windows manager uses X11, not wayland.
      • You can do something similar to control sound using pamixer (or some other command-line volume control) to control sound volume.

  5. Poking the screen: At this point you can do _almost_ everything from the keyboard. But you'll find you still need to occasionally poke the screen to select something. The touchscreen is accurate enough that you can very very carefully select a tiny link in a browser, or software menu. But you can't really select things for copy-pasting. And there's no right-click. (Though I see some packages that implement a long-hold as a right-click. I haven't tried them yet.)

More on why I wanted to do this:

Back in the day I was a big fan of the netbook class with ~9" screens when those were widely available. I always felt that a small laptop was far more useful than a tablet or phone. I wrote my graduate school thesis on a netbook! Ever since then I've had the suspicion that an even smaller laptop could replace my need for a phone entirely, though probably not my need for a full-sized laptop. (I say _my_ need, not yours -- I have settled into a place with mobile technology that is pretty unique. More on that later.) Because of this, I have been eagerly awaiting the release of the Pinephone clamshell keyboard for more than a year. And now that it is here, it does not disappoint! All my dreams of a tiny but fully capable computer have come true. Many things that I sort of intuited but hadn't explicitly imagined also came about: turns out, if you don't have to waste half your screen for a lousy soft keyboard then a 5" screen really has quite a bit of usable real estate -- imagine two usable web browser windows open side-by-side. And I don't know about you, but I find soft keyboards eternally flaky and unreliable. Touchscreen technology is like 20 years old now and it still sucks. Or at least doesn't work well with my fingers. But most of all I have found that switching from a poking-and-swiping "app" based interface to a small version of a traditional Linux desktop that you interact with primarily through the physical keyboard has made the Pinephone FAR less flaky, less crash-prone, and much faster.

Doing this of course makes it, you know, _not_ a phone. Most people are used to our "phones" being these objects that are ready at a moment's notice to present an interrupt to our daily lives and give you a report on whatever it is you care about: news updates, weather, phone calls, text messages, email, etc. Turning the Pinephone into a laptop limits a lot of this interrupt ability. Mostly it's back to 1990s style "gotta check my email" pull notifications. For me, this is perfect. I don't _want_ push notifications. I want my computer to stay out of my business until I am ready to sit down and check my messages. The beauty of the Pinephone with clamshell and Linux desktop is that now I can do that almost anywhere -- but still only when I want to pull notifications. No push please! Though I could imagine that someone who really wants push notifications can configure their standard Linux desktop to provide a good chunk of that service, if not quite everything a phone does these days.


  Boot problem: wrong screen orientation
Posted by: Jetpac - 02-26-2022, 04:00 PM - Forum: General Discussion on PinePhone - Replies (6)

Good day,

i just received my PinePhone with convergence package.



On first boot, the screen flipped to horizontal mode, and can't return to vertical mode (unsuccessfully tried to turn phone in any direction, rebooted several times but nothing changed).



I can't fill the textbox because the onscreen keyboard pop up and cover some textboxes; i am able to skip a few page form, until "choose username and password" form, which can't be filled or skipped; so i got stuck there... (At first, i feared a defective gyroscope also...)



Does anyone had this issue? Please give some advice, i'm actually blocked...
thanks


  Battery questions
Posted by: For_lack_of_a_better_name - 02-25-2022, 08:03 PM - Forum: General Discussion of PinePhone Pro - Replies (5)

About a month ago, I purchased a pinephone pro, I just was notified that it shipped today. The problem is, is I did not read the text at the bottom about purchasing a battery. Does this mean it does not ship with a battery, and if so, are there any batteries from say amazon that will fit in the phone?


Question Protective cases and screen protectors
Posted by: Greendrake - 02-25-2022, 05:59 PM - Forum: PinePhone Pro Accessories - Replies (3)

Apparently, the protective cases for the regular PinePhone (hard, soft) and the screen protector are not suitable for the Pro, are they?

Are there their Pro siblings around, or coming along anytime soon?


  Keyboard case is slick
Posted by: ragreenburg - 02-25-2022, 09:06 AM - Forum: PinePhone Accessories - Replies (6)

I was wondering if there is anything that can be added to the keyboard case to make it less slick? I feel like every time I grab it I am going to drop it. Any ideas?


  unofficial kali linux for pinephone help needed
Posted by: pinesmell - 02-25-2022, 08:00 AM - Forum: Mobian on PinePhone - Replies (5)

Currently packet injection is not working on the unofficial kali linux pinephone image based from mobian.
I asked the dev when it will be added but he doesn't know because he doesn't have time to try new things. he can only build the kernel at the moment.
 My conversation is located here https://github.com/Shubhamvis98/kali-pinephone/issues/1

 So what I'm asking you people is if someone can help him add packet injection to his image please?


  Have EU pinephones started shipping since CNY?
Posted by: baigan - 02-25-2022, 05:25 AM - Forum: Shipment Related Discussion - Replies (6)

Hi all,

Has anyone got confirmation of pinephone's being shipped out from the EU warehouse yet?

I find it a bit weird that it's been nearly a month since I ordered and nothing but silence about the phone, but the keyboard case is already shipped.

Anyone in a similar situation?


  SD memory corruption
Posted by: Baptiste - 02-25-2022, 04:52 AM - Forum: Linux on PINE A64-LTS / SOPINE - No Replies

Hi, 
I have some problems of memory corruption with sopine compute module. 

Memory corruption change content of file. 

We removed all hard shutdown to avoid corruption, and we shut down system with command shutdown -h now .


Have you already seen this issue ? What can be used to avoid memory corruption ? 

Thx.


  Pinephone Keyboard feedback
Posted by: TAAPAye - 02-25-2022, 12:33 AM - Forum: PinePhone Accessories - Replies (5)

Just got by new cases and wanted to share my first impressions (just look and feel and not commenting of software support).

My first thought was how the case reminded me on a Nintendo DS. And the second was wishing there were shoulder buttons. I'm only half-kidding. If you are holding the case in your hand, you have about 8 fingers doing nothing. It would be nice if at least 2 could conveniently press a button. I believe in remapping keys in software so wouldn't have a strong preference on what the default is but some options that come to mind

  • Volume keys - The only keys on the phone itself aren't easily accessible when holding the keyboard
  • Scrolling UP/Down
  • CapsLock - I think it the default functionality is useless so I had remapped it and now it is a pretty convenient key that I've lost. (Also think Super_L is important so would prefer to not just override that)

The other thing is that the keys don't decompress cleanly unless you press then head on. Perhaps I'm weird, but I noticed that I only hit the corners for a lot of keys (most notably O and P) and they want go down until re-adjust and press closer to the center.

Anyways that's my first impression. Overall I think I'll like the keyboard.


  Using Keyboard Case with Arch (DanctNix) (complete instructions)
Posted by: Megamemnon - 02-24-2022, 08:51 PM - Forum: PinePhone Accessories - Replies (9)


I recently installed Megi's userland keyboard driver on the PinePhone running Mobian. What I really wanted to do was get my pinephone and keyboard case running as a mini-computer with a CLI (no GUI). I discovered DanctNIX barebones Arch Linux image and finally got the userland driver running on that also. So this is a complete list of steps required to do so. You can find all of this information in various places, but I'm hoping it's handy to have it all in one location for someone...

1. Fix the keyboard case's pogo pads

First, the hardware of the keyboard needs to be hacked a bit. It won't work out-of-box. Locate the Pogo pin pads in the back cover of the new keyboard case where the phone's pogo pins are supposed to make contact. The pogo pads on the keyboard case will not make contact with the pogo pins on the back of the phone unless you do something to raise the pads. 

I carefully pried the plastic holding the pogo pads from the back of the case and slipped a small folded strip of paper beneath them. The plastic holding the pads is glued to the case (which will be the new back of the phone case) and can be pried away carefully. There were no screws in my keyboard case holding the pogo pads.

reference https://xnux.eu/pinephone-keyboard/faq.html#ts in the troubleshooting section at the bottom.

2. Install Arch Linux

Arch Linux ARM builds for pinephone (and PPPro and other devices) are located here: https://github.com/dreemurrs-embedded/Pi...h/releases The latest versions include kb151, the i2c keyboard driver needed by the pinephone's keyboard case. I installed the barebones version which merely boots to a tty and the rest of these instructions are specifically for CLI.

I used the Jumpdrive method which is documented here: https://wiki.pine64.org/wiki/PinePhone_I..._JumpDrive

Connect to your local WIFI...
$nmtui

Select Activate Connection, then select your WIFI and enter password. You can use the arrow keys to move around the TUI (FN+> is UP, FN+{ is DOWN, FN+" is LEFT, and FN+} is RIGHT).

Determine your pinephone's IP address...
$ip a

Look for the ip address for the WLAN0 network connection.

For simplicity, SSH into your pinephone from a linux PC (x.x.x.x is the ip address of your pinephone)...

$ssh alarm@x.x.x.x

Update and upgrade with the following:
$ sudo pacman -Syu

Install some stuff you'll need...
$ sudo pacman -S nano terminus-font git gcc php make

3. Rotate the screen and increase font size

Still SSH'ing into your pinephone...
$ cd /boot
$ sudo nano boot.txt

Locate the line starting with setenv bootargs... This is a list of kernel parameters. Append the following to the end of the list (include a single space to separate it from the prior parameter). The fbcon parameter will rotate your screen 90 degrees clockwise putting it in landscape mode and the kb151 parameter will effectively disable kb151 so we can use the userland driver, which we'll install later. (if you're entering all this from the pinephone keyboard case, don't do the kb151 parameter yet, or make sure you finish everything before rebooting).

fbcon=rotate:1 kb151.disable_input

(Megi added a second fbcon parameter to set the font, but I wasn't able to get this to work, so I added it to the system-wide bash script, which we'll get to in a second....)

To save changes and close Nano, type CTRL-X, Y, and Enter.

back on the command line, run the following to update the boot.scr file from boot.txt...

$ sudo ./mkscr

Reference https://xnux.eu/log/#058 regarding disabling kb151; I tried a couple other methods, but only this one worked.

Add a setfont step to the system wide bash login script /etc/bash.bashrc...

$ sudo nano /etc/bash.bashrc

Add the following line at the end of the file to change the tty font to Terminus c32n (or whatever you like)...

setfont ter-c32n

To save changes and close Nano, type CTRL-X, Y, and Enter.

4. Download, build, and install the userland driver

$ git clone https://mff.cz/git/pinephone-keyboard/
$ cd pinephone-keyboard
$ make

Now we write the systemd unit file...

$ sudo nano /etc/systemd/system/ppkb-i2c-inputd.service

Enter the following into this new .service file...

  [Unit]
  Description=Pinephone Keyboard Service Daemon

  [Service]
  Type=simple
  ExecStart=/home/mobian/pinephone-keyboard/build/ppkb-i2c-inputd

  [Install]
  WantedBy=multi-user.target

To save changes and close Nano, type CTRL-X, Y, and Enter.

Now we enable this service the next time we boot with ...

$ sudo systemctl enable ppkb-i2c-inputd.service

Reference https://wiki.mobian-project.org/doku.php...-case-ppkc regarding runningn this userland driver as a systemd service.

5. Reboot and test

You're done.

$ sudo reboot

When the system reboots, it will still load kb151, but that driver will be disabled. The systemd service ppkb-i2c-inputd will be loaded by systemd and be the driver for the new keyboard case.

Use the Pine key (pinecone symbol) with number keys to enter FN keys. Try it out by typing CTRL-ALT-PINE-2 to switch to tty2 and then CTRL-ALT-PINE-1 to switch back to tty1 which is the default tty.