Launcher is shown on the wrong screen in some multi-monitor setups

Bug #742544 reported by Mario Limonciello
786
This bug affects 146 people
Affects Status Importance Assigned to Milestone
Ayatana Design
Invalid
Undecided
Unassigned
Unity
Fix Released
Medium
Daniel van Vugt
unity-2d
Fix Released
High
Michał Sawicz
gnome-control-center (Ubuntu)
Fix Released
High
Unassigned
unity (Ubuntu)
Fix Released
Medium
Daniel van Vugt

Bug Description

WORKAROUND FOR 11.10:

None available. But an early fix is available for 11.10 in ppa:vanvugt/unity, https://launchpad.net/~vanvugt/+archive/unity

WORKAROUND FOR 11.04:

There are two ways to configure the primary monitor in Ubuntu 11.04...

Permanent workaround (requires logging back in again):
Edit ~/.config/monitors.xml, find the monitor you want the launcher to display on and change:
    <primary>no</primary>
to:
    <primary>yes</primary>
Now log out and log in again.

Temporary workaround (no logout required):
Open a Terminal window and...
1. Run "xrandr" to find the NAME of the output you would like to make primary.
2. Run: xrandr --output NAME --primary && nohup unity --replace &

ORIGINAL DESCRIPTION:

Binary package hint: unity

In my particular configuration I have an external monitor hooked up to my laptop on the left of the laptop display. The unity bar is ending up on the laptop display though making it in the middle of the two monitors.

This makes it quite difficult to activate the bar with a full screen application open on the laptop (hitting the upper left pixel of that monitor without going over).

I think it would make more sense to make it configurable which monitor the bar ends up on, or at least look at the orientation of the monitors when determining where to put the bar.

ProblemType: Bug
DistroRelease: Ubuntu 11.04
Package: unity 3.6.8-0ubuntu3
ProcVersionSignature: Ubuntu 2.6.38-7.38-generic 2.6.38
Uname: Linux 2.6.38-7-generic i686
Architecture: i386
CompizPlugins: [core,bailer,detection,composite,opengl,decor,mousepoll,vpswitch,regex,animation,snap,expo,move,compiztoolbox,place,grid,imgpng,gnomecompat,wall,ezoom,workarounds,staticswitcher,resize,fade,unitymtgrabhandles,scale,session,unityshell]
CompositorRunning: compiz
DRM.card0.DVI.D.1:
 status: connected
 enabled: enabled
 dpms: On
 modes: 1280x1024 1280x1024 1280x960 1152x864 1024x768 1024x768 1024x768 832x624 800x600 800x600 800x600 800x600 640x480 640x480 640x480 640x480 720x400
 edid-base64: AP///////wBMLZQBOTFJQggPAQOAJh54Kt6Vo1RMmSYPUFS/74CBgIFAcU8BAQEBAQEBAQEBMCoAmFEAKkAwcBMAeC0RAAAeAAAA/QA4Sx5RDgAKICAgICAgAAAA/ABTeW5jTWFzdGVyCiAgAAAA/wBIQ0hZMjAwOTU4CiAgAKk=
DRM.card0.LVDS.1:
 status: connected
 enabled: enabled
 dpms: On
 modes: 1440x900 1440x900
 edid-base64: AP///////wAGr0cTAAAAAAEQAQOAHhN4Cof1lFdPjCcnUFQAAAABAQEBAQEBAQEBAQEBAQEBniWgQFGEDDBAIDMAL70QAAAZWh+gQFGEDDBAIDMAL70QAAAAAAAA/gBHUjU4NABCMTQxUFcxAAAA/gAoOERNbZa2/wIBCiAgADo=
DRM.card0.VGA.1:
 status: disconnected
 enabled: disabled
 dpms: Off
 modes:
 edid-base64:
Date: Fri Mar 25 10:22:03 2011
DistUpgraded: Log time: 2011-02-28 23:54:17.443730
DistributionChannelDescriptor:
 # This is a distribution channel descriptor
 # For more information see http://wiki.ubuntu.com/DistributionChannelDescriptor
 canonical-oem-dell-lucid-une-20100427-1
DistributionChannelDescriptor_:
 # This is a distribution channel descriptor
 # For more information see http://wiki.ubuntu.com/DistributionChannelDescriptor
 canonical-oem-dell-lucid-une-20100427-1
DistributionChannelDescriptor__:
 # This is a distribution channel descriptor
 # For more information see http://wiki.ubuntu.com/DistributionChannelDescriptor
 canonical-oem-dell-lucid-une-20100427-1
DistroCodename: natty
DistroVariant: ubuntu
DkmsStatus:
 vboxhost, 4.0.4, 2.6.38-5-generic, i686: installed
 vboxhost, 4.0.4, 2.6.38-7-generic, i686: installed
 vboxhost, 4.0.4, 2.6.38-6-generic, i686: installed
GraphicsCard:
 Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (primary) [8086:2a02] (rev 0c) (prog-if 00 [VGA controller])
   Subsystem: Dell Latitude D630 [1028:01f9]
   Subsystem: Dell Device [1028:01f9]
