|
VNC server |
|
adrianl (12:53 30/5/2007) Phlamethrower (13:10 30/5/2007) adrianl (09:12 3/6/2007) nervus (11:54 3/6/2007) krisa (12:49 17/11/2007) filecore (09:53 2/10/2008) JGZimmerle (03:52 12/12/2007) monkeyson2 (13:19 30/5/2007) adrianl (13:41 30/5/2007) monkeyson2 (14:13 30/5/2007) richcheng (17:53 30/5/2007) adrianl (18:23 15/3/2010) adrianl (02:10 26/3/2010) filecore (06:09 26/3/2010)
|
|
Adrian Lees |
Message #102528, posted by adrianl at 11:53, 30/5/2007 |
Member
Posts: 1637
|
In case anyone's interested, I'm building a VNC server for RO >= 3.5 that should give considerably better performance and stability than the current one (with a bit of luck). Apologies to anyone who feels this is a duplication of effort but I've never had any real luck with the current implementation, its performance is dire on the Iyonix because it relies upon reading back from the screen memory, and the latest RealVNC Win32 client doesn't connect (or at least I couldn't make it connect).
So... the plan is to intercept the graphics acceleration hooks available on later RO versions, and use a Geminus-style interception of direct screen accesses (and probably special-case sprite plots too, ie. grab the write data before it goes anywhere near the screen; for lower depth sprites we can even send the sprite data directly in palettized form rather than incur the expense of re-palettizing the rendered pixel data), to avoid screen reads as much as possible, send only the changes and use the features of the latest protocol (3.8 ) to get better performance.
Status currently is that multiple clients can connect/disconnect, it runs on IX and A9home, supports password protected access (VNCauth/D3Des challenge key), has basic handling of mouse clicks and key presses, and sends the full frame back using ZRLE (Zlib-compressed RLE encoding). It sends the 5MB (1280x1024x32bpp) screen of my ix over a wireless connection to the Win32 client in a couple of seconds, at least half of which is the full screen read being performed on the Iyonix.
Still a lot of work to do, just thought a few of you might be interested/want to provide some ideas if it'd be useful to you too. Myself, I want it so that I can use my RO boxes from anywhere in the house, which means using an XP laptop as a dumb terminal - something that itself provides a certain amusement value for me
[Edited by adrianl at 01:58, 31/5/2007] |
|
[ Log in to reply ] |
|
Jeffrey Lee |
Message #102529, posted by Phlamethrower at 12:10, 30/5/2007, in reply to message #102528 |
Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot Hot stuff
Posts: 15100
|
Yay!
Feel free to steal any bits of code from the bits I was doing on the old VNC server, like how to do the DesktopSize pseudo encoding. (Not that it's particularly hard to support, but just in case you get stuck ). I think I was messing around with custom mouse cursors at one point as well, but judging by my website that code hasn't been released yet (Probably because it was broken, or something).
[edit]
Also, hurry up and write/release that A9/Iyonix DMA module
[Edited by Phlamethrower at 13:12, 30/5/2007] |
|
[ Log in to reply ] |
|
Phil Mellor |
Message #102531, posted by monkeyson2 at 12:19, 30/5/2007, in reply to message #102528 |
Please don't let them make me be a monkey butler
Posts: 12380
|
Sounds rather fab. And familiar! |
|
[ Log in to reply ] |
|
Adrian Lees |
Message #102533, posted by adrianl at 12:41, 30/5/2007, in reply to message #102531 |
Member
Posts: 1637
|
Sounds rather fab. And familiar! Yes, I hadn't forgotten. |
|
[ Log in to reply ] |
|
Phil Mellor |
Message #102534, posted by monkeyson2 at 13:13, 30/5/2007, in reply to message #102533 |
Please don't let them make me be a monkey butler
Posts: 12380
|
Sounds rather fab. And familiar! Yes, I hadn't forgotten. I had, until you started this thread. |
|
[ Log in to reply ] |
|
richard cheng |
Message #102537, posted by richcheng at 16:53, 30/5/2007, in reply to message #102528 |
Posts: 655
|
This is excellent news, if you can get it any faster/more stable than the previous efforts. Having to change my resolution before using it made them all little more than curiousity-pieces.
Are you going to release it as a Geminus plugin, like all your other projects? |
|
[ Log in to reply ] |
|
Adrian Lees |
Message #102643, posted by adrianl at 08:12, 3/6/2007, in reply to message #102529 |
Member
Posts: 1637
|
Well, DesktopSize and Cursor support is basically working now (not difficult really), though there are a few 't's to cross. I'll do a first code drop onto some webspace soon-ish but at the moment, because it's still making no effort to detect which screen areas have actually changed, its performance is not representative and would probably disappoint.
Richard: Re Geminus, I'm not really sure tbh. My VNC server is currently implemented as a separate module but there is a strong argument for merging it into Geminus because of the significant amount of code that is common and also because making them coexist peacefully could be tricky. Either way, I really don't see any point charging for this software; my experience over the past few years is that software development on RO does not come close to paying for itself, and though it galls me somewhat that users almost expect software to be free, I guess I'd rather have a few dozen users of my server if it's released as free (as in beer) software versus 5 paid-up users.
*adrianl ignores mention of DMA module and quickly scurries away. stupid thing is that it's really quite trivial*
[Edited by adrianl at 09:15, 3/6/2007] |
|
[ Log in to reply ] |
|
nervus |
Message #102647, posted by nervus at 10:54, 3/6/2007, in reply to message #102643 |
Member
Posts: 13
|
Either way, I really don't see any point charging for this software; my experience over the past few years is that software development on RO does not come close to paying for itself, and though it galls me somewhat that users almost expect software to be free, I guess I'd rather have a few dozen users of my server if it's released as free (as in beer) software versus 5 paid-up users.
To me it would not be a problem to pay a fee for a good-working VNC-server. There are limits of course . I can't really understand the people that expect everything to be free. You put time and effort in these things; they can't do it themselves; so why not pay??? If YOU choose to give it away: kudos to you. Back on topic: a good VNC-server would enable me to use my RPC and A9home over my 1 Gb-network from my Apple desktop. That would be really nice: using Draw and TechWriter and the results imported on my desktop. I still like those 2 programs a lot better than their Mac-counterparts |
|
[ Log in to reply ] |
|
Kris Adcock |
Message #105301, posted by krisa at 12:49, 17/11/2007, in reply to message #102647 |
Member
Posts: 62
|
Sorry to resurrect an old thread ... but does anyone have (or know of) a VNC server module for RISC OS? I need a module that will let me regularly (about once a second) grab a frame from an Iyonix and distribute it over a network, and VNC seems a nifty way of doing it. It needs to work when a single-tasking program is running, but I don't need any of the other VNC aspects (like keyboard or mouse actions, clipboard transfer, and so on).
Can anyone help? |
|
[ Log in to reply ] |
|
Julian "Jules" Zimmerle |
Message #105647, posted by JGZimmerle at 03:52, 12/12/2007, in reply to message #102643 |
Member
Posts: 4
|
Hi Adrian!
Any news on your VNC server? I'm looking into getting my a9home out of the loft and using it via VNC, because it won't work properly with my LCD monitor and I don't want to have several keyboards/mice on my desk.
TIA, Julian |
|
[ Log in to reply ] |
|
Jason Togneri |
Message #108450, posted by filecore at 08:53, 2/10/2008, in reply to message #102647 |
Posts: 3868
|
Back on topic: a good VNC-server would enable me to use my RPC and A9home over my 1 Gb-network from my Apple desktop. Hmm, don't think they made gigabit cards for RiscPCs, so you'll be stuck with (at best) 10/100 speeds.
On topic: any progress with this to date? |
|
[ Log in to reply ] |
|
Adrian Lees |
Message #113720, posted by adrianl at 18:23, 15/3/2010, in reply to message #102528 |
Member
Posts: 1637
|
Years have passed - *sigh* - but I've recently picked up this project again and started to turn it into an useful program. Some of the features are IYONIX pc-only at the moment, but it's now sending incremental updates and catching the hardware-accelerated operations (copy/fill rect) making it a good deal more usable.
It also copes with mode changes, and sends the cursor sprites to the client for display, so in some ways it's already an improvement on the other offerings.
I intend to upload incremental alpha versions soon, to guard against me losing interest/getting distracted again |
|
[ Log in to reply ] |
|
Adrian Lees |
Message #113795, posted by adrianl at 02:10, 26/3/2010, in reply to message #113720 |
Member
Posts: 1637
|
Anyway, if you're bored....prototypes available from here
[Edited by adrianl at 02:13, 26/3/2010] |
|
[ Log in to reply ] |
|
Jason Togneri |
Message #113796, posted by filecore at 06:09, 26/3/2010, in reply to message #113795 |
Posts: 3868
|
Woo! |
|
[ Log in to reply ] |
|
|