x
This website is using cookies. We use cookies to ensure that we give you the best experience on our website. More info. That's Fine
HPC:Factor Logo 
 
Latest Forum Activity

Surf Firefox on Jornada720 with Duvian/ssh/X11 via RaspberryPi

1 2 3
munchausen Page Icon Posted 2021-02-10 1:07 PM
#
Avatar image of munchausen
Factorite (Senior)

Posts:
81
Location:
United Kingdom
Status:
Ive played with WRP and found it to be a little clunky when you want to enter text etc, I imagine X11 forwarding works better, though it will need more processing on the jornada side. But I'd be interested to hear how you get on. BTW there is an x11 server for CE that supports forwarding, but I dont know if the version of ssh it comes with is recent enough to work...

Edited by munchausen 2021-02-10 1:08 PM
 Top of the page
ntware Page Icon Posted 2021-02-10 5:08 PM
#
Avatar image of ntware
H/PC Elite

Posts:
660
Location:
Florida, US
Status:
Quote
munchausen - 2021-02-10 8:07 AM
BTW there is an x11 server for CE that supports forwarding, but I dont know if the version of ssh it comes with is recent enough to work...


I've been looking for that, but all I can find are broken links. I heard that the server performance is very poor as well, don't know if it is true. In any case, if the server works, we don't even need SSH. With a direct ethernet cable connection between the Pi and the J720, it is fairly safe to just use telnet to forward X traffic.
 Top of the page
munchausen Page Icon Posted 2021-02-10 10:56 PM
#
Avatar image of munchausen
Factorite (Senior)

Posts:
81
Location:
United Kingdom
Status:
I didn't realise it was missing! I sent a message to the owner of this site to see if he has any of the files any more http://users.ox.ac.uk/~pault/mobile/j720/xwindows.html

I guess there is WeirdX as well http://www.jcraft.com/weirdx/
 Top of the page
joval Page Icon Posted 2021-02-11 3:45 PM
#
Avatar image of joval
Subscribers
H/PC Sensei

Posts:
1,011
Location:
Northern California
Status:
Quote
ntware - 2021-02-09 9:09 AM

Sorry if I'm hijacking the thread, but I have this idea for a while, just never implemented it due to lack of time. But instead of using the external RPi as a mere VNC server for Devuan, I though instead to run an "old browser proxy" on the Pi like this one: https://github.com/tenox7/wrp

In essence this would proxy all web traffic so that the built in PIE on WinCE can render modern pages. The RPi would do all the heavy lifting for the website processing and then just send an image to WinCE which can be easily rendered on PIE. How about that?


Wow, cool, sounds exciting! Ethernet to Raspi? Let us know if you get it working.

Joval
 Top of the page
munchausen Page Icon Posted 2021-02-11 9:37 PM
#
Avatar image of munchausen
Factorite (Senior)

Posts:
81
Location:
United Kingdom
Status:
Paul Trafford was surprised that his Jornada page was still there, as he gave away his Jornadas years ago, but he was able to dig up some of the files for X11 on CE:

x11-fonts.tar.gz http://s000.tinyupload.com/index.php?file_id=66461236327663255713
x11-arm-hpc-wce300.tar.gz http://s000.tinyupload.com/index.php?file_id=58981375117156632136

He also found the port of Perl, which I think is available elsewhere, but there may be extras in his zip:
Perl-ce.zip http://s000.tinyupload.com/index.php?file_id=00338677826863814814

I don't know if this is actually enough to get X11 working. I think it also needs a console and celib.dll. The binaries for celib.dll are available in the source archive here: I didn't find binaries for those but the source seems to be here https://sourceforge.net/projects/perlce/files/PerlCE%20support%20fil...

I couldn't find binaries for w32console, but the source code is here https://sourceforge.net/projects/perlce/files/PerlCE%20support%20fil...

Paul said that if he finds more he will share it.
 Top of the page
C:Amie Page Icon Posted 2021-02-12 9:35 AM
#
Avatar image of C:Amie
Administrator
H/PC Oracle

Posts:
17,976
Location:
United Kingdom
Status:
 Top of the page
joval Page Icon Posted 2021-02-17 9:05 PM
#
Avatar image of joval
Subscribers
H/PC Sensei

Posts:
1,011
Location:
Northern California
Status:
Quote
ntware - 2021-02-09 9:09 AM

Sorry if I'm hijacking the thread, but I have this idea for a while, just never implemented it due to lack of time. But instead of using the external RPi as a mere VNC server for Devuan, I though instead to run an "old browser proxy" on the Pi like this one: https://github.com/tenox7/wrp

In essence this would proxy all web traffic so that the built in PIE on WinCE can render modern pages. The RPi would do all the heavy lifting for the website processing and then just send an image to WinCE which can be easily rendered on PIE. How about that?


