Jump to content

And more than 1 year after 0.96.0 : raine 0.97.0 !!!


Tux

Recommended Posts

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:

tOWwsen.png

Now see it in PCSX2:

xbDHh5r.png

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 by mer-curious
Link to comment
Share on other sites

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.

  • Like 1
Link to comment
Share on other sites

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 by mer-curious
Link to comment
Share on other sites

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.

  • Like 1
Link to comment
Share on other sites

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:

LTxSurM.png

- 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:

Sdxe6ME.png

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 by mer-curious
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...