Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Thiago Alves

Pages: [1]
1
After spending a long time looking for a solution for this I finally found a VNC client that does work! If you use Remote Desktop Manager (you can find this app on Play Store) it can indeed pass through the fn keys if you press them with left Shift. So, for example, instead of pressing fn+o for dash, you would press left shift + fn + o. I know, Remote Desktop Manager is a bit overkill to just quickly connect to a VNC server, but it is the only solution I could find that actually works. Before that, I was using Unicode hex codes to insert symbols, like Ctrl+u+"2d" = dash, Ctrl+u+"22" = quotation mark, etc.

2
I'm using my Gemini almost daily for about two months now and I finally came up with a stable Linux install for it. Check my reply here for my quick guide: https://www.oesf.org/forum/index.php?showto...mp;#entry292387

Also, I'm using Android for some light gaming (mostly old-school emulators that I like to play during flights) since Debian has no support for hardware acceleration. Recently this Android installation has come in handy for something else other than games. Android supports HDMI out, and from there I can chroot to the Debian install on the other partition and have Linux running with HDMI out. This is perfect for a quick/temporary office desktop replacement. Here is the guide: https://www.oesf.org/forum/index.php?showto...mp;#entry292388

3
Gemini PDA - Linux / SSH Gemini from android or Mac
« on: August 08, 2019, 05:33:14 am »
This is not a Gemini issue, this is a network issue. If you want to access your Gemini from anywhere, you need to configure your router to do port forwarding on port 22 (ssh port). You can find more information about that on the internet. Once your router is configured, it will forward all port 22 requests to your Gemini.

