Comment 6 for bug 833549

Revision history for this message
Jammy Zhou (jammy-zhou) wrote : Re: [Bug 833549] Re: Severe screen corruption after rotate the screen

After rotate the screen, the calling sequence in compiz is as following:

PrivateScreen::configure
    -> PrivateScreen::reshape
    -> PrivateScreen::detectOutputDevices
        -> PrivateScreen::updateOutputDevices

In updateOutputDevices, screen->width() and screen->height() are
reversed, which caused the problem.
If the screen size should be updated in reshape(), it seems that the
width/height of the configure event in this case are not correct. So
is it a bug of X server?

As a workaround, my original patch can be changed to update screen
size only when the screen width is less then the output width or the
screen height is less then the output height.

2011/9/1 Sam Spilsbury <email address hidden>

> This patch makes no sense, it changes he total screen size to the size
> of each monitor every single time we parse the geometry of a monitor. In
> addition, we change the total screen size anyways on
> PrivateScreen::reshape which is called whenever updateOutputDevices is
> called (except whenever the user force overrides the output devices)
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/833549
>
> Title:
> Severe screen corruption after rotate the screen
>
> Status in “compiz” package in Ubuntu:
> Confirmed
>
> Bug description:
> Steps to reproduce this bug:
> - login to the system with unity-3d
> - rotate the screen with xrandr command or using "System
> Settings"->"Displays"
>
> Expected Results:
> There should be no screen corruptions, and the unity launcher and panel
> should show normally
>
> Actual Results:
> Severe screen corruption happens after rotate
>
> The problem happens for both radeon and fglrx driver. And it doesn't
> happen for unity-2d.
>
> ProblemType: Bug
> DistroRelease: Ubuntu 11.10
> Package: xorg 1:7.6+7ubuntu6
> ProcVersionSignature: Ubuntu 3.0.0-9.14-generic 3.0.3
> Uname: Linux 3.0.0-9-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
> 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: Thu Aug 25 14:46:59 2011
> DistUpgraded: Fresh install
> DistroCodename: oneiric
> DistroVariant: ubuntu
> ExtraDebuggingInterest: Yes, whatever it takes to get this fixed in Ubuntu
> GraphicsCard:
> ATI Technologies Inc Juniper XT [AMD Radeon HD 6000 Series] [1002:68ba]
> (prog-if 00 [VGA controller])
> Subsystem: Hightech Information System Ltd. Device [1787:2312]
> ATI Technologies Inc Juniper XT [AMD Radeon HD 6000 Series] [1002:68ba]
> (prog-if 00 [VGA controller])
> Subsystem: Hightech Information System Ltd. Device [1787:2312]
> InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Alpha i386 (20110803.1)
> MachineType: Gigabyte Technology Co., Ltd. P67A-D3-B3
> ProcEnviron:
> PATH=(custom, no user)
> LANG=en_US.UTF-8
> SHELL=/bin/bash
> ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.0.0-9-generic
> root=UUID=55f57695-13db-4447-988b-59845e40f8e2 ro text
> SourcePackage: xorg
> Symptom: display
> UpgradeStatus: No upgrade log present (probably fresh install)
> dmi.bios.date: 04/13/2011
> dmi.bios.vendor: Award Software International, Inc.
> dmi.bios.version: F3
> dmi.board.name: P67A-D3-B3
> dmi.board.vendor: Gigabyte Technology Co., Ltd.
> dmi.board.version: x.x
> dmi.chassis.type: 3
> dmi.chassis.vendor: Gigabyte Technology Co., Ltd.
> dmi.modalias:
> dmi:bvnAwardSoftwareInternational,Inc.:bvrF3:bd04/13/2011:svnGigabyteTechnologyCo.,Ltd.:pnP67A-D3-B3:pvr:rvnGigabyteTechnologyCo.,Ltd.:rnP67A-D3-B3:rvrx.x:cvnGigabyteTechnologyCo.,Ltd.:ct3:cvr:
> dmi.product.name: P67A-D3-B3
> dmi.sys.vendor: Gigabyte Technology Co., Ltd.
> version.compiz: compiz 1:0.9.5.92+bzr2791-0ubuntu1
> version.libdrm2: libdrm2 2.4.26-1ubuntu1
> version.libgl1-mesa-dri: libgl1-mesa-dri 7.11-0ubuntu3
> version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
> version.libgl1-mesa-glx: libgl1-mesa-glx 7.11-0ubuntu3
> version.xserver-xorg: xserver-xorg 1:7.6+7ubuntu6
> version.xserver-xorg-input-evdev: xserver-xorg-input-evdev
> 1:2.6.0-1ubuntu13
> version.xserver-xorg-video-ati: xserver-xorg-video-ati
> 1:6.14.99~git20110811.g93fc084-0ubuntu1
> version.xserver-xorg-video-intel: xserver-xorg-video-intel
> 2:2.15.901-1ubuntu2
> version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau
> 1:0.0.16+git20110411+8378443-1
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/833549/+subscriptions
>