These lines could explain why Starcraft is unable to switch to fullscreen:
err:xrandr:X11DRV_XRandR_GetCurrentMode In unknown mode, returning default fixme:xrandr:X11DRV_XRandR_SetCurrentMode Cannot change screen BPP from 16 to 8 fixme:xrandr:X11DRV_XRandR_SetCurrentMode Cannot change screen BPP from 16 to 8
I seem to remember that BPP cannot be changed _at all_ with XRandR, is this correct?
If it is, then the obvious thing to do is to leave BPP alone and just change to the correct resolution.
What needs fixing here?
On 05/04/06, Molle Bestefich molle.bestefich@gmail.com wrote:
I seem to remember that BPP cannot be changed _at all_ with XRandR, is this correct?
Yes.
On 4/5/06, Molle Bestefich molle.bestefich@gmail.com wrote:
These lines could explain why Starcraft is unable to switch to fullscreen:
err:xrandr:X11DRV_XRandR_GetCurrentMode In unknown mode, returning default fixme:xrandr:X11DRV_XRandR_SetCurrentMode Cannot change screen BPP from 16 to 8 fixme:xrandr:X11DRV_XRandR_SetCurrentMode Cannot change screen BPP from 16 to 8
I seem to remember that BPP cannot be changed _at all_ with XRandR, is this correct?
If it is, then the obvious thing to do is to leave BPP alone and just change to the correct resolution.
What needs fixing here?
You need to have 640x480 in your xorg.conf or XF86Config. If not that try capturing a log with WINEDEBUG=+xrandr and see what is wrong.
Jesse Allen wrote:
On 4/5/06, Molle Bestefich molle.bestefich@gmail.com wrote:
These lines could explain why Starcraft is unable to switch to fullscreen:
err:xrandr:X11DRV_XRandR_GetCurrentMode In unknown mode, returning default fixme:xrandr:X11DRV_XRandR_SetCurrentMode Cannot change screen BPP from 16 to 8 fixme:xrandr:X11DRV_XRandR_SetCurrentMode Cannot change screen BPP from 16 to 8
I seem to remember that BPP cannot be changed _at all_ with XRandR, is this correct?
If it is, then the obvious thing to do is to leave BPP alone and just change to the correct resolution.
What needs fixing here?
You need to have 640x480 in your xorg.conf or XF86Config. If not that try capturing a log with WINEDEBUG=+xrandr and see what is wrong.
I don't know... All I get is this AFTER StarCraft quits:
X Error of failed request: BadDrawable (invalid Pixmap or Window parameter) Major opcode of failed request: 70 (X_PolyFillRectangle) Resource id in failed request: 0x0 Serial number of failed request: 124 Current serial number in output stream: 126
On Wed, 2006-04-05 at 13:59 -0400, Segin wrote:
Jesse Allen wrote:
I don't know... All I get is this AFTER StarCraft quits:
X Error of failed request: BadDrawable (invalid Pixmap or Window parameter) Major opcode of failed request: 70 (X_PolyFillRectangle) Resource id in failed request: 0x0 Serial number of failed request: 124 Current serial number in output stream: 126
I can confirm getting same error when Fallout2 quits, with and without Stefan's ddraw->wined3d patch.
On 4/5/06, Segin segin2005@gmail.com wrote:
Jesse Allen wrote: On 4/5/06, Molle Bestefich molle.bestefich@gmail.com wrote:
These lines could explain why Starcraft is unable to switch to fullscreen:
err:xrandr:X11DRV_XRandR_GetCurrentMode In unknown mode, returning default fixme:xrandr:X11DRV_XRandR_SetCurrentMode Cannot change screen BPP from 16 to 8 fixme:xrandr:X11DRV_XRandR_SetCurrentMode Cannot change screen BPP from 16 to 8
I seem to remember that BPP cannot be changed _at all_ with XRandR, is this correct?
If it is, then the obvious thing to do is to leave BPP alone and just change to the correct resolution.
What needs fixing here?
You need to have 640x480 in your xorg.conf or XF86Config. If not that try capturing a log with WINEDEBUG=+xrandr and see what is wrong.
I don't know... All I get is this AFTER StarCraft quits:
X Error of failed request: BadDrawable (invalid Pixmap or Window parameter) Major opcode of failed request: 70 (X_PolyFillRectangle) Resource id in failed request: 0x0 Serial number of failed request: 124 Current serial number in output stream: 126
Well if the game crashes, even quitting, then it's likely not going to restore the resolution no matter what.
Jesse Allen wrote:
On 4/5/06, Segin segin2005@gmail.com wrote:
Jesse Allen wrote: On 4/5/06, Molle Bestefich molle.bestefich@gmail.com wrote:
These lines could explain why Starcraft is unable to switch to fullscreen:
err:xrandr:X11DRV_XRandR_GetCurrentMode In unknown mode, returning default fixme:xrandr:X11DRV_XRandR_SetCurrentMode Cannot change screen BPP from 16 to 8 fixme:xrandr:X11DRV_XRandR_SetCurrentMode Cannot change screen BPP from 16 to 8
I seem to remember that BPP cannot be changed _at all_ with XRandR, is this correct?
If it is, then the obvious thing to do is to leave BPP alone and just change to the correct resolution.
What needs fixing here?
You need to have 640x480 in your xorg.conf or XF86Config. If not that try capturing a log with WINEDEBUG=+xrandr and see what is wrong.
I don't know... All I get is this AFTER StarCraft quits:
X Error of failed request: BadDrawable (invalid Pixmap or Window parameter) Major opcode of failed request: 70 (X_PolyFillRectangle) Resource id in failed request: 0x0 Serial number of failed request: 124 Current serial number in output stream: 126
Well if the game crashes, even quitting, then it's likely not going to restore the resolution no matter what.
Ahh, that's where the irony is, it does restore resolution.
On 4/5/06, Segin segin2005@gmail.com wrote:
Well if the game crashes, even quitting, then it's likely not going to restore the resolution no matter what.
Ahh, that's where the irony is, it does restore resolution.
Oh, I guess it's not crashing then! =p
Haha well where that idea comes from is like when Diablo 2 gets the gamma error, it has already resized the resolution, but decides to quit and not resize it back. Not very nice, but games do funny things like that.
Hi,
Haha well where that idea comes from is like when Diablo 2 gets the gamma error, it has already resized the resolution, but decides to quit and not resize it back. Not very nice, but games do funny things like that.
Because windows' ddraw.dll restores everything when the app exists. I've added some code to do that do my ddraw lib. I restore the screen mode when the ddraw object is released, and on the last DllMain() unload call, I loop through all ddraw objects, print their refcount, destroy all the surfaces and the ddraw object. This restores the screen res successfully.
Turned out that many apps do not care to release their stuff... Gothic 2, Diablo 2, Moto racer 2, ...
Stefan
On Thu, Apr 06, 2006 at 10:18:16AM +0200, Stefan Dösinger wrote:
Because windows' ddraw.dll restores everything when the app exists. I've added some code to do that do my ddraw lib. I restore the screen mode when the ddraw object is released, and on the last DllMain() unload call, I loop through all ddraw objects, print their refcount, destroy all the surfaces and the ddraw object. This restores the screen res successfully.
Well it's the same for memory: who in his right mind in modern operating system still 'free's at exit all 'malloc'ed memory :-) ?
Lionel
Lionel Ulmer wrote:
Well it's the same for memory: who in his right mind in modern operating system still 'free's at exit all 'malloc'ed memory :-) ?
Somebody who thinks his code may be reused in a library one day?
Mike
On Thu, Apr 06, 2006 at 10:18:16AM +0200, Stefan Dösinger wrote:
Because windows' ddraw.dll restores everything when the app exists. I've added some code to do that do my ddraw lib. I restore the screen mode when the ddraw object is released, and on the last DllMain() unload call, I loop through all ddraw objects, print their refcount, destroy all the surfaces and the ddraw object. This restores the screen res successfully.
Well it's the same for memory: who in his right mind in modern operating system still 'free's at exit all 'malloc'ed memory :-) ?
Do you know the traveller's motto? "Leave only footprints" Meaning: don't destroy things that don't belong to you, don't pollute other stuff, don't leave garbage, don't rely on others to clean up after you :)
So I'd say: Everyone who has a proud in his/her code as being a round, closed piece of work should also do the cleanup himself. I sure don't like if some tools report that my programs have leaks, no matter what modern, hi-tech, sophisticated OS they will run on. Call me old-fashioned :)
Sorry for the rambling.
bye Fabi
Jesse Allen wrote:
These lines could explain why Starcraft is unable to switch to fullscreen:
err:xrandr:X11DRV_XRandR_GetCurrentMode In unknown mode, returning default fixme:xrandr:X11DRV_XRandR_SetCurrentMode Cannot change screen BPP from 16 to 8 fixme:xrandr:X11DRV_XRandR_SetCurrentMode Cannot change screen BPP from 16 to 8
You need to have 640x480 in your xorg.conf or XF86Config. If not that try capturing a log with WINEDEBUG=+xrandr and see what is wrong.
Thanks! Ok, here we go:
Starcraft # WINEDEBUG=+xrandr wine starcraft.exe trace:xrandr:X11DRV_XRandR_Init Found XRandR - major: 1, minor: 1 trace:xrandr:X11DRV_XRandR_Init XRandR: found 3 resolutions sizes trace:xrandr:X11DRV_XRandR_Init - at 0: 1280x1024 (2 rates): -19575, -19557 Hz trace:xrandr:X11DRV_XRandR_Init - at 1: 800x600 (1 rates): -19575 Hz trace:xrandr:X11DRV_XRandR_Init - at 2: 640x480 (1 rates): -19575 Hz trace:xrandr:X11DRV_XRandR_Init XRandR modes: count=4 trace:xrandr:X11DRV_XRandR_Init Available DD modes: count=12 trace:xrandr:X11DRV_XRandR_Init Enabling XRandR trace:xrandr:X11DRV_XRandR_Init Found XRandR - major: 1, minor: 1 trace:xrandr:X11DRV_XRandR_Init XRandR: found 3 resolutions sizes trace:xrandr:X11DRV_XRandR_Init - at 0: 1280x1024 (2 rates): -19575, -19557 Hz trace:xrandr:X11DRV_XRandR_Init - at 1: 800x600 (1 rates): -19575 Hz trace:xrandr:X11DRV_XRandR_Init - at 2: 640x480 (1 rates): -19575 Hz trace:xrandr:X11DRV_XRandR_Init XRandR modes: count=4 trace:xrandr:X11DRV_XRandR_Init Available DD modes: count=12 trace:xrandr:X11DRV_XRandR_Init Enabling XRandR err:xrandr:X11DRV_XRandR_GetCurrentMode In unknown mode, returning default fixme:ddraw:Main_DirectDraw_SetCooperativeLevel (0x7fd450d0)->(0x30026,00000013) fixme:xrandr:X11DRV_XRandR_SetCurrentMode Cannot change screen BPP from 16 to 8 trace:xrandr:X11DRV_XRandR_SetCurrentMode Changing Resolution to 640x480 @45961 Hz fixme:xrandr:X11DRV_XRandR_SetCurrentMode Cannot change screen BPP from 16 to 8 trace:xrandr:X11DRV_XRandR_SetCurrentMode Changing Resolution to 640x480 @45961 Hz fixme:x11drv:X11DRV_DDHAL_CreatePalette stub
[ application runs ... click 'exit' ]
trace:xrandr:X11DRV_XRandR_SetCurrentMode Changing Resolution to 1280x1024 @4596 1 Hz Starcraft #
Looks like xrandr is broken. It says "Changing Resolution to 640x480", so that sounds great - only it doesn't.
What should I look for next?
On 4/7/06, Molle Bestefich molle.bestefich@gmail.com wrote:
trace:xrandr:X11DRV_XRandR_SetCurrentMode Changing Resolution to 1280x1024 @4596 1 Hz Starcraft #
Looks like xrandr is broken. It says "Changing Resolution to 640x480", so that sounds great - only it doesn't.
What should I look for next?
Well that looks weird. I'd maybe look through xorg.conf or you X.org log and see what is going on with those refresh frequencies. My xrandr works fine, so it might still be a setup issue.
Jesse
Jesse Allen wrote:
On 4/7/06, Molle Bestefich molle.bestefich@gmail.com wrote:
trace:xrandr:X11DRV_XRandR_SetCurrentMode Changing Resolution to 1280x1024 @4596 1 Hz Starcraft #
Looks like xrandr is broken. It says "Changing Resolution to 640x480", so that sounds great - only it doesn't.
What should I look for next?
Well that looks weird. I'd maybe look through xorg.conf or you X.org log and see what is going on with those refresh frequencies. My xrandr works fine, so it might still be a setup issue.
Jesse
I'd love to give ya'll a trace, but, i forgot how to do a trace. Is it WINEDEBUG="+xrandr" wine starcraft.exe ?
Jesse Allen wrote:
Molle Bestefich wrote:
Looks like xrandr [support] is broken. It says "Changing Resolution to 640x480", so that sounds great - only it doesn't.
I'd maybe look through xorg.conf or you X.org log and see what is going on with those refresh frequencies.
Dumb question time.
I can switch to 640x480 just fine using [CTRL] [ALT] [-], does that mean that my xrandr is working?
At least it means that my xorg.conf is fine, right. Nothing is written to Xorg.0.log when switching resolution manually or starting the game. Hmm.
On Thursday, April 13, 2006 09:50, Molle Bestefich wrote:
Jesse Allen wrote:
Molle Bestefich wrote:
Looks like xrandr [support] is broken. It says "Changing Resolution to 640x480", so that sounds great - only it doesn't.
I'd maybe look through xorg.conf or you X.org log and see what is going on with those refresh frequencies.
Dumb question time.
I can switch to 640x480 just fine using [CTRL] [ALT] [-], does that mean that my xrandr is working?
At least it means that my xorg.conf is fine, right. Nothing is written to Xorg.0.log when switching resolution manually or starting the game. Hmm.
That uses xvidmode to switch resolutions (and really just changes the amount you can view, the desktop size stays the same, try moving the mouse to the edges of the screen). xrandr is a different way of switching resolutions, which actually changes the resolution on the fly, try using 'krandrtray' or 'xrandr' to use xrandr instead.
You should see the following in your Xorg.0.log file, if xrandr is enabled: (==) RandR enabled (II) Initializing built-in extension RANDR
- Neil
Neil Skrypuch wrote:
Molle Bestefich wrote:
I can switch to 640x480 just fine using [CTRL] [ALT] [-],
That uses xvidmode to switch resolutions (and really just changes the amount you can view, the desktop size stays the same, try moving the mouse to the edges of the screen). xrandr is a different way of switching resolutions, which actually changes the resolution on the fly, try using 'krandrtray' or 'xrandr' to use xrandr instead.
Thanks!! That's the missing piece of information.
krandrtray doesn't work either, so my X.org configuration is apparently borked. See refresh rates in attached screenshot ;-).
Sorry for the noise on wine-devel.
You should see the following in your Xorg.0.log file, if xrandr is enabled: (==) RandR enabled (II) Initializing built-in extension RANDR
Yep, got those exact lines (no ensuing warnings/errors).
On Friday, April 14, 2006 05:34, you wrote:
Neil Skrypuch wrote:
Molle Bestefich wrote:
I can switch to 640x480 just fine using [CTRL] [ALT] [-],
That uses xvidmode to switch resolutions (and really just changes the amount you can view, the desktop size stays the same, try moving the mouse to the edges of the screen). xrandr is a different way of switching resolutions, which actually changes the resolution on the fly, try using 'krandrtray' or 'xrandr' to use xrandr instead.
Thanks!! That's the missing piece of information.
krandrtray doesn't work either, so my X.org configuration is apparently borked. See refresh rates in attached screenshot ;-).
Sorry for the noise on wine-devel.
You should see the following in your Xorg.0.log file, if xrandr is enabled: (==) RandR enabled (II) Initializing built-in extension RANDR
Yep, got those exact lines (no ensuing warnings/errors).
You can tell Wine to use xvidmode instead of xrandr. Add UseXVidMode as Y and UseXRandR as N in \HKEY_CURRENT_USER\Software\Wine\X11 Driver.
- Neil
Neil Skrypuch wrote:
You can tell Wine to use xvidmode instead of xrandr. Add UseXVidMode as Y and UseXRandR as N in \HKEY_CURRENT_USER\Software\Wine\X11 Driver.
Aha, that's why my XVidMode=Y didn't work.
How odd that one flag isn't enough.
eg. SwitchResolutionWith = XRandR / XVidMode
Thanks again :).
On 14/04/06, Molle Bestefich molle.bestefich@gmail.com wrote:
How odd that one flag isn't enough.
eg. SwitchResolutionWith = XRandR / XVidMode
XVidMode is also used for gamma control.
On 4/15/06, H. Verbeet hverbeet@gmail.com wrote:
On 14/04/06, Molle Bestefich molle.bestefich@gmail.com wrote:
How odd that one flag isn't enough.
eg. SwitchResolutionWith = XRandR / XVidMode
XVidMode is also used for gamma control.
Yes, but I made two patches. One to enable all of XVidMode by default and the other to make gamma work regardless of the setting of UseXVidMode. If both XRandR and XVidMode are enabled, XRandR is preferred for mode setting. So all you need to do to make XVidMode take over is set UseXRandR = N, which obviously makes sense because XRandR is broken for him.