4
Gemini PDA - Linux / HDMI out on Gemian [SOLVED]
« on: August 06, 2019, 10:06:43 pm »
Hey all! Just wanted to share my latest findings with you guys about HDMI out on Linux. As you may know, HDMI out does not work on Linux yet. There are several changes to hwcomposer driver that need to be made for it to work (see https://www.oesf.org/forum/index.php?showto...709&hl=hdmi ). This is my work around to have HDMI out on Gemian. The idea is based on chroot on top of Android, so it is not ideal, but works. This means that it will only work if you dual boot Android (rooted) and Gemian. For pure Gemian users or non-rooted Android, this won't work. In short words, the idea is to mount Gemian partition on Android, and then chroot into Gemian from Android. Since HDMI out works on Android, it will work on Gemian after you have chroot'ed from Android. Here is my step by step to have it working.

1. You must have rooted Android and Gemian installed, in dual boot mode. On my device I have Android 7 on boot1 and Gemian on boot2.

2. Identify your Gemian partition from Android. Termux will be useful to play around mounting partitions. On my setup Gemian partition is on /dev/block/mmcblk0p29. If your setup is similar to mine, it is very likely that your partition is also in the same place.

3. Install Linux Deploy on Android. This app is very handy for chroot setups as it will configure everything automatically for you. If you don't know what chroot means, don't worry, you don't need to know. If you're curious, check wikipedia.

4. Configure Linux Deploy:
Code: [Select]
Containerization Method: chroot
Distribution: debian stretch
Architecture: arm64
Installation type: partition
Installation path: [put your partition here] In my case -> /dev/block/mmcblk0p29
Enable Init, ssh, PulseAudio and GUI over VNC

5. On Linux Deploy, click on configure. It will run some configurations, and some of them will fail. That's ok for now.

6. On Linux Deploy, click on Start to chroot into Gemian. Your system won't be accessible from GUI yet, so you need to ssh into it to finish configuration. Use your favorite ssh app to ssh into Gemian.

7. Our chrooted Gemian cannot resolve DNS because /etc/resolv.conf links to a location maintained by Connman. Since we don't use Connman on our chroot environment, it won't work. To fix it, backup your resolv.conf and create a new one:
Code: [Select]
sudo mv /etc/resolv.conf /etc/resolv.bak
sudo nano /etc/resolv.conf
[INSIDE NANO]
nameserver 8.8.8.8
[Ctrl + X to exit and save the file]

8. At this point, network will be working and you can ping www.google.com, but apt will still fail to install packages. This is due to a security measure on Android that prevent apps to create sockets if they are not part of a specific group. To fix that you need to add apt to a group with gid 3003. Usually, this group already exists in your system and it is called aid_inet. If you don't have this group in your system, you will have to create it first:
Code: [Select]
addgroup --gid 3003 aid_inetIf aid_inet already exists (you can check if it exists looking at /etc/passwd file) just add _apt to it:
Code: [Select]
usermod -g aid_inet _apt
9. Done! Now your system is fully functional. Exit ssh, go back to Linux Deploy, stop the container, and click on Configure again. Now it should configure everything with no errors. Then you just start the container again to have GUI working through VNC.

10. Install VNC Viewer to be able to connect to the VNC server running on Gemian. Once installed, add a new connection to localhost and connect.

Tips:
HDMI on Android always matches the resolution of the display panel. This can be problematic since there aren't many monitors with native 2160 x 1080. At the very least you will have a 1080p image with black bars on top and bottom of the screen. My solution to that was to use a little app called Screen Shift to force the display panel resolution to anything you want. Then I make it match the resolution of my monitor, and when I connect the HDMI cable, the image fills the entire screen.
Another useful tip is to change the VNC resolution on Linux Deploy to match the display as well. Then you will have Gemian desktop displayed in full screen on the monitor.

5
@Erick BF: I disabled sleep because it was annoyingly stopping long processes. I would leave the Gemini compiling something big just to find out later that the auto sleep had put the device to sleep and killed all my processes. Not to mention that the auto sleep is (at least on my device) a bit buggy. Sometimes the device would enter in seep mode to never wake up again. I would have to hold the "on" button for several seconds until the device rebooted.

@mithrandir: I'm not talking about LibreOffice update. When I apt upgrade my system after a fresh install, it is breaking something that prevents lxqt panel to initialize. The system was still booting and running, but was very hard to use without the panel taskbar. When I tried to figure out where the problem was, it looked like something related to pulse audio, which then was hanging the little volume control that was in the panel, which then hanged the panel initialization. I reflashed the system twice and the same problem happened. I had no issues when I apt upgrade from the new Android 8 + Linux image. So perhaps there is something from the old image that doesn't update properly. However, even without the upgrade I was able to get the modular kernel:
Code: [Select]
$ uname -a
Linux localhost 3.18.41 #1 SMP PREEMPT Fri May 24 19:53:00 UTC 2019 aarch64 GNU/Linux

$ lsmod
Module                  Size  Used by
mousedev               11309  0
joydev                 11231  0
uio_pdrv_genirq         3587  0
uio                     9769  1 uio_pdrv_genirq

6
Gemini PDA - Linux / maxcpus=5
« on: August 03, 2019, 11:56:14 pm »
I tested this on a Debian chroot running on Android 7, and I can confirm that on the Android side it shows all CPUs. Here is /proc/cpuinfo while sysbench is running:
Code: [Select]
Processor    : AArch64 Processor rev 4 (aarch64)
processor    : 0
model name    : AArch64 Processor rev 4 (aarch64)
BogoMIPS    : 26.00
BogoMIPS    : 26.00
Features    : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer    : 0x41
CPU architecture: 8
CPU variant    : 0x0
CPU part    : 0xd03
CPU revision    : 4

processor    : 1
model name    : AArch64 Processor rev 4 (aarch64)
BogoMIPS    : 26.00
BogoMIPS    : 26.00
Features    : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer    : 0x41
CPU architecture: 8
CPU variant    : 0x0
CPU part    : 0xd03
CPU revision    : 4

processor    : 2
model name    : AArch64 Processor rev 4 (aarch64)
BogoMIPS    : 26.00
BogoMIPS    : 26.00
Features    : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer    : 0x41
CPU architecture: 8
CPU variant    : 0x0
CPU part    : 0xd03
CPU revision    : 4

processor    : 3
model name    : AArch64 Processor rev 4 (aarch64)
BogoMIPS    : 26.00
BogoMIPS    : 26.00
Features    : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer    : 0x41
CPU architecture: 8
CPU variant    : 0x0
CPU part    : 0xd03
CPU revision    : 4

processor    : 4
model name    : AArch64 Processor rev 4 (aarch64)
BogoMIPS    : 26.00
BogoMIPS    : 26.00
Features    : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer    : 0x41
CPU architecture: 8
CPU variant    : 0x0
CPU part    : 0xd03
CPU revision    : 4

processor    : 5
model name    : AArch64 Processor rev 4 (aarch64)
BogoMIPS    : 26.00
BogoMIPS    : 26.00
Features    : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer    : 0x41
CPU architecture: 8
CPU variant    : 0x0
CPU part    : 0xd03
CPU revision    : 4

processor    : 6
model name    : AArch64 Processor rev 4 (aarch64)
BogoMIPS    : 26.00
BogoMIPS    : 26.00
Features    : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer    : 0x41
CPU architecture: 8
CPU variant    : 0x0
CPU part    : 0xd03
CPU revision    : 4

processor    : 7
model name    : AArch64 Processor rev 4 (aarch64)
BogoMIPS    : 26.00
BogoMIPS    : 26.00
Features    : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer    : 0x41
CPU architecture: 8
CPU variant    : 0x0
CPU part    : 0xd03
CPU revision    : 4

processor    : 8
model name    : AArch64 Processor rev 4 (aarch64)
BogoMIPS    : 26.00
BogoMIPS    : 26.00
Features    : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer    : 0x41
CPU architecture: 8
CPU variant    : 0x0
CPU part    : 0xd08
CPU revision    : 1

processor    : 9
model name    : AArch64 Processor rev 4 (aarch64)
BogoMIPS    : 26.00
BogoMIPS    : 26.00
Features    : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer    : 0x41
CPU architecture: 8
CPU variant    : 0x0
CPU part    : 0xd08
CPU revision    : 1

Hardware    : MT6797X

7
This is my personal recipe for a perfect install. Sorry I'm copying pasting my notes, so if it is not clear, just ask me. What I found out is that Android 8 is sketchy at best. When I tried to dual boot Gemian and Android 8 I was having all sorts of problems (apparently they both share the same kernel, IDK). Then I reflashed the whole thing with Android 7 and Gemian and things started to work a bit better. After installing the old Android 7 + Gemian duo, here is my after install perfect recipe:

GEMINI TWEAKS
==========

1. Install old image (Linux + Android 7)
2. Don't apt upgrade the system as it will break it, but update the repository info:
Code: [Select]
wget http://gemian.thinkglobally.org/archive-key.asc
sudo apt-key add archive-key.asc
sudo apt update
3. Install gemian-modular-kernel and gemian-modular-kernel-headers:
Code: [Select]
sudo apt install gemian-modular-kernel gemian-modular-kernel-headers4. Set timezone:
Code: [Select]
sudo dpkg-reconfigure tzdata5. pick a language_location specific UTF8 locale:
Code: [Select]
sudo dpkg-reconfigure locales6. Disable sleep:
Code: [Select]
sudo nano /etc/X11/xorg.conf
At the top of the file there is a ServerFlags section. Add/replace the following in the ServerFlags section:
Code: [Select]
    Option "OffTime" "0"
    Option "StandbyTime" "0"
    Option "SuspendTime" "0"
    Option "BlankTime" "0"
7. Lock the MAC address

Install hexedit:
Code: [Select]
sudo apt install hexedit
Code: [Select]
sudo hexedit /nvdata/APCFG/APRDEB/WIFIand set a mac address in bytes 04-09 (mind that the base is 0, so it starts at the 5th byte) of the first row (0)
TIP: This can be optional as most times the MAC address is already set in there. So just close hexedit and proceed.
set the i attr on the file:
Code: [Select]
sudo chattr +i /nvdata/APCFG/APRDEB/WIFIThis will lock down the mac address.

8. Change user name: https://askubuntu.com/questions/34074/how-d...nge-my-username
    NOTE: usermod only works on root. So all commands must be ran on sudo su

9. Touchscreen as touchpad: https://www.oesf.org/forum/index.php?showto...p;mode=threaded

10. Bluetooth mouse:
Code: [Select]
sudo apt install bluetooth blueman

8
Gemini PDA - Linux / Disable suspend
« on: July 28, 2019, 10:43:54 am »
Update: Just found the solution on the TP2 wiki. Here it is:
Controlling Screen Locking

If you desire you can disable the idle timeout display off by doing the following:

sudo nano /etc/X11/xorg.conf

At the top of the file there is a ServerFlags section. Add/replace the following in the ServerFlags section:

    Option "OffTime" "0"
    Option "StandbyTime" "0"
    Option "SuspendTime" "0"
    Option "BlankTime" "0"
When finished your ServerFlags section should look like this:

Section "ServerFlags"
    Option "OffTime" "0"
    Option "StandbyTime" "0"
    Option "SuspendTime" "0"
    Option "BlankTime" "0"
EndSection
Save the file (ctrl+x) and reboot your Gemini. Following the reboot your screen will now only power off on lid close and turn on again when opened.

9
Gemini PDA - Hardware / Displaylink adapter works (under Android)!
« on: July 28, 2019, 10:40:39 am »
After reading some posts I finally figured it out. The solution is basically to revert back to Android 7. Android 8 is supper buggy on the Gemini. Now that I've downgraded, not only the DisplayLink adapter is working perfectly, but also suspend, power management, and a lot of other things are just working as they should.

10
Gemini PDA - Hardware / Displaylink adapter works (under Android)!
« on: July 26, 2019, 08:45:22 am »
Hey guys,

I managed to connect my Sabrent DisplayLink adapter using the Adroid app, but the image on my screen appears inverted. When I'm using the Gemini in landscape mode, the image appears on the screen in portrait, with the contents inverted. If I use the Gemini bar tool to force rotate my screen, then the Gemini is in portrait, and the image on the external monitor fills out the whole screen, but it is rotated 90 degrees. I tried to change settings on the DisplayLink app, but there are no settings to change there. I couldn't find answers for that anywhere. I'm using Android 8.1 rooted. Any ideas?

11
Gemini PDA - Linux / Connman not saving passphrases
« on: July 25, 2019, 08:39:10 am »
Quote from: pbek
2)
Code: [Select]
sudo hexedit /nvdata/APCFG/APRDEB/WIFI and set a mac address in bytes 04-09 (mind that the base is 0, so it starts at the 5th byte) of the first row (0)
It doesn't let me write to the file, even on root. I tried changing permissions but it also failed:
Code: [Select]
sudo chmod +w /nvdata/APCFG/APRDEB/WIFI
chmod: changing permissions of '/nvdata/APCFG/APRDEB/WIFI': Operation not permitted