InstallationMedia: Ubuntu 10.04 "Lucid" - Build i386 LIVE Binary 20100427-14:29
InstallationMedia_: Ubuntu 10.04 "Lucid" - Build i386 LIVE Binary 20100427-14:29
InstallationMedia__: Ubuntu 10.04 "Lucid" - Build i386 LIVE Binary 20100427-14:29
MachineType: Dell Inc. Latitude D630
PccardctlIdent:
 Socket 0:
   no product info available
PccardctlStatus:
 Socket 0:
   no card
ProcEnviron:
 LANGUAGE=en_US:en
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.38-7-generic root=UUID=fa8d2464-5942-4868-877b-6bed2f9b7c15 ro quiet splash vt.handoff=7
ProcVersionSignature_: Ubuntu 2.6.38-7.38-generic 2.6.38
ProcVersionSignature__: Ubuntu 2.6.38-7.38-generic 2.6.38
Renderer: Unknown
SourcePackage: unity
UpgradeStatus: Upgraded to natty on 2011-03-02 (23 days ago)
dmi.bios.date: 01/11/2008
dmi.bios.vendor: Dell Inc.
dmi.bios.version: A06
dmi.board.name: 0KU184
dmi.board.vendor: Dell Inc.
dmi.chassis.type: 8
dmi.chassis.vendor: Dell Inc.
dmi.modalias: dmi:bvnDellInc.:bvrA06:bd01/11/2008:svnDellInc.:pnLatitudeD630:pvr:rvnDellInc.:rn0KU184:rvr:cvnDellInc.:ct8:cvr:
dmi.product.name: Latitude D630
dmi.sys.vendor: Dell Inc.
version.compiz: compiz 1:0.9.4git20110322-0ubuntu5
version.libdrm2: libdrm2 2.4.23-1ubuntu5
version.libgl1-mesa-glx: libgl1-mesa-glx 7.10.1-0ubuntu3
version.xserver-xorg: xserver-xorg 1:7.6~3ubuntu11
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:6.14.0-0ubuntu4
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.14.0-4ubuntu4
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:0.0.16+git20110107+b795ca6e-0ubuntu6

Related branches

Revision history for this message
Mario Limonciello (superm1) wrote :
Revision history for this message
Omer Akram (om26er) wrote :

confirming from the duplicate bug report.

Changed in unity (Ubuntu):
importance: Undecided → Medium
status: New → Confirmed
Changed in unity:
status: New → Confirmed
summary: - Unity bar ends up in the middle of my multi monitor configuration rather
- than at the left
+ Launcher is shown on the wrong screen in some multi-monitor setups
Revision history for this message
Sebastian Rühl (sebastian-ruehl) wrote :

There should be a small panel in the gnome-settings like in MacOSX which can be dragged onto the primary monitor (See link http://osxdaily.com/2010/04/27/set-the-primary-display-mac/). Currently this bug is a real pain as I get hurt in my neck. ;)

Revision history for this message
Seth Forshee (sforshee) wrote :

@Sebastian, I found that you can change the screen the launcher shows up on by editing ~/.config/monitors.xml. If one of your displays is designated as the primary output in that file the launcher will show up on that display. Find the "output" item for your desired primary display in that file, and then find the sub-item named "primary". Change the value to "yes" for that output, then log out and log back in. That way you won't have to hurt your neck while you wait for a final solution :-)

Revision history for this message
Mark Russell (marrusl) wrote :

Thanks, Seth. That worked for me. I found actually that both monitors were set to "no". So I guess it was just picking the first in the list.

Revision history for this message
Barry Warsaw (barry) wrote :

Same here, both were set to "no". It took a little trial and error to figure out which of the <output> sections to hack, but this did eventually work for me too.

Revision history for this message
Zordid (zordid-gmx) wrote :

Please make it configurable BEFORE launching Natty!!!!!!!!!!

The problem really is a design problem!!!

Even if the bar shows up on the left-most monitor, that's not what I want if that's NOT my main monitor!! This bar needs to be on any configurable position - at best at the bottom... because only there it's "safe" from left/right problems!

PLEASE FIX!

Revision history for this message
Brian Astrolox Wojtczak (astrolox) wrote : Re: [Bug 742544] Re: Launcher is shown on the wrong screen in some multi-monitor setups

Given the design is to have the bar on the left. I suggest the a good
solution to the multiple monitors problem is to place the bar on the left of
the left most monitor and move the bar whenever it's no longer in that
position.

However I suspect that even this simplistic approach wouldn't be suitable
for everyone and a configuration option which at least lets you pick which
monitor it's on may be necessary to appease the masses.

Revision history for this message
Steven Brown (savvy-steve) wrote :

I would like to add that I have found Unity unusable in my current setup because of this issue.

The launcher is currently showing on my primary monitor, but my primary monitor is on the right of my multi-monitor setup. This makes bringing the launcher up almost impossible by using the mouse position. It also makes the launcher position VERY inconvenient, breaking the workspace up the middle.

Until Unity gives an option for the launcher to be moved, I'll be using the reluctantly using the 'classic' desktop.

Revision history for this message
Gaz Davidson (garethdavidson) wrote :

Here's a screenshot I attached to the wrong bug:
https://bugs.launchpad.net/unity-2d/+bug/757652/+attachment/2090480/+files/Unity%203D%20-%203%20monitor%20setup%20with%20output%200%20as%20leftmost%20display.png

It's badly named, should say rightmost display. I worked around it by switching my monitor outputs, which sucks as a general solution but worked in my case

Revision history for this message
Sebastien Bacher (seb128) wrote :

it could be useful to get some design input on how the primary screen selection should be done there

Changed in unity:
importance: Undecided → High
Changed in unity (Ubuntu):
importance: Medium → High
Revision history for this message
Michael Wild (themiwi) wrote :

I have to agree with Brian (comment #8). Since the launcher and the hot corner are designed to be at the top-left, they also should show up on the top-left monitor. Everything else either makes activating the launcher with the mouse very tedious and has design issues like splitting the whole display in two or would require further design work.

Revision history for this message
Sebastien Bacher (seb128) wrote :

it's also similar to bug #757652

Revision history for this message
jonas antunes da silva (jonas-antunes) wrote :

I have two monitors setup and the unity launcher stay on the left of right monitor, then being positioned in the middle off the composed screen. It's very annoying because sometimes i accidentally move the mouse pointer to the left monitor when trying to show the launcher in the right screen making hard to use it.

Revision history for this message
Anders Wallenquist (aw) wrote :

I have found a work-a-round for this issue using xrandr and changeing the primary monitor.

This changes primary montor to the DVI-monitor:
xrandr --output DVI-0 --primary

And this back to the VGA-monitor:
xrandr --output VGA-0 --primary

xrandr without arguments reports the names of the monitors:

root@lian:~# xrandr
Screen 0: minimum 320 x 200, current 3328 x 1152, maximum 8192 x 8192
VGA-0 connected 1280x1024+2048+0 (normal left inverted right x axis y axis) 376mm x 301mm
   1280x1024 60.0*+ 75.0
   1024x768 75.1 70.1 60.0
   832x624 74.6
   800x600 72.2 75.0 60.3 56.2
   640x480 72.8 75.0 66.7 60.0
   720x400 70.1
DVI-0 connected 2048x1152+0+0 (normal left inverted right x axis y axis) 510mm x 290mm
   2048x1152 59.9*+
   1680x1050 60.0
   1280x1024 75.0 60.0
   1152x864 75.0
   1024x768 75.1 60.0
   800x600 75.0 60.3
   640x480 75.0 60.0
   720x400 70.1

Revision history for this message
Bart de Koning (bratdaking) wrote :

My setup is similar to what has been described above, placing a big monitor to the left side of your laptop will give you the launcher in the middle. To see it you have to get to left side of the left screen to get the launcher back, which is annoying.
However I like to keep the launcher on my laptop. When I attach my laptop to a beamer, I do want all people to see the launcher popping up when I have to start an application. Now I could put the beamer virtually to the right side to solve that again, but I was thinking of a more elegant, but more complex solution. It would be more elegant to be able to choose the monitor to show the launcher (which can be done by the ability to choose the the primary I guess), and then be able to position the launcher to the left or the right side on that screen.
It would be even more elegant to store the setup for different monitor setups. So when I connect to a beamer it will attach the launcher to the right side on my laptop screen, and when I connect my normal screen it will automatically switch to the left side of the monitor instead. Actually monitor settings are already stored, so probably the only thing that has to be added is the positioning of the launcher, and a nice repositioning effect off course.
The ability to choose another primary screen does not solve the issue (without the need to log out and in at least) When I use xrandr to reselect my primary, it does not transfer the launcher to the right spot. The dash moved immediately to the left side (but did not resize, giving me a dash the size of my laptop on my much larger monitor). The launcher however still resides on the laptop, giving it a disconnected and misplaced look, and still only opens when I touch the left part of my monitor. I guess both are refreshing issues.

Revision history for this message
Priit Pihus (ppihus) wrote :

Unfortunately xrandr workaround is no good for the users with nvidia cards. AFAIK xrandr sees dual screen setup as one big screen.

1 comments hidden view all 131 comments
Revision history for this message
Patrick Seemann (patrickseemann) wrote :

I'm experiencing the same problem with my dual-monitor setup (with a nvidia graphics card) in unity (3d).

this is my setup: latop -----> second monitor (via VGA cable) to the right

When I use the Nvidia X Server Settings tool to expand my desktop to the second monitor (TwinView), the launcher (including the ubuntu botton on top) ends up in the middle of the two monitors, or if you will, on the left edge of the right monitor. My primary monitor is my laptop, to which I've connect an additional monitor to the right. So when I connect the right monitor, I definitely want the launcher to stay at the left most monitor, which is my laptop.

I found a "workaround" for this problem, but its definitely not how it should be:

1.) in Nvidia X Settings tool select TwinView for the second monitor AND tick the checkbox "Make this the primary display for the X screen" on the laptop (not on the second monitor, this is important)
2.) click "apply"
3.) now, the launcher will be on the left edge of the second monitor, even though we told nvidia x settings to make the laptop be our primary monitor!!
4.) now disable the second monitor and click "apply" again
5.) redo step 1 and 2 and the launcher should be on the laptop's screen (the left most in my setup) on the left edge

Setting up the monitors as described above is the only way I get launcher to position on the left most monitor!

Revision history for this message
Simon Déziel (sdeziel) wrote :

The workaround suggested in comment #4 works well here. Thanks Seth

Revision history for this message
Len Winter (dabirds29) wrote :

Hi all...

I have a desktop monitor and an HDTV as my secondary. by HDTV serves 3 roles: TV, Office Display (windows), and Home computer (Ubuntu) display.

I followed Seth's suggestion (#4) and successfully moved the launch bar to the left-most display. When I did this, the login screen switched to my HDTV. Anyone know how to shift the login screen over over to my primary, as well? This is a terrible inconvenience!

Thanks in advance (and thanks Seth!).

Revision history for this message
Patrick Seemann (patrickseemann) wrote :

I just stumbled across a very useful blog post which fixed my dual-monitor setup problems!
http://eggeral.blogspot.com/2011/04/disper-indicator-for-switching-nvidia.html

The short python script works like a charm for me and cloning/extending my laptop screen to a second monitor only takes me 1 click! The launcher appears on the right side as well, without enabling/disabling everything twice (as described in my post above).

AFAIK, disper (the display-switching utility) only works with Nvidia graphic cards at the moment...

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

Set, how does the monitor.xml have to look like? I don't have it on my system.

