No non-destructive way for a normal user to escape frozen full-screen apps

Bug #537137 reported by Gabriel M. on 2010-03-11
This bug affects 25 people
Affects Status Importance Assigned to Milestone
xorg-server (Ubuntu)

Bug Description

Binary package hint: xorg

Full screen apps freezing is a common problem in both Windows and Ubuntu (irrespective of hardware or version, I do Ubuntu installs for my friends and always run in to this). (The most recent incarnation of this is the development version of Battle for Wesnoth (svn rev 41526): the quit button freezes the app instead of quitting. But I'm mentioning it only as an example, since it's a very common occurence with SDL or OpenGL apps.)

On Windows you'd try Alt-tab, the Windows key that calls the menu, or Ctrl-Alt-Delete to call the task manager, and in my experience 90% of the time the app'll successfully minimize, you'll kill it with a right-click, and will be able to use whatever other apps were running.

Let's take the point of view of an average Joe user that encounters the same thing in Ubuntu. He's been enjoying a comfortable desktop environment and has little technical knowledge. Assuming he even heard about them, he can try:
- Ctrl-Alt-F#: he is dumped to a terminal where he has as much chance of damaging his system as successfully killing the faulty app and going back to his Gnome session. He'll probably end up rebooting out of fear of the terminal.
- Alt-SysRq-K: in addition of being new and very little known, this will kill the X server along with any open application.
- Alt-SysRq-REISUB: is very little known, and will kill all apps, period.
- Ctrl-Alt-Del, Alt-tab, the windows key, or even Ctrl-Alt-Backspace that used to kill the X server won't do anything.