Once again ntware almost succeeded in hijacking the thread, Close try,buddy, but No Cigar this time! actually your post is most welcomed and appreciated. Let me know if you get the proxy working.

Joval
 Top of the page
ntware Page Icon Posted 2021-02-22 7:49 PM
#
Avatar image of ntware
H/PC Elite

Posts:
660
Location:
Florida, US
Status:
I was discouraged from munchausen comment about WRP and decided to try a much better alternative. I'm happy to announce that I've found what is probably the best way to retrofit a Jornada 720/728. X11 forwarding through ssh is a good alternative, but this leaves a heavy burden for the Jornada as all windows are rendered locally on Devuan's X server. For a device with just 32MB of RAM, where 20MB of these are used just to boot X on the machine, drawing windows is really burdensome. So the next best thing was to use VNC instead of X forwarding as directly as possible. I found a project called DirectVNC that basically connects to a VNC server straight from terminal. It uses Linux framebuffer to write to the screen directly, so no X is required on the client. I tried that on Devuan but it didn't work straight away. Perhaps with some hacking around it might be possible to use it, but since I'm a bit limited on time, I decided to try plan B. I installed Tiger VNC viewer on X (fluxbox) and configured it to load in full screen. Then on the server side (which can be a Raspbery Pi or, in my case, a Ubuntu Server I have laying around) I started VNC server with the exact same screen resolution as the Jornada: vncserver -geometry 640x240

That's it! Once I connected to it through Tiger VNC, my Jornada screen was replaced by my server's with the exact same dimensions. I'm connected to it using a WPA capable WiFi card, writing this message in Firefox which is neat! There are no cables at all connected to my Jornada, and since this card is a Prism WPA capable,I can go anywhere on the house and still have a good connection. Speed is amazing. I have around 10-15FPS on my Jornada showing whatever is running on my server. The only drawback really is the screen resolution, but I don't think there is much that can be done with that as I can't (at least not easily) replace Jornada's screen. But using a good combination of software configs on the server side you can make good use of such small screen resolution.

My next step will be to try to hack around DirectVNC to see if that can work. I bet I will be able to achieve even greater framerates with that running on bare console. Well, that's it for now. I'll see if I can post a video of that running so you guys can have an idea of how fast it is.
 Top of the page
joval Page Icon Posted 2021-02-27 12:18 AM
#
Avatar image of joval
Subscribers
H/PC Sensei

Posts:
1,011
Location:
Northern California
Status:
Quote
ntware - 2021-02-22 11:49 AM

I was discouraged from munchausen comment about WRP and decided to try a much better alternative. I'm happy to announce that I've found what is probably the best way to retrofit a Jornada 720/728. X11 forwarding through ssh is a good alternative, but this leaves a heavy burden for the Jornada as all windows are rendered locally on Devuan's X server. For a device with just 32MB of RAM, where 20MB of these are used just to boot X on the machine, drawing windows is really burdensome. So the next best thing was to use VNC instead of X forwarding as directly as possible. I found a project called DirectVNC that basically connects to a VNC server straight from terminal. It uses Linux framebuffer to write to the screen directly, so no X is required on the client. I tried that on Duvean but it didn't work straight away. Perhaps with some hacking around it might be possible to use it, but since I'm a bit limited on time, I decided to try plan B. I installed Tiger VNC viewer on X (fluxbox) and configured it to load in full screen. Then on the server side (which can be a Raspbery Pi or, in my case, a Ubuntu Server I have laying around) I started VNC server with the exact same screen resolution as the Jornada: vncserver -geometry 640x240

That's it! Once I connected to it through Tiger VNC, my Jornada screen was replaced by my server's with the exact same dimensions. I'm connected to it using a WPA capable WiFi card, writing this message in Firefox which is neat! There are no cables at all connected to my Jornada, and since this card is a Prism WPA capable,I can go anywhere on the house and still have a good connection. Speed is amazing. I have around 10-15FPS on my Jornada showing whatever is running on my server. The only drawback really is the screen resolution, but I don't think there is much that can be done with that as I can't (at least not easily) replace Jornada's screen. But using a good combination of software configs on the server side you can make good use of such small screen resolution.

My next step will be to try to hack around DirectVNC to see if that can work. I bet I will be able to achieve even greater framerates with that running on bare console. Well, that's it for now. I'll see if I can post a video of that running so you guys can have an idea of how fast it is.


ntware that sounds great! I just now saw your post and it may take reading it a few times to "grok" the meaning. I upgraded my J720 to 64Mb which seems only a little faster than 32Mb using X11 and rasPi.... and frame rates seem slow like 4 FPS maybe less. I had wep wifi working and was untethered but haven't mastered WPA yet... I know you discussed the wifi supplicant set up, is that what you are using.

Looking forward to giving your approach a try. I was using vnc client and vnc server both running on Raspi but the screen size makes scrolling necessary and logging into vnc-client is a chore. How does it render Youtube? What you are doing sounds so cool!

Very pleased with your new find! Oh, do you have a script for auto login onto the J720 running devuan so it auto boots up into the Raspi.You are afterall one of the Linux Whiz Kids around here!

Cheers! Joval

Edited by joval 2021-02-27 12:34 AM
 Top of the page
joval Page Icon Posted 2021-02-27 5:07 PM
#
Avatar image of joval
Subscribers
H/PC Sensei

Posts:
1,011
Location:
Northern California
Status:
ntware: actually looks like what you are doing is much the same as I have except for the WPA (I used WEP wifi). Both of us used X forwarding and a vncviewer-- yours is the tigervncviewer but with the screen sized to 640x240, I use the raspi realvncviewer with 800x400 (a default setting...not customized to 640x240) which requires scrolling to see full webpage/desktop, and I see a refresh rate of 2 to 5 on video not your 15 fps.

Great idea if x-forwarding can be bypassed. Also would be great if I could get WPA working...I'll review your posts. I'm using ethernet presently with ribbon cable to RasPi using RasPi built in RealVNC Server... which I've yet to learn to configure for 640x240. As the RasPi runs off a small battery for many hours everything is very portable and I hope to take it to starbucks, etc when and if this ridiculous one size fits all lockdown ends!

Joval


Edited by joval 2021-02-27 5:13 PM
 Top of the page
ntware Page Icon Posted 2021-02-27 5:18 PM
#
Avatar image of ntware
H/PC Elite

Posts:
660
Location:
Florida, US
Status:
Not exactly. I’m not using X forwarding at all. I have Tiger VNC Viewer installed on Devuan and connect directly to my Linux box VNC Server. I’ll try to make a video explaining the process better. X forwarding is very heavy for the Jornada to process, so that’s why I wanted to avoid it. Now even better will be if I can avoid X at all, because in this scenario Tiger VNC needs X on the Jornada to run. If I can manage to make DirectVNC to work, I won’t need even X running, and that will be perfect.

Side note: on your raspberry pi, you can start a VNC server in any resolution you want. Just open the terminal and type vncserver -geometry [resolution]. In my case I run vncserver -geometry 640x240. You can have multiple VNC servers open at the same time, like multiple virtual sessions. To connect to them you just need to keep track of the display number vncserver command outputs. The first session is usually created on display :1, so to connect to it you need to type on Tiger VNC [raspberry ip]:5901 (ex 192.168.0.55:5901). If the display was :2 then you would have to put :5902 at the end, and so on.
 Top of the page
joval Page Icon Posted 2021-02-27 7:43 PM
#
Avatar image of joval
Subscribers
H/PC Sensei

Posts:
1,011
Location:
Northern California
Status:
Ok now have screen resolution set to 640x240 on RasPi running RealVNC server and vncviewer... easy to do! Just modify /boot/config.txt file by uncommenting (ie., delete # at start of command) and change frame_buffer size to 640 width and 240 for height (using nano editor), and reboot! Screen is now a perfect fit, no scrolling to see complete desktop!

Use ctrl + to enlarge chrome or Firefox (install name is iceweasel FYI) browser webpages/text and ctrl - to shrink. This should make webpages like wikipedia or debian tutorials less hassle to read... things get messy with 2 or 3 different scroll bars along the right edge of the page.

Joval
 Top of the page
joval Page Icon Posted 2021-02-28 4:35 PM
#
Avatar image of joval
Subscribers
H/PC Sensei

Posts:
1,011
Location:
Northern California
Status:
Quote
ntware - 2021-02-27 9:18 AM

Not exactly. I’m not using X forwarding at all. I have Tiger VNC Viewer installed on Devuan and connect directly to my Linux box VNC Server. I’ll try to make a video explaining the process better. X forwarding is very heavy for the Jornada to process, so that’s why I wanted to avoid it. Now even better will be if I can avoid X at all, because in this scenario Tiger VNC needs X on the Jornada to run. If I can manage to make DirectVNC to work, I won’t need even X running, and that will be perfect.


So X forwarding is a different animal than say having X Running on the jornada...ie., no "forwarding " of X which is running on / from the server side?? Yo no comprendo. "I'm a Doctor, Jim, not a psychiatrist!" Help wanted!

Quote
Side note: on your raspberry pi, you can start a VNC server in any resolution you want. Just open the terminal and type vncserver -geometry [resolution]. In my case I run vncserver -geometry 640x240. You can have multiple VNC servers open at the same time, like multiple virtual sessions. To connect to them you just need to keep track of the display number vncserver command outputs. The first session is usually created on display :1, so to connect to it you need to type on Tiger VNC [raspberry ip]:5901 (ex 192.168.0.55:5901). If the display was :2 then you would have to put :5902 at the end, and so on.


Raspi has RealVNCserver built it and is enabled from configuration app, not sure it runs from the command line though (to add arguements/parameters ...which are not the same as for Tigervncserver) would greatly appreciate " how to" specifics. Quite excited to give it a try!! Good job on your part!

Joval

Edited by joval 2021-02-28 4:43 PM
 Top of the page
ntware Page Icon Posted 2021-03-01 3:52 AM
#
Avatar image of ntware
H/PC Elite

Posts:
660
Location:
Florida, US
Status:
I will start by saying that I'm writing this message on my Jornada! It is truly a delight to use.

So, first things first, just to give a more clear understanding on what X is. X is a very old protocol (created on the 80s) aimed at displaying graphics on a Unix machine. In other words, X is responsible for any graphical thing you see on Linux: mouse cursor, buttons, dialog boxes, menus, windows, etc. That's why when you're at Devuan console, you need to type "startx" to launch your graphical (window-based) programs. That command, well, is pretty obvious. It starts X.

With all that being said, X forwarding is a technology usually associated with SSH that allows you to display a remote screen on your device. Given that X is in fact a protocol, what X forwarding does is to just forward the "drawing" commands to you. This means that all rendering happens locally on your machine. In other words, when you open Firefox on your Pi with X forwarding, in fact who is rendering the Firefox window and graphics is your Jornada, and that's pretty heavy. The Pi is only doing the number crunching on the backend, while the Jornada is doing all the drawing on the front end.

VNC is a completely different technology. It was created to be "universal" with no OS dependency. Instead of being based on protocol messages (drawing commands) like X forwarding on Linux or RDP on Windows, VNC is just a picture protocol. It transfer whatever is on the screen like a motion video, nothing else. This means that you can see a Linux screen on a Windows computer through VNC, and vice-versa. This is heavy on the network, as you basically need to stream screen content like real-time video, but is super lightweight on the client as all it needs to do is playback the video. No drawing commands or frontend processing required.

With all that being said, there are numerous VNC clients for many different platforms. On Linux, most VNC clients rely on X because a VNC client is essentially a video player with keyboard and mouse integration. In other words, a VNC client is a typical graphical application and writing it on top of X makes much more sense than writing it on bare console. Devuan (which is based on Debian) also has many X-based VNC clients to choose from. After testing a few, I came to the conclusion that Tiger VNC client is the one that runs best on the Jornada. It is lightweight, has good connectivity options, and mainly has the ability to load the video stream in full screen. You can install it with the regular apt install command on terminal. On the server side, it doesn't really matter which VNC server you're using. All the VNC server must do is "record" your screen and stream the contents over the network. There are many different "encodings" a VNC server can use, each one with its own pros/cons. Ideally the server-client handshake will agree on something that is good for both. I don't remember which VNC Server I have installed on my Linux box, but it doesn't really matter. With TigerVNC on the Jornada I have connected even to a macOS machine running the latest Big Sur, which is quite interesting (macOS has its own built-in VNC server). All you gotta provide is the IP address, port, and password. That's it.

So, in summary, the "TigerVNC" approach basically consists on installing TigerVNC on Devuan through apt-get install, and then connecting to your VNC Server. That's it!

I hope this has helped clarify a few things. Happy hacking!!
 Top of the page
joval Page Icon Posted 2021-03-01 7:39 AM
#
Avatar image of joval
Subscribers
H/PC Sensei

Posts:
1,011
Location:
Northern California
Status:
ntware: Wow, thanks a gazillion! I installed tigervncviewer on the J720 using the qemu emulator. Booted into Devuan => startx=>
fluxbox=> Bash=>vncviewer -listen , then connected from vnc server on RasPi to jornada ip.

Yes! Incredible improvement in frame rate...youtube videos much smoother and near perfect instantaneous syncing of images! And screen easily repositioned using stylus at top or bottom running 640x480 resolution (will try different resolutions soon). Typing is a dream...no lag at all!
Listening to B.B.King singing "the thrill is gone"...but should be singing the J720 Thrill is back!!! It just seems like the J720 + VNC/RasPi keeps getting better and better... and now you've really hit it out of the park, IMO. Everything is so snappy fast on scrolling, etc.

You done good, ntware...real good!!! This is nice!

Joval

This post written from J720 using VNC + RasPi

Edited by joval 2021-03-01 7:55 AM
 Top of the page
1 2 3
Jump to forum:
Seconds to generate: 0.234 - Cached queries : 54 - Executed queries : 27