deletion of dangling metamode 50 failed

Bug #662760 reported by Diggory
84
This bug affects 16 people
Affects Status Importance Assigned to Milestone
disper
Confirmed
Undecided
Unassigned
disper (Debian)
Fix Released
Unknown

Bug Description

I'm using the auto-disper script to switch between laptop and external monitors (Fn+F7 bound to "auto-disper --change"). My normal usage is to plug in the external screen and press Fn+F7 (switches to only external display; works fine), and at the end of the day unplug the external screen and press Fn+F7 again (often fails). Running auto-disper from the command-line after unplugging the external screen:

$ sh/auto-disper --change
no resolutions found for display DFP-0, falling back to: 800x600, 640x480
home
laptop (detected)
 -> loading profile laptop
deletion of dangling metamode 50 failed
could not find nor create MetaMode: DFP-0: nvidia-auto-select @1440x900 +0+0

The nearest I found to an answer was #315920, however that bug is closed as fixed. Other ideas? Or should I not be trying to change video modes after unplugging my only active screen anyway?

By the way, disper is a very nice tool!

Diagnostics: both screens connected:

$ disper -l
display DFP-0: LEN
 resolutions: 320x175, 320x200, 360x200, 320x240, 400x300, 416x312, 512x384, 640x350, 576x432, 640x400, 680x384, 720x400, 640x480, 720x450, 640x512, 700x525, 800x512, 840x525, 800x600, 960x540, 832x624, 960x600, 1024x768, 1152x864, 1360x768, 1440x900
display DFP-4: LEN L2251p Wide
 resolutions: 320x175, 320x200, 360x200, 320x240, 400x300, 416x312, 512x384, 640x350, 576x432, 640x400, 680x384, 720x400, 640x480, 720x450, 640x512, 720x480, 700x525, 800x512, 720x576, 840x525, 800x600, 960x540, 832x624, 960x600, 896x672, 928x696, 960x720, 1024x768, 1280x720, 1152x864, 1360x768, 1280x960, 1440x900, 1280x1024, 1400x1050, 1600x1000, 1600x1024, 1680x1050

Auto-disper configs (should be fairly obvious ("config" loaded with "disper -i"); "work" is my external screen config):

$ cat .auto-disper/laptop/setup
display DFP-0: LEN
$ cat .auto-disper/laptop/config
backend: nvidia
associated displays: DFP-0
metamode: DFP-0: nvidia-auto-select @1440x900 +0+0
scaling: stretched
$ cat .auto-disper/work/setup
display DFP-0: LEN
display DFP-4: LEN L2251p Wide
$ cat .auto-disper/work/config
backend: nvidia
associated displays: DFP-0, DFP-4
metamode: DFP-4: nvidia-auto-select @1680x1050 +0+0
scaling: default, stretched

Related branches

Revision history for this message
wvengen (wvengen) wrote :

Hi, thanks for your bug report. I cannot immediately understand why this is happening. When I try the same thing it does not happen. Could you try the following and report the output?
  $ # connect external monitor
  $ disper -v -S
  $ disper -p
  $ # disconnect external monitor (make sure your terminal has focus)
  $ disper -v -s
  $ disper -p
If doesn't trigger the bug the problem is in auto-disper, if it does please report and attach the file created by nvidia-bug-report.sh (which is included by the Ubuntu package nvidia-glx-*; or else include /var/log/Xorg.0.log and dmesg) since it may be a driver-related problem.

Revision history for this message
Diggory (diggory-hardy) wrote : Re: [Bug 662760] Re: deletion of dangling metamode 50 failed

Hi

Trying that on my home monitor (different monitor) it worked with no problem
(though it did sometimes work with auto-disper, in particular after
reconnecting the external monitor, running "auto-disper --change",
disconnecting, and running again).

So I'll try again a few times and have a hack with auto-disper (
http://github.com/dhardy/auto-disper) at some point if that appears to be
the problem (though not in the next week).

Thanks,

Revision history for this message
wvengen (wvengen) wrote :

Hi, thanks for trying. It may not be so much an issue with auto-disper, but with the import/export functionality. Although I don't see why this would happen, though. When the commands of comment #1 succeed, you could try the following:
   $ # connect external monitor
   $ cat ~/.auto-disper/work/config
   $ disper -v -i <~/.auto-disper/work/config
   $ # disconnect external monitor (make sure your terminal has focus)
   $ cat ~/.auto-disper/laptop/config
   $ disper -v -i <~/.auto-disper/laptop/config
This is probably what auto-disper does too.

Revision history for this message
Diggory (diggory-hardy) wrote :
Download full text (3.4 KiB)

Yes, this should be exactly what auto-disper is doing (except that I also
added a hook to xrandr rotation). Both this and auto-disper are working
perfectly at the moment... I'll see if this happens again in the next couple
of weeks.

Cheers

On 19 October 2010 11:36, wvengen <email address hidden> wrote:

> Hi, thanks for trying. It may not be so much an issue with auto-disper, but
> with the import/export functionality. Although I don't see why this would
> happen, though. When the commands of comment #1 succeed, you could try the
> following:
> $ # connect external monitor
> $ cat ~/.auto-disper/work/config
> $ disper -v -i <~/.auto-disper/work/config
> $ # disconnect external monitor (make sure your terminal has focus)
> $ cat ~/.auto-disper/laptop/config
> $ disper -v -i <~/.auto-disper/laptop/config
> This is probably what auto-disper does too.
>
> --
> deletion of dangling metamode 50 failed
> https://bugs.launchpad.net/bugs/662760
> You received this bug notification because you are a direct subscriber
> of the bug.
>
> Status in On-the-fly display switcher: New
>
> Bug description:
> I'm using the auto-disper script to switch between laptop and external
> monitors (Fn+F7 bound to "auto-disper --change"). My normal usage is to plug
> in the external screen and press Fn+F7 (switches to only external display;
> works fine), and at the end of the day unplug the external screen and press
> Fn+F7 again (often fails). Running auto-disper from the command-line after
> unplugging the external screen:
>
> $ sh/auto-disper --change
> no resolutions found for display DFP-0, falling back to: 800x600, 640x480
> home
> laptop (detected)
> -> loading profile laptop
> deletion of dangling metamode 50 failed
> could not find nor create MetaMode: DFP-0: nvidia-auto-select @1440x900
> +0+0
>
>
> The nearest I found to an answer was #315920, however that bug is closed as
> fixed. Other ideas? Or should I not be trying to change video modes after
> unplugging my only active screen anyway?
>
> By the way, disper is a very nice tool!
>
>
> Diagnostics: both screens connected:
>
> $ disper -l
> display DFP-0: LEN
> resolutions: 320x175, 320x200, 360x200, 320x240, 400x300, 416x312,
> 512x384, 640x350, 576x432, 640x400, 680x384, 720x400, 640x480, 720x450,
> 640x512, 700x525, 800x512, 840x525, 800x600, 960x540, 832x624, 960x600,
> 1024x768, 1152x864, 1360x768, 1440x900
> display DFP-4: LEN L2251p Wide
> resolutions: 320x175, 320x200, 360x200, 320x240, 400x300, 416x312,
> 512x384, 640x350, 576x432, 640x400, 680x384, 720x400, 640x480, 720x450,
> 640x512, 720x480, 700x525, 800x512, 720x576, 840x525, 800x600, 960x540,
> 832x624, 960x600, 896x672, 928x696, 960x720, 1024x768, 1280x720, 1152x864,
> 1360x768, 1280x960, 1440x900, 1280x1024, 1400x1050, 1600x1000, 1600x1024,
> 1680x1050
>
>
> Auto-disper configs (should be fairly obvious ("config" loaded with "disper
> -i"); "work" is my external screen config):
>
> $ cat .auto-disper/laptop/setup
> display DFP-0: LEN
> $ cat .auto-disper/laptop/config
> backend: nvidia
> associated displays: DFP-0
> metamode: DFP-0: nvidia-auto-select @1440x900 +0+0
> scaling: stretched
> $ cat .auto-disper/work/set...

Read more...

Revision history for this message
Mingming Ren (portis25) wrote :
Download full text (8.8 KiB)

Same problem here. I have to disper -S twice to get it switched.

 disper -v -S
Enabled plugins:
using specified displays: CRT-0
adding auto-select metamode: :: DFP-0: nvidia-auto-select +0+0, CRT-0: nvidia-auto-select +0+0
associating displays: DFP-0, CRT-0
associating displays: DFP-0
adding auto-select metamode: :: DFP-0: nvidia-auto-select +0+0, CRT-0: nvidia-auto-select +0+0
associating displays: DFP-0, CRT-0
associating displays: DFP-0
resolutions of CRT-0: 320x240, 400x300, 512x384, 680x384, 640x480, 720x450, 700x525, 840x525, 800x600, 960x540, 832x624, 960x600, 1024x768, 1152x864, 1360x768, 1280x960, 1440x900, 1400x1050, 1680x1050, 1920x1080, 1280x1024
adding auto-select metamode: :: DFP-0: nvidia-auto-select +0+0, CRT-0: nvidia-auto-select +0+0
associating displays: DFP-0, CRT-0
adding metamode: :: CRT-0: 1280x1024 +0+0
setting xinerama info order: CRT-0
deleting dangling metamode 50: source=xconfig, id=50, switchable=yes :: DFP-0: nvidia-auto-select @1440x900 +0+0
deletion of dangling metamode 50 failed
deleting dangling metamode 51: source=implicit, id=51, switchable=no :: DFP-0: 1440x900_40 @1440x900 +0+0
deleting dangling metamode 52: source=implicit, id=52, switchable=no :: DFP-0: 1440x900_50 @1440x900 +0+0
deleting dangling metamode 53: source=implicit, id=53, switchable=no :: DFP-0: 1360x768 @1360x768 +0+0
deleting dangling metamode 54: source=implicit, id=54, switchable=no :: DFP-0: 1360x768_60_0 @1360x768 +0+0
deleting dangling metamode 55: source=implicit, id=55, switchable=no :: DFP-0: 1152x864 @1152x864 +0+0
deleting dangling metamode 56: source=implicit, id=56, switchable=no :: DFP-0: 1152x864_60 @1152x864 +0+0
deleting dangling metamode 57: source=implicit, id=57, switchable=no :: DFP-0: 1024x768 @1024x768 +0+0
deleting dangling metamode 58: source=implicit, id=58, switchable=no :: DFP-0: 1024x768i @1024x768 +0+0
deleting dangling metamode 59: source=implicit, id=59, switchable=no :: DFP-0: 1024x768_75 @1024x768 +0+0
deleting dangling metamode 60: source=implicit, id=60, switchable=no :: DFP-0: 1024x768_70 @1024x768 +0+0
deleting dangling metamode 61: source=implicit, id=61, switchable=no :: DFP-0: 1024x768_60 @1024x768 +0+0
deleting dangling metamode 62: source=implicit, id=62, switchable=no :: DFP-0: 960x600 @960x600 +0+0
deleting dangling metamode 63: source=implicit, id=63, switchable=no :: DFP-0: 960x540 @960x540 +0+0
deleting dangling metamode 64: source=implicit, id=64, switchable=no :: DFP-0: 840x525 @840x525 +0+0
deleting dangling metamode 65: source=implicit, id=65, switchable=no :: DFP-0: 840x525d70 @840x525 +0+0
deleting dangling metamode 66: source=implicit, id=66, switchable=no :: DFP-0: 840x525d60 @840x525 +0+0
deleting dangling metamode 67: source=implicit, id=67, switchable=no :: DFP-0: 840x525d60_0 @840x525 +0+0
deleting dangling metamode 68: source=implicit, id=68, switchable=no :: DFP-0: 832x624 @832x624 +0+0
deleting dangling metamode 69: source=implicit, id=69, switchable=no :: DFP-0: 800x600 @800x600 +0+0
deleting dangling metamode 70: source=implicit, id=70, switchable=no :: DFP-0: 800x600_75 @800x600 +0+0
deleting dangling metamode 71: source=implicit, id=71, switchable=no :: DFP-0: 800x600_...

Read more...

Revision history for this message
Christoph Buchner (bilderbuchi) wrote :

I can confirm this. Since upgrading to 11.10, I sometimes have to switch the mode twice. I use disper-indicator, but that shouldn't make a difference, I think.

Revision history for this message
Zsolt Lauter (lauterzsolti) wrote :
Download full text (8.5 KiB)

zsolti@latitude:~$ disper -v -S
Enabled plugins:
using specified displays: CRT-0
adding auto-select metamode: :: CRT-0: nvidia-auto-select +0+0, DFP-3: nvidia-auto-select +0+0
associating displays: CRT-0, DFP-3
associating displays: DFP-3
adding auto-select metamode: :: CRT-0: nvidia-auto-select +0+0, DFP-3: nvidia-auto-select +0+0
associating displays: CRT-0, DFP-3
associating displays: DFP-3
resolutions of CRT-0: 320x240, 400x300, 512x384, 680x384, 640x480, 720x450, 700x525, 840x525, 800x600, 960x540, 832x624, 960x600, 1024x768, 1152x864, 1360x768, 1280x960, 1440x900, 1280x1024, 1400x1050, 1600x1200, 1920x1080, 1920x1200, 1680x1050
adding auto-select metamode: :: CRT-0: nvidia-auto-select +0+0, DFP-3: nvidia-auto-select +0+0
associating displays: CRT-0, DFP-3
adding metamode: :: CRT-0: 1680x1050 +0+0
setting xinerama info order: CRT-0
deleting dangling metamode 50: source=xconfig, id=50, switchable=yes :: DFP-3: nvidia-auto-select @1600x900 +0+0
deletion of dangling metamode 50 failed
deleting dangling metamode 51: source=implicit, id=51, switchable=no :: DFP-3: 1600x900_40 @1600x900 +0+0
deleting dangling metamode 52: source=implicit, id=52, switchable=no :: DFP-3: 1360x768 @1360x768 +0+0
deleting dangling metamode 53: source=implicit, id=53, switchable=no :: DFP-3: 1360x768_60_0 @1360x768 +0+0
deleting dangling metamode 54: source=implicit, id=54, switchable=no :: DFP-3: 1152x864 @1152x864 +0+0
deleting dangling metamode 55: source=implicit, id=55, switchable=no :: DFP-3: 1024x768 @1024x768 +0+0
deleting dangling metamode 56: source=implicit, id=56, switchable=no :: DFP-3: 1024x768i @1024x768 +0+0
deleting dangling metamode 57: source=implicit, id=57, switchable=no :: DFP-3: 1024x768_75 @1024x768 +0+0
deleting dangling metamode 58: source=implicit, id=58, switchable=no :: DFP-3: 1024x768_70 @1024x768 +0+0
deleting dangling metamode 59: source=implicit, id=59, switchable=no :: DFP-3: 1024x768_60 @1024x768 +0+0
deleting dangling metamode 60: source=implicit, id=60, switchable=no :: DFP-3: 960x600 @960x600 +0+0
deleting dangling metamode 61: source=implicit, id=61, switchable=no :: DFP-3: 960x540 @960x540 +0+0
deleting dangling metamode 62: source=implicit, id=62, switchable=no :: DFP-3: 840x525 @840x525 +0+0
deleting dangling metamode 63: source=implicit, id=63, switchable=no :: DFP-3: 840x525d70 @840x525 +0+0
deleting dangling metamode 64: source=implicit, id=64, switchable=no :: DFP-3: 840x525d60 @840x525 +0+0
deleting dangling metamode 65: source=implicit, id=65, switchable=no :: DFP-3: 840x525d60_0 @840x525 +0+0
deleting dangling metamode 66: source=implicit, id=66, switchable=no :: DFP-3: 832x624 @832x624 +0+0
deleting dangling metamode 67: source=implicit, id=67, switchable=no :: DFP-3: 800x600 @800x600 +0+0
deleting dangling metamode 68: source=implicit, id=68, switchable=no :: DFP-3: 800x600_75 @800x600 +0+0
deleting dangling metamode 69: source=implicit, id=69, switchable=no :: DFP-3: 800x600_72 @800x600 +0+0
deleting dangling metamode 70: source=implicit, id=70, switchable=no :: DFP-3: 800x600_60 @800x600 +0+0
deleting dangling metamode 71: source=implicit, id=71, switchable=no :: DFP-3: 800x600_56 @800x600 +0+0
deleting dang...

Read more...

Revision history for this message
Diggory (diggory-hardy) wrote :

I've not had this problem for a long time now, but I usually change the display profile while the external screen is still connected (see https://github.com/dhardy/auto-disper and specifically the --toggle option).

Revision history for this message
stuart (stuart-hayton) wrote :

I'd like to confirm that I still regularly have this problem:

$ disper -e
no resolutions found for display CRT-0, falling back to: 800x600, 640x480
deletion of dangling metamode 144 failed

and that from experience the next disper command will cause the nvidia driver to exit.

Reading the comments so far it seems that a possible workround is to be sure that an external display is turned off before disconnecting it or undocking.
I'll start correlating the problem to my disconnect activity and see if its a reliable workround.

Revision history for this message
Zsolt Lauter (lauterzsolti) wrote :

Now I use Ubuntu 12.04 and Disper (installed from the Universe repo) works perfectly well.

Revision history for this message
Christoph Buchner (bilderbuchi) wrote :

I can confirm this - with 12.04 I haven't encountered any problems so far.

Revision history for this message
Brian R. Hellman (brian-linbit) wrote :

I just updated the nvidia drivers that were pushed out yesterday and am now getting a similar problem. The method I've been using has worked for over 2 years across multiple releases so I'm not sure what changed, but here is the output I get when I try to switch. Again this worked well until yesterdays nvidia driver update. Any feedback/suggestions would be appreciated.

brian@brianlaptop:~/scripts$ disper -d DFP-1,DFP-2 -e -v
Enabled plugins:
using specified displays: DFP-1, DFP-2
resolutions of DFP-1: 640x480, 800x600, 1024x768, 1152x864, 1280x800, 1440x900, 1280x1024, 1680x1050, 1920x1080
resolutions of DFP-2: 640x480, 800x600, 1024x768, 1152x864, 1280x800, 1440x900, 1280x1024, 1680x1050, 1920x1080
preferred resolutions for displays: DFP-1: 1920x1080, DFP-2: 1920x1080
adding metamode: :: DFP-1: 1920x1080 +0+0, DFP-2: 1920x1080 +1920+0
setting xinerama info order: DFP-1, DFP-2
deleting dangling metamode 50: source=xconfig, id=50, switchable=yes :: DFP-0: nvidia-auto-select @1920x1080 +0+0, DFP-1: nvidia-auto-select @1920x1080 +0+0
deletion of dangling metamode 50 failed
deleting dangling metamode 53: source=nv-control, id=53, switchable=no :: DFP-0: 1920x1080 @1920x1080 +0+0
deletion of dangling metamode 53 failed
could not switch to metamode 54: resolution not found

wvengen (wvengen)
Changed in disper:
status: New → Confirmed
Revision history for this message
wvengen (wvengen) wrote :

Hi, could you please indicate which exact versions of the NVidia driver you have? I'm mostly interested in the kernel version, but the OpenGL version is also interesting:
  grep 'I) NVIDIA\( \|.*PCI:\)' /var/log/Xorg.0.log
  zgrep NVRM /var/log/* | sed 's|^.*\] NVRM: loading||p;d'|sort|uniq

Revision history for this message
Brian R. Hellman (brian-linbit) wrote :

I found that when using:
nvidia-current_302.17-0ubuntu1~precise~xup1_i386.deb
disper breaks.

Downgrading back to:
nvidia-current_295.59-0ubuntu1~precise~xup1_i386.deb
resolves the issue and my script works. If need be I can paste the script but, it basically detects the monitors and runs disper import with either a single monitor configuration or dual monitor.

Thanks for answering,
Brian

Revision history for this message
carloslp (carloslp) wrote :

I can confirm this issue. The problem happens with the nvidia drivers 302.

Seems that this new release of the proprietary nvidia drivers (302) brought some changes related to xrandr that broke disper:

http://www.phoronix.com/scan.php?page=news_item&px=MTEyMDk

This bug was also reported on Debian: http://bugs.debian.org/682600

Revision history for this message
wvengen (wvengen) wrote :

A fix should be present in bzr trunk. Can you please test if this solves the problem? If so, then I'm going to release disper 0.3.1 asap.

Changed in disper (Debian):
status: Unknown → Confirmed
Changed in disper (Debian):
status: Confirmed → Fix Released
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.