10de:0dfa Desktop/windows painted incorrectly in dual monitor configuration
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
xorg (Ubuntu) |
Expired
|
Low
|
Unassigned |
Bug Description
My setup: Dell M4600 laptop with Dell U3011 2560x1600 monitor attached to DisplayPort.
I was using Nvidia 331.38 prioprietary driver for quite a long time with Ubuntu 14.04 LTS and everything worked perfectly. Today I upgraded to Ubuntu 14.10, which comes with Nvidia 331.89 and observed the following problem:
1. When I boot up the computer with the monitor connected, the login screen looks fine. Both displays get detected properly and resolutions are ok (1920x1080 on the builtin laptop display and 2560x1600 on U3011) and screen contents scaled properly.
2. Then I log into my account, for 3 seconds U3011 displays some rubbish (but it was always like that) and when it finally logs in, it displays everything stretched horizontally through both my screens. It looks as if it tried to paint the contents of a single display on two of them, by stretching the content horizontally, so everything (icons, windows, wallpaper) has wrong aspect-ratio. Funny, the top status bar seem to render correctly and the resolution/size of the top menu is correct. Physical resolution of both screens is ok. I'll attach a photo, because it is hard to describe how it looks.
3. I cannot use system in this state - mouse click position seems to not be synchronized with what's on the display - e.g. I can start applications, but then they don't react to mouseclicks.
However: booting up without the second display connected, logging in and *then* connecting the second display works fine.
If I boot up with connected monitor and log in (desktop distorted), disconnecting and connecting monitor does *not* help. After disconnecting the U3011, the builtin display is painted ok, but after connecting, it returns back to the incorrect state and both are rendered incorrectly.
The only thing that helps recovering from this state seems to be disconnecting the second monitor, reboot, logging in and then connecting.
Suspending to memory and waking up does not change the layout of the screen (neither fixes the "broken" one nor destroys the "good" one).
Using a Guest session instead of my account does not fix my problem (I was hoping this was something screwed up in my .config).
Switching to a Guest user account while I'm using both monitors in the good layout creates a session with a broken layout. Then logging out from Guest and switching back to my original session restores the good layout. The good layout seems to not be forgotten until I finish the session and logout. The bad layout is "created" whenever I start a new session with both monitors plugged in.
BTW: I'm using a docking station - not sure if it is related - if you think it might be, I can try with connecting the monitor directly.
I tried deleting ~/.compiz and ~/.config/compiz-1 directories but the problem remains.
I also tried to go into the Displays configuration when everything is ok, apply the settings there (without any changes) in hope it will persist them somehow, but after restart it is broken again.
I also tried reinstalling nvidia 331.89 drivers, because it complained about not being able to install nvidia-uvm during the upgrade process (reported separately), and now all nvidia packages installed cleanly. Before that I also got rid of all the ppa mainline kernels I had, just in case they mess something up.
I remember the same problem happened on Ubuntu 14.04 when I tried to upgrade nvidia from ppa/xorg-edgers to 331.89, but then the easy workaround was to downgrade back to official 331.38. Now I have no choice :(
Some other observations that may or may not be related to the problem, but I disclose them anyway, maybe they are helpful:
* Notifications (e.g. network connection) displayed on the login screen in dual screen mode seem to be misplaced and instead of being painted in the upper right corner of one of the displays they get painted in some hard to logically explain position - neither at the center, nor in any corner.
* The splash screen of IntelliJ IDEA (this is using Java / AWT probably) is also rendered in a strange position - below the center of the laptop screen, moved to the right (but not touching the edge), instead of exact center as it should be.
* GMail notification just displayed at the moment when I'm writing it exactly at the left-lower corner of the bigger screen (U3011).
* Nvidia settings lists only U3011 in the list of the devices (attached screenshot).
* Ubuntu Display configuration dialog detects both displays correctly and their positions and resolutions are ok (attached screenshot). However I could not check that when the problem was active.
ProblemType: Bug
DistroRelease: Ubuntu 14.10
Package: xorg 1:7.7+7ubuntu2
ProcVersionSign
Uname: Linux 3.16.0-22-generic x86_64
NonfreeKernelMo
.proc.driver.
.proc.driver.
.proc.driver.
NVRM version: NVIDIA UNIX x86_64 Kernel Module 331.89 Tue Jul 1 13:30:18 PDT 2014
GCC version: gcc version 4.9.1 (Ubuntu 4.9.1-16ubuntu6)
.tmp.unity.
ApportVersion: 2.14.7-0ubuntu7
Architecture: amd64
CompizPlugins: No value set for `/apps/
CompositorRunning: compiz
CompositorUnred
CompositorUnred
CurrentDesktop: Unity
CurrentDmesg: Error: command ['sh', '-c', 'dmesg | comm -13 --nocheck-order /var/log/dmesg -'] failed with exit code 1: comm: /var/log/dmesg: Permission denied
Date: Fri Oct 17 11:02:50 2014
DistUpgraded: 2014-10-17 10:20:38,145 DEBUG enabling apt cron job
DistroCodename: utopic
DistroVariant: ubuntu
ExtraDebuggingI
GraphicsCard:
Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0126] (rev 09) (prog-if 00 [VGA controller])
Subsystem: Dell Device [1028:04a3]
NVIDIA Corporation GF108GLM [Quadro 1000M] [10de:0dfa] (rev a1) (prog-if 00 [VGA controller])
Subsystem: Dell Device [1028:14a3]
InstallationDate: Installed on 2012-03-21 (939 days ago)
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release amd64 (20111012)
MachineType: Dell Inc. Precision M4600
ProcKernelCmdLine: BOOT_IMAGE=
SourcePackage: xorg
Symptom: display
UpgradeStatus: Upgraded to utopic on 2014-10-17 (0 days ago)
dmi.bios.date: 10/18/2011
dmi.bios.vendor: Dell Inc.
dmi.bios.version: A08
dmi.board.name: 08V9YG
dmi.board.vendor: Dell Inc.
dmi.board.version: A00
dmi.chassis.type: 9
dmi.chassis.vendor: Dell Inc.
dmi.modalias: dmi:bvnDellInc.
dmi.product.name: Precision M4600
dmi.product.
dmi.sys.vendor: Dell Inc.
version.compiz: compiz 1:0.9.12+
version.ia32-libs: ia32-libs 20090808ubuntu36
version.libdrm2: libdrm2 2.4.56+
version.
version.
version.
version.
version.
version.
version.
version.
version.
description: | updated |
description: | updated |
Changed in xorg (Ubuntu): | |
importance: | Undecided → High |
summary: |
- Desktop/windows painted incorrectly in dual monitor configuration + 10de:0dfa Desktop/windows painted incorrectly in dual monitor + configuration |
tags: | added: bios-outdated-a16 |
no longer affects: | unity (Ubuntu) |
Changed in xorg (Ubuntu): | |
status: | Expired → New |
By clicking and dragging at the desktop, I found another interesting observation:
Mouse clicks are translated in the following way:
* Y coordinate is always correct.
* X coordinate is only correct if I click on the right edge of U3011 display - then it is mapped to the right edge of the U3011 display.
* If I click near the left edge of U3011 display, but not the launcher, the click is applied to the object displayed at the left edge of the builtin display.
* Wherever I click at the builtin display (which doesn't display the launcher, BTW), the result of the click is not visible (I don't know where it goes).
Knowing this I managed to move windows and open Ubuntu display settings, which are correct. Resolutions and displays relative positions are correct.
I also manged to display a context menu and, *surprise*, it is rendered correctly (no stretching).
To summarize:
- top status bar and menus at the right top corner: OK
- context menus: OK
- launcher: renders OK and operational on U3011, but not displayed on builtin screen
- wallpaper: stretched horizontally across both screens
- windows: stretched horizontally across both screens
I guess the problem with mouse clicks is not that mouse events are broken, but the content of the screen is painted in wrong place. So what was to be painted only on U3011 was stretched and painted on both, and that's why it got out of sync with mouse.