Bug 390651 - Krita startup rotates entire desktop of the computer upside down!
Summary: Krita startup rotates entire desktop of the computer upside down!
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Usability (show other bugs)
Version: 3.3.3
Platform: Microsoft Windows Microsoft Windows
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-02-18 00:24 UTC by J Jones
Modified: 2018-02-20 08:20 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description J Jones 2018-02-18 00:24:25 UTC
I would like to use this program, but for some reason when it starts up it rotates my entire desktop upside down!

I am using a Wacom Cintiq and I rotate the desktop so the controls are on the right.  There is no need for this program to take over the whole computer and rotate it without asking first.  

Thank you
Comment 1 Alvin Wong 2018-02-18 05:44:53 UTC
Please provide the output from Help->Show system information for bug reports.
Comment 2 Alvin Wong 2018-02-18 05:53:02 UTC
For the record, it is very likely due to this Qt bug report: https://bugreports.qt.io/browse/QTBUG-49541
Certain drivers may crash if the screen rotates when OpenGL is in use, therefore Qt would disable screen rotation on those drivers.

If you go to "Configure Krita"->Display and change the Renderer to ANGLE, it should allow screen rotation normally.
Comment 3 Halla Rempt 2018-02-18 15:55:02 UTC
Another user on #krita gave us this:

Krita
  Version: 3.3.0
 
OS Information
  Build ABI: x86_64-little_endian-llp64
  Build CPU: x86_64
  CPU: x86_64
  Kernel Type: winnt
  Kernel Version: 10.0.16299
  Pretty Productname: Windows 10 (10.0)
  Product Type: windows
  Product Version: 10
 
OpenGL Info
  Vendor:  Google Inc.
  Renderer:  "ANGLE (Intel(R) HD Graphics 4000 Direct3D11 vs_5_0 ps_5_0)"
  Version:  "OpenGL ES 3.0 (ANGLE 2.1.0.8613f4946861)"
  Shading language:  OpenGL ES GLSL ES 3.00 (ANGLE 2.1.0.8613f4946861)
  Requested format:  QSurfaceFormat(version 3.0, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize -1, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::SwapBehavior(DoubleBuffer), swapInterval 0, profile  QSurfaceFormat::OpenGLContextProfile(CompatibilityProfile))
  Current format:    QSurfaceFormat(version 3.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples 0, swapBehavior QSurfaceFormat::SwapBehavior(DefaultSwapBehavior), swapInterval 0, profile  QSurfaceFormat::OpenGLContextProfile(NoProfile))
     Version: 3.0
     Supports deprecated functions false
     is OpenGL ES: true
 
QPA OpenGL Detection Info
  supportsDesktopGL: true
  supportsAngleD3D11: true
  isQtPreferAngle: false
  overridePreferAngle: false
== log ==
 createPlatformOpenGLContext QSurfaceFormat(version 3.0, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize -1, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::SwapBehavior(DoubleBuffer), swapInterval 0, profile  QSurfaceFormat::OpenGLContextProfile(CompatibilityProfile))
Basic wglCreateContext gives version 4.0
OpenGL 2.0 entry points available
GPU features: QSet("disable_rotation")
Disabling rotation:  GpuDescription(vendorId=0x8086, deviceId=0x166, subSysId=0x17b1b0a, revision=9, driver: "igdumdim64.dll", version=10.18.10.4358, "Intel(R) HD Graphics 4000")
supportedRenderers GpuDescription(vendorId=0x8086, deviceId=0x166, subSysId=0x17b1b0a, revision=9, driver: "igdumdim64.dll", version=10.18.10.4358, "Intel(R) HD Graphics 4000") renderer:  QFlags(0x1|0x2|0x4|0x8|0x20|0x100)
Qt: Using WGL and OpenGL from "opengl32.dll"
create OpenGL: "Intel","Intel(R) HD Graphics 4000" default ContextFormat: v4.0 profile: QSurfaceFormat::OpenGLContextProfile(CompatibilityProfile) options: QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions),SampleBuffers, Extension-API present
Extensions: 170
"choosePixelFormat  Attributes:  0x2003 , 0x2027 , 0x2010 , 0x1 , 0x2001 , 0x1 , 0x2014 , 0x18 , 0x2011 , 0x1 , 0x2022 , 0x18 , 0x2013 , 0x202b , 0x201b , 0x8 , 0x2023 , 0x8 , 0x2041 , 0x0 , \n    obtained px # 5  of  1 \n     PIXELFORMATDESCRIPTOR dwFlags=0x8225 PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_SUPPORT_COMPOSITION PFD_DOUBLEBUFFER iPixelType=0 cColorBits=32 cRedBits=8 cRedShift=16 cGreenBits=8 cGreenShift=8 cBlueBits=8 cBlueShift=0 cDepthBits=24 cStencilBits=8 iLayerType=0 cAlphaBits=8 cAlphaShift=24 cAccumBits=64 cAccumRedBits=16 cAccumGreenBits=16 cAccumBlueBits=16 cAccumAlphaBits=16 "
createContext Creating context version 3 . 0 3 attributes
QWindowsGLContext 0x33f0cd0 ARB  requested:  QSurfaceFormat(version 3.0, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize -1, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::SwapBehavior(DoubleBuffer), swapInterval 0, profile  QSurfaceFormat::OpenGLContextProfile(CompatibilityProfile))
    obtained # 5 ARB QSurfaceFormat(version 3.0, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples 0, swapBehavior QSurfaceFormat::SwapBehavior(DoubleBuffer), swapInterval 1, profile  QSurfaceFormat::OpenGLContextProfile(NoProfile))
     PIXELFORMATDESCRIPTOR dwFlags=0x8225 PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_SUPPORT_COMPOSITION PFD_DOUBLEBUFFER iPixelType=0 cColorBits=32 cRedBits=8 cRedShift=16 cGreenBits=8 cGreenShift=8 cBlueBits=8 cBlueShift=0 cDepthBits=24 cStencilBits=8 iLayerType=0 cAlphaBits=8 cAlphaShift=24 cAccumBits=64 cAccumRedBits=16 cAccumGreenBits=16 cAccumBlueBits=16 cAccumAlphaBits=16  swap interval:  1
    default:  ContextFormat: v4.0 profile: QSurfaceFormat::OpenGLContextProfile(CompatibilityProfile) options: QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions)
    HGLRC= 0x30000
createPlatformOpenGLContext QSurfaceFormat(version 3.0, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize -1, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::SwapBehavior(DoubleBuffer), swapInterval 0, profile  QSurfaceFormat::OpenGLContextProfile(CompatibilityProfile))
"choosePixelFormat  Attributes:  0x2003 , 0x2027 , 0x2010 , 0x1 , 0x2001 , 0x1 , 0x2014 , 0x18 , 0x2011 , 0x1 , 0x2022 , 0x18 , 0x2013 , 0x202b , 0x201b , 0x8 , 0x2023 , 0x8 , 0x2041 , 0x0 , \n    obtained px # 5  of  1 \n     PIXELFORMATDESCRIPTOR dwFlags=0x8225 PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_SUPPORT_COMPOSITION PFD_DOUBLEBUFFER iPixelType=0 cColorBits=32 cRedBits=8 cRedShift=16 cGreenBits=8 cGreenShift=8 cBlueBits=8 cBlueShift=0 cDepthBits=24 cStencilBits=8 iLayerType=0 cAlphaBits=8 cAlphaShift=24 cAccumBits=64 cAccumRedBits=16 cAccumGreenBits=16 cAccumBlueBits=16 cAccumAlphaBits=16 "
createContext Creating context version 3 . 0 3 attributes
QWindowsGLContext 0x50d3080 ARB  requested:  QSurfaceFormat(version 3.0, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize -1, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::SwapBehavior(DoubleBuffer), swapInterval 0, profile  QSurfaceFormat::OpenGLContextProfile(CompatibilityProfile))
    obtained # 5 ARB QSurfaceFormat(version 3.0, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples 0, swapBehavior QSurfaceFormat::SwapBehavior(DoubleBuffer), swapInterval 1, profile  QSurfaceFormat::OpenGLContextProfile(NoProfile))
     PIXELFORMATDESCRIPTOR dwFlags=0x8225 PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL PFD_SUPPORT_COMPOSITION PFD_DOUBLEBUFFER iPixelType=0 cColorBits=32 cRedBits=8 cRedShift=16 cGreenBits=8 cGreenShift=8 cBlueBits=8 cBlueShift=0 cDepthBits=24 cStencilBits=8 iLayerType=0 cAlphaBits=8 cAlphaShift=24 cAccumBits=64 cAccumRedBits=16 cAccumGreenBits=16 cAccumBlueBits=16 cAccumAlphaBits=16  swap interval:  1
    default:  ContextFormat: v4.0 profile: QSurfaceFormat::OpenGLContextProfile(CompatibilityProfile) options: QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions)
    HGLRC= 0x10001
== end log ==
Comment 4 Halla Rempt 2018-02-18 16:02:25 UTC
See also https://bugreports.qt.io/browse/QTBUG-66468
Comment 5 Alvin Wong 2018-02-18 19:21:22 UTC
Git commit f9c9bb6c1131a0f557d8e577f957cce7b126e102 by Alvin Wong.
Committed on 18/02/2018 at 19:20.
Pushed by alvinwong into branch 'master'.

Windows: Reset screen rotation after probing QPA OpenGL

If the Windows QPA OpenGL blacklist has disabled rotation for the
device, it does not reset the screen rotation preference and as a
result the screen orientation will remain locked in landscape even if
ANGLE is enabled or the QPainter canvas is used.

This change works around it by resetting the screen rotation after
the QPA OpenGL probing. The display might still be forced into landscape
for a split second during startup, but it is better than being locked
entirely.

M  +31   -0    krita/main.cc

https://commits.kde.org/krita/f9c9bb6c1131a0f557d8e577f957cce7b126e102
Comment 6 Halla Rempt 2018-02-20 08:20:49 UTC
Let's close this issue then.