| Summary: | Krita 3.1 RC does not show High Quality Filtering option in OpenGL setting | ||
|---|---|---|---|
| Product: | [Applications] krita | Reporter: | Tyson Tan <tysontanx> |
| Component: | OpenGL Canvas | Assignee: | Krita Bugs <krita-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | halla |
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | All | ||
| Latest Commit: | https://commits.kde.org/krita/d8ce65b6146c2b7ed174deb800c64193fbc9bac5 | Version Fixed/Implemented In: | |
| Sentry Crash Report: | |||
|
Description
Tyson Tan
2016-12-10 08:39:45 UTC
~$ ./krita-3.0.94-x86_64.appimage
QCoreApplication::arguments: Please instantiate the QApplication object first
krita.lib.pigment: Compiled for arch: 6
krita.lib.pigment: Features supported:
krita.lib.pigment: "SSE2" --- yes
krita.lib.pigment: "SSSE3" --- yes
krita.lib.pigment: "SSE4.1" --- yes
krita.lib.pigment: "AVX " --- yes
krita.lib.pigment: "AVX2 " --- no
OpenGL Info
Vendor: X.Org
Renderer: Gallium 0.4 on AMD CAPE VERDE (DRM 2.46.0 / 4.8.0-30-generic, LLVM 3.8.1)
Version: 3.0 Mesa 12.0.3
Shading language: 1.30
Requested format: QSurfaceFormat(version 3.0, options QFlags(0x4), depthBufferSize 24, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize -1, stencilBufferSize 8, samples -1, swapBehavior 2, swapInterval 0, profile 2)
Current format: QSurfaceFormat(version 3.0, options QFlags(0x4), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 0, stencilBufferSize 8, samples -1, swapBehavior 2, swapInterval 0, profile 0)
Version: 3 . 0
Supports deprecated functions true
krita has opengl true
Setting XDG_DATA_DIRS "/tmp/.mount_Cc6zzd/usr/bin/../share:./share/:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop"
Available translations QSet("he", "eo", "oc", "ug", "be", "en_GB", "pt_BR", "se", "ca", "nn", "es", "km", "ja", "hi", "ro", "sv", "mai", "fi", "et", "el", "hne", "fa", "hr", "eu", "sq", "da", "pt", "zh_TW", "bs", "sk", "mk", "ru", "ne", "ia", "tg", "fy", "th", "ko", "is", "sl", "bg", "cs", "hu", "br", "de", "ms", "kk", "af", "gl", "fr", "nl", "wa", "ar", "ca@valencia", "ga", "mr", "xh", "en_US", "it", "nb", "uz", "nds", "uz@cyrillic", "tr", "uk", "vi", "ast", "lt", "pl", "lv", "zh_CN", "cy", "ta", "pa")
Available domain translations QSet("he", "eo", "oc", "ug", "be", "en_GB", "pt_BR", "se", "ca", "nn", "es", "km", "ja", "hi", "ro", "sv", "mai", "fi", "et", "el", "hne", "fa", "hr", "eu", "sq", "da", "pt", "zh_TW", "bs", "sk", "mk", "ru", "ne", "ia", "tg", "fy", "th", "ko", "is", "sl", "bg", "cs", "hu", "br", "de", "ms", "kk", "af", "gl", "fr", "nl", "wa", "ar", "ca@valencia", "ga", "mr", "xh", "en_US", "it", "nb", "uz", "nds", "uz@cyrillic", "tr", "uk", "vi", "ast", "lt", "pl", "lv", "zh_CN", "cy", "ta", "pa")
Override language: ""
libpng warning: iCCP: too many profiles
libpng warning: iCCP: too many profiles
libpng warning: iCCP: too many profiles
libpng warning: iCCP: too many profiles
QObject::connect: No such slot KBugReport::_k_appChanged(int)
~$ glxinfo | grep "OpenGL version" OpenGL version string: 3.0 Mesa 12.0.3 ~$ glxinfo | grep -i opengl OpenGL vendor string: X.Org OpenGL renderer string: Gallium 0.4 on AMD CAPE VERDE (DRM 2.46.0 / 4.8.0-30-generic, LLVM 3.8.1) OpenGL core profile version string: 4.1 (Core Profile) Mesa 12.0.3 OpenGL core profile shading language version string: 4.10 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 3.0 Mesa 12.0.3 OpenGL shading language version string: 1.30 OpenGL context flags: (none) OpenGL extensions: OpenGL ES profile version string: OpenGL ES 3.0 Mesa 12.0.3 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00 OpenGL ES profile extensions: I was slightly inaccurate on Twitter -- Twitter is not the easies medium for conversations like this! We check for OpenGL 3.0.2, which is the real minimum. As you can see, these drivers report only 3.0, which isn't good enough anymore, I'm afraid :-(. I tested the current stable krita-3.0.1.1 today, it has High Quality Filtering on the same setup. Regardless of OpenGL still showing 3.0:
./krita-3.0.1.1-x86_64.appimage
QCoreApplication::arguments: Please instantiate the QApplication object first
krita.lib.pigment: Compiled for arch: 7
krita.lib.pigment: Features supported:
krita.lib.pigment: "SSE2" --- yes
krita.lib.pigment: "SSSE3" --- yes
krita.lib.pigment: "SSE4.1" --- yes
krita.lib.pigment: "AVX " --- yes
krita.lib.pigment: "AVX2 " --- yes
OpenGL Info
Vendor: X.Org
Renderer: Gallium 0.4 on AMD BONAIRE (DRM 2.46.0 / 4.8.0-30-lowlatency, LLVM 3.8.1)
Version: 3.0 Mesa 12.0.3
Shading language: 1.30
Requested format: QSurfaceFormat(version 3.0, options QFlags(0x4), depthBufferSize 24, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize -1, stencilBufferSize 8, samples -1, swapBehavior 2, swapInterval 0, profile 2)
Current format: QSurfaceFormat(version 3.0, options QFlags(0x4), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 0, stencilBufferSize 8, samples -1, swapBehavior 2, swapInterval 0, profile 0)
krita has opengl true
Setting XDG_DATA_DIRS "/tmp/.mount_bmVbWF/usr/bin/../share:./share/:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop"
Available translations QSet("cy", "sl", "da", "lv", "tg", "xh", "th", "zh_TW", "ar", "tr", "fi", "pl", "uz", "ko", "sk", "pt_BR", "hr", "vi", "nn", "en_GB", "ga", "fy", "eu", "wa", "ja", "sq", "gl", "ca@valencia", "hi", "kk", "hu", "af", "se", "km", "ms", "pa", "mk", "es", "be", "ru", "ta", "bg", "zh_CN", "uk", "ro", "eo", "ug", "is", "ia", "ne", "he", "fa", "de", "cs", "mai", "mr", "lt", "el", "fr", "bs", "uz@cyrillic", "ast", "en_US", "br", "pt", "oc", "ca", "nb", "it", "sv", "et", "nl", "nds", "hne")
Available domain translations QSet("cy", "sl", "da", "lv", "tg", "xh", "th", "zh_TW", "ar", "tr", "fi", "pl", "uz", "ko", "sk", "pt_BR", "hr", "vi", "nn", "en_GB", "ga", "fy", "eu", "wa", "ja", "sq", "gl", "ca@valencia", "hi", "kk", "hu", "af", "se", "km", "ms", "pa", "mk", "es", "be", "ru", "ta", "bg", "zh_CN", "uk", "ro", "eo", "ug", "is", "ia", "ne", "he", "fa", "de", "cs", "mai", "mr", "lt", "el", "fr", "bs", "uz@cyrillic", "ast", "en_US", "br", "pt", "oc", "ca", "nb", "it", "sv", "et", "nl", "nds", "hne")
Override language: ""
KoJsonTrader will load its plugins from "/tmp/.mount_bmVbWF/usr/lib/kritaplugins"
libpng warning: iCCP: too many profiles
libpng warning: iCCP: too many profiles
libpng warning: iCCP: too many profiles
libpng warning: iCCP: too many profiles
QObject::connect: No such signal KisBrushOpSettingsWidget::sigSaveLockedConfig(KisPropertiesConfigurationSP)
QObject::connect: (sender name: 'brush option widget')
QObject::connect: (receiver name: 'paintopbox')
QObject::connect: No such signal KisBrushOpSettingsWidget::sigDropLockedConfig(KisPropertiesConfigurationSP)
QObject::connect: (sender name: 'brush option widget')
QObject::connect: (receiver name: 'paintopbox')
I can understand intel has weak GPU. I can understand Linux has driver problem. But there is no way AMD can do it wrong with their last gen workstation GPU under Windows 10 with latest driver installed. Is it possible that the whole computer graphics industry make their drivers report OpenGL3.0 all the time for some reason and we should never rely on what the driver says? Or can it be the new version of Krita (Qt) not detecting OpenGL properly? Git commit 4db896b891de2dc774bf92d2aaeed6457743de37 by Dmitry Kazakov. Committed on 12/12/2016 at 09:54. Pushed by dkazakov into branch 'krita/3.1'. Fix High-Quality filtering on AMD GPU Its Linux driver supports openGL 3.0 only M +1 -1 libs/ui/dialogs/kis_dlg_preferences.cc https://commits.kde.org/krita/4db896b891de2dc774bf92d2aaeed6457743de37 Git commit d8ce65b6146c2b7ed174deb800c64193fbc9bac5 by Dmitry Kazakov. Committed on 12/12/2016 at 09:56. Pushed by dkazakov into branch 'rempt/impex-refactoring'. Fix High-Quality filtering on AMD GPU Its Linux driver supports openGL 3.0 only M +1 -1 libs/ui/dialogs/kis_dlg_preferences.cc https://commits.kde.org/krita/d8ce65b6146c2b7ed174deb800c64193fbc9bac5 Thank you Dmitry but I don't think this is how the problem lies. This is not a Linux exclusive situation. Krita does not show "High Quality Filtering" on ANY platform, Windows or Linux, with ANY of my current GPUs mentioned above. This is what Core m3-6Y30's HD graphics 515's OpenGL info looks like on Ubuntu (No, Krita does not show High Quality Filtering on this one either, so it's definitely not AMD exclusive):
$ glxinfo | grep "OpenGL version"
OpenGL version string: 3.0 Mesa 12.0.3
$ glxinfo | grep -i opengl
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 515 (Skylake GT2)
OpenGL core profile version string: 4.3 (Core Profile) Mesa 12.0.3
OpenGL core profile shading language version string: 4.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 12.0.3
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 12.0.3
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:
$ ./krita-3.0.94-x86_64.appimage
QCoreApplication::arguments: Please instantiate the QApplication object first
krita.lib.pigment: Compiled for arch: 7
krita.lib.pigment: Features supported:
krita.lib.pigment: "SSE2" --- yes
krita.lib.pigment: "SSSE3" --- yes
krita.lib.pigment: "SSE4.1" --- yes
krita.lib.pigment: "AVX " --- yes
krita.lib.pigment: "AVX2 " --- yes
OpenGL Info
Vendor: Intel Open Source Technology Center
Renderer: Mesa DRI Intel(R) HD Graphics 515 (Skylake GT2)
Version: 3.0 Mesa 12.0.3
Shading language: 1.30
Requested format: QSurfaceFormat(version 3.0, options QFlags(0x4), depthBufferSize 24, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize -1, stencilBufferSize 8, samples -1, swapBehavior 2, swapInterval 0, profile 2)
Current format: QSurfaceFormat(version 3.0, options QFlags(0x4), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 0, stencilBufferSize 8, samples -1, swapBehavior 2, swapInterval 0, profile 0)
Version: 3 . 0
Supports deprecated functions true
krita has opengl true
Setting XDG_DATA_DIRS "/tmp/.mount_T4FJPo/usr/bin/../share:./share/:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop"
Available translations QSet("ko", "pt_BR", "uk", "lv", "he", "en_US", "hr", "zh_TW", "bg", "ja", "pl", "de", "is", "fa", "ro", "ca@valencia", "pa", "tg", "sk", "ru", "pt", "ast", "ia", "nds", "nl", "fy", "ug", "tr", "sq", "hne", "wa", "cs", "mai", "ms", "sv", "it", "se", "ta", "hi", "af", "fi", "gl", "nb", "km", "xh", "bs", "ca", "el", "oc", "be", "eo", "ne", "en_GB", "es", "zh_CN", "eu", "vi", "kk", "lt", "fr", "et", "uz@cyrillic", "cy", "mr", "ar", "uz", "hu", "br", "da", "nn", "ga", "th", "mk", "sl")
Available domain translations QSet("ko", "pt_BR", "uk", "lv", "he", "en_US", "hr", "zh_TW", "bg", "ja", "pl", "de", "is", "fa", "ro", "ca@valencia", "pa", "tg", "sk", "ru", "pt", "ast", "ia", "nds", "nl", "fy", "ug", "tr", "sq", "hne", "wa", "cs", "mai", "ms", "sv", "it", "se", "ta", "hi", "af", "fi", "gl", "nb", "km", "xh", "bs", "ca", "el", "oc", "be", "eo", "ne", "en_GB", "es", "zh_CN", "eu", "vi", "kk", "lt", "fr", "et", "uz@cyrillic", "cy", "mr", "ar", "uz", "hu", "br", "da", "nn", "ga", "th", "mk", "sl")
Override language: ""
libpng warning: iCCP: too many profiles
libpng warning: iCCP: too many profiles
libpng warning: iCCP: too many profiles
libpng warning: iCCP: too many profiles
I'll test this with Nvidia Quadro K620 later on Ubuntu, with and without its proprietary driver installed. But I can't test it on Windows. Also, if there is anyway I can get Krita's OpenGL output on Windows, please let me know. I can at least provide some information of how Intel and AMD OpenGL look like to Krita on Windows. You can use debugview to get the output, but the bug _is_ fixed. The fix is not Linux specific; it's specific for all situations where the gpu driver returns the exact version of opengl we ask for. Dmitry only mentioned Linux in his commit message because that's where he tested it. Some drivers return the highest version possible anyway, so if we ask for 3.0, we get 4.4 (nvidia), others return 3.0. We have two functions, one that checks whether we've got the minimum of 3.2 and one that checks for 3.0. The high quality filtering used the 3.2 check and should have used the 3.0 check, and that's fixed now. OK, that's great.
I guess it's the current version of mesa that always reports 3.0. We may not get anything more than 3.0 with any GPU on Linux as it is.
Nevertheless, let me provide Nvidia Quadro K620's information (by open source driver nouveau. I can't get nvidia proprietary driver to work on Ubuntu 16.10):
$ glxinfo | grep "OpenGL version"
OpenGL version string: 3.0 Mesa 12.0.3
$ glxinfo | grep -i opengl
OpenGL vendor string: nouveau
OpenGL renderer string: Gallium 0.4 on NV117
OpenGL core profile version string: 3.3 (Core Profile) Mesa 12.0.3
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 12.0.3
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 12.0.3
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:
tysontan@PSY-TAN:~$
$ ./krita-3.0.94-x86_64.appimage
QCoreApplication::arguments: Please instantiate the QApplication object first
krita.lib.pigment: Compiled for arch: 6
krita.lib.pigment: Features supported:
krita.lib.pigment: "SSE2" --- yes
krita.lib.pigment: "SSSE3" --- yes
krita.lib.pigment: "SSE4.1" --- yes
krita.lib.pigment: "AVX " --- yes
krita.lib.pigment: "AVX2 " --- no
OpenGL Info
Vendor: nouveau
Renderer: Gallium 0.4 on NV117
Version: 3.0 Mesa 12.0.3
Shading language: 1.30
Requested format: QSurfaceFormat(version 3.0, options QFlags(0x4), depthBufferSize 24, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize -1, stencilBufferSize 8, samples -1, swapBehavior 2, swapInterval 0, profile 2)
Current format: QSurfaceFormat(version 3.0, options QFlags(0x4), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 0, stencilBufferSize 8, samples -1, swapBehavior 2, swapInterval 0, profile 0)
Version: 3 . 0
Supports deprecated functions true
krita has opengl true
Setting XDG_DATA_DIRS "/tmp/.mount_d67scw/usr/bin/../share:./share/:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop"
Available translations QSet("zh_CN", "ug", "sq", "xh", "ms", "uk", "eo", "nl", "fy", "oc", "vi", "km", "ca", "hr", "sv", "cy", "ne", "tr", "br", "fa", "nds", "en_GB", "sl", "ga", "uz@cyrillic", "el", "he", "ar", "kk", "es", "se", "ko", "nb", "ro", "mr", "th", "tg", "uz", "pl", "ia", "de", "wa", "zh_TW", "fr", "hne", "hi", "mk", "be", "bs", "cs", "mai", "it", "ru", "nn", "fi", "is", "ast", "lv", "pt", "af", "lt", "eu", "gl", "sk", "da", "et", "ta", "hu", "ja", "pa", "ca@valencia", "pt_BR", "en_US", "bg")
Available domain translations QSet("zh_CN", "ug", "sq", "xh", "ms", "uk", "eo", "nl", "fy", "oc", "vi", "km", "ca", "hr", "sv", "cy", "ne", "tr", "br", "fa", "nds", "en_GB", "sl", "ga", "uz@cyrillic", "el", "he", "ar", "kk", "es", "se", "ko", "nb", "ro", "mr", "th", "tg", "uz", "pl", "ia", "de", "wa", "zh_TW", "fr", "hne", "hi", "mk", "be", "bs", "cs", "mai", "it", "ru", "nn", "fi", "is", "ast", "lv", "pt", "af", "lt", "eu", "gl", "sk", "da", "et", "ta", "hu", "ja", "pa", "ca@valencia", "pt_BR", "en_US", "bg")
Override language: ""
libpng warning: iCCP: too many profiles
libpng warning: iCCP: too many profiles
libpng warning: iCCP: too many profiles
libpng warning: iCCP: too many profiles
QLayout: Attempting to add QLayout "" to KisShortcutsDialog "", which already has a layout
|