Fullscreen doesn't work since Lucid

Bug #575968 reported by mjb
24
This bug affects 4 people
Affects Status Importance Assigned to Milestone
mupen64plus (Debian)
Fix Released
Unknown
mupen64plus (Ubuntu)
Fix Released
Undecided
Unassigned
Lucid
Fix Released
Undecided
Unassigned

Bug Description

Binary package hint: mupen64plus

After an update to Lucid Lynx, the fullscreen mode in mupen64plus (1.5+dfsg1-7build1) doesn't work anymore. Neither can you switch to fullscreen by pressing Alt+Return, nor does the "Always start in fullscreen mode" option work.

Everything worked fine in Karmic Koala.

TEST CASE: To test the problem just use a driver with a very long vendor string. Just patch your libgl to output such a string (256 bytes should be sufficient). Use different random strings and test it on different platforms to create the different types of crashes/random misbehavior.

The m_strDeviceStats is only used in one place:

{{{
    sprintf(m_strDeviceStats, "%s - %s : %s", m_pVendorStr, m_pRenderStr, m_pVersionStr);
    TRACE0(m_strDeviceStats);
    printf("%s\n", m_strDeviceStats);
}}}

Revision history for this message
Sven Eckelmann (sven-eckelmann) wrote :

There were no changes to mupen64plus. Please contact the sdl maintainer or your the maintainer of the graphics driver.

You didn't provide any kind of information about your used plugins or your graphics driver. That would be useful in that kind of bug report. rice just uses SDL_WM_ToggleFullScreen to enable the fullscreen mode and glide64 just sets the SDL_FULLSCREEN flag. So it should not be a real mupen64plus problem if it worked before.

It could also be kms or uxa related if there were such changes in your driver. Have you tried to use a resolution which is exact the native resolution?

Changed in mupen64plus (Ubuntu):
status: New → Incomplete
Revision history for this message
mjb (max-brixner-deactivatedaccount) wrote :

Thanks for your quick answer!
I'm using the Rice-Video-Plugin 1.5. Using Glide64 solves the problem, but the video quality is poor. So the bug seems to be related to the Rice-Plugin and therefore SDL_WM_ToggleFullScreen.
Trying exact the native resolution didn't work for me either...
Thanks again, Lazhur!

description: updated
Revision history for this message
Sven Eckelmann (sven-eckelmann) wrote :

Ok, the problem is that I cannot reproduce it here - so I would like to give it someone who can really test it.

Can you please download widelands and then go into the real game and press 'F'. This should do a fullscreen toggle using SDL_WM_ToggleFullScreen too. Can you please check if this works for you or not?

And can you also give information about your graphics driver/hardware (/var/log/Xorg.0.log, calling `lspci -v` and `lspci -n`).

Revision history for this message
Sven Eckelmann (sven-eckelmann) wrote :

I think I know what the problem is and will upload a bugfix to debian.

Changed in mupen64plus (Ubuntu):
status: Incomplete → Fix Committed
Revision history for this message
mjb (max-brixner-deactivatedaccount) wrote :

Wow, thank you very very much!

Revision history for this message
Sven Eckelmann (sven-eckelmann) wrote :

I've also uploaded it to my ppa ppa:sven-eckelmann/ppa

Changed in mupen64plus (Debian):
status: Unknown → Fix Committed
Changed in mupen64plus (Debian):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package mupen64plus - 1.5+dfsg1-10

