Bug 369244

Summary: Slow repainting when switched to portrait mode
Product: [Plasma] kwin Reporter: Tom Warnke <tom>
Component: generalAssignee: KWin default assignee <kwin-bugs-null>
Status: CLOSED UPSTREAM    
Severity: normal    
Priority: NOR    
Version First Reported In: 5.7.95   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Tom Warnke 2016-09-23 13:44:34 UTC
I have a Lenovo Thinkpad T460 with an Intel i7-6600U chip, and two external monitors connected to a docking station. Everything works fine if both external monitors are configured in landscape mode in KScreen (i.e., no rotation). However, once I put one of the monitors in portrait mode (90° rotation), it turns black. I can see the mouse cursor on it, but windows on that monitor are invisible. I also think that the right-click menu still works, but is invisible, because of the following:

I right-click somewhere on a working monitor -> context menu appears
I right-click somewhere on a working monitor -> context menu disappears
I right-click somewhere on a non-working monitor -> no visible change (invisible context menu appears?)
I right-click somewhere on a working monitor -> no visible change (invisible context menu disappears?)

Reproducible: Always

Steps to Reproduce:
1. Configure an external monitor with rotation

Actual Results:  
Monitor turns black, nothing but the mouse cursor is visible

Expected Results:  
The desktop, windows and the right-click context menu are visible
Comment 1 Tom Warnke 2016-09-23 13:45:55 UTC
I just tested it with the internal laptop monitor, same result. Black screen with only the mouse pointer visible.
Comment 2 Sebastian Kügler 2016-09-26 11:45:53 UTC
Thanks for the bug report, Tom.

Can you drag open windows onto the "non-working" monitor?
Comment 3 Tom Warnke 2016-09-26 12:23:32 UTC
Hi Sebastian,

I can drag windows onto the non-working monitor. Last week the part of them that was on the non-working monitor became invisible. But they were there, and I could activate them by clicking at their invisible part. 

