cannot set primary display #17

Closed
cheater opened this Issue Nov 10, 2012 · 36 comments

Comments

Projects
None yet

cheater commented Nov 10, 2012

mate insists on using my laptop's tiny display, rather than the big external one, as the primary monitor. This makes a dual-monitor setup completely unusable, as I can't even see the icons from where I'm sitting. I can work around this by turning off the laptop's monitor.

A more advanced workaround which lets me use both monitors is to log out, edit ~/.config/monitors.xml setting the LVDS display's primary tag to no, and the HDMI display's to on. Then log back into mate. If I do this while in mate it doesn't work, it's probably that the settings daemon only reads the file at startup.

Expected functionality: a drop-down box in the monitor applet which selects the primary monitor. No, having to turn off a monitor and turn it on again doesn't cut it, as it is non-obvious, bad UX, and not discoverable.

I am on Ubuntu 12.04 with the latest mate from ppa.

Owner

stefano-k commented Nov 10, 2012

PPA? Which PPA?

cheater commented Nov 10, 2012

sorry, wrong word, i meant the repository at: deb http://packages.mate-desktop.org/repo/ubuntu precise main

Contributor

szesch commented Nov 11, 2012

Does this happen with other desktop environments as well, or is it limited to MATE?

cheater commented Nov 11, 2012

This has not been the issue under gnome-fallback

Contributor

ketheriel commented Nov 11, 2012

Could you please check if 'xrandr' works fine? I had a similiar issue in the past, mate refusing to use the second monitor (though on a VGA port, not HDMI); but in my situation xrandr also didn't picked it up. I fixed it by updating the Intel driver. Then xrandr would pick up my monitor properly and mate would work ok. I use a dual monitor setup nearly everyday, and either 1.4.0 or 1.5.0 are working pretty decent with it.

The best way to debug it is to make sure that xrandr picks up the setup properly.

cheater commented Nov 11, 2012

Hi ketheriel,
it's not that one of the monitors wasn't found. Both monitors were discovered. It's just that mate insisted on using the small monitor as the primary monitor when both were turned on. The only way to get the big monitor as the primary monitor (i.e. the one where windows will pop up by default and where the panels are) was to only use the big monitor and turn off the small one.

Contributor

ketheriel commented Nov 11, 2012

How can I replicate it ?

cheater commented Nov 11, 2012

I don't know if it can always be replicated. If you have a dual monitor setup, turn on both monitors, and check if you can get the first one to act as primary, and then check if you can get the other one as primary.

Contributor

ketheriel commented Nov 12, 2012

I did found a bug... My package (openSUSE) doesn't create a /etc/mate-settings-daemon/xrandr... without this directory created using the 'Make Default' button reports an error... Can you please try to create manually the directory (mkdir -p /etc/mate-settings-daemons/xrandr) and the repeat the procedure ?

dmashal commented Feb 4, 2013

I am able to reproduce this bug.

cheater commented Feb 6, 2013

ketheriel, the "Make Default" button is not related to this issue.

jarrpa commented Feb 8, 2013

I am able to reproduce this bug.

Fedora 18, MATE 1.5.5.

jarrpa commented Feb 8, 2013

Found a work-around: If you create the directory as ketheriel specified, run:

xrandr --display VGA1 --auto --primary

replacing VGA1 for xrandr's name of your second monitor, then click "Make Default", it will return to that configuration when you plug the secondary monitor back in.

At least, so far it seems to.

cheater commented Apr 22, 2013

quick update: you can edit ~/.config/monitors.xml, and then just unplug one of your monitors and plug it back in. The xml file will be read again.

I have also run into this issue on MATE 1.4.2 on Linux Mint 14.

Using the workaround @jarrpa noted, I was able to set the primary monitor, and confirmed it updated the settings in ~/.config/monitors.xml. However, I have noticed that all windows still open on the non-primary monitor (in this case, my primary monitor happens to be on the right).

Would this be in any way related, or is it a separate issue and if it is different, is it still something that falls under MATE?

In the meantime I am using the Compiz "Place Window" plugin to address this.

cheater commented May 6, 2013

On my end, new windows show up on the screen where the mouse cursor is. For example a new terminal which pops up when pressing ctrl-alt-t.

I can confirm this is also an issue with the standard "Display Settings" app found in control center. All that is really needed is a combobox specifying the pimary display.

Currently, the work around is to set the monitors up as normal and then run xrandr to specify the primary. For example:

xrandr --output HDMI1 --primary

The problem is therefore with the lack of controls in the application not xrandr itself. In ~/.config/monitors.xml there is also a placeholder for setting the primary display.

Running into the same issue (using a three monitor setup). Editing ~/.config/monitors.xml worked. This should really not be required. Surely it would be easy to add a checkbox or button in the control panel to make the selected monitor the primary!

trusktr commented Jul 28, 2014

Yes, please add a checkbox.

Also, which ever monitor has the desktop panels (i.e. primary display). should remain having the panels after a monitor is plugged in. I don't want my panels switching to the HDMI monitor automatically. Having the option in the DIsplays section of Control Center would be the nice solution. :D

cheater commented Jul 29, 2014

Hi trusktr, the primary monitor is set separately for every combination of monitors the system knows of, so your comment about automatically switching does not apply and it is not easy to come up with defaults that make sense. But it's a set and forget jobbie so no big deal, you can set it up exactly the way you want to have it. If this ticket ever gets solved.

A checkbox that runs xrandr --output <name> --primary would be great.

I confirm the same problem with my laptop and an external monitor with ubuntu-mate 14.04 LTS (mate 1.8.1).

Resolved editing ~/.config/monitors.xml and doing login again.

In unity on ubuntu 12.04 there is in monitors panel a dropbox menu to permit to show launcher on one of available monitors or on both, something like that can be useful

Another thing about,

I modified monitors.xml with success, but sometimes when I switch on my pc, mate-panel is on my laptop screen either than on external monitor and monitors.xml presents a new configuration tag in append..something like this

<monitors version="1">
  <configuration>
      <clone>no</clone>
      <output name="eDP1">
          <vendor>CMN</vendor>
          <product>0x15ba</product>
          <serial>0x00000000</serial>
          <width>1920</width>
          <height>1080</height>
          <rate>60</rate>
          <x>1920</x>
          <y>120</y>
          <rotation>normal</rotation>
          <reflect_x>no</reflect_x>
          <reflect_y>no</reflect_y>
          <primary>no</primary>
      </output>
      <output name="VGA2">
          <vendor>DEL</vendor>
          <product>0xa079</product>
          <serial>0x3145524c</serial>
          <width>1920</width>
          <height>1200</height>
    <rate>60</rate>
          <x>0</x>
          <y>0</y>
          <rotation>normal</rotation>
          <reflect_x>no</reflect_x>
          <reflect_y>no</reflect_y>
          <primary>yes</primary>
      </output>
      <output name="HDMI1">
      </output>
      <output name="DP1">
      </output>
      <output name="HDMI2">
      </output>
      <output name="DP2">
      </output>
      <output name="HDMI3">
      </output>
      <output name="VIRTUAL1">
      </output>
      <output name="VGA-1-0">
      </output>
  </configuration>
 <configuration>
      <clone>no</clone>
      <output name="eDP1">
          <vendor>CMN</vendor>
          <product>0x15ba</product>
          <serial>0x00000000</serial>
          <width>1920</width>
          <height>1080</height>
          <rate>60</rate>
          <x>1920</x>
          <y>120</y>
          <rotation>normal</rotation>
          <reflect_x>no</reflect_x>
          <reflect_y>no</reflect_y>
          <primary>no</primary>
      </output>
      <output name="VGA1">
          <vendor>DEL</vendor>
          <product>0xa079</product>
          <serial>0x3145524c</serial>
          <width>1920</width>
   <height>1200</height>
          <rate>60</rate>
          <x>0</x>
          <y>0</y>
          <rotation>normal</rotation>
          <reflect_x>no</reflect_x>
          <reflect_y>no</reflect_y>
          <primary>no</primary>
      </output>
      <output name="HDMI1">
      </output>
      <output name="DP1">
      </output>
      <output name="HDMI2">
      </output>
      <output name="DP2">
      </output>
      <output name="HDMI3">
      </output>
      <output name="VIRTUAL1">
      </output>
      <output name="VGA-1-1">
      </output>
</configuration>
</monitors>

How can this still be an issue after 3 years? How hard can it be to add a button, check box or drop down box for setting the primary monitor?

trusktr commented Feb 22, 2015

@VorpalBlade It's probably really simple, so give it a try. 👍 That's what open source is about. ;)

freed00m commented Mar 7, 2015

It must be really hard when this is not implemented till this day :( I hate to have my pluged monitor behave as default one. Grrr. I might do it by my self after graduation, so :D maybe in the next 3 years I'll try to add one.

I've created a shell script to toggle the primary output. I've assigned this to a custom launcher. See: https://github.com/sanderboom/primary-output

This is indeed a bummer, I am just testing Ubuntu Mate 15.04 and can see that this issue is still not resolved. A "Set as Primary" button is a MUST for monitor settings, even Xfce has it for a long time now. This is really disappointing, the mentioned workarounds are just not user friendly enough.

"In the panel options uncheck "expand panel", then it is possible to simply move the panel anywhere you want.

Very intuitive... not! But it works."

Can't remember where I found this post, but kudos to the person with the simple solution :-)

Member

monsta commented Sep 7, 2015

Looks like it's fixed now in 5afb6c0.

@clefebvre clefebvre closed this Sep 7, 2015

cheater commented Sep 7, 2015

Please reopen this issue. I have not reported it as fixed.

@infirit infirit reopened this Sep 7, 2015

cheater commented Sep 7, 2015

Tyvm. The mobile interface does not show a way of doing this.

I will report once I have this version running.

Member

raveit65 commented Sep 16, 2015

@cheater
any news?

oz123 commented Oct 19, 2015

I also bumped into this issue. This would be great to have a way to specify which screen is the primary, that way the panels are displayed in the correct place.
In the mean while mate-monitor-preferences is useless. It is easier to use xrandr. Here is I use it in the mean while:

xrandr --output HDMI1 --mode 1280x720 --right-of eDP1 --noprimary
Member

monsta commented Oct 19, 2015

We're waiting for @cheater's reply to confirm whether @clefebvre's commit fixed it...

Member

raveit65 commented Oct 27, 2015

Sorry, no answer from Reporter.
The issue is fixed and we can always re-open it if reporter thinks it isn't fixed.

@raveit65 raveit65 closed this Oct 27, 2015

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment