regression - display mode detection - more exanples
Alex Pasadyn
ajp at mail.utexas.edu
Sat Sep 27 17:17:29 CDT 2003
hatky wrote:
> gta2 manager now detects these resolutions twice:
> 640x480
> 800x600
> 1024x786
> 1152x864
> 1280x960
> and the 1400x1050 4 times
> (This manager only displays resolutions without dept)
>
> Gta2 itself now crashes but I am not sure if that is
> related or not
I tried running the demo for GTA2 but it just puts up a window that says
"Keyboard type not handled". I've never seen anything like that before
(plain US keyboard). I see the resolutions listed twice in the manager,
though. I am guessing they are different depths or something. What
kind of crash do you get?
As far as the one mode repeated a bunch of times, that's caused by me
making sure the original desktop size and the real X desktop size are
both in the list, and I did not check for duplicates.
> as I said Unreal Tournament 2003 no longer finds any
> valid display modes (I the traces to some of you and
> to wine-devel)
I am still confused by this one. Can you try setting your Wine desktop
to 512x384 and see if it still complains? As I told you before, I
cannot get the demo for that program to run at all, so I am unable to
investigate it. It reports (Object Class ObjectInternal created in
Class instead of Package).
> and you have the Max Payne problem from Sylvain
> Petreolle
> (http://www.winehq.org/hypermail/wine-devel/2003/09/0948.html)
Now this one I totally understand. The patch I did changed a couple
things. There are now three possible modes: Desktop, XVidMode, and
NoRes. In desktop mode, you get a preselected list of modes that the
Wine Desktop can switch between. In XVidMode mode, the extension
provides the list of modes. In NoRes mode, there is no resolution
changing allowed.
There is a problem that sometimes happens with desktop windows, and it
seems that changing their sizes makes it happen more often. Please see
http://www.winehq.com/hypermail/wine-devel/2003/08/0356.html
I worked around this by adding the following hack in
dlls/x11drv/window.c right before the if (mask) near the end of
X11DRV_sync_whole_window_position.
if ((root_window != DefaultRootWindow(gdi_display)) &&
(mask&&CWSibling)) {
ERR("desktop mode -- disabling CWSibling\n");
mask &= ~CWSibling;
}
I get the BadMatch error just by trying to run two copies of notepad at
the same time, and this little hack removes that problem and all other
ones I've seen with desktop windows. I'm investigating doing that a
nicer way. Can you try that out and see if it helps?
> I really think this should either be fixed somehow or
> reverted (if you want more broken reports you can
> release a version :) )
Well, naturally, it needs to be fixed, but the hard part is identifying
the real problems. Before this patch, there were three completely
different sets of hard-coded resolution and depth lists in the wine
tree. I changed it so they all funnel through the same code now. It's
just a matter now of cleaning up the pieces so they're all happy. I
understand that "the games I ran all worked on my two systems" does not
help you as much as I'd like, but unless I can get some tests I can run
it's really hard to fix it.
That said, I'm working on an updated patch that will be more "tolerant"
than the current one.
Specifically, it will:
- include more choices for the desktop size
- always list all modes as including 8, 16, and 32-bit
- silently ignore you when you try to change the depth
- remove duplicated modes (see above)
- include more TRACE lines for better debugging
-ajp
More information about the wine-devel
mailing list