mupen64plus / mupen64plus-core

Core module of the Mupen64Plus project
1.31k stars 257 forks source link

Fullscreen / windowed toggle issues #625

Open Mastergatto opened 5 years ago

Mastergatto commented 5 years ago

See also https://github.com/gonetz/GLideN64/issues/1961. @orbea: The devs have just released a new beta and we can't wait so we have to speed things a bit. I'm opening this ticket so that it can bring attention on these issues.

Either with mupen64plus-ui-console or with any other frontend, and with any plugin that support resolution resize (so no glide64mk2), if you toggle fullscreen or windowed, the game will remain at same resolution in any case, but in the case of fullscreen mode there's a whole black area above and to the right of the game: mupen64plus2 5 9

orbea commented 5 years ago

@Mastergatto Thanks for making a new issue, I have been too distracted with other things to focus on this yet...

richard42 commented 5 years ago

the fullscreen/window toggle works as expected under Linux. What OS are you testing with?

orbea commented 5 years ago

@richard42 I am using Slackware linux and the fullscreen toggle has lots of problems with the mupen64plus-console-ui, the specific problems depend on the video plugin though. The only plugin I have experienced no issues with is angrylion-plus.

richard42 commented 5 years ago

hmm, I'm running Gentoo and I tried with Rice video just now and it worked as expected.

orbea commented 5 years ago

Seems some relatively recent changes partially fixed it for rice, before I could not even open it fullscreen or toggle fullscreen without the window vanishing.

Now I can open it with fullscreen without issue, but toggling fullscreen creates this double image.

1

Note that I made this screenshot with scrot(1) while it visibly covered my entire screen, but in the scrot the game content is only displayed in the top left corner of my screen while my normal desktop is displayed elswhere. Additionally the top image flashes.

orbea commented 5 years ago

@richard42 Is there any more information I provide to help debug this? @Mastergatto suggested that maybe its an SDL2 issue and I have SDL-2.0.9 installed. Do you have an older SDL2 version?

richard42 commented 5 years ago

I also have SDL 2.0.9 installed. I did fix some problems in Rice video which were causing the crash when toggling fullscreen. I just tested with glide64mk2, and it runs fine in either windowed or fullscreen mode, but hitting alt-enter to toggle does nothing.

orbea commented 5 years ago

I tried glide64mk2 and I can reproduce the problem where alt+enter does nothing. Additionally starting it with --windowed creates a large image in a tiny window. I traced this down to

ScreenWidth = 1680
ScreenHeight = 1050

It seems to want to give me this resolution relative to the size of my desktop and not the mupen64plus window, rice doesn't have this issue.

orbea commented 5 years ago

I tried with GLideN64 again, the default 640x480 and --fullscreen causes the aspect ratio to change for my entire desktop and not just mupen64plus, this is not a problem with --windowed, but toggling fullscreen just breaks my window manager...

Toggling from full screen to windowed causes a crash (See https://github.com/gonetz/GLideN64/issues/1961).

orbea commented 5 years ago

angrylion-plus shares the GlideN64 issues with a 640x480 resolution, but freezes when trying to change the desktop's resolution when made fullscreen.

Edit: angrylion-plus tries to change the desktops resolution to 640x480 when toggling fullscreen (And freezes) even when using 1680x1050. It correctly uses the larger resolution when started with --fullscreen.

lucasmr commented 5 years ago

Getting the same problem with mupen64plus-ui-console, libsdl2-2.0.9, with all video plugins. Cannot enter fullscreen and the output is a small window in a big black box.

Mastergatto commented 5 years ago

@lucasmr What OS, GPU and driver are you using?

lucasmr commented 5 years ago

Gentoo Linux OpenGL vendor string: Intel Open Source Technology Center OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Desktop OpenGL core profile version string: 4.2 (Core Profile) Mesa 18.2.8

orbea commented 5 years ago

What desktop environment or window manager are you using?

lucasmr commented 5 years ago

mate-1.22

Mastergatto commented 5 years ago

Since this issue happens definitively with the Mesa drivers in all three flavors, at this point we need to know if it happens with the proprietary Nvidia driver too. If this is not the case, we should probably make a report on Mesa's bug tracker.

Weasy666 commented 5 years ago

I'm having the same problem with a fully updated RetroPie on a Raspberry Pie 3B.

Ignore the black box...i just removed my reflection 🕵️‍♂️ IMG_20190920_180343

This happens with mupen64plus-gles2n64 on every N64 ROM i tried. If i change to mupen64plus-GLideN64 or mupen64plus-gles2rice everything is working fine.

dankcushions commented 5 years ago

@Weasy666 , update retropie-setup script, and update mupen64plus from source, and it will be fixed.

Weasy666 commented 5 years ago

@dankcushions thx, now works like a charm.