joncampbell123 / dosbox-x

DOSBox-X fork of the DOSBox project
GNU General Public License v2.0
2.55k stars 372 forks source link

Can't game on Windows 98 SE unless sbtype = none #2689

Open brunocastello opened 2 years ago

brunocastello commented 2 years ago

Describe the bug I cannot run any game at all on Windows 98 SE, unless I set sbtype to "none". FIFA 98 RTWC, FIFA 99, Need For Speed II SE, all them cannot run with sound on, even when I try to play them in software mode instead of glide pass-through.

NFS2SE with both software and 3dfx crashes when the race is about to start, during the intro flying into the player's car. FIFA 98 RTWC and FIFA 99 both crash when the match kick-off is about to start, no matter if 3dfx is enabled or not.

When I set sbtype = none, without any sound at all, I can play all three games without issues (but without sound as well).

To Reproduce Play any of the three games above (a demo is enough) under Windows 98 SE, using sbtype = sb16 or sb16vibra.

Expected behavior Games to run flawlessly with sound enabled.

Environment (please complete the following information):

Additional context I am running a build without avcodec and fluidsynth. I do not want all the 93893 dependencies both require to run. In a Mac where hard disk space is a premium, this is needed. I just need networking and the gaming features; I do not want extra sound features (fluidsynth) or to do any screen recording (avcodec) stuff. However, even using the standard build with them, the problem persists.

The computer has this configuration and has been upgraded to 16GB RAM at the time of purchase.

Attached is my dosbox configuration file, pretty similar to the one from the wiki guide for Windows 98 installation. dosbox.txt

Wengier commented 2 years ago

I have not yet tried installing Windows 98 SE on macOS. I wonder if this issue is specific to macOS?

brunocastello commented 2 years ago

If it is specific, I'd love to hear. I have noticed that DOSBox-X gives wrong IRQ, DMA and HDMA to the SB16 when I reach the Windows 98 Desktop. But fixing that issue did not fix my problem. Here's the thing:

I've set I7 D1 H5 for sb16 in dosbox.conf. yet when checking the assigned values from DOSBox sound menu, it's 2, 3 and 5 (I can't remember now, I'm at work, but basically it's not what I have assigned). Then I removed it from dosbox.conf and manually assigned them through Device Manager in Windows 98SE, as well as set the blaster environment in autoexec.bat. Now DOSBox-X reports the right configuration, however, the games still crash.

Since it crashes with both glide and software mode when sound is enabled, I already discarded any issue with OpenGlide; I have tried with both kjliew's and almeath's OpenGlide implementations as well.

Could it be a SDL audio issue? Does SDL even deal with it?

Wengier commented 2 years ago

@brunocastello It is interesting to hear that the sound menu shows a different IRQ than the one assigned in the config file. Does this issue happen when you are in DOSBox-X' integrated DOS? Or only when you boot to Windows 98 desktop?

As for SDL, it might be related. Have you tried the SDL2 build and see if there are any changes?

brunocastello commented 2 years ago

@Wengier happens when I boot to Windows 98. I haven’t checked when using integrated DOS, because I have never used. But shows correct one when I force them through Windows 98 Device Manager.

SDL: I didn’t even try SDL2 as far as booting into Windows 98, because the SDL2 build has 2 problems for me, the yellow screen (no matter what video driver I use, it is always yellow) and OpenGlide works only with SDL12. So without OpenGlide I couldn’t test these games in SDL2 build...

Wengier commented 2 years ago

@brunocastello The main purpose for trying the SDL build is not to actually use it as the main build, but to try to isolate the issue. Whether it works there may help us find out the cause of the problem. Similar for the IRQ assignment.

brunocastello commented 2 years ago

OK, I will try to find some time next night to try it out. I was out for dinner this night.

brunocastello commented 2 years ago

@Wengier compiling a SDL2 build to test as we speak... btw the compiler returned this message: configure: WARNING: unrecognized options: --disable-video-x11-xv Pretty sure something was overlooked there?

Okay, compiled. Let's see if it will let me play with sound on, despite of the yellowish screen desktop:

Screen Shot 2021-07-22 at 12 39 04 AM

Edit: I tried both versions of Need For Speed II SE (NFS2SEN and NFS2SEA). Both crashed to desktop before race start.

stephenbonar commented 2 years ago

Ah, I'm having the same issue! I couldn't understand why so many games were crashing in Win98SE until I saw this issue. In my case, the games I was trying were not 3D accelerated (Heroes of Might and Magic II, Might and Magic VI), but as soon as I set sbtype=none, the games are stable. It did seem like certain sounds were possibly triggering the crashes. I just tried changing the config on the Apple M1 version of Dosbox-x (0.83.15), but I had the same problem on other platforms (Windows x86_64). I have yet to see if this fixes the crashes on the x86_64 builds.

stephenbonar commented 2 years ago

In the issue I linked to in my previous comment (#2621), the author discovered that changing the CPU type from pentium_mmx to pentium resolved the issue. Sure enough, I tried it on my M1 Mac and it indeed resolved the issue for me as well (I believe the author was on x86_64, but it resolved it on both platforms). @brunocastello I would try this and see if it fixes the issue with your games too. If it does, I would suspect there's an issue with sound involving the pentium_mmx cpu type. @Wengier , any thoughts on that possibility?

brunocastello commented 2 years ago

@stephenbonar actually I have tried it before, and no, it does not solve my issue. No matter what cpu I set for Windows 98SE, all games will crash if I attempt to play with sound on. Without sound I can play them all.

I have tried pentium mmx, pentium pro, pentium, 486, and even set it to auto. no luck.

brunocastello commented 2 years ago

The problem is still persistent with the most recent builds released, both SDL1 and SDL2.

brunocastello commented 2 years ago

Maybe it could be a problem between DOSBox-X and macOS coreaudio? I am yet to set up dosbox-x with an ubuntu linux x64 VMware machine to check it out, using the same Windows 98 image I am using for dosbox-x. But since three or four versions (for macos) ago, I am unable to play any game under Windows 98 SE with any sound card. When there is no sound, all games run without any problem.

brunocastello commented 2 years ago

@Wengier I think I have made some little progress. I went to dxdiag in Windows 98 SE and turned off Hardware sound acceleration. This time I was able to play for a couple of seconds before it crashed to the desktop again.

NFS2SE: I nearly managed to complete a lap before CTD FIFA 98: Managed to score a goal after kick-off before CTD FIFA 99: CTD right on kick-off (no change of behavior)

There is definitely a sound problem and it is related to the game's speed.

brunocastello commented 2 years ago

Version 0.83.17, still unable to game with sound on. Games crash on Windows 98SE when there is sound.

EDIT: Compiled latest code (0.83.18) without avcodec and fluidsynth, yet the situation persists. I have to set sbtype=none (no sound) to be able to play any games on it.

brunocastello commented 2 years ago

Anyone with any suggestion about what else I can do to work around this issue? It has been there since July

Allofich commented 2 years ago

One thing I would try is setting the SB16 IRQ to 5 in the .conf file (or set it to 0, in which case it DOSBox-X will automatically set it to the default value for the sound card, 5 in this case). As I understand, 5 was the default value used by SB16 cards, while 7 was for an earlier card.

If that doesn't fix it, above you wrote "DOSBox-X release version: SDL1.2 0.83.15 (The problem is persistent since several versions before)". Were you able to play those games without issue on some version in the past? If you have time to test, working back through the earlier versions one-by-one to find between which versions the issue first occurs would probably help in locating the issue.

On the other hand if no version works no matter how back you try, it might be an issue that was always there or a problem with your settings.

rderooy commented 2 years ago

The original soundblaster cards indeed defaulted to IRQ7, as on XT class machines IRQ5 may be used by the harddisk controller.

IRQ7 was always a problem as it conflicts with LPT1. But few DOS programs ever used the IRQ for parallel communication, so typically you were fine, and even if they did, you would normally not have sound at the same time.

The problems started with OS/2, as you could have sound and printing simultaneous (and later with Win95 and WinNT). I remember there was at one point an update to the OS/2 printing driver to (optionally) use pulling mode, which results in higher CPU load, to prevent issues with a sound card on IRQ7.

From what I recall, the change to IRQ5 happened at the time of the SB Pro 2.

brunocastello commented 2 years ago

The problem predates way long before, since 0.83.11. And yes, I have tried every version released after that (and before that) back when I first reported it.

I am using the exact same settings as seen in Windows 98 Wiki Guide. No fancy extra settings apart of voodoo glide high level pass through. Also tried both IRQ5 and IRQ7. Also tried all sorts of available cpus (auto, 486, pentium, pentium_mmx...).

No idea why, the games can only run when there is no sound blaster emulation. When there is, they all crash: FIFA 98 RTWC, FIFA 99, NFS2SE. I am at a complete total loss.

brunocastello commented 2 years ago

Tonight I tried the Windows version of DOSBox-X using a build from @Allofich (from another issue here) and in a Windows 10 Pro VMware Machine.

Turns out I have the same problem there: sbtype=sb16 and crashes, sbtype=none and I am able to play everything but without sound.

So the problem must be something with Sound Blaster inside Windows 98 that I cannot seem to debug nor find out why. I have the latest SB16 drivers as recommended from the Win98 Install Guide, as well as DirectX 9.0c.

brunocastello commented 2 years ago

Another night, another attempt. This time again on macOS SDL1 version with a fresh install of Windows 98 SE.

Post install: VBEMP 9x driver, DirectX 9.0c (DEC 2006) and last voodoo driver. Installed Need For Speed II SE and tried to run the 3Dfx version. Since it's a sound issue, I did not update the Sound Blaster 16 drivers this time to try and find out if the drivers are a part of the problem. Well, they're not. As soon as the race is about to start, the game crashes to the desktop.

Configuration file (renamed to .txt because GitHub wouldn't allow me to attach): dosbox.txt

Third attempt trying with default S3Trio display driver instead of VBEMP: Same outcome

brunocastello commented 2 years ago

Running dxdiag to test the sound, after I have confirmed that I could hear all demo sounds, the dxdiag reported this to me:

Your sound card does not support hardware buffering. Sounds will only play back from software buffers.

No matter what I do, change, or try, I can only play the games without sound. Bummer. Even a clean Win98 install wouldn't allow me to play a clean NFS2SE install.

brunocastello commented 2 years ago

I've also noticed that I do not have the"SB16 MIDI OUT [330]" instrument listed on multimedia properties, only Creative Music Synth, "MPU 401 ..." and something like "Roland OPL3 Synth...". Don't think it has something to do, because NFS2SE, FIFA 9X aren't games with MIDI sounds AFAIK?

@Wengier I tried 0.83.10 (mentioned here #2260) this night, since it was around after this version or .12 when MMX and dynamic_x86 core improvements were put in place. However I had the same problems. It's not a core or cpu problem, I have tried them all in various combinations possible, and with or without 3dfx, I can only game when there is no sound card present. Sometimes in NFS2SE I can drive for a few seconds until I CTD.

I know it's not a problem with my Windows 98 SE install because in QEMU I can play them (without 3Dfx or using the overcomplicated kjliew's Glide Passthrough). So it's definitely a problem isolated to the sound card. I've tried sbtype=sb16 and sbtype=sb16vibra. IRQ, DMA, HDMA, all values are correct, sound is played. But something crashes the games.

rderooy commented 2 years ago

The names of the entries in Multipedia Properties is dependent on the exact Windows release (or SB driver version) installed.

"SB16 MIDI OUT [330]" and "MPU 401..." are equivalent. I don't know where this Roland OPL3 Synth entry is from. You must have installed something as I don't recall seeing it with my testing.

Did you ever try if you get crashes with other sound card options, like a SB Pro 2?

brunocastello commented 2 years ago

The names of the entries in Multipedia Properties is dependent on the exact Windows release (or SB driver version) installed.

Windows 98 SE fully updated.

"SB16 MIDI OUT [330]" and "MPU 401..." are equivalent. I don't know where this Roland OPL3 Synth entry is from. You must have installed something as I don't recall seeing it with my testing.

Well, I did not. I think this comes from the oplemu setting in configuration file? This device will probably disappear if i set oplemu to none, I think.

Did you ever try if you get crashes with other sound card options, like a SB Pro 2?

Now that you've said it... actually, no. Might try it tomorrow, it's late for me now and I haven't been sleeping well for weeks, staying late and trying to improve my QEMU/DOSBox VMs. However, I think that I need to repeat that the QEMU VM machine also has a SB16 installed, and does not have these issues. I just do not use that VM because only DOSBox-X has a proper 3Dfx emulation/Glide passthrough.

With that in mind, I'd politely ask for a revision on the SB16 card for DOSBox-x, to see if something wasn't missed or misinterpreted? Can we also check it? Because I have this issue since June/July builds.

rderooy commented 2 years ago

@brunocastello I do think there is a something missing in the SB16 emulation or a bug, which is causing these problems. Having said that, it requires someone with the technical knowhow, skills and time to fix it.

I'm not that person, and from what I have seen both @joncampbell123 and @Wengier have a lack of time right now.

brunocastello commented 2 years ago

@brunocastello I do think there is a something missing in the SB16 emulation or a bug, which is causing these problems. Having said that, it requires someone with the technical knowhow, skills and time to fix it.

I'm not that person, and from what I have seen both @joncampbell123 and @Wengier have a lack of time right now.

I just came here to add that even the Windows version had the same problem under a VMware Windows 10 virtual machine. I used the one from @Allofich , where he fixed another issue related to img mount.

brunocastello commented 2 years ago

Did you ever try if you get crashes with other sound card options, like a SB Pro 2?

Just tried it right now. As I expected, it crashed to desktop seconds before the green light for a NFS2SE race.

brunocastello commented 2 years ago

@Wengier and @joncampbell123 if that helps, I logged tonight an attempt to run Need For Speed II SE on Windows 98SE, you can see from this attached log that there is something happening with the SB16.

This attempt was with pentium (no mmx), cycles max, dynamic x86 core, glide passthrough enabled this time as well.

I have tried both IRQ 5 and IRQ 7, both had same result.

dosbox.log

brunocastello commented 2 years ago

Continuing the tests, I went as far back as 0.83.8, and in this build as well the problem was also present there. I couldnt run 0.83.7 or older, because it threw too many explorer.exe and rundll32 errors on Windows 98 guest machine.

Edit: despite the above issues, and slowness, I managed to start the game in 0.83.7, but again, it repeated the same behavior.

brunocastello commented 2 years ago

Tonight, listening more closely, I noticed that the sound is lagging a bit. Not only the Windows start sound is longer, also when I am scrolling through the NFS2SE menu options, the sound effect that happens when you select or go over an option, is also delayed. The sound certainly is not up to the emulation speed, which would explain (partially) the problem, even though I am using the best pentium cpu possible, dynamic core and cycles set to MAX.

The second part of the problem is the output when I try dxdiag to test the sound. dxdiag says it will use software buffering because my "sound card" does not have hardware buffering and it is also shown in dxdiag as an emulated SB16:

"Your sound card does not support hardware buffering. Sounds will only play back from software buffers."

So the problem is simply that the sound in dosbox can't keep up with the emulation speed. I don't know how to work around this. Not sure if fixing the cycles to a value would help anyway, I've tried lower values (~30000, ~40000) and higher values (~60000, ~70000, ~80000) without luck.

FIFA 9X will just freeze the VM, where as NFS2SE just CTD.

Using NFS2SE as an example, when I manage to start a race before a CTD, sound appears to be matching the speeds and what is happening on screen (car tyre sounds, engine) but all of sudden there is a CTD. I do not get that problem with QEMU.

brunocastello commented 2 years ago

Tonight I noticed that my sound volume was set to half (50%) in Windows 98SE. I decided to set it to max (100%) moving the slider and after setting it, DOSBox-X just quit from nowhere. Weird.

brunocastello commented 2 years ago

I've collected a few other users issues with sb16 emulation for reference. I've also tested with cputype=pentium instead of mmx, and got the same unfortunate results. And I've also tested a plethora of different sblaster configurations, no luck either. Also tested with sbpro2. In all scenarios, FIFA 9X and NFS2SE both crashes at random times before gameplay actually starts.

2929 is a clear copy of my situation here; #2964 appears to be the same issue, but OP did not test without sound yet; #470 is a very old 2018 issue, but reflects that the issue exists since then. I had to move my VM to QEMU, in order to be able to play and enjoy the games, although without 3dfx voodoo emulation, which would be great to have. However, I am still adamant that if this issue is fixed, DOSBox-X is the perfect home for these particular games (and others), because it is easier to use. Add to that the new experimental CPU, and a future M1 (or M1X) Mac that I am planning to buy, and things could be so much better.

rderooy commented 2 years ago

I started WIn98SE on DOSBox-X 0.83.18 SDL2 on Linux (F35 Beta) using sb16vibra and played around with the volume controls, which seem to work just fine.

I then installed NFSIISE, and started the regular (non-3dfx) version. I had sound the whole time, during the intro, menu's and during gameplay.

I then exited the game, and re-launced it, and this time when I entered the race, it did crash to the Win98SE desktop, with no real error in the DOSBox-X log.

After restarting DOSBox-X, I could again start the game with sound, but again once you quit the game and restart it, it would crash back to the desktop on game start.

The 3dfx version would not start, even after a fresh start of Win98 it would crash to the desktop on race start. But I did not try it with the glide pass-through DLL.

edit This was with cputype=pentium_mmx and core=dynamic_x86.

brunocastello commented 2 years ago

In my case I tried all scenarios: with 3dfx and sound, crash; with glide passthrough and sound, crash; with sound but without 3dfx, crash; the only scenario that works is when sbtype=none, no sound, then both regular and 3dfx versions play just fine.

I already discarded a problem with the game because the exact same game/files run just fine on QEMU, both non 3dfx and glide passthrough run just fine there with sound. VMware with a XP VM has the same NFS2SE files and run fine too. While QEMU emulates a SB16, using the same drivers I use for dosbox-x, VMware can also emulate a sb16, but for XP I had to use the WDM drivers.

I can reproduce the problem with other games, like FIFA 98 RTWC and FIFA 99. In all tests above, I used the latest available SDL1 version, as well as older builds. I could go as far back as possible to 0.83.7, any older than that my Win98SE wouldn’t complete the boot.

I tried SDL2 yesterday and got the same problem, although when I am on Windows 98SE desktop the screen is yellow/orange tinted.

btw: all tests were carried using dynamic_x86, cpu pentium and pentium mmx, as well as the experimental one. I have even experimented with different cycle values, fixed, max, max 70%, 80%, 90%… no luck.

brunocastello commented 2 years ago

In the next days I'll be getting a M1 MacBook Air. Hopefully in a clean environment it will be fixed.

brunocastello commented 2 years ago

Alright, I just booted Win98SE with a SDL1 build of dosbox-x (0.83.18, Apple Silicon) and Need For Speed II SE crashes (screen is frozen) while loading the race... I wasn't using glide, just voodoo emulation.

This week I moved from a 2013 intel Mac to a 2020 M1 MacBook Air, running macOS Monterey fresh new.

brunocastello commented 2 years ago

Good night, another test report:

DOSBox-X 0.83.18, Apple Silicon M1 MacBook Air 2020, 16GB, 512GB, 8 core CPU, 8 core GPU. Windows 98 SE disk image, with latest SB16 and Voodoo 3dfx drivers. My cfg file isn't VERY different from the recommended one on Win98SE install guide, apart of NE2000 backend selection. No glide, just voodoo emulation (I did not want to mess with my environment this time, trying to build glide libraries, so I decided to try to use a pristine clean environment first).

Trying to run Need For Speed II SE. Game hangs on race loading screen (the one with a track map and loading bar). This was with cputype=pentium. As soon as I moved to cputype=pentium_mmx, I could get to the track for race start (despite of my mouse pointer sometimes freezing for a while intake) but I crash back to the desktop after the green light. Subsequent attempts to run the game did not replicate the same behavior and only stopped at race loading screen.

Same applies to cputype=experimental. No luck. Games are only playable without sound (sbtype=none) :(

brunocastello commented 2 years ago

Hi, did anyone investigate the issue? I couldn't find out why these games (and other users reported similar issue with other games) don't crash when sound blaster emulation is not enabled.

EDIT: @Wengier @joncampbell123 any chance we can get a look at this issue before the next version?

At least can someone point me to a build.sh script for macOS sdl1 and sdl2 without fluidsynth and avcodec so I can build it myself to test the newest code available?

I still do not have sound for games and I wanted to go back to DOSBox-X, because I am unsatisfied with QEMU-3dfx solution due to the fact that this one requires custom WineD3D libraries which the dev in question refuses to provide without a hefty donation.

rderooy commented 2 years ago

Playing around a bit, I found that if I started DOSBox-X with the -debug switch that I could start NFS2SE multiple times in a row and each time I was able to get to the actual gameplay with sound. No crashes to the desktop.

That to me seems to imply it may be a timing or race issue.

I also tried it with the 3dfx executable, but there the -debug switch causes major slowdown and graphical glitches and it still crashed to the desktop on game start.

brunocastello commented 2 years ago

Well, I did list in https://github.com/joncampbell123/dosbox-x/issues/2689#issuecomment-944844853 another three similar issues with sound to help a bit with the problem. One of them were fixed by simply setting cpu to pentium pro, but that did not help in my case.

At first I thought it was a problem with the "emulation speed" because maybe these games were too fast for the "sound emulation" to keep up with it. I was unsure about it. So I tend to accept your theory of a timing or race issue.

In three different platforms (Intel Mac, M1 Mac, Intel Windows) I had the same issue with the same Win98 disk image. I haven't tried under Ubuntu because I failed miserably at trying to install and run DOSBox-X there (not really a skilled linux user).

To sum up all the posts above, be it 3dfx or software mode, be it sb16 or sb16vibra, be it irq 5 or irq 7, whenever I start a race on NFS2SE or a match in FIFA 9x, I have a CTD straight after the sound starts to play. I noticed a bit of a sound click delay when I move the mouse pointer over NFS2SE menu items before starting a race, though. While in FIFA, when the game froze, I can hear the commentary still going on.

QEMU has the same sb16 card and drivers. I used the same image there and had zero problems to play a game there. But there, I can use Pentium II and/or Pentium III. I'm using PIII because Grand Prix 3 needs at least PII.

I understand that the new cpu option pentium_ii in the upcoming next release is not any faster than the current ones, just purely new instructions?

rderooy commented 2 years ago

Yes, the Pentium II emulation just adds the additional instructions. If your computer struggles to emulate a Pentium MMX, it will not do better emulating a Pentium 2.

In any case, my understanding is that you cannot play a game of NFS2SE at all without crashing to the desktop. While I can, it only crashes to the desktop if I restart the game. Which leads me to think your system is more susceptible to this issue, which again could be a timing or race issue.

brunocastello commented 2 years ago

Yes, the Pentium II emulation just adds the additional instructions. If your computer struggles to emulate a Pentium MMX, it will not do better emulating a Pentium 2.

Thanks for clarifying that information for me. Luckily, I don't have that problem even with the 2013 rMBP and the 2020 M1 MBA.

In any case, my understanding is that you cannot play a game of NFS2SE at all without crashing to the desktop. While I can, it only crashes to the desktop if I restart the game. Which leads me to think your system is more susceptible to this issue, which again could be a timing or race issue.

Well, what I can say... all that I know is that I tested it in three different system (an Intel retina MacBook Pro 2013, a brand new M1 MacBook Air 2020, and an Intel Windows 10 x64 virtual machine, on the same Intel MacBook Pro through VMware Fusion). The first thing I did when I got the M1 Air, was to run DOSBox-X to have a test with a completely pristine and brand new environment. No joy. Last night I did another attempt with the last SDL1 release available for M1 (SDL2 also fails the same way) and this time I used the exact same configuration file posted on Win 98 guide, no luck either.

I understand your point about my system being more susceptible, but I tested it with three different environments and all three had the same problem. Which means that it can't be the system environment and has to be something on DOSBox-X, so we are back to square one and still with the theory of a timing or race issue.

I also borrowed another Windows 98 image for DOSBox from a friend, he had a clean install, I installed NFS2SE, FIFA 98 RTWC, FIFA 99 there and had the same problems. He tested himself on his system too, and had the same issue. I also tried to create a new Windows 98 install from scratch, installed all three games and the problem was still there.

I used the same process for QEMU and had zero issues there with the three games. So, these were all the tests (along with the all other tests related on this thread before) I did on this matter.

brunocastello commented 2 years ago

Actually, I have another theory but first I need to ask a question: Does the voodoo emulation have any way to set up a Slow or Fast LFB Handler?

rderooy commented 2 years ago

If you think the issue is related to the voodoo emulation, just disable it.

[voodoo]
voodoo_card=false

I tried it here, and was able to restart the game a second time, but on the 3rd restart of the game it crashed back to the desktop (but a bit later than otherwise).

brunocastello commented 2 years ago

Even without voodoo it crashed the same way - match kick off scene, and froze.

brunocastello commented 2 years ago

@rderooy I see that there is no ARM build for the latest version to test on my M1 Air.

How can I build it myself here to test, but without fluidsynth and without avcodec?

Intel build is extremely slow on M1 Macs, which is understandable because of Rosetta 2.

rderooy commented 2 years ago

I do the Linux x86_64 and arm64 builds (flatpak and rpm). The MacOS builds are done by @joncampbell123

joncampbell123 commented 2 years ago

@brunocastello I was unable to produce an ARM binary because XCode's tools became unexpectedly neurotic about some __LINKEDIT segment thing and Brew dylib libraries.

If you relied on a command line tool to alter the RPATH entries of a dylib and it suddenly considered it a fatal error for "link edit data" not to fill a __LINKEDIT segment no matter how irrelevant to what you wanted it to do, wouldn't you get pissed off too?

Despite Apple's terrible modern documentation I am gathering file format information on the "MachO" format used in Mac OS X so I may be able to fix that by writing my own command line tool to change the rpath. And unlike Apple XCode, I won't faint and clutch my pearls in horror if some data doesn't fill a segment.

I was able to make an Intel binary because I hadn't yet updated to the latest XCode on the Intel Macbook, so it was able to change rpath without worrying itself silly over __LINKEDIT.

Why, yes, I am kind of sour about command line tools that fail me like that.

Screen Shot 2021-11-30 at 10 45 46 PM
brunocastello commented 2 years ago

Apple being Apple.... sighs I completely understand your frustration.

joncampbell123 commented 2 years ago

@Wengier Is there a way to see the output of the build steps when continuous integration fails?

GitHub is giving me the equivalent of DUH SOMETHING WRONG NO ME NOT TELL YOU WHAT.

EDIT: False alarm (noted below). This was a notification for DOSBox staging, not DOSBox-X. Sorry about that.

Firefox_Screenshot_2021-12-04T00-24-22 697Z