wine and display scaling
I have a sort of conundrum. I am running Kubuntu 7.10 on a Dell D600 laptop. This laptop has a 4:3 display at some native resolution I don't recall at the moment.
I am trying to run Starcraft through wine. The game runs perfectly fine, but I'm having trouble with the display.
The problem is that my display does not seem to like the low 640x480 resolution, period. I don't know if it's a Linux/Kubuntu 7.10 problem (I have not tested this laptop with any other OS) or just a problem with the display. Basically, if I set the desktop to 640x480 or if a program runs full screen at 640x480, there are two very thick bars running vertically down the left side and just right of the middle of the screen and these bars are either solid black or white, depending. The mouse cursor is even obscured by these bars.
As some may know, Starcraft is a game that runs at a resolution of 640x480 so if I let wine run it fullscreen, I have the two vertical bars problem. I have set wine to run it in a window, and it runs fine there with no issue with the display - except that a 640x480 window is fairly tiny on this screen!
I cannot seem to find a way for wine to scale up the window to a higher resolution like 800x600 at least, or 1024x768. I want to know if there is some way I can make wine run the game in the window, but make the window and its contents larger. Either via the default interface, wine hacks, or some sort of plug-in.
Any help on this would be greatly appreciated.
I just found an answer.
Wine Application DB - Viewing App: Dungeon Keeper 2 1.x
In essence, you can create a new x server, start the wine application at the required resolution. Then use [CTL] [ALT] numberpad [+] or [-] to shift the resolution of that x server to the required resolution.
Here is a short guide to what you need to do:
Ensure that in your xorg.conf file the don't zoom flag is commented, and that you have the resolution that you need tacked onto your screen section:
Now create a little start script, something like this:
# Option "Dont Zoom"
Identifier "Screen 1"
Modes "1440x900" "1280x1024" "1024x768" "1400x1050" "640x400"
ViewPort 0 0
Virtual 0 0
Then once the app is running, use the [CTL] [ALT] numberpad [+] or [-] to get to the right resolution. Now it should be good to go.
X :3 -ac &
env DISPLAY=:3 wine exec.exe
/usr/bin/kill "X :3"$(ps ax | grep "X :3")
Does it have to be numberpad + and -? As I mentioned, it's a laptop. There is no numberpad.
Do you have a Fn key or a num-lock key that you can use to turn a portion of your keyboard into the numberpad?
I also realized that below, I left out a part that you probably inferred, but I didn't state explicitly. Make sure that you are starting the wine program in windowed mode at 640x480.
Well, I made the script, and I am able to zoom in. But there is a problem. It opens in the upper left corner of the screen. When I do the Ctrl + Alt + + it just zooms in over in the corner, which ends up cutting off most of the screen. It doesn't keep the top and left corners of the window pinned to the edge of the screen.
Thanks for the suggestion though.