VOGONS


First post, by schmads

User metadata
Rank Newbie
Rank
Newbie

So, I've searched the forums for this problem, and googled for it, and have had no luck, so I am posting. I'm going to detail my system and the problems in the hope that it will be a ton of unnecessary work when someone says "well duh, just do that to fix it" and it will be done.

The problem:
Every time I start Dosbox, it shows the console window and then it hangs the entire system (mouse included) for a good 10 seconds. Then it shows the Dosbox window and then it hangs again for 10-30 seconds. Then I can type into the Dosbox window and everything seems fine. If I click on any other windows outside of Dosbox, or run something in Dosbox that changes the screen resolution, or even click the Dosbox titlebar, it freezes again for 10-30 seconds. It seems to run games OK once you let it freeze for a while, so long as it doesn't do any screen mode switching. There is sound, and everything seems to run fast enough. CPU usage doesn't seem to move when the system freezes, though perhaps the CPU monitor just isn't updating because it's frozen.

So, it freezes, but runs games and sound properly. It will run the same whether scalers are enabled or disabled or fullscreen or windowed. I tried changing and disabling just about every option in dosbox.conf, including cpu usage, speed, output, disabling sound and each individual sound emulator, joystick emulation, serial emulation, etc. Nothing changed it.

The workarounds:
I used remote desktop to log into my system and decided to try something and run Dosbox. Bam, it came up perfectly, no lag, freezing, anything. Wha? Very weird. Then I went home and tried running Dosbox, thinking it had fixed itself, and it worked fine. Then I rebooted and it started happening all over again.

Now, rather than remote desktop into my system every time I want to use Dosbox, I started fiddling with other system settings. I turned off sound acceleration and that had no effect. I turned off video hardware acceleration (the slider in the troubleshooting pane) and that worked.

I then decided to run dxdiag and just disable directdraw acceleration. That also would fix it. Unlike remote desktop, though, I have to keep the acceleration disabled for Dosbox to continue to work properly (remote desktop would get it to "stick" working until I rebooted). Disabling just Direct3D or AGP texture acceleration didn't work. This is clearly DirectDraw related.

The software:
I installed Dosbox 0.65. I've never used it before. I do not have any front ends, nor have I done anything except for install it. I have also re-downloaded and installed it once.

I'm running Windows XP SP2 with DirectX 9.0c installed. I run 3D games such as World of Warcraft all the time, so I'm reasonably sure the graphics card is fine. I can run the DirectDraw diagnostic tests in dxdiag and they work fine too, so it seems DirectDraw acceleration isn't completely broken.

Virtual PC, ScummVM (which I found after fiddling with Dosbox, and runs Full Throttle pretty well), etc. all seem to work fine.

The hardware:
I've got an nVidia Geforce 7900GT which I have not overclocked. I have drivers 91.33 loaded. Tonight I will upgrade to the latest drivers (91.47) and hopefully I can post back here saying that it is fixed.

I've got a SoundBlaster Audigy2 ZS with whatever latest drivers Creative has deigned to give us. Wow do they suck at driver updates. Regardless, it doesn't seem to be a sound-related problem.

I've got a dual-monitor setup, but I tried disabling one of the monitors in the display settings and it didn't help. Perhaps this is related, though. I don't seem to have any other multi-monitor problems, though.

I have an Athlon 64 X2 4200+ CPU and 2GB of DDR800. I thought perhaps the dual-core might be the problem, but changing the Dosbox affinity didn't seem to have any effect. Again, since it's a DirectDraw problem (apparently), I don't see that this would be the problem.

I have an SATA redundancy raid array for my boot drive and two additional IDE harddrive set up in a dynamic drive spanned configuration as my second harddrive. I don't see how this would be a problem, but I'm trying to be complete here.

Conclusion:
So, in the end, I can work around the problem by disabling DirectDraw any time that I want to run Dosbox. With it disabled, I can still run 3xadvmame or other filters and it works fine. I haven't tried opengl for the output yet, assuming that it would be disabled regardless, and surface seems to work pretty well. This isn't really a "big" problem, but I've got to assume that I'm getting reduced Dosbox performance (so far all I've run is Rex Nebular, so it doesn't need much for that, but I'd like to run other things too), since the acceleration is disabled, along with it being seriously annoying when it lags my entire system for a while any time I forget to do that before running Dosbox.

I think Dosbox is totally awesome, so this is not a complaint, just a hope that someone can tell me what I'm missing or how to fix it. Thanks for creating such an awesome utility.

Last edited by schmads on 2006-09-28, 04:17. Edited 1 time in total.

Reply 1 of 14, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

in DOSBox you can select something different as ddraw as well
(see in dosbox.conf at the output setting)

Water flows down the stream
How to ask questions the smart way!

Reply 3 of 14, by schmads

User metadata
Rank Newbie
Rank
Newbie
Qbix wrote:

in DOSBox you can select something different as ddraw as well
(see in dosbox.conf at the output setting)

I have tried surface, ddraw, opengl, overlay, openglnb... I can't remember what other ones, but I think I tried every output= setting listed in the .conf file. I always get the hang with any setting, except when I disabled DirectDraw acceleration for the entire system.

I will try 0.63 as soon as I get home, as well as installing the latest nVidia driver. Actually, I'll download them now so I can't forget. Thanks.

Edit: typo

Edit2: I installed Dosbox 0.63 at home via Remote Desktop. Interestingly enough, it starts up and immediately closes when I run it that way. This isn't a problem, I don't intend to use it over Remote Desktop, I just thought it interesting that (with both using the default .conf files) 0.65 works over Remote Desktop and 0.63 doesn't (both have output=surface). In a few hours, I will let you know what happens when I reboot and run things directly.

Last edited by schmads on 2006-09-26, 20:49. Edited 1 time in total.

Reply 5 of 14, by schmads

User metadata
Rank Newbie
Rank
Newbie

First, I installed and tried Dosbox 0.63.

After connecting to my computer with Remote Desktop, before rebooting, it worked fine.

After rebooting, it went back to the old, hang for 30 seconds behaviour.

I then upgraded to nVidia graphics driver 91.47, which is the latest.

No change 🙁

So, I can either disable DirectDraw from the dxdiag control, or remote desktop into my machine and then disconnect again, which may be essentially doing the same thing (though it certainly doesn't seem like that). Note that I am still using output=surface in these cases. I am not trying to use ddraw or opengl or something, though that doesn't seem to help or hurt.

If I was to guess, it seems as though Dosbox is trying to enter a mode and failing... and it is lagging the system with the attempt/failure. It tries again with every mode switch, or perhaps that just triggers this "unsupported" command. When there is no ddraw acceleration, it doesn't even try doing whatever is going wrong.

I am not seeing any file writing to the two output files in the Dosbox directory, but they get deleted anyways. Is there some way to enable a bit more in the way of error messages without recompiling in debug mode? (I am a developer, but not a low-level OS developer, just an app dev.)

FYI, Dosbox works splendidly on my laptop. I have a sneaky feeling that something on this system is interfering with Dosbox, but I tried killing every process that I could, and that didn't seem to help. I may try loading a new XP installation on a free harddrive to see if that exhibits the same problem.

I appreciate your fast response, and totally understand if you have no idea what is going on with me. As a developer myself, I understand when one person's machine is totally weird, and has no good reason for being weird 😀

Reply 6 of 14, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Do you have some additional/odd input devices, like a joystick or
some special mouse?

If you can compile the dosbox sources, you might be able to determine
exactly where it hangs (adding exits in the startup code).

Reply 7 of 14, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

Hmmm, can you try booting into XP safe mode and trying DosBox 0.65 from there?

In normal XP try running DXDIAG and check out the "DirectX Files" tab and see if there are any problems.

How To Ask Questions The Smart Way
Make your games work offline

Reply 8 of 14, by schmads

User metadata
Rank Newbie
Rank
Newbie

The input/output devices I have are:

Gravis Gamepad Pro - I added this last night to play Prince of Persia, and it had never been installed before that, so it did not cause the problem.

Logitech G15 Keyboard - This does have a rendering surface, albeit a small monochrome LCD screen. Perhaps I should try uninstalling the drivers and switching keyboards.

I'm going to try safe mode now. I expect that it will work, because I'm inclined to expect that windows disables directdraw acceleration during safe mode anyways.

Thanks again for all the help. You guys are great, and so is Dosbox. I haven't enjoyed playing games this much in a long time.

Edit: I checked dxdiag, and it reports that all of the files are final retail. It doesn't seem to see any problems. The ddraw tests also work just fine. Eh, computers are just a tad squirrely at times.

Reply 9 of 14, by schmads

User metadata
Rank Newbie
Rank
Newbie

So, it occurred to me tonight to try disconnecting my G15 keyboard and see if that had any effect.

I ran Dosbox and it did the hang thing. I closed it once it let me.

I unplugged the USB from my G15.

I ran Dosbox again and it came up quickly, although it flickered the screen a couple of times (which I haven't seen before).

I plugged my G15 back in and it started it up and displayed stuff on the LCD.

I tried Dosbox again and it still works. Just like when I remote desktop in, it keeps working, although I bet it will start hanging when I reboot again.

So, what we have here is some kind of disagreement between Dosbox and the G15. Since I have a G15 display emulator on my laptop at work, I will try enabling that and see if it has any effect.

Does anyone else have a G15? Do you have any issues with Dosbox? I certainly don't want to have to unplug/replug my keyboard each time I reboot (mostly because my computer is a nuisance to get to), but it's good to find one particular issue.

It isn't related to the G15 software that runs all the time, because I didn't close that this time, and I did close it before (with the G15 still connected) and that didn't help. So, something about the G15 drivers is apparently causing a problem when it is connected.

Is it possible that the G15 is adding another directdraw display surface (I don't know a damn thing about ddraw, so this is a guess) that is confusing Dosbox when it starts up?

Reply 10 of 14, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

probably.
you might want to download a new version of sdl.dll
that handles the sdl stuff for dosbox. (but we modified it a tiny bit in the 0.65 release)

Water flows down the stream
How to ask questions the smart way!

Reply 11 of 14, by schmads

User metadata
Rank Newbie
Rank
Newbie

Thanks again for all of your help. The problem is now fixed by disabling the PDVDServ.exe process, which I had missed and wouldn't have figured out, but luckily gdeter caught it:

DosBox slow for me

Dosbox is all kinds of great, and now it's perfect.

Reply 13 of 14, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Is it just that service itself, or some software and/or hardware combination??

Reply 14 of 14, by schmads

User metadata
Rank Newbie
Rank
Newbie
wd wrote:

Is it just that service itself, or some software and/or hardware combination??

It is that service plus the G15 keyboard when it is connected from when you boot up. If the keyboard is disconnected at any point (either physically, or by logging in via remote desktop, since that seems to disable the G15 rendering area temporarily), then it will all work fine until the next reboot.

The service is some kind of remote control service, so I don't think it affects the functionality of PowerDVD. You're right, VLC is great, the only reason I used PowerDVD is because I had it lying around from the last drive I bought.

I've seen similar problems with an application that I wrote. It seems to cause this hang problem whenever you start teamspeak when you're running my program (it's a teamspeak status viewer on the LCD). I think it is also caused by PowerDVD, though I'm trying to get more people to test it out to be sure.