Remote Desktop Application For The Pandora


wemcott

Still Fresh
Joined
Apr 2, 2009
Messages
15
I was just thinking that for games that cant be emulated as of right now for the pandora, why couldn't we just run them on a home computer and use a remote application to control them from a pandora.

sure we'll need to have an internet connection to actually use the program, but I was only really thinking about using it for online games that I'm fairly certain the pandora won't run anytime soon. I saw a video of an HTC diamond running WoW through some no name remote desktop app, and that's where I got this idea.

Now here's where it gets good:

"TightVNC is a free remote control software package. With TightVNC, you can see the desktop of a remote machine and control it with your local mouse and keyboard, just like you would do it sitting in the front of that computer. TightVNC is:
-free, GPL-licensed, with full source code available;
-useful in remote administration, remote customer support, education, and for many other purposes;
-cross-platform, available for Windows and Unix, compatible with other VNC software."

VNC is a remote desktop application, and hey! would you look at that? the UNIX build is FREE.
meaning we could install VNC free on a home linux computer, and TightVNC on a Pandora, to use whatever application we want... assuming there's an internet connection.

Hold up, actually I looked around a little bit and I'm not exactly sure if TightVNC works on ARM... but there are other things we could look into if it's so. Xvnc is another remote application for the VNC software, and I'm fairly certain it's ARM.
there's plenty of other ARM based VNC views (pocket VNC) but most of them are for Windows mobile. sure it's open source, and it's ARM, but whether or not someone can mod the hell out of it to get it linux-fied is another question.
saw around the net that the TightVNC devs are really easy to get along with in terms of new ideas. I hear shooting them an idea is actually a good route to take, seeing as they'll most likley do it if they have enough time and support. I'm going to shoot them an email real quick and see if one of there versions is compatible, and if not, could they make one.

oh, another update: found "fbvnc" a vnc program specifically designed for "linux handhelds with touchscreens"
why, that's just positively awesome.

here's some links:

RealVNC (the actual home application that all of this runs off of)
CODE
http://www.realvnc.com/


fbvnc
CODE
http://pocketworkstation.org/fbvnc.html


TightVNC
CODE
http://www.tightvnc.com/


A list of all the different VNC flavors (apparently missing fbvnc...)
CODE
http://faq.gotomyvnc.com/cgi-bin/fom?_recurse=1&file=113


DirectVNC (also for linux handhelds)
CODE
http://freshmeat.net/projects/directvnc


A pdf about porting UNIX tightVNC to symbian OS using P.I.P.S. (information about tightvnc's innards might be useful for someone)
CODE
http://developer.symbian.com/wiki/download/attachments/1411/Porting+TightVNC+to+Symbian+OS+using+P.I.P.S._1_1.pdf?version=1



Wow... I should really get everything together and then post instead of post while still researching... I might edit in a bit after some sleep.

Well, I don't have as much coding expertise (I'm more hardware and design) as most of the people on here, so if anyone wants to take a further look into it, please do so. I can't wait to hear if I can run remote applications or not!
 
Last edited by a moderator:
Well the problem there is the delay. VNC apps don't refresh the screen at the same framerate as using the application natively would. They're made for remote administration, mainly. You won't be able to play a game remotely unless you're using a remote app designed specifically for gaming, and then it probably won't look too good and it will have lag. It might not be significant enough for you to care about it, for certain games, but for something like WoW it'd be noticeable.
Just think, at max speed, pandora wifi will be 54 mbps. That's megaBITS remember. a single uncompressed bitmap image of an 800x480 screen will be 1,152,000 bytes, or 9.2 megabits. Okay so for a single uncompressed frame we're already utilizing about 1/5 of the total maximum bandwidth, if we're *locally* connected, not over the internet.
so it will not end up being a crisp high quality image. To stream a video game at an acceptable framerate it will be quite a compressed video, *especially* if you want to do it over the internet and not just locally. On top of that, I don't think you've ever tried to play a game where your input lagged - most people haven't. It's completely different than regular lag, where the game is just unresponsive on the server end. When your input lags, which will happen in this situation, you end up over-compensating repeatedly and it's basically unplayable.

My main point is that I think you could get the delays down enough that it would be acceptable to play a game locally, on your own network. I'm fairly certain that a solution that worked over the internet is not worth pursuing.

Depends what kinds of games you want to play though. minesweeper?
 
Last edited by a moderator:
ha, yeah I guess with that I would be stuck with minesweeper lol.

QUOTE
Just think, at max speed, pandora wifi will be 54 mbps. That's megaBITS remember. a single uncompressed bitmap image of an 800x480 screen will be 1,152,000 bytes, or 9.2 megabits. Okay so for a single uncompressed frame we're already utilizing about 1/5 of the total maximum bandwidth


I wish everyone could explain stuff that easily, your awesome.

I should've thought about that when I saw the video I was talking about, but I think I just guessed that it was because of the off-name app he was using.
CODE
http://www.youtube.com/watch?v=bw73oDGdbkc


well, it can't be used for gaming (at least gaming comfortably), but I assume I'd still be able to use it for other stuff... say the situation where I forgot to print out an essay for school, I could just hop on to a network, pull it off and put it on a usb/sd so I can print it in the library or something, starting/stopping programs while away (torrents, etc.), and other things, so it's still something I'd like to have on the pandora.
 
Last edited by a moderator:
Theoretically, due to the way X runs, you can connect to a Linux based PC from your pandora, and play a game that's running on the PC in a window on the pandora. This would only work for games that run in a window, and would probably fail horribly for anything that uses OpenGL. You could probably run PC games that work in WINE assuming they use software rendering, but that'd have the same bandwidth refresh issues.

OpenGL is supposed to support remote rendering (the app runs on one machine, but pipes the GL instructions to the other machine, which runs them), but I doubt that's supported by GLES.

On a side note, this is one way to get flash "working" on the Pandora, in a roundabout way - run FireFox on a desktop linux pc, and redirect its display to the Pandora. Again the refresh won't be great, though!
 
Last edited by a moderator:
'benjymous' said:
Theoretically, due to the way X runs, you can connect to a Linux based PC from your pandora, and play a game that's running on the PC in a window on the pandora. This would only work for games that run in a window, and would probably fail horribly for anything that uses OpenGL. You could probably run PC games that work in WINE assuming they use software rendering, but that'd have the same bandwidth refresh issues.

OpenGL is supposed to support remote rendering (the app runs on one machine, but pipes the GL instructions to the other machine, which runs them), but I doubt that's supported by GLES.

On a side note, this is one way to get flash "working" on the Pandora, in a roundabout way - run FireFox on a desktop linux pc, and redirect its display to the Pandora. Again the refresh won't be great, though!
exactly, I think the main problem here is just routing all the frames at a reasonable rate, while still having decent controls. maybe someday that new "onlive" service will come to pandora, so we can play crysis :p

but really, when it comes to flash... why is everyone so hyped up about it? I mean if I really want to watch a youtube video on the pandora, I'll just jump over to keepvid.com and download it. play it through VLC. I guess it really matters when it comes to games though. flashbased games need a flash based program to engine it.
 
Last edited by a moderator:
Remoting is no good for gaming :)

VNC is barely usable for non-gaming with a DSL-upside to your home box; its half usable on a ethernet network imho :)

MS RemoteDesktop (RDP/RDC) is pretty good, but it can't keep up with gaming.

NX is pretty good, but also not good for gaming.

The reality is .. a game at 30 or 60 fps is generally updaitng a lot of stuff on the screen, and its hard to send that up the wire and have a reasonable response rate.

(Something to consider is .. can oyu go to youtube, pick a high def video, and watch it in real time with no queueing, and get no stutter? And thats a precompressed video on a Google's mighty backbone, not uploading on someones slow DSL uplink and sucking down to 802.11 on your handheld :)

(Yes, it _could_ be done, but not with VNC or NX or RDP :)

jeff
 
Last edited by a moderator:
Didn't the guys behind StreamMyGames mention they were working on an ARM version?
 
Last edited by a moderator:
When I had a Visor Prism (the first colour PalmOS device), I used PalmVNC to play Civ over the Internet. It was pretty nasty, but I've used VNC from PC to PC enough that I understand that the Prism was fairly limited by its processor (5.5% the frequency of, say the Pandora's, likely also having a much lower performance-per-clock as well) and memory (3.12% that of the Pandora's, also much slower and also doing double work as storage!), and a device that doesn't have quite as many bottlenecks should be quite a bit smoother.

If the host machine runs X (as mentioned above by another poster), then running apps over "ssh -XC" (the X forwards gui apps, and the C enables compression).

Some apps and games won't work at all, but there are a ton that will. I don't regularly use vnc anymore on account of how awesome ssh is. My usual host computer is almost certainly slower than the Pandora (an old in-order K6-2 running at 450MHz and using PC133 SDRAM, also slightly using swap right now), and it is about fifteen hops away from me along the Internet right now. When I get into work every morning, I run pidgin, knotes, opera (with around twenty tabs on startup), and sometimes kate, on this machine, through an ssh connection, displayed on my work computer. This is extremely doable and usually only a little bit slower than I'd see when running locally. I'm going to guess that running a single application of this nature in this manner on a faster host computer, viewed on the Pandora, would easily trump my experience here.

For what it's worth, I just tried out frozen-bubble (via ssh) for kicks. Over the Internet to that very slow machine, it was pretty agonizing, albeit playable. The screen transition from main menu to level one took about a minute, and the game ran at a quarter normal speed. Happily, local LAN pings here are anywhere between 20 and 150 times the brevity of accessing a computer in another county.

On a machine across the room, frozen-bubble runs pretty much in real time (with that screen transition being *slightly* more noticeable than it would be on the actual box, maybe). supertux runs pretty much in real time. chromium was initially LOL, but it turned out that X Composite on my local box was conflicting with its attempt to massively transfer tons of opengl-based graphics, so when Composite automatically switched off ... now it plays realtime, which exceeds my expectations massively.


Saying "remoting is no good for gaming" really depends on what kind of gaming you do. Obviously, if you're playing a twitch game that needs to redraw an entirely new screen sixty times every second, it won't be able to update as fast. But there are *thousands* of games that do not fit in the massive data transfer category, even many that cannot directly run on the Pandora and will benefit from this sort of remote play (Civilizations 3 and 4 certainly apply -- especially if you nix the animations, you have very little throughput required, but the game couldn't possibly run natively, not only for the "different architecture/OS" reason, but because those games are computationally-intensive, crazy memory hogs even on machines with greater than a gigahertz and a gigabyte).


Also, regarding the data transfer rate and screen updates, most vnc servers and clients (as well as the aforementioned ssh) do compress by default. And most apps as well as many, many games change smaller parts of the window, not the full screen, from refresh to refresh.

So I'm optimistic. :D



(but seriously, it's pretty awesome to be able to pull up a run dialog and type "runfromhome pidgin" on any computer that I use to access the same program from anywhere without having to synchronize account data or chat logs or whatever between machines)
 
OpenSSH (and likely many of the other ones) allow X11 forwarding. Which means that you can display the output from the OpenPandora to your Desktop if it is running X. I'm fairly confident that usb networking will be enough throughput for this, wireless depends on your setup. Of course this also means that your mostly restricted to Linux desktops (not sure about Mac and you might be able to get something under windows via cygwin).

http://www.gentoo-wiki.info/OpenSSH/X_forwarding

EDITED: Added Link
 
Last edited by a moderator:
Back
Top