I use disper for switching, and I have the same problem as Bart (comment #16) - I would like to keep my launcher on my primary, right screen, for similar reasons (bug #806909), so I'd argue that there's use cases for that configuration, too.

Revision history for this message
Michael Wild (themiwi) wrote :

I don't think that in my case this is a bug in Unity, but rather either in Glib, Xorg or in the NVIDIA driver. Running unity from the command line, and then observing the output while plugging in a monitor shows the following (abbreviated, lines marked with hashes have been added by me):

####### enabling external screen, setting it to be LeftOf and to be primary ######

Screen geometry changed:
  Monitor 0(primary)
   1920x0x1440x900
  Monitor 1
   0x0x1920x1080

####### switching back to single screen ######

Screen geometry changed:
  Monitor 0(primary)
   0x0x1440x900

####### enabling external screen, setting it to be LeftOf and to be primary ######

Screen geometry changed:
  Monitor 0(primary)
   0x0x1920x1080
  Monitor 1
   1920x0x1440x900

The relevant code generating the output request that information directly from Glib, and as you can see, the first time round the external monitor (the one with the 1920x1080 resolution) is activated, the built-in monitor is reported to be the primary monitor and the arrangement is also wrong. The second time the external monitor gets activated, the information is actually correct.

Revision history for this message
Michael Wild (themiwi) wrote :

Sorry, that should have read Gdk instead of Glib. The function I was talking about is Uscreen::Refresh(): http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/natty/unity/natty/view/head:/src/UScreen.cpp#L93.

Revision history for this message
rockachu2 (rockachu2) wrote :

Gah. NEW IDEA:

how about only showing the unity launcher on the screen that the mouse is on?
And have it fade in/out on transition?

It just seems like a simpler solution than cloning the panel for each screen, or extending it.

tags: added: multimonitor
description: updated
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I suggest a simple fix:

If there is no primary monitor defined, as seems to be the default, then unity should use the monitor which is positioned at (or contains) coordinate 0,0 of the desktop. That's the top left.

If a primary monitor has been specified in monitors.xml then continue to use that.

description: updated
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

OK, my suggested fix won't work...

The root cause of this bug is the function gdk_screen_get_primary_monitor. Unfortunately it is designed in a way such that it returns the same value 0 if the primary monitor is the first monitor, or if there is no primary monitor set at all. So calling that function (which unity does several times) you can't possibly know if a primary monitor has been set or not. It seems the only reasonable fix is to fix GTK itself so that if no primary monitor is set, it should return the ID of the top-left monitor.

Docs: http://developer.gnome.org/gdk/stable/GdkScreen.html#gdk-screen-get-primary-monitor
NOTE: These docs are slightly wrong because they suggest monitor-related functions take a monitor number between 0 and n_monitors inclusive. However in actual fact valid monitor numbers are < n_monitors, confirmed by reviewing the GTK source code.

Revision history for this message
Andrea Azzarone (azzar1) wrote :

In Oneirc you can decide on which monitor the launcher will be shown from System Settings->Display. Here there is a little bar similar to http://osxdaily.com/2010/04/27/set-the-primary-display-mac/

Changed in unity:
status: Confirmed → Incomplete
Changed in unity (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Thanks Andrea, that sounds like good news. And an obvious feature that was missing from Monitor Preferences in natty.

affects: unity (Ubuntu) → gnome-control-center (Ubuntu)
Changed in gnome-control-center (Ubuntu):
status: Incomplete → Confirmed
Andrea Azzarone (azzar1)
Changed in unity:
status: Incomplete → Invalid
Changed in ayatana-design:
status: New → Invalid
Revision history for this message
Michael Wild (themiwi) wrote :

Will this work with the NVIDIA drivers?

Revision history for this message
Andrea Azzarone (azzar1) wrote :

@Michael. I've an Intel card but I think it should work!

Revision history for this message
Matt Biddle (eightbitalpha) wrote :

This bug also affects me, I also believe that the same problem of not having the primary monitor on the left causes a problem with the workspace switcher placement. See attached screenshot.

Revision history for this message
Matt Biddle (eightbitalpha) wrote :

Workspace switcher placement is still broken when left monitor is set as primary.

description: updated
Revision history for this message
Kim Nguyễn (kim.nguyen) wrote :

@Andrea:
It seems that unity ignores the primary monitor setting in some situations.
Unity version: 4.20.0-0ubuntu2
Set-up:
right monitor, 22" Dell monitor no rotation, primary
left monitor, 19" Dell monitor, left rotation, not primary

Unity launcher still shows up on the left monitor (which I use only to display documentations and stuff
in a portrait-wise orientation). I believe this setup to be quite common.
I'm attaching a screenshot wich summarizes all the infos:

in .config/monitor.xml the primary monitor is set-up correctly
in the display panel, the black title bar is set on the right monitor
on the desktop, the launcher shows up on the leftmost one.

Note that Primary is also set-up correctly in Xorg.conf and lightdm shows-up
correctly on the right monitor.

Revision history for this message
Andrea Azzarone (azzar1) wrote :

We unity 4.18+ the launcher is shown on the monitor to the left. This is the wanted behavior.

Revision history for this message
Andrea Azzarone (azzar1) wrote :

With*

Revision history for this message
Kim Nguyễn (kim.nguyen) wrote :

@Andrea: ok.

Although I understand this can be a sane default, just ignoring X primary monitor seems too much. There are several reasonable configurations where the primary should get the panel, no matter where it is. E.g configuration used when you need to
copy/read from a secondary monitor placed on the left (like my case), configurations where you put your laptop on the left of
your big monitor (because there is no space on your desk on the right for instance etc...).
I understand that if the panel is not on the left-most monitor it makes it difficult to just fling your mouse on the top-left corner
and display the application menu but still. A much better solution would be to make the top-left corner of the primary monitor
(with the panel) block the mouse pointer or put some kind of slight edge resistance...

The semantics of primary monitor is, "the monitor which is just in front of me, where I want stuff to be displayed". Ignoring that
won't cut it in many situations. Plus that makes the "black bar" in the Display property completely useless and confusing.

Anyway I've patched it locally (see rev. http://bazaar.launchpad.net/~unity-team/unity/trunk/revision/1609 for those interested) to suit my needs but I'm just curious to see how this design issue will be solved.

Best.

Revision history for this message
Forage (forage) wrote :

I was really hoping Andrea just made a mistake and was meaning to say that the launcher was going to be displayed on the monitor on the right. Based on Kim's response it appears not to be the case and i'm quite surprised to hear this. It might be the implemented behaviour now, it's definitely not the wanted or desired behaviour.

People set a monitor as primary for a reason: to use it as the primary one. That's were you want your primary actions and work to take place, that's were you have your main attention on, your main workarea. This definitely includes the launcher as well. Now you'd constantly have to divert your attention by moving all the way to the left of your left screen to get to the launcher. A non-primary might not even turned on all the time.

Primary GUI items should be on the monitor the user considers the primary, no matter its position.

description: updated
Changed in unity:
status: Invalid → Confirmed
Revision history for this message
Michael Wild (themiwi) wrote :

This so called permanent work-around (modifying ~/.config/monitors.xml) doesn't work for me.

Changed in unity (Ubuntu):
status: New → Confirmed
John Lea (johnlea)
Changed in ayatana-design:
status: Invalid → Confirmed
Changed in gnome-control-center (Ubuntu):
assignee: nobody → Rodrigo Moya (rodrigo-moya)
summary: - Launcher is shown on the wrong screen in some multi-monitor setups
+ the xrandr panel ui should display an unity like panel on the primary
+ screen
summary: - the xrandr panel ui should display an unity like panel on the primary
- screen
+ Launcher is shown on the wrong screen in some multi-monitor setups
tags: added: regression-release
description: updated
Changed in gnome-control-center (Ubuntu):
status: Confirmed → Fix Released
Changed in ayatana-design:
status: Confirmed → Invalid
Changed in unity:
assignee: nobody → Daniel van Vugt (vanvugt)
status: Confirmed → In Progress
Changed in unity (Ubuntu):
assignee: nobody → Daniel van Vugt (vanvugt)
status: Confirmed → In Progress
Andrea Azzarone (azzar1)
Changed in gnome-control-center (Ubuntu):
assignee: Rodrigo Moya (rodrigo-moya) → Andrea Azzarone (andyrock)
assignee: Andrea Azzarone (andyrock) → nobody
51 comments hidden view all 131 comments
Revision history for this message
Aaron Mayse (eyeless1) wrote :

@Tomasz Przybysz:

Ooh, yeah, that's right; notifications end up in the wrong place on multi-monitor setups too! That would be a real problem for me if my second monitor even worked (right now it doesn't; I'm getting a weird overlap effect: http://ubuntuforums.org/showthread.php?p=11410701#post11410701 ). I'll make sure to vote for that bug too, thanks!

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Hmm, on second thoughts that's not the same as the bug I've seen.

Although that bug is probably only visible when the fix for bug 742544 is applied, we should still treat it as a separate bug. Because the launcher/icon code is quite separate to the code changed to fix 742544.

There may still be yet more parts of Unity which make the same bad assumption that the launcher is always on the left-most monitor. But they should be treated as separate bugs because the symptoms of each will be subtly different, and so will the fix.

Revision history for this message
Aaron Mayse (eyeless1) wrote :

Well one thing I can think of is the "dodge" animation will probably look kind of weird when not on the leftmost monitor. I know the Gnome panels used to have a problem where auto-hide would cause the panel to "hide" by sliding into another monitor's view. Maybe instead of a "sliding" motion, it should be more of a "flipping" motion, as if it were a flat piece of glass on a hinge attached to the monitor edge.

That would probably be a design issue, but it would only apply when the launcher can already be moved to a different monitor.

Revision history for this message
David Marzal (marzal) wrote :

After the last update unity 4.24.0-0ubuntu2b1vv1 using Nvidia Twinview configuration the launcher is back to the left (non-primary) monitor. :(

Revision history for this message
Tomasz Przybysz (topr) wrote :

Daniel, Bernie, I had the same issue with floating icons on drag. It was
under 11.04 where dash on primary monitor worked (the exact same monitors
config as Bernie's).
So I don't think the floating icon bug it's related to this one.

David,
When I had nvidia, proprietary driver, I succeed writing down Option
"Primary" "true" under relevant "Monitor" section in /etc/xorg.conf.
This was under 11.04 but may help you.

Have you managed to get dual screen working under 11.10 with nvidia?
Are you able to rotate single monitor screen?

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

@marzal, please open NVIDIA X Server Settings and make sure you have the box ticked for "Make this the primary display for the X screen".

Please also provide output of this command:

  grep UScreen ~/.xsession-errors

It will give detailed information about your monitors. I added this in version 4.24.0-0ubuntu2b1vv1.

Revision history for this message
David Marzal (marzal) wrote :

Hi, I have cheked the "primary monitor" on the frontal monitor.
It was workig with the ppa fix until the las update.

/etc/X11/xorg.conf:
Option "TwinViewXineramaInfoOrder" "DFP-0"

$ grep UScreen ~/.xsession-errors
UScreen: Screen geometry changed:
UScreen: #0: ? 1680x1050 +1280+0
UScreen: #1: ? 1280x1024 +0+0
UScreen: No primary monitor has been configured via Xrandr. Using left-most monitor: #1.
UScreen: Primary monitor for Unity is #1.

This is the output for xsession-errors.old in what the primary monitor was the correct:
** (<unknown>:1500): DEBUG: Unity accessibility initialization

Screen geometry changed:
  Monitor 0(primary)
   1280x0x1680x1050
  Monitor 1
   0x0x1280x1024

unity-panel-service: proceso no encontrado

Thanks for your time.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

OK, the problem seems fairly clear. NVIDIA doesn't implement xrandr. So the fix either needs to be enhanced to support Xinerama or simplified back to the form of the original temporary fix.

Thanks David.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

A little research seems to confirm that the "primary" monitor, according to NVIDIA, is always monitor 0. And which monitor is reported as #0 is controlled by Option "TwinViewXineramaInfoOrder".

It shouldn't take me too long to prototype a new fix with support for NVIDIA/TwinViewXinerama...

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

OK, I have added NVIDIA/TwinViewXinerama support to the fix. So in theory if you have set a primary monitor in NVIDIA X Server Settings then Unity (4.24.0-0ubuntu2b1vv2) will now honour that.

The new version in ppa:vanvugt/unity is 4.24.0-0ubuntu2b1vv2 and is building. When it is published, please try it and let me know how it goes.

Revision history for this message
Zordid (zordid-gmx) wrote :

Thanks Daniel - will try that.
But since this fix was not there at the time of release, I rearranged my whole set up - moved the laptop to the right of my main monitor so the launcher will be in front of me... :-(

Now: I got a new problem, also associated with the honoring of the primary monitor setting: the pop-up notifications unity displays are always on the right edge of the VIRTUAL, the complete desktop. But that is far, far away from where I notice it! So: it is more or less useless!

My wish: the primary monitor as set in NVIDEA X Server Settings must:
a) display the launcher
b) display the notifications

Is that possible? Where should I file this bug??? Could you also fix that?

Revision history for this message
xjcook (xjcook) wrote :

Thanks Daniel for your great job! Finally I can use Unity, but there's still some few problems.

I have Nvidia Twinview setup with my main monitor on the right side of notebook. When a launcher is between screens there's problem with restore from hide, it's not possible. I must set in ccsm never hide of the launcher. Next problem is workspace switcher. On the main monitor is broken - there's a lot of artifacts.

Revision history for this message
Tomasz Przybysz (topr) wrote :

I know it's a bit off topic but anyone succeed to rotate single screen with
TwinView?
I exchanged fresh new Nvidia GTX 560 Ti for Radeon HD6950 because it was
not possible.

Revision history for this message
Forage (forage) wrote :

Tomasz Przybysz (topr): a bit off topic? It's completely off topic :-P Please stick to e.g. the forum for support questions.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

@zordid, I think the issue with notifications only appearing on the top right monitor is probably logged already. Just don't know the bug number.

@xjcook, Yes having a launcher in the middle of your monitors only really works if you have it set to never hide. I suspect someone might have already logged that bug back in Ubuntu 11.04 when it was still possible to put the launcher in the middle of the desktop.

Revision history for this message
David Marzal (marzal) wrote :

Fixed :)

unity 4.24.0-0ubuntu2b1vv3

UScreen: Screen geometry changed:
UScreen: #0: ? 1680x1050 +1280+0
UScreen: #1: ? 1280x1024 +0+0
UScreen: No primary monitor has been configured via Xrandr.
UScreen: Primary monitor is #0 according to GDK and confirmed by TwinViewXineramaInfoOrder.
UScreen: Primary monitor for Unity is #0.

tags: added: oneiric
removed: natty
Revision history for this message
W.John Guineau (guineau) wrote :

Noooooooo!

This was working great since my post #73 above until I rebooted this morning. Now the launcher is back to being stuck all the way on the left monitor and the settings->Displays does not have the black bar for me to drag the launcher back to the "middle" of my desktop (left side of my primary monitor).

I am still on Daniels PPA as far as I can tell:

$ dpkg -l | grep unity | grep vv
ii libunity-core-4.0-4 4.24.0-0ubuntu2b1vv3 Core library for the Unity interface.
ii unity 4.24.0-0ubuntu2b1vv3 Interface designed for efficiency of space and interaction.
ii unity-common 4.24.0-0ubuntu2b1vv3 Common files for the Unity interface.
ii unity-services 4.24.0-0ubuntu2b1vv3 Services for the Unity interface

$ xrandr
xrandr: Failed to get size of gamma for output default
Screen 0: minimum 3840 x 1200, current 3840 x 1200, maximum 3840 x 1200
default connected 3840x1200+0+0 0mm x 0mm
   3840x1200 50.0*

please help!

Revision history for this message
David Marzal (marzal) wrote :

Are you using NVIDIA driver with TwinView?
My config after reboot the computer is still OK.

grep UScreen ~/.xsession-errors
UScreen: Screen geometry changed:
UScreen: #0: ? 1680x1050 +1280+0
UScreen: #1: ? 1280x1024 +0+0
UScreen: No primary monitor has been configured via Xrandr.
UScreen: Primary monitor is #0 according to GDK and confirmed by TwinViewXineramaInfoOrder.
UScreen: Primary monitor for Unity is #0.

dpkg -l | grep unity | grep vv
ii libunity-core-4.0-4 4.24.0-0ubuntu2b1vv3 Core library for the Unity interface.
ii unity 4.24.0-0ubuntu2b1vv3 Interface designed for efficiency of space and interaction.
ii unity-common 4.24.0-0ubuntu2b1vv3 Common files for the Unity interface.
ii unity-services 4.24.0-0ubuntu2b1vv3 Services for the Unity interface

Revision history for this message
W.John Guineau (guineau) wrote :

Looks like these got updated in the past day:

gnome-control-center 1:3.2.1-0ubuntu1 => 1:3.2.2-0ubuntu1
gnome-control-center-data 1:3.2.1-0ubuntu1 => 1:3.2.2-0ubuntu1
libgnome-control-center1 1:3.2.1-0ubuntu1 => 1:3.2.2-0ubuntu1

Could that be it?

Revision history for this message
W.John Guineau (guineau) wrote :

Hi David,

Yes, NVIDIA with TwinView.

Nothing in my xsession-errors about UScreen at all. I renamed the old one, logged out and then back in again and ran the System-Settings->Displays and attached the resulting xsession-errors here.

See anything interesting in there?

Revision history for this message
W.John Guineau (guineau) wrote :

Very strange - I just noticed it looks like I have unity-2d running? Why is that? I have a pretty decent machine (Core i7 860 with NVIDIA GeForce GTX 275 graphics) so it should be running Unity 3D right?

Revision history for this message
W.John Guineau (guineau) wrote :

$ /usr/lib/nux/unity_support_test
Segmentation fault

$ /usr/lib/nux/unity_support_test -p
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GTX 275/PCI/SSE2
OpenGL version string: 3.3.0 NVIDIA 280.13

Not software rendered: yes
Not blacklisted: yes
GLX fbconfig: yes
GLX texture from pixmap: yes
GL npot or rect textures: yes
GL vertex program: yes
GL fragment program: yes
GL vertex buffer object: yes
GL framebuffer object: yes
GL version is 1.4+: yes

Unity 3D supported: yes
Segmentation fault

Revision history for this message
W.John Guineau (guineau) wrote :

OK, I fixed it. Somehow my NVIDIA drivers were messed up. I removed all nvidia drivers (nvidia-current et al) and reinstalled them. Upon reboot my launcher is back in the middle of the display surface (left side of right monitor) and Unity 3D is back.

what the heck happened there?

john

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

If you're using the NVIDIA proprietary driver then the primary monitor (the one the launcher appears on) is chosen by the "TwinViewXineramaInfoOrder" option in /etc/X11/xorg.conf, which I think you change by ticking the primary monitor box in the NVIDIA control panel.

Using the NVIDIA proprietary driver, xrandr and the Gnome Displays control panel are totally irrelevant. Thanks NVIDIA :P

Revision history for this message
Dean Trasente (deai) wrote :

Could use a fix or work around for 11.10

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

A fix is available in ppa:vanvugt/unity, https://launchpad.net/~vanvugt/+archive/unity

description: updated
Revision history for this message
Joost Van Durme (joostvandurme) wrote :

Hi Daniel,

I'm using 11.10 with an ATI card (Radeon HD 3650) and I'm having this issue.
I installed the fix from your ppa, but no luck.

Basically, the launcher is always on the left screen (as specified by xrandr) and the --primary flag (this is my way of defining the primary monitor) of xrandr is ignored by unity.
And I would like my rightmost external monitor to be the primary screen.

Any ideas on this matter? Would benefit really a lot from it.

Thanks!

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Joost, please run this command to confirm you are running the PPA version and to gather useful info:
    grep UScreen ~/.xsession-errors
And attach the output of the command here.

With drivers that have proper xrandr (all except NVIDIA), the preferred way of changing the primary screen is in the Gnome Displays control panel. Drag the little black bar (at the top of one of the screens) to the screen you want to be primary.

Revision history for this message
Joost Van Durme (joostvandurme) wrote :

HI Daniel,

the grep command does not give me any output. I did however install all the upgraded files from the ppa with synaptic.
I dragged the black bar in Display settings to the right external monitor but without effect. Even after restart.
Did I miss something perhaps?

Thanks a lot for the help.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Joost, if that grep command returned nothing then you don't have the fix installed. Because the fixed version in my PPA will always write messages containing "UScreen".

Please check your package versions with:
dpkg -l unity\* | less

Revision history for this message
Joost Van Durme (joostvandurme) wrote :

Ok I see what's happening now. The dpkg command tells me the fix is installed, but it seems to be only for Unity3D, not for Unity2D.
And I'm using Unity2D since Unity3D is heavily slowed down with ATI cards using the fglrx driver. Moving windows is chunky.
I logged back in with Unity3D and the launcher is now on the correct screen.
Unfortunately I have to use 2D because the graphics are too slow in Unity3D with my card.
Any chance on a fix for 2D, Daniel? :-)

Revision history for this message
Joost Van Durme (joostvandurme) wrote :

Ok all is solved now. I unchecked the Sync to VBlank option in ccsm and the lag is gone in Unity3D. I'm now fully operational. :) Thanks!

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Good to hear. It sounds like this bug might be in unity-2d too. I certainly haven't proposed a fix for 2D yet.

Revision history for this message
Tomasz Przybysz (topr) wrote :

Hi,

I installed the patch yesterday. Only to report - it works with Unity 3D,
ATI Radeon card and catalyst drivers.
Thank, you!

PS. I keep my finger crossed this fix will go into main repositories - it's
really useful.

Revision history for this message
Joost Van Durme (joostvandurme) wrote :

Daniel, it doesn't seem to work for 12.04 right now. Are you aware of that?
I mean, dragging the black bar to the right most external monitor has no effect. Launcher stays on the left laptop screen.
Sorry for hopping to another version of Ubuntu, but I'm testing Precise Alpha now. ;)

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Joost, that is correct. The fix is not in 12.04 yet and my PPA only provides a fix for 11.10:
https://launchpad.net/~vanvugt/+archive/unity/+packages

Revision history for this message
Joost Van Durme (joostvandurme) wrote :

Should I file a new bug for this or will you work on that too eventually?

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

No need for a new bug while this one is still in progress.

Changed in unity-2d:
importance: Undecided → High
Changed in unity-2d:
status: New → Fix Committed
Changed in unity-2d:
assignee: nobody → Michał Sawicz (saviq)
milestone: none → 5.4
Revision history for this message
Omer Akram (om26er) wrote :

What I read from the title of this bug, isn't it now obselete with the new Unity behavior i.e. to have launcher on each display?

Changed in unity:
importance: High → Medium
Changed in unity (Ubuntu):
importance: Undecided → Medium
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Yes, I suspect my fix is now obsolete. Haven't formally tested my multi-monitor scenarios with precise to confirm yet though.

Changed in unity:
status: In Progress → Fix Released
Changed in unity-2d:
status: Fix Committed → Fix Released
Changed in unity (Ubuntu):
status: In Progress → Invalid
Changed in unity (Ubuntu):
status: Invalid → Fix Released
Displaying first 40 and last 40 comments. View all 131 comments or add a comment.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related blueprints

Remote bug watches

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