mer-curious Posted November 19, 2024 Posted November 19, 2024 (edited) 56 minutes ago, Tux said: Not for me, and really I get more and more tired of this... ! You are correct! I'm so sorry for that. The issue was with my earphones, one of the channels wasn't working correctly, and so the NeoGeo logo was sounding weirdly here. I suppose this logo may use the left and right channel to produce different sounds, and so if one is not working correctly the music will sound incorrectly. As for the error message in KOF2000, I think it only happens when you have the "None" in the Sound options menu. I couldn't reproduce it in a normal installation, I mean, an installation that is created in the computer using the computer monitor and the Windows desktop is set to use the computer built-in sound output. If you would like to reproduce this issue you would need a TV or monitor with built-in speakers or a second sound output device to create a configuration file based on that setup and then disconnect the TV/monitor/second sound card to see if Raine shows the "None" there for you too. Perhaps you could try my configuration file? I'm not sure if that would work, but here it is: https://drive.google.com/file/d/1szTZAjTJbct1E0dtKA6YSDtsgwviCWXl/ If you happen to have "None" in the Sound options menu then you may finally see this error in the game. You have to visit the Sound options menu before loading the game, or if you are using Unibios visit the Sound options menu when the game is already loaded. The error message may appear after the game attract demo. You can see the procedure I do in my capture in the previous post. I really apologize again for the mistake in my previous report. Thank you so much for your time. Edited November 19, 2024 by mer-curious
Tux Posted November 19, 2024 Author Posted November 19, 2024 I won't try to recreate a rare bug, it's rare so just avoid it that's all. There are known issues in sound like changing the sample rate in a game which use fm music after the game has started will produce bad sound, the known workaround is just to quit when you change the sample rate. Yeah I know it's not super ideal, now if someone wants to send patches to improve all this, I'll accept them ! It's assumed people can setup their sound once and then keep the settings for normal play. A program which works in all conditions is a crazy thing, that's something you learn quickly when you learn how to program, even if you try to do it with some sample code it can quickly become crazy. Now for some safe environments where it's a necessity, people try to keep programs small to avoid that things become too crazy. For raine it's already very big, you have to be a minimum reasonable about what to do in this case, it's already working as well as possible with some pitfalls which can be easily avoided. 1
Tux Posted November 19, 2024 Author Posted November 19, 2024 After some thinking, it's not so hard to add a small test for the video info to keep the window within the screen boundaries in case the physical screen has changed since the config was recorded, so I did just that. And in case the recorded soundcard is not available to just force a re-detection of it. 2 small workarounds for people who change their config all the time on their laptops while still keeping things easy, it should work... But I won't track the z80 error, yeah it can report an error like that if sound config is messed up when booting the game, even if I can't seem able to reproduce it for now no matter what. 1
mer-curious Posted November 19, 2024 Posted November 19, 2024 7 hours ago, Tux said: After some thinking, it's not so hard to add a small test for the video info to keep the window within the screen boundaries in case the physical screen has changed since the config was recorded, so I did just that. And in case the recorded soundcard is not available to just force a re-detection of it. 2 small workarounds for people who change their config all the time on their laptops while still keeping things easy, it should work... Hello Tux! This is really good news! I should be testing these workarounds as soon as a new version is released. Thank you so much for that. Hopefully those were the last issues related to the sound device detection and the window management feature... Â 7 hours ago, Tux said: But I won't track the z80 error, yeah it can report an error like that if sound config is messed up when booting the game, even if I can't seem able to reproduce it for now no matter what. No problem, I cannot reproduce this issue in a normal installation either. It only happens when I have the configuration file created in my TV with my laptop or desktop computer and then try to use it with the monitor, that is, when you have the "None" value in the Sound options menu. If you have set the Unibios, it will show the "MVS slot check" error. If you have set the default Europe bios, it will show the "Z80 error". Just out of curiosity, I took the configuration file created in my laptop and tested it in my desktop computer and could consistently reproduce the error. Here's a capture showing the procedure I make, if you would like to try it once more: https://drive.google.com/file/d/1AhpKDgOwk9YeR_LdLURSosRSIqzbQCla/ As you see in the video, you need to visit the Sound options menu before loading the game to trigger the error. I have provided above the configuration file created in my desktop connected to the TV. Now I provide the configuration file created in my laptop when it was connected to the TV: https://drive.google.com/file/d/1AXfBp2K1VwRDILBorzrpnzZsNsdcXwxA/ I'm not sure it will make a difference in your testing, but since you couldn't reproduce it at all, maybe you could try it with this one too...? Anyway, I am already glad the other two issues have been fixed. Thank you so much again for your continuing work in Raine.
Tux Posted November 19, 2024 Author Posted November 19, 2024 19 minutes ago, mer-curious said: Hello Tux! This is really good news! I should be testing these workarounds as soon as a new version is released. Thank you so much for that. Hopefully those were the last issues related to the sound device detection and the window management feature... Â Oh well you can always test this binary, since normally it can now work around the issue of soundcard not present you shouldn't be able to reproduce this error with it. https://raine.1emulation.com/archive/tux/raine.7z 1
mer-curious Posted November 20, 2024 Posted November 20, 2024 (edited) 12 hours ago, Tux said: Oh well you can always test this binary, since normally it can now work around the issue of soundcard not present you shouldn't be able to reproduce this error with it. https://raine.1emulation.com/archive/tux/raine.7z Thank you so much for providing a test build! This may be useful to avoid several hot-fix releases in a short time. I made a quick test here with this test version using my current configuration file in Raine, that is, the one created with the desktop computer/laptop computer hooked to the TV to check if the problems have been solved. Here are the results: - the issue with the game picture not resizing appropriately for a smaller resolution display is still present in this test version. I no longer have a game picture out of bounds though, it is just a black screen now, take a look: https://drive.google.com/file/d/1vQ2OyXaRyxgjJy2nRgrpZk5R4uM0AKCM/ So the change you implemented did change something in this regard, but it is not perfect yet. Hopefully you'll be able to understand what is going on with this issue... - the issue with Raine not detecting the current sound output device and showing a "None" value in the Sound options menu has been partially fixed. This is what is happening now: 1) if you load a game before visiting the Sound options menu, the sound device setting will be normally filled with the current sound output device found in Windows, take a look: https://drive.google.com/file/d/1ly7fQTWlOnHFJwD27v0Yat66gf-X_0h3/ The sound seems to work normally in this case as far as I've tested. 2) if you visit the Sound options menu before loading a game, then the "None" value will remain set as the sound output device and there will be no sound during the game play. This will also trigger the "Z80 error/MVS slot check" error in KOF2000 as mentioned before. See here: https://drive.google.com/file/d/1jJInRBM7Z0bxba7P0vc2_sgxxN743pNk/ So, the change you have implemented did fix the issue with the sound device detection, at least partially. There is only the case that if you visit the Sound options menu before loading a game, it will trigger the issue and then the sound will be broken. In case of KOF2000 and possibly other NeoGeo games, it will also produce the "Z80 error/MVS slot check error". The Z80 error does not allow you to play the game, as you see here: https://drive.google.com/file/d/1o05mq-RM6tg0leivib5vXm4e9v9q7o4Z/ Hopefully this test will be useful for you somehow when checking those issues again. Thank you so much for your time and work. Edited November 20, 2024 by mer-curious
Tux Posted November 20, 2024 Author Posted November 20, 2024 Ok, I'll take a look later, but there's no need to make a video all the time, just saying 1 load a game while being in fullscreen, the game starts normally while in the gui 2 go fullscreen -> the screen becomes blank It's shorter, takes less time, and is more efficient for everyone. I have tested this too fast, seeing that the gui seemed ok in fullscreen I assumed it was a windowed problem only. Later, then... edit : well sorry for my mistakes, I was half awaken when I did that and it shows, I went way too fast especially for the video resizing part. For the sound I didn't think just opening the sound options would make such a mess in such a case ! Anyway it's fixed again, you can have your test which was indeed useful here : http://raine.1emulation.com/archive/tux/raine.7z 1
mer-curious Posted November 21, 2024 Posted November 21, 2024 (edited) Thank you so much for this new test build, Tux! I have tried it here and the issues are finally gone! The game picture is perfectly resized now to match the smaller monitor resolution, and the sound is no longer stopped if you visit the Sound options menu. Everything fixed correctly. 17 hours ago, Tux said: but there's no need to make a video all the time, Yes, I understand, I'm sorry for the extensive reports. It's just that sometimes I think that a video may illustrate better what I write with words. Anyway, I still have some things to report about these issues. I saved my configuration file on the desktop/laptop monitor and then thought of switching back to my Samsung 1080p TV to see if everything would be working fine when going back to the big screen. Here is what I've found: 1) The game picture will retain the smaller resolution from the monitor and show it in a frame in the bigger resolution screen, take a look: https://drive.google.com/file/d/1Tv4p5PJjDWXKVTBUrd0uPvjPA-C669b_/ This is my laptop monitor configuration (1366x768) running in my desktop monitor (1600x900). You notice that the frame is not so big because the resolution difference is not big either. And this is my laptop monitor configuration (1366x768) running in my 1080p TV screen (1920x1080): https://drive.google.com/file/d/1wMUdgELxPv_LX-pZxZqwWZtmFOFWrY5d/ Notice that the black frame is now bigger because the resolution difference is bigger. I suppose that if I used this same configuration in a 4k TV there would be an even greater frame difference. Maybe this escaped from your testings in this test version. Hopefully it will be easy for you to fix it... 2) The program no longer auto-detects the Samsung TV speakers set as default in the Windows desktop, so I have no sound in Raine, as you see here: https://drive.google.com/file/d/1OBhQiy9V20TV6uDv7_JrGoM5hH39RyZA/ You see that even if you visit the Sound options menu, it will stick to the Realtek HD Audio sound output, even if in Windows desktop I have set the Samsung TV speakers as default. I was wondering how you could fix this and thought of maybe doing what most emulators do: add a "Default" sound output device value to the sound device setting. See this option in Duckstation: Now see it in PCSX2: So this could maybe be the solution for this problem, no? It would allow the program to always detect the default sound device which is being used by the Windows desktop, be it the internal PC speakers (in my case, Realtek HD Audio), the external display speakers (Samsung TV) or others. If the user wanted to set a different or specific sound device, then he/she could select it by the list reported in Raine. The Default sound device value could be 0 or 1 in the config file, and then the other sound devices could start at 1 or 2, 3, 4 and so on. Let me know if this could be a good idea to fix this issue. Anyway, hopefully this can be the beginning of the end of these sound device and window manager issues in Windows... Thank you so much again for your continuing work in the emulator. Edited November 21, 2024 by mer-curious
Tux Posted November 21, 2024 Author Posted November 21, 2024 For the smaller screen : yeah it can be done, I thought about it after posting this binary, easily done. For replacing 1 soundcard by another one : not convenient for now, it obliges to change a number by a string as a setting, and for now I prefer to avoid it, so I think it's going to be my limit, you'll have to live with it ! edit : actually it might be possible to do something for the soundcard too, it's not convenient because it breaks compatibility with the dos version, but it shouldn't be too complex to do, I might have a closer look later. 1
mer-curious Posted November 21, 2024 Posted November 21, 2024 (edited) 13 hours ago, Tux said: For the smaller screen : yeah it can be done, I thought about it after posting this binary, easily done. Hello Tux! Thanks a lot for this fast fix. Hopefully it will be the last correction related to the window manager. If you would like to provide a test build, I would be glad to test it again. Â 13 hours ago, Tux said: edit : actually it might be possible to do something for the soundcard too, it's not convenient because it breaks compatibility with the dos version, but it shouldn't be too complex to do, I might have a closer look later. Thank you so much for that too. Â 13 hours ago, Tux said: it obliges to change a number by a string as a setting, and for now I prefer to avoid it I thought of still preserving the numbers in the config file and only changing the look in the graphical interface. So, in the config file, 1 would be the default/auto-detect sound card (it will always use the one selected as default in Windows desktop), value 2 would be the first sound output device reported by driver and manually selected by the user, 3 would be the second sound output device found and manually set by the user, and so on... I think if you keep the numbers in the config file you may preserve compatibility with the current config files. For example, in my case I saved my Raine configuration in my laptop disconnected from the TV, so it had only one sound device available and the value set in the config file was 1. That's why I don't have sound when I reconnect the laptop to the TV, because the Samsung TV speakers are identified by Raine as the second output device, which was supposed to be value 2 in the config file. But if value 1 becomes default/auto-select, I suppose the compatibility will be preserved in my current config file when switching between sound devices in the desktop (which Windows automatically does when you hook the computer to a TV, for example). I'm not sure how difficult would it be to implement this though, but it seemed a good solution to have the default Raine configuration to be set as "Default/Auto select/detect" for the sound device, which is what happens with most emulators I've tried. There are some emulators such as Dolphin which don't even let you select the sound output device, they simply use the one set in the desktop. Anyway, I will also be glad to try any approach you make in this regard in Raine. The idea above was just a suggestion.. Thank you so much again for your time and continuing work. Edited November 21, 2024 by mer-curious
Tux Posted November 21, 2024 Author Posted November 21, 2024 Nope, sound_card becomes a string value in the config file for sdl versions from now on, the old config file is converted on the fly so you don't have to edit it manually. Actually sdl2 accepts only a soundcard name when opening a soundcard, not an id, so it's easier this way. While testing I stumbled upon the case where you get a strange soundcard name with trailing spaces, in this case the trailing spaces are removed when reading from the config file which added another case to fix... ! Anyway it should work in all cases now, hopefully ! Test your thing... same link. 1
mer-curious Posted November 22, 2024 Posted November 22, 2024 (edited) 9 hours ago, Tux said: Test your thing... same link. Hello again Tux! Thanks a lot for this new test version. I tried here the config file last saved using the built-in monitor in my laptop in my TV and finally the game picture is properly resized to the bigger screen. Also, if you save the configuration in the TV and return to the built-in laptop monitor, the screen is perfectly resized again to the smaller screen. So the switch is finally seamless now! The only minor issue still related to the window manager at this point is this: - if you leave full-screen mode in my 1920x1080 TV, Raine window will be perfectly centered in the desktop area, as you see here: - now if you use this same config file in my 1366x768 laptop built-in monitor, this is what happens when you leave full-screen mode: You see that the Raine window is no longer centered in the new 1366x768 desktop area. It looks like it is still trying to center the window in the original 1080p display resolution, which was the one I first created the config file in. It's a minor issue compared to the others I've reported so far, but I'm reporting it again in case it could be easily fixed by you...? As for the sound output device changes, here are my results: - if you just open Raine and close it by the Quit function the config file won't be updated. You need to either run a game or visit the Sound Options menu and then Quit to save the config file with the new string naming value. - if you switch from using the built-in computer speakers to the external TV speakers (which Windows does automatically when you hook the computer to an external display with built-in speakers such as a TV), Raine still can't auto-detect and select the new sound device set in the desktop by Windows. It will retain the previous configuration found in the config file, which in my case is the Realtek HD Audio output, and for that there will be no sound. I suppose the next step in this matter would be to implement a "Default/Auto-detect/Auto-select" setting in Sound output device in Raine as we have with most emulators out there. This way the switch between internal and external sound output devices and even between additional sound devices installed in Windows would be seamless in Raine. If I had selected that option in Raine the program would simply automatically use the sound output device set in my desktop when using the TV, which in my case is the NVidia High Definition, set by Windows as default. I don't know how difficult would this be for you to implement this though. Hopefully SDL2 will have such a feature and let you do that eventually. This new setting would end the problems with switching between sound devices in Windows. Anyway, I'm already glad that Raine usability has become more seamless between different devices, which is a context more common nowadays with HTPCs, mini PCs, laptops and other portable Windows devices with external display connectivity being available in the market. Thank you so much again for the time working on these little improvements in the emulator. Edited November 22, 2024 by mer-curious
Tux Posted November 22, 2024 Author Posted November 22, 2024 No I think it's enough for the sound. It works well enough for me. There was an autodetect for sound in the old dos days for those who didn't know which sound card they had, but the time was very different ! Since then it never came back, and you can easily do without it even now, if you forget and find you have no sound, you can restore your sound by a quick visit to sound options, so it's not worth the trouble adding an explicit autodetect choice in my point of view. For the 1080p -> 1366x768 not sure what happens, I might do some tests later. edit : after testing, it's minor, it's just about the placement of the window, not sure there is something to do about it, it's after resizing the screen so that it fits in the new resolution, so no wonder it can change the position while doing so. And it can be fixed manually without too much trouble, or just stay in fullscreen, so really minor. Cool, I finally see the end of it ! For the config not updated if you just run and quit, normal, it does nothing related to the sound in this case, you have to either load a game or go to sound options.
mer-curious Posted November 23, 2024 Posted November 23, 2024 (edited) Testing... The forum is broken somehow. I cannot post a specific reply. It seems that if I insert a quote or link it blocks me from posting, I get a 500 internal error or 504 time out error... Very weird... Edited November 23, 2024 by mer-curious
mer-curious Posted November 23, 2024 Posted November 23, 2024 Hello Tux! Thank you so much for your fast reply, as always. Quote from Tux: For the 1080p -> 1366x768 not sure what happens, I might do some tests later. edit : after testing, it's minor, it's just about the placement of the window, not sure there is something to do about it, it's after resizing the screen so that it fits in the new resolution, so no wonder it can change the position while doing so. And it can be fixed manually without too much trouble, or just stay in fullscreen, so really minor. Thank you for your investigation. I agree with you. I only see this as a real issue in case someone switches from a big display resolution to a smaller one, for instance, switching from a 4k display to a 1366x768 or a 1280x720 monitor would possibly be difficult to manage the floating window depending on where it would show in the new smaller resolution, because the window could be even barely seen. It's interesting that when you first create a config file in full screen and then return to window mode, the window is perfectly centered. But if you take this same configuration to a different display with different resolution, then something happens and it can no longer position the window in the center when leaving full screen mode. It seems Raine saves some kind of memory of the first full-screen resolution in the config file, and then it does not adapt/update it to other display sizes... Except this, I've finally a new bug to report. It was maybe created after you fixed the game picture in different display sizes. So, here's how to reproduce it, using the latest test build: - run Raine without a configuration file; - load a game in windowed mode; - there should be no game picture when you leave the GUI; - if you try to go full-screen the game picture will be distorted. - if you return to windowed mode, the distortion will be retained until you show the GUI again; See all this happening here: https://drive.google.com/file/d/1wu1Kstf732xAX-3OdInWXy0hnSi9Zz_Q/ Hopefully you'll be able to reproduce and fix this too. Â On 11/22/2024 at 3:36 AM, Tux said: if you forget and find you have no sound, you can restore your sound by a quick visit to sound options You are correct, I understand this can be done. My feature request was with the thinking of letting this process automatic by default. If we have a "default/auto-detect/auto-select" parameter available, we can enjoy the game play without worrying about this kind of particular configuration. But without this option we need to set the sound output device every time we save the configuration file with the computer speakers, and then switch to a second or external sound device such as the one in HDMI TVs. Currently the auto detection only works in these conditions: - you don't have a configuration file created yet; - you have your computer/laptop hooked to an external display with built in speakers; - in Windows desktop you have set the display speakers as your sound output device; - you run Raine and visit the Sound Options menu or load a game and then save the configuration. In this situation the auto-detection works perfectly. Raine detects the sound device I'm currently using in Windows (in my case, the Samsung TV speakers). The auto-detection also works if: - you have a configuration file created while Windows sound output was set to the TV speakers. - you disconnect your computer/laptop from the TV and and Windows now reset the sound output to the computer speakers; - you run Raine and visit the Sound Options menu or load a game and then save a configuration file. In this case the sound output auto-detection also works and is updated to the current sound device set in Windows, which in my case is Realtek HD Audio (the only one available). The sound device auto-detection won't work in the following situation: - you have saved your Raine configuration file while having only one sound output device available in Windows (in my case, Realtek HD Audio). - you hook your computer/laptop to a TV display and have the TV speakers set as default sound output in Windows. - you run Raine and load a game or visit the Sound Options menu. In this case the auto-detection doesn't work, Raine keeps set to the Realtek HD Audio device and does not detect Windows is now using the TV speakers. As you said, you can fix this by going to the Sound Options menu and manually selecting the TV sound output device listed in Raine. If a "Default/Auto-detect/Auto-select" setting is implemented, there will be no need for that. Raine will behave as exactly as every other emulator, it will feature a seamless switch between different setups and sound output devices in Windows desktop. If such an option couldn't be added at all, then Raine on the other hand could try to always auto-detect/auto-select the sound device currently set in Windows desktop and use it instead of picking the one previously found in the config file, that is, it would always refresh it when necessary. I think one of these approaches would finally provide a seamless experience with using Raine in different contexts, making it more user-friendly in terms of important settings to be manually configured by the user. Anyway, I hope I may have clarified a little more my idea in relation to this feature, if you happen to reconsider it eventually someday. Thank in so much again for your continuing improvements in Raine.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now