VirtualRPC screen resize in virtual machine

discuss emulators of 32-bit acorn systems e.g. arculator and rpcemu
Post Reply
Posts: 426
Joined: Sat Oct 24, 2015 9:25 am
Location: Sunny Wigan

VirtualRPC screen resize in virtual machine

Post by Boydie » Sat Nov 18, 2017 10:10 am

I may be trying to be overly ambitious here, but I'm going to try anyway...

I currently use VirtualRPC as my emulator of choice, probably mainly because I paid for it (some years ago before there were decent alternatives) so I'm determined to get my money's worth! I also have a central server at home (OpenSUSE, Haswell Refresh class i5, plenty of spare memory) which can run a virtual machine (XP or Win7) and which all other machines in the house can remotely access via NoMachine.
Hence the rather convoluted plan is to log into server via NX, and run VRPC in the virtual machine. Accessing the virtual machine this way seems to run faster than trying a remote desktop session directly into the virtual machine.

The problem I'm getting is when VRPC wants to change screen resolution for games etc. On a real windows box, the VRPC screen just gets upscaled to occupy the entire screen. On the virtual machine VRPC no longer upscales, resulting in a blank screen with a 640 or 320x256 display in the middle. This is something of a hindrance!
This happens whether the virtual machine is being accessed over NX, via a remote desktop into the virtual machine, or even when physically logged into the server itself.

Has anyone else tried anything similar and had success? Any pointers as to what might be going wrong? I've tried VMWare and VirtualBox and the behaviour's the same in both.
My gut feeling is that VRPC should be doing the auto-scaling and for some reason it's not aware of the native resolution when in a virtual machine.
Would an alternative emulator work better? Is it just time to ditch VRPC for something better?

Posts: 1496
Joined: Mon Jul 25, 2016 12:05 pm

Re: VirtualRPC screen resize in virtual machine

Post by Coeus » Tue Jan 02, 2018 3:48 pm

I don't know hold old VirtualRPC is but I have just been looking at the full-screen behaviour in B-Em (8 bit) because the screen was being stretched horizontally. distorting the aspect ratio.

What I found was B-Em was trying to select 800x600 resolution in full-screen mode. Under X on Linux, that resulted in up-scaling in both directions so the image filled a 1920x1080 screen, hence the horizontal stretching. When I tried it on Windows running in VirtualBox with the VirtualBox extensions installed it instead re-sized the window the VirtualBox machine was running in to have 800x600 resolution and did no up-scaling, i.e. it was then full-screen as far as the Windows guest was concerned but not on the Linux host.

I suspect the issue here is that these programs date from a time when changing the output resolution of the graphics card was something you did and the CRT monitor would adjust accordingly. In these days of LCDs you don't do that - you run at native resolution and upscale/downscale accordingly. If your program (in this case VirtualPC is the program) is written to work that way it can make its own decisions about scaling, clipping, aspect ratio etc. but if it tries to set some non-native resolution then you're at the mercy of the graphics pipeline from there on as to what happens and different platforms will do it differently.

Post Reply

Return to “32-bit acorn emulators”