---------------
mupen64plus (1.5+dfsg1-10) unstable; urgency=low

  [ Sven Eckelmann ]
  * debian/patches:
    - Add rsp_ucode2_reset.patch, Reset status of specific ucode2 hacks after
      starting again
    - Add rsp_hle_bigendian.patch, Fix wrong high level emulation of rsp on big
      endian systems
    - Add rice-crash-vendorstring.patch, Don't crash on long OpenGL vendor
      string (Closes: #580480, LP: #575968)

  [ Piotr Ożarowski ]
  * DMUA flag set to yes

mupen64plus (1.5+dfsg1-9) unstable; urgency=low

  * debian/patches:
    - Add ftbfs-gvariant-type-conflicts.path, Fix FTBFS due to glib's gvariant.h
      type definitions (Closes: #577329)
    - Add dont-install-unneeded.patch, Don't install files which aren't used by
      us
  * debian/rules:
    - Enable parallel builds using dh's --parallel
    - Inform about missing installed files using dh's --list-missing
    - Share options between dh_auto_build and dh_auto_install
  * debian/control:
    - Depend on debhelper 7.4.10 for --parallel and --list-missing

mupen64plus (1.5+dfsg1-8) unstable; urgency=low

  * debian/patches:
    - Add rice_fog.patch, Reduce flickering when enabling fog in rice
    - Update fix_readpng.patch, Fix FTBFS with libpng14 and remove coding style
      only changes
  * Convert to 3.0 (quilt) source format
  * Remove outdated README.source
  * debian/control:
    - Remove shlibs:Depends for binary packages without shared libs dependencies
    - Remove unneeded build dependency to quilt
    - Upgraded to policy 3.8.4, no changes required
  * Correct spelling errors found by lintian
  * debian/copyright: Update copyright years
  * Check all files ever published on the download page in debian/watch
 -- Ubuntu Archive Auto-Sync <email address hidden> Sun, 09 May 2010 13:57:56 +0100

Changed in mupen64plus (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
deleted (to-delete) wrote :

Here is the extracted patch which fixes the problem. As their are other bugfixes I would like to have a simple sync of mupen64plus 1.5+dfsg-10 to lucid, but if it isn't possible please create a lucid package with that fix included.

Revision history for this message
deleted (to-delete) wrote :

Even if the original author says that it only causes the fullscreen not to work it crashes here and on a other computer scrambles the video output. So I make the priority higher as it makes the plugin complete unusable on that systems

Revision history for this message
deleted (to-delete) wrote :

This bug didn't happen on older releases of ubuntu. So I would call it a regression.

TEST CASE: To test the problem just use a driver with a very long vendor string. Just patch your libgl to output such a string (256 bytes should be sufficient). Use different random strings and test it on different platforms to create the different types of crashes/random misbehavior.

The m_strDeviceStats is only used in one place:

{{{
    sprintf(m_strDeviceStats, "%s - %s : %s", m_pVendorStr, m_pRenderStr, m_pVersionStr);
    TRACE0(m_strDeviceStats);
    printf("%s\n", m_strDeviceStats);
}}}

So the problems created by that patch should be minimal or non-existent.

Revision history for this message
deleted (to-delete) wrote :

As this is a sync from debian I doubt that their is someone directly involved which can upload a updated package to release-proposed

deleted (to-delete)
Changed in mupen64plus (Ubuntu):
status: Fix Released → Confirmed
Revision history for this message
Steve Langasek (vorlon) wrote :

This bug is documented as fixed in the development release. Please don't reopen without explanation. For an SRU, the Ubuntu task should *not* be reopened.

Changed in mupen64plus (Ubuntu):
status: Confirmed → Fix Released
Shane Wolfram (dazinmad)
Changed in mupen64plus (Ubuntu):
assignee: nobody → Shane Wolfram (dazinmad)
assignee: Shane Wolfram (dazinmad) → nobody
Revision history for this message
Sven Eckelmann (sven-eckelmann) wrote :
tags: added: verification-needed
description: updated
Revision history for this message
Fabrice Coutadeur (fabricesp) wrote :

Hi,

IT seems to FTBFS (not because of your patch, I think). Can you check?

This is the error I am getting:
...g++ -o Video.o -g -O2 -I/usr/include/freetype2 -fno-strict-aliasing -g -DDBG -pthread -D_REENTRANT -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12 -I/usr/include/freetype2 -fno-strict-aliasing -g -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -fpic -DPIC -Wall -DUSE_GTK -pthread -D_REENTRANT -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12 -c Video.cpp
In file included from /usr/include/glib-2.0/glib.h:90,
                 from /usr/include/glib-2.0/gobject/gtype.h:26,
                 from /usr/include/glib-2.0/gobject/gboxed.h:26,
                 from /usr/include/glib-2.0/glib-object.h:25,
                 from /usr/include/glib-2.0/gio/gioenums.h:30,
                 from /usr/include/glib-2.0/gio/giotypes.h:30,
                 from /usr/include/glib-2.0/gio/gio.h:28,
                 from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:30,
                 from /usr/include/gtk-2.0/gdk/gdk.h:32,
                 from /usr/include/gtk-2.0/gtk/gtk.h:32,
                 from messagebox.h:26,
                 from Video.cpp:27:
/usr/include/glib-2.0/glib/gvariant.h:71: error: two or more data types in declaration of 'parameter'
make[3]: *** [Video.o] Error 1

thanks,
Fabrice

Changed in mupen64plus (Ubuntu Lucid):
assignee: nobody → Sven Eckelmann (sven-eckelmann)
status: New → In Progress
Revision history for this message
Sven Eckelmann (sven-eckelmann) wrote :

Yes, but this is a complete different patch and should only happen on a system > Lucid. http://patch-tracker.debian.org/patch/series/view/mupen64plus/1.5+dfsg1-13/ftbfs-gvariant-type-conflicts.patch

Please check again if you build it on Lucid or not

Changed in mupen64plus (Ubuntu Lucid):
status: In Progress → Incomplete
assignee: Sven Eckelmann (sven-eckelmann) → nobody
Revision history for this message
Sven Eckelmann (sven-eckelmann) wrote :
Changed in mupen64plus (Ubuntu Lucid):
status: Incomplete → In Progress
Revision history for this message
Fabrice Coutadeur (fabricesp) wrote :

Uploaded. Waiting for approval. Thanks!

Fabrice

Changed in mupen64plus (Ubuntu Lucid):
status: In Progress → New
Revision history for this message
Martin Pitt (pitti) wrote : Please test proposed package

Accepted mupen64plus into lucid-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Changed in mupen64plus (Ubuntu Lucid):
status: New → Fix Committed
Revision history for this message
mjb (max-brixner-deactivatedaccount) wrote :

The Fix works for me. The original issue seems to be resolved.

Martin Pitt (pitti)
tags: added: verification-done
removed: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package mupen64plus - 1.5+dfsg1-7ubuntu0.1

---------------
mupen64plus (1.5+dfsg1-7ubuntu0.1) lucid-proposed; urgency=low

  * debian/patches:
    - Add rice-crash-vendorstring.patch, Don't crash on long OpenGL vendor
      string (Closes: #580480, LP: #575968)
    - Add ftbfs-gvariant-type-conflicts.patch, Fix FTBFS due to glib's
      gvariant.h type definitions (Closes: #577329)
 -- Sven Eckelmann <email address hidden> Thu, 06 May 2010 11:34:46 +0200

Changed in mupen64plus (Ubuntu Lucid):
status: Fix Committed → Fix Released
tags: added: testcase
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.