Today I installed some updates from the Frameworks 5 repository (http://download.opensuse.org/repositories/KDE:/Frameworks5/openSUSE_Leap_42.1/) and a kernel update (4.7.4 -> 4.7.5), and now windows and menus on the vertical screen are visible. However, the screen is still very slow. I can literally see how it repaints the screen from top to bottom when I drag windows across it. Also the background when removing a window is not repainted correctly, leaving black areas instead. Animations/desktop effects are slow on other screens as well as long as one screen is vertical.

Thanks for looking into this,
Tom

P.S.: I will be traveling for the rest of the week and probably not be able to do further tests until next week.
Comment 4 Sebastian Kügler 2016-09-26 13:03:44 UTC
Thanks.

I'm reassigning this to kwin, so Martin can have a look. It's not a kscreen problem since the output is set up correctly.
Comment 5 Martin Flöser 2016-10-04 07:50:51 UTC
please provide the output of:
qdbus org.kde.KWin /KWin supportInformation
Comment 6 Tom Warnke 2016-10-04 09:24:17 UTC
Hi Martin,

here is the output.

With display in landscape mode:

tom@linux-7sas:~> qdbus org.kde.KWin /KWin supportInformation
KWin Support Information:
The following information should be used when requesting support on e.g. http://forum.kde.org.
It provides information about the currently running instance, which options are used,
what OpenGL driver and which effects are running.
Please post the information provided underneath this introductory text to a paste bin service
like http://paste.kde.org instead of pasting into support threads.

==========================

Version
=======
KWin version: 5.7.95
Qt Version: 5.7.0
Qt compile version: 5.7.0
XCB compile version: 1.11.1

Operation Mode: X11 only

Build Options
=============
KWIN_BUILD_DECORATIONS: yes
KWIN_BUILD_TABBOX: yes
KWIN_BUILD_ACTIVITIES: yes
HAVE_INPUT: no
HAVE_DRM: yes
HAVE_GBM: yes
HAVE_X11_XCB: yes
HAVE_EPOXY_GLX: yes
HAVE_WAYLAND_EGL: yes

X11
===
Vendor: The X.Org Foundation
Vendor Release: 11702000
Protocol Version/Revision: 11/0
SHAPE: yes; Version: 0x11
RANDR: yes; Version: 0x14
DAMAGE: yes; Version: 0x11
Composite: yes; Version: 0x4
RENDER: yes; Version: 0xb
XFIXES: yes; Version: 0x50
SYNC: yes; Version: 0x31
GLX: yes; Version: 0x0

Decoration
==========
Plugin: org.kde.breeze
Theme: 
Blur: 0
onAllDesktopsAvailable: true
alphaChannelSupported: false
closeOnDoubleClickOnMenu: false
decorationButtonsLeft: 0, 2
decorationButtonsRight: 6, 3, 4, 5
borderSize: 3
gridUnit: 10
font: Noto Sans,10,-1,5,50,0,0,0,0,0
smallSpacing: 2
largeSpacing: 10

Options
=======
focusPolicy: 0
nextFocusPrefersMouse: false
clickRaise: true
autoRaise: false
autoRaiseInterval: 0
delayFocusInterval: 0
shadeHover: false
shadeHoverInterval: 250
separateScreenFocus: false
placement: 4
focusPolicyIsReasonable: true
borderSnapZone: 10
windowSnapZone: 10
centerSnapZone: 0
snapOnlyWhenOverlapping: false
rollOverDesktops: true
focusStealingPreventionLevel: 1
legacyFullscreenSupport: false
operationTitlebarDblClick: 5000
operationMaxButtonLeftClick: 5000
operationMaxButtonMiddleClick: 5015
operationMaxButtonRightClick: 5014
commandActiveTitlebar1: 0
commandActiveTitlebar2: 30
commandActiveTitlebar3: 2
commandInactiveTitlebar1: 4
commandInactiveTitlebar2: 30
commandInactiveTitlebar3: 2
commandWindow1: 7
commandWindow2: 8
commandWindow3: 8
commandWindowWheel: 31
commandAll1: 10
commandAll2: 3
commandAll3: 14
keyCmdAllModKey: 16777251
showGeometryTip: false
condensedTitle: false
electricBorderMaximize: true
electricBorderTiling: true
electricBorderCornerRatio: 0.25
borderlessMaximizedWindows: false
killPingTimeout: 5000
hideUtilityWindowsForInactive: true
inactiveTabsSkipTaskbar: false
autogroupSimilarWindows: false
autogroupInForeground: true
compositingMode: 1
useCompositing: false
compositingInitialized: false
hiddenPreviews: 1
glSmoothScale: 2
colorCorrected: false
xrenderSmoothScale: false
maxFpsInterval: 16666666
refreshRate: 0
vBlankTime: 6000000
glStrictBinding: true
glStrictBindingFollowsDriver: true
glCoreProfile: false
glPreferBufferSwap: 97
glPlatformInterface: 1
windowsBlockCompositing: true

Screen Edges
============
desktopSwitching: false
desktopSwitchingMovingClients: false
cursorPushBackDistance: 1x1
timeThreshold: 150
reActivateThreshold: 350
actionTopLeft: 0
actionTop: 0
actionTopRight: 0
actionRight: 0
actionBottomRight: 0
actionBottom: 0
actionBottomLeft: 0
actionLeft: 0

Screens
=======
Multi-Head: no
Active screen follows mouse:  no
Number of Screens: 3

Screen 0:
---------
Name: DP2-2
Geometry: 1920,0,1920x1200
Refresh Rate: 59.9502

Screen 1:
---------
Name: eDP1
Geometry: 0,144,1920x1080
Refresh Rate: 60.0079

Screen 2:
---------
Name: DP2-1
Geometry: 3840,0,1920x1200
Refresh Rate: 59.9502


Compositing
===========
Compositing is not active








With display in portrait mode:

tom@linux-7sas:~> qdbus org.kde.KWin /KWin supportInformation
KWin Support Information:
The following information should be used when requesting support on e.g. http://forum.kde.org.
It provides information about the currently running instance, which options are used,
what OpenGL driver and which effects are running.
Please post the information provided underneath this introductory text to a paste bin service
like http://paste.kde.org instead of pasting into support threads.

==========================

Version
=======
KWin version: 5.7.95
Qt Version: 5.7.0
Qt compile version: 5.7.0
XCB compile version: 1.11.1

Operation Mode: X11 only

Build Options
=============
KWIN_BUILD_DECORATIONS: yes
KWIN_BUILD_TABBOX: yes
KWIN_BUILD_ACTIVITIES: yes
HAVE_INPUT: no
HAVE_DRM: yes
HAVE_GBM: yes
HAVE_X11_XCB: yes
HAVE_EPOXY_GLX: yes
HAVE_WAYLAND_EGL: yes

X11
===
Vendor: The X.Org Foundation
Vendor Release: 11702000
Protocol Version/Revision: 11/0
SHAPE: yes; Version: 0x11
RANDR: yes; Version: 0x14
DAMAGE: yes; Version: 0x11
Composite: yes; Version: 0x4
RENDER: yes; Version: 0xb
XFIXES: yes; Version: 0x50
SYNC: yes; Version: 0x31
GLX: yes; Version: 0x0

Decoration
==========
Plugin: org.kde.breeze
Theme: 
Blur: 0
onAllDesktopsAvailable: true
alphaChannelSupported: false
closeOnDoubleClickOnMenu: false
decorationButtonsLeft: 0, 2
decorationButtonsRight: 6, 3, 4, 5
borderSize: 3
gridUnit: 10
font: Noto Sans,10,-1,5,50,0,0,0,0,0
smallSpacing: 2
largeSpacing: 10

Options
=======
focusPolicy: 0
nextFocusPrefersMouse: false
clickRaise: true
autoRaise: false
autoRaiseInterval: 0
delayFocusInterval: 0
shadeHover: false
shadeHoverInterval: 250
separateScreenFocus: false
placement: 4
focusPolicyIsReasonable: true
borderSnapZone: 10
windowSnapZone: 10
centerSnapZone: 0
snapOnlyWhenOverlapping: false
rollOverDesktops: true
focusStealingPreventionLevel: 1
legacyFullscreenSupport: false
operationTitlebarDblClick: 5000
operationMaxButtonLeftClick: 5000
operationMaxButtonMiddleClick: 5015
operationMaxButtonRightClick: 5014
commandActiveTitlebar1: 0
commandActiveTitlebar2: 30
commandActiveTitlebar3: 2
commandInactiveTitlebar1: 4
commandInactiveTitlebar2: 30
commandInactiveTitlebar3: 2
commandWindow1: 7
commandWindow2: 8
commandWindow3: 8
commandWindowWheel: 31
commandAll1: 10
commandAll2: 3
commandAll3: 14
keyCmdAllModKey: 16777251
showGeometryTip: false
condensedTitle: false
electricBorderMaximize: true
electricBorderTiling: true
electricBorderCornerRatio: 0.25
borderlessMaximizedWindows: false
killPingTimeout: 5000
hideUtilityWindowsForInactive: true
inactiveTabsSkipTaskbar: false
autogroupSimilarWindows: false
autogroupInForeground: true
compositingMode: 1
useCompositing: false
compositingInitialized: false
hiddenPreviews: 1
glSmoothScale: 2
colorCorrected: false
xrenderSmoothScale: false
maxFpsInterval: 16666666
refreshRate: 0
vBlankTime: 6000000
glStrictBinding: true
glStrictBindingFollowsDriver: true
glCoreProfile: false
glPreferBufferSwap: 97
glPlatformInterface: 1
windowsBlockCompositing: true

Screen Edges
============
desktopSwitching: false
desktopSwitchingMovingClients: false
cursorPushBackDistance: 1x1
timeThreshold: 150
reActivateThreshold: 350
actionTopLeft: 0
actionTop: 0
actionTopRight: 0
actionRight: 0
actionBottomRight: 0
actionBottom: 0
actionBottomLeft: 0
actionLeft: 0

Screens
=======
Multi-Head: no
Active screen follows mouse:  no
Number of Screens: 3

Screen 0:
---------
Name: DP2-2
Geometry: 1920,88,1920x1200
Refresh Rate: 59.9502

Screen 1:
---------
Name: eDP1
Geometry: 0,232,1920x1080
Refresh Rate: 60.0079

Screen 2:
---------
Name: DP2-1
Geometry: 3840,0,1200x1920
Refresh Rate: 59.9502


Compositing
===========
Compositing is not active
Comment 7 Martin Flöser 2016-10-04 09:37:59 UTC
The output indicates that compositing is not used. In that case KWin is not responsible for the rendering. The slowness might come from X then or might even be that the hardware is not capable of doing this setup.

In case you are using the Intel xorg driver, try switching to the modesettings driver.
Comment 8 Tom Warnke 2016-10-04 10:09:21 UTC
Hi Martin,

I can confirm that after uninstalling the xf86-video-intel package and rebooting the portrait mode monitor works. 

I'm closing this bug.

Thanks,
Tom