12
Gemini PDA - Linux / Disable suspend
« on: July 24, 2019, 10:21:28 am »
Hi guys! So, I've been using my Gemini for about a week and I'm loving it! The device is pretty solid and Gemian, even though it is on early development stages, works pretty well. Just one thing that is a bit annoying is that suspend is completely broken. I can live without suspend for now, but what is really disturbing is that I couldn't find a way to prevent it from sleeping after some time of "inactivity". I bought the Gemini to be my little Linux box on the go, to work on projects and code a bit. However, it is very annoying when I am compiling a large project and then all of a sudden it all fails because the device tried to suspend. Apparently Gemini is not handling power settings in the usual way because all methods I could find to disable suspend on Debian just didn't work. Is there a particular way to get rid of suspend on the Gemini?

PS: This is another side-question that is not related to my main question, but I just wanted to shout it out here in case someone knows why. Apparently the linux kernel is using only one CPU. I found the boot args and on mine it has a maxcpus=5 argument (WTF?) and looking at dmesg kernel messages I see that the kernel actually detects 5 CPUs, but apparently in the end just uses one of them maybe? The reason for that is because cat /proc/cpuinfo brings:
Processor       : AArch64 Processor rev 4 (aarch64)
processor       : 0
model name      : AArch64 Processor rev 4 (aarch64)
BogoMIPS        : 26.00
BogoMIPS        : 26.00
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: 8
CPU variant     : 0x0
CPU part        : 0xd03
CPU revision    : 4

Hardware        : MT6797X

Also, htop sometimes shows 2 cpus at the top, and some other times (after rebooting) shows 4 cpus. Very weird...

Pages: [1]