The most likely outcomes for Average Joe User are therefore:
- He loses all data from open apps. (Let's imagine he fired some sdl game to take a break from writing his school paper and forgot to save -- he loses all his data.) This is not even remotely acceptable.
- He doesn't know what to do reboots the computer, and not only loses all data from open apps, but may end up with an unbootable OS (been there, done that). This is not even remotely acceptable.

Now, I've seen some people including Ubuntu devs or moderators argue that it's the games' problem, and that we should take it up with those apps' devs. Wrong, I say. This is an issue of solidity and stability with the Ubuntu OS. Face it, freezes are VERY common in 3D apps, even under Windows with commercial games (in my experience it's more common under GNU/Linux systems).
The ostrich tactic won't work here, we need to recognize that the problem of full-screen apps freezing is not gonna go away soon no matter how much we pester dev teams. Bugs are part of life and that's it. Windows provides a way to gracefully escape from those freezes most of the time, without damage to the user's data or workflow. *Where is Ubuntu's method to deal with the problem?*

There, I've done the best I could as a user: reporting the bug. It's definitely not a mere feature request, since at the moment we're speaking it has nasty consequences on Ubuntu users who expect to find a more human-oriented operating system.

Since I'm not an expert interface designer it's not my job to design a solution, but I can still offer a suggestion: find some unused key combination, hook it directly with the X server and make it work like an emergency Alt-tab to hide the frozen full-screen app and go back to your desktop. And then widely publicize it so Ubuntu users know it just as well as Windows users know Alt-tab and Ctrl-Alt-Del. But I'm sure that with your collective brains, you can figure something better.

Please ask for extra hardware info if you need it, but honestly I wouldn't see the point of that: this is a well-known problem that's cross-platform and cross-distribution, basically everywhere a full-screen app can freeze. It's about time someone tackles and solves the problem, and I hope Ubuntu will be the distro that dares to take this step forward.

Please also don't mark this bug as a duplicate after superficial reading. This is not the same thing as for instance bug #63245, in which the reporter is merely asking for a convenient feature, for apps that run correctly and can be exited the normal way.

Lastly, I assigned the bug to the xorg package for good reasons: please discuss any changes here before hastily changing this assignment.

ProblemType: Bug
Architecture: amd64
Date: Thu Mar 11 00:24:24 2010
DistroRelease: Ubuntu 9.10
InstallationMedia: Ubuntu 9.10 "Karmic Koala" - Release Candidate amd64 (20091020.3)
MachineType: System manufacturer P5Q-PRO
NonfreeKernelModules: fglrx
Package: xserver-xorg 1:7.4+3ubuntu10
ProcCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.31-20-generic root=UUID=b27650f9-4a6c-4008-9417-0900eae53526 ro quiet splash
ProcVersionSignature: Ubuntu 2.6.31-20.57-generic
 xserver-xorg 1:7.4+3ubuntu10
 libgl1-mesa-glx 7.6.0-1ubuntu4
 libdrm2 2.4.14-1ubuntu1
 xserver-xorg-video-intel 2:2.9.0-1ubuntu2.1
 xserver-xorg-video-ati 1:6.12.99+git20090929.7968e1fb-0ubuntu1
SourcePackage: xorg
Uname: Linux 2.6.31-20-generic x86_64
 (gnome-settings-daemon:1930): GLib-CRITICAL **: g_propagate_error: assertion `src != NULL' failed
 (gnome-settings-daemon:1930): GLib-CRITICAL **: g_propagate_error: assertion `src != NULL' failed
 (polkit-gnome-authentication-agent-1:2018): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed
 (nautilus:2006): Eel-CRITICAL **: eel_preferences_get_boolean: assertion `preferences_is_initialized ()' failed
 (firefox:3918): GLib-WARNING **: g_set_prgname() called multiple times 12/03/2008
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: 1613
dmi.board.asset.tag: To Be Filled By O.E.M. P5Q-PRO
dmi.board.vendor: ASUSTeK Computer INC.
dmi.board.version: Rev 1.xx
dmi.chassis.asset.tag: Asset-1234567890
dmi.chassis.type: 3
dmi.chassis.vendor: Chassis Manufacture
dmi.chassis.version: Chassis Version
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr1613:bd12/03/2008:svnSystemmanufacturer:pnP5Q-PRO:pvrSystemVersion:rvnASUSTeKComputerINC.:rnP5Q-PRO:rvrRev1.xx:cvnChassisManufacture:ct3:cvrChassisVersion: P5Q-PRO
dmi.product.version: System Version
dmi.sys.vendor: System manufacturer
 distro: Ubuntu
 architecture: x86_64kernel: 2.6.31-20-generic

Gabriel M. (gabrielm) wrote :
Bryce Harrington (bryce) on 2010-03-11
affects: xorg (Ubuntu) → fglrx-installer (Ubuntu)
Gabriel M. (gabrielm) wrote :

You didn't provide any explanation as to why you changed the package. Changing back.

Regarding the freeze example I mentioned, I now found out why Battle for Wesnoth svn is freezing, and it doesn't have anything to do with the graphics card. The game doesn't even use 3D acceleration. So what the hell does *fglrx-installer* has to do with this?

Let me remind you that the bug is that there is no way for an ordinary user to escape a frozen full-screen app. Frozen full-screen apps happen for a variety of reasons and you can't hope to fix them all. Therefore you must provide a decent workaround so the user can avoid losing data. And the X server seems to be the best place to put such a workaround.

Gabriel M. (gabrielm) wrote :

No reason provided for the previous change.

affects: fglrx-installer (Ubuntu) → xorg (Ubuntu)
Bruno9779 (bruno9779) wrote :

If a key combination is set up for this, please keep in mind that not everyone that has a non-english keyboard has 3 hands...

Leandro (leandromartinez98) wrote :

I think Control-Alt-Delete should minimize every application and bring up de task manager. And I do
agree that this is a usability problem.

Bryce Harrington (bryce) on 2010-03-15
affects: xorg (Ubuntu) → fglrx-installer (Ubuntu)
AI0867 (ai0867) wrote :

The referenced issue is *not* a graphics problem, it is a problem with libsdl-alsa not working nicely with pulseaudio's alsa emulation layer and can be worked around by installing libsdl-pulseaudio.

However, that is *not* what this bug is about, this bug is about providing a reasonable workaround for when, inevitably, another fullscreen app freezes. Killing the X server is overly descructive and switching to a terminal to kill the app is *not* a reasonable workaround for ubuntu's target audience.

So, I'll repeat Gabriel's question of what this bug has to do with fglrx-installer, which is an installer for a restricted graphics driver.

AI0867 (ai0867) wrote :

For reference, the bug I referenced was ubuntu bug #386538, which, though not fixed and still broken in default installs of karmic, has been marked invalid.

Gabriel M. (gabrielm) wrote :

Interesting. From his launchpad wiki page, one of Mr. Harrington's job achievements for past Ubuntu versions was "New bugs in xorg, xorg-server, -intel, -ati, and -nv were reduced to 0".
I'm not sure the right way of reducing bugs is to randomly re-assign them to other, vaguely related packages. Without any justification. Since I took the time of writing this detailed report with hardware info, the least you could do would be to read it and give a short answer.

Bryce Harrington (bryce) on 2010-03-15
tags: added: omit
Changed in fglrx-installer (Ubuntu):
importance: Undecided → Wishlist
tags: added: ct-rev
Bryce Harrington (bryce) wrote :

I understand your frustrations but taking them out by making personal attacks at me are quite unhelpful.

affects: fglrx-installer (Ubuntu) → xorg-server (Ubuntu)
Supernatendo (na+3nd0.) wrote :

I too have ran into fullscreen applications where it would be convenient if the ctrl+return alt+tab or ctr+shift+esc or ctr+alt+backspace either (respectively) minimized, tabbed to the desktop or other window, killed the current fullscreen app, or brought up a task manager GUI to easily kill misbehaving apps that are taking up the full screen and grabbing the keymaps...

This mainly happened after an update broke my alsa + pulseaudio to where I had to follow these instructions to get it fixed

But now, every time I load an application the volume is set too low to hear and I need to re-adjust it. This is when I noticed that there is currently no way to exit some fullscreen games without closing the program. At least a few (such as World of Goo) allowed me to alt+return to window the application, but unfortunately some FOSS developers are not as thoughtful as 2Dboy apparently...

AI0867 (ai0867) on 2010-03-16
description: updated
Gabriel M. (gabrielm) wrote :

Well, being treated like an idiot does bring out the bad in us, doesn't it? And everybody's still wondering why you changed the bug to fglrx in the first place, so the personal comment was at least partially justified.

In any case, thanks for changing the bug back to the proper package. I still think it should be a bug of medium importance, not a wishlist element, because of the impact this can have on users, and because it degrades Ubuntu's image compared to "that other OS"(tm). While this is not fixed you really need a big fat disclaimer visible on the Ubuntu homepage, warning users of what might happen to them if they dare play any game in Ubuntu.

What do the 'omit' and 'ct-rev' tags mean?

qinjuehang (qjh1993) wrote :

As a temporary solution, I suggest forcing 3d windows to be redirected and using false fullscreen (ie. a window with decorations removed). There would be a large performance hit, but would be far safer.

KIAaze (zohn-joidberg) wrote :

People having problems with frozen fullscreen apps might be interested in this:

It doesn't address the problem of frozen X servers, but it allows easy starting of apps in a second X server. :)

Bryce Harrington (bryce) on 2010-07-02
Changed in xorg-server (Ubuntu):
status: New → Confirmed
Oleg O Andreev (olegoandreev) wrote :

Gabriel, this bug is relevant to your question: (and upstream bug and mailing list discussion

In short: there was an option to deactivate keyboards/mouse grabs (therefore, allowing to Alt+Tab to other applications) or to kill the application with grabs by pressing special hotkeys. However, this option was removed in 2008 and, at least to my knowledge, there are no signs of its return in any form.

Just my 2 roubles.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

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