#3675 closed defect (fixed)
Only lower left quadrant of graphics shown, external display
Reported by: | Owned by: | Tom Goddard | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Graphics | Version: | |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
The following bug report has been submitted: Platform: Windows-10-10.0.19041 ChimeraX Version: 1.1rc202008312018 (2020-08-31 20:18:51 UTC) Description Have a surface pro with 2 additional monitors on a dock. When I open ChimeraX, only a quarter of the mainscreen is available for use. Dragging the molecule outside of that quarter cuts the molecule off (see attached). When I try to adjust the window using windowsize, the window gets bigger by expanding downwards, into virtual space, which is obviously useless. Log: UCSF ChimeraX version: 1.1rc202008312018 (2020-08-31) © 2016-2020 Regents of the University of California. All rights reserved. How to cite UCSF ChimeraX > open C:\Users\pmmcn\Downloads\3lut.cif format mmcif 3lut.cif title: A Structural Model for the Full-length Shaker Potassium Channel Kv1.2 [more info...] Chain information for 3lut.cif #1 --- Chain | Description A | Voltage-gated potassium channel subunit beta-2 B | Potassium voltage-gated channel subfamily A member 2 Non-standard residues in 3lut.cif #1 --- K — potassium ion NAP — nadp nicotinamide-adenine-dinucleotide phosphate (2'-monophosphoadenosine 5'-diphosphoribose) 3lut.cif mmCIF Assemblies --- 1| author_and_software_defined_assembly > windowsize window size 671 416 > windowsize 2000 QWindowsWindow::setGeometry: Unable to set geometry 3249x1017+2736+23 (frame: 3265x1056+2728-8) on QWidgetWindow/"MainWindowClassWindow" on "\\\\.\DISPLAY2". Resulting geometry: 1920x1017+2736+23 (frame: 1936x1056+2728-8) margins: 8, 31, 8, 8 minimum size: 358x328 MINMAXINFO maxSize=0,0 maxpos=0,0 mintrack=374,367 maxtrack=0,0) > windowsize 2000 1000 QWindowsWindow::setGeometry: Unable to set geometry 3914x1601+2736+23 (frame: 3930x1640+2728-8) on QWidgetWindow/"MainWindowClassWindow" on "\\\\.\DISPLAY2". Resulting geometry: 1920x1017+2736+23 (frame: 1936x1056+2728-8) margins: 8, 31, 8, 8 minimum size: 358x328 MINMAXINFO maxSize=0,0 maxpos=0,0 mintrack=374,367 maxtrack=0,0) OpenGL version: 3.3.0 - Build 24.20.100.6299 OpenGL renderer: Intel(R) HD Graphics 520 OpenGL vendor: Intel Manufacturer: Microsoft Corporation Model: Surface Pro 4 OS: Microsoft Windows 10 Pro (Build 19041) Memory: 8,507,678,720 MaxProcessMemory: 137,438,953,344 CPU: 4 Intel(R) Core(TM) i5-6300U CPU @ 2.40GHz" PyQt version: 5.12.3 Compiled Qt version: 5.12.4 Runtime Qt version: 5.12.9 Installed Packages: alabaster: 0.7.12 appdirs: 1.4.4 Babel: 2.8.0 backcall: 0.2.0 blockdiag: 2.0.1 certifi: 2020.6.20 chardet: 3.0.4 ChimeraX-AddH: 2.1.1 ChimeraX-AlignmentAlgorithms: 2.0 ChimeraX-AlignmentHdrs: 3.2 ChimeraX-AlignmentMatrices: 2.0 ChimeraX-Alignments: 2.1 ChimeraX-Arrays: 1.0 ChimeraX-Atomic: 1.6.1 ChimeraX-AtomSearch: 2.0 ChimeraX-AxesPlanes: 2.0 ChimeraX-BasicActions: 1.1 ChimeraX-BILD: 1.0 ChimeraX-BlastProtein: 1.0.1 ChimeraX-BondRot: 2.0 ChimeraX-BugReporter: 1.0 ChimeraX-BuildStructure: 2.0 ChimeraX-Bumps: 1.0 ChimeraX-BundleBuilder: 1.0 ChimeraX-ButtonPanel: 1.0 ChimeraX-CageBuilder: 1.0 ChimeraX-CellPack: 1.0 ChimeraX-Centroids: 1.1 ChimeraX-ChemGroup: 2.0 ChimeraX-Clashes: 2.0 ChimeraX-ColorActions: 1.0 ChimeraX-ColorGlobe: 1.0 ChimeraX-CommandLine: 1.1.3 ChimeraX-ConnectStructure: 2.0 ChimeraX-Contacts: 1.0 ChimeraX-Core: 1.1rc202008312018 ChimeraX-CoreFormats: 1.0 ChimeraX-coulombic: 1.0.1 ChimeraX-Crosslinks: 1.0 ChimeraX-Crystal: 1.0 ChimeraX-DataFormats: 1.0 ChimeraX-Dicom: 1.0 ChimeraX-DistMonitor: 1.1 ChimeraX-DistUI: 1.0 ChimeraX-Dssp: 2.0 ChimeraX-EMDB-SFF: 1.0 ChimeraX-ExperimentalCommands: 1.0 ChimeraX-FileHistory: 1.0 ChimeraX-FunctionKey: 1.0 ChimeraX-Geometry: 1.1 ChimeraX-gltf: 1.0 ChimeraX-Graphics: 1.0 ChimeraX-Hbonds: 2.0 ChimeraX-Help: 1.0 ChimeraX-HKCage: 1.0 ChimeraX-IHM: 1.0 ChimeraX-ImageFormats: 1.0 ChimeraX-IMOD: 1.0 ChimeraX-IO: 1.0 ChimeraX-Label: 1.0 ChimeraX-ListInfo: 1.0 ChimeraX-Log: 1.1.1 ChimeraX-LookingGlass: 1.1 ChimeraX-Map: 1.0.1 ChimeraX-MapData: 2.0 ChimeraX-MapEraser: 1.0 ChimeraX-MapFilter: 2.0 ChimeraX-MapFit: 2.0 ChimeraX-MapSeries: 2.0 ChimeraX-Markers: 1.0 ChimeraX-Mask: 1.0 ChimeraX-MatchMaker: 1.1 ChimeraX-MDcrds: 2.0 ChimeraX-MedicalToolbar: 1.0.1 ChimeraX-Meeting: 1.0 ChimeraX-MLP: 1.0 ChimeraX-mmCIF: 2.2 ChimeraX-MMTF: 2.0 ChimeraX-Modeller: 1.0 ChimeraX-ModelPanel: 1.0 ChimeraX-ModelSeries: 1.0 ChimeraX-Mol2: 2.0 ChimeraX-Morph: 1.0 ChimeraX-MouseModes: 1.0 ChimeraX-Movie: 1.0 ChimeraX-Neuron: 1.0 ChimeraX-Nucleotides: 2.0 ChimeraX-OpenCommand: 1.2.1 ChimeraX-PDB: 2.1 ChimeraX-PDBBio: 1.0 ChimeraX-PickBlobs: 1.0 ChimeraX-Positions: 1.0 ChimeraX-PresetMgr: 1.0 ChimeraX-PubChem: 2.0 ChimeraX-Read-Pbonds: 1.0 ChimeraX-Registration: 1.1 ChimeraX-RemoteControl: 1.0 ChimeraX-ResidueFit: 1.0 ChimeraX-RestServer: 1.0 ChimeraX-RNALayout: 1.0 ChimeraX-RotamerLibMgr: 2.0 ChimeraX-RotamerLibsDunbrack: 2.0 ChimeraX-RotamerLibsDynameomics: 2.0 ChimeraX-RotamerLibsRichardson: 2.0 ChimeraX-SaveCommand: 1.2 ChimeraX-SchemeMgr: 1.0 ChimeraX-SDF: 2.0 ChimeraX-Segger: 1.0 ChimeraX-Segment: 1.0 ChimeraX-SeqView: 2.2 ChimeraX-Shape: 1.0.1 ChimeraX-Shell: 1.0 ChimeraX-Shortcuts: 1.0 ChimeraX-ShowAttr: 1.0 ChimeraX-ShowSequences: 1.0 ChimeraX-SideView: 1.0 ChimeraX-Smiles: 2.0 ChimeraX-SmoothLines: 1.0 ChimeraX-SpaceNavigator: 1.0 ChimeraX-StdCommands: 1.0.4 ChimeraX-STL: 1.0 ChimeraX-Storm: 1.0 ChimeraX-Struts: 1.0 ChimeraX-Surface: 1.0 ChimeraX-SwapAA: 2.0 ChimeraX-SwapRes: 2.0 ChimeraX-TapeMeasure: 1.0 ChimeraX-Test: 1.0 ChimeraX-Toolbar: 1.0 ChimeraX-ToolshedUtils: 1.0 ChimeraX-Tug: 1.0 ChimeraX-UI: 1.2.3 ChimeraX-uniprot: 2.0 ChimeraX-ViewDockX: 1.0 ChimeraX-Vive: 1.1 ChimeraX-VolumeMenu: 1.0 ChimeraX-VTK: 1.0 ChimeraX-WavefrontOBJ: 1.0 ChimeraX-WebCam: 1.0 ChimeraX-WebServices: 1.0 ChimeraX-Zone: 1.0 colorama: 0.4.3 comtypes: 1.1.7 cxservices: 1.0 cycler: 0.10.0 Cython: 0.29.20 decorator: 4.4.2 distlib: 0.3.1 docutils: 0.16 filelock: 3.0.12 funcparserlib: 0.3.6 gdcm: 2.8.8 grako: 3.16.5 h5py: 2.10.0 html2text: 2020.1.16 idna: 2.10 ihm: 0.16 imagecodecs: 2020.5.30 imagecodecs-lite: 2020.1.31 imagesize: 1.2.0 ipykernel: 5.3.0 ipython: 7.15.0 ipython-genutils: 0.2.0 jedi: 0.17.2 Jinja2: 2.11.2 jupyter-client: 6.1.3 jupyter-core: 4.6.3 kiwisolver: 1.2.0 line-profiler: 2.1.2 lxml: 4.5.1 MarkupSafe: 1.1.1 matplotlib: 3.2.1 msgpack: 1.0.0 netifaces: 0.10.9 networkx: 2.4 numexpr: 2.7.1 numpy: 1.18.5+mkl numpydoc: 1.0.0 openvr: 1.12.501 packaging: 20.4 parso: 0.7.1 pickleshare: 0.7.5 Pillow: 7.1.2 pip: 20.2.2 pkginfo: 1.5.0.1 prompt-toolkit: 3.0.7 psutil: 5.7.0 pycollada: 0.7.1 pydicom: 2.0.0 Pygments: 2.6.1 PyOpenGL: 3.1.5 PyOpenGL-accelerate: 3.1.5 pyparsing: 2.4.7 PyQt5-commercial: 5.12.3 PyQt5-sip: 4.19.19 PyQtWebEngine-commercial: 5.12.1 python-dateutil: 2.8.1 pytz: 2020.1 pywin32: 228 pyzmq: 19.0.2 qtconsole: 4.7.4 QtPy: 1.9.0 RandomWords: 0.3.0 requests: 2.24.0 scipy: 1.4.1 setuptools: 49.4.0 sfftk-rw: 0.6.6.dev0 six: 1.15.0 snowballstemmer: 2.0.0 sortedcontainers: 2.2.2 Sphinx: 3.1.1 sphinxcontrib-applehelp: 1.0.2 sphinxcontrib-blockdiag: 2.0.0 sphinxcontrib-devhelp: 1.0.2 sphinxcontrib-htmlhelp: 1.0.3 sphinxcontrib-jsmath: 1.0.1 sphinxcontrib-qthelp: 1.0.3 sphinxcontrib-serializinghtml: 1.1.4 suds-jurko: 0.6 tables: 3.6.1 tifffile: 2020.6.3 tinyarray: 1.2.2 tornado: 6.0.4 traitlets: 5.0.0 urllib3: 1.25.10 wcwidth: 0.2.5 webcolors: 1.11.1 wheel: 0.34.2 WMI: 1.5.1 File attachment: chimerax bug.pptx
Attachments (1)
Change History (7)
by , 5 years ago
Attachment: | chimerax bug.pptx added |
---|
comment:1 by , 5 years ago
Component: | Unassigned → Graphics |
---|---|
Owner: | set to |
Platform: | → all |
Project: | → ChimeraX |
Status: | new → assigned |
Summary: | ChimeraX bug report submission → Graphics window cut off |
Reported by Patrick McNutt
comment:2 by , 5 years ago
You are using a Surface Pro 4 with screen resolution 2736x1824 and a 12" screen. Do you have a second display attached? I'll assume you do not. Since the Surface Pro 4 resolution is high I guess you are using windows display scaling > 100%. If you right click on the Windows 10 desktop and choose Display Settings what does it report as the scale ("Change the size of text, apps and other items")? Is it 150%, 175% ? In the Qt window toolkit that ChimeraX uses there is an attribute QWindow.devicePixelSize that is either 1.0 or 2.0. In my tests on a Windows 10 laptop, display scaling of 150% and above reports device pixel size 2.0 while 100% or 125% reports devicePixelSize 1.0. This value is a conversion factor between the size of graphics pixel and Qt logical pixels. What appears to be going on in your case is the device pixel size reported by Qt to be 1.0 but is in fact 2.0. So your graphics come occupying only half the window in x and y dimensions. This would be a bug in the Qt window toolkit.
Please report what Windows 10 display scale is set to.
Also in ChimeraX use menu Tools / General / Shell and type or paste
session.main_view.render.pixel_scale()
and press return. This will report the Qt devicePixelSize.
You might also want to try different Windows displays scale settings, e.g. 125% to see if this fixes the ChimeraX problem. It is not a solution but will help understand the problem.
comment:3 by , 5 years ago
Do you have a second display attached? I'll assume you do not. I do, two Viewsonic monitors. On the surface pro screen, the full main window is available. However, the available window is clipped to 1/4 the full size in the second and third displays (viewsonic VA2759 monitors). This is true even when the program opens in the 2nd or 3rd monitor versus opens on the surface pro and is dragged over to the larger monitors. Okay, guess what... you've nailed the problem. The scale on the surface pro is 200%, while the scale on the viewsonics is 100%. When I set the surface pro scale to 100% and then opened Chimera X, I had access to the full main window. Awesome. Now is there a way to fix this without setting the surface pro to 100%? If not, I can work around it... Thanks, patrick -----Original Message----- From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu> Sent: Tuesday, September 1, 2020 7:16 PM To: undisclosed-recipients: Cc: goddard@cgl.ucsf.edu; pmmcnutt@gmail.com Subject: Re: [ChimeraX] #3675: Graphics window cut off #3675: Graphics window cut off ---------------------------------+------------------------- Reporter: pmmcnutt@… | Owner: Tom Goddard Type: defect | Status: assigned Priority: normal | Milestone: Component: Graphics | Version: Resolution: | Keywords: Blocked By: | Blocking: Notify when closed: | Platform: all Project: ChimeraX | ---------------------------------+------------------------- Comment (by Tom Goddard): You are using a Surface Pro 4 with screen resolution 2736x1824 and a 12" screen. Do you have a second display attached? I'll assume you do not. Since the Surface Pro 4 resolution is high I guess you are using windows display scaling > 100%. If you right click on the Windows 10 desktop and choose Display Settings what does it report as the scale ("Change the size of text, apps and other items")? Is it 150%, 175% ? In the Qt window toolkit that ChimeraX uses there is an attribute QWindow.devicePixelSize that is either 1.0 or 2.0. In my tests on a Windows 10 laptop, display scaling of 150% and above reports device pixel size 2.0 while 100% or 125% reports devicePixelSize 1.0. This value is a conversion factor between the size of graphics pixel and Qt logical pixels. What appears to be going on in your case is the device pixel size reported by Qt to be 1.0 but is in fact 2.0. So your graphics come occupying only half the window in x and y dimensions. This would be a bug in the Qt window toolkit. Please report what Windows 10 display scale is set to. Also in ChimeraX use menu Tools / General / Shell and type or paste session.main_view.render.pixel_scale() and press return. This will report the Qt devicePixelSize. You might also want to try different Windows displays scale settings, e.g. 125% to see if this fixes the ChimeraX problem. It is not a solution but will help understand the problem. -- Ticket URL: <https://plato.cgl.ucsf.edu/trac/ChimeraX/ticket/3675#comment:2> ChimeraX <http://www.rbvi.ucsf.edu/chimerax/> ChimeraX Issue Tracker
follow-up: 3 comment:4 by , 5 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Fixed in nightly build, not in 1.1 release candidate. Won't fix in 1.1, too risky.
Thanks for the extra info. I was able to reproduce this with a Windows 10 laptop using scaling 150% with an external display using 125% scaling. The problem was a Qt window toolkit bug. After dragging the ChimeraX window to the external display Qt claims that the graphics window is half the size in pixels that it actually is. Qt has lots of problems with high DPI displays so this bug is not a huge surprise, although I could not find this in the Qt bug database. ChimeraX uses a QWindow for the graphics contained in a QWidget container made with QWidget.createWindowContainer(). The QWidget and QWindow should always have the same size and the QWidget manages the QWindow's size. But the QWindow.size() reports half the size of QWidget.size() in this bug case. I changed the ChimeraX code to use the QWidget size and not trust the QWindow size. Had to do the same fix with the status line which was showing half size text.
comment:5 by , 5 years ago
Summary: | Graphics window cut off → Only lower left quadrant of graphics shown, external display |
---|
comment:6 by , 5 years ago
Awesome and thanks! I will try the nightly build later today. p -----Original Message----- From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu> Sent: Wednesday, September 2, 2020 10:24 PM To: undisclosed-recipients: Cc: goddard@cgl.ucsf.edu; pmmcnutt@gmail.com Subject: Re: [ChimeraX] #3675: Graphics window cut off #3675: Graphics window cut off ---------------------------------+------------------------- Reporter: pmmcnutt@… | Owner: Tom Goddard Type: defect | Status: closed Priority: normal | Milestone: Component: Graphics | Version: Resolution: fixed | Keywords: Blocked By: | Blocking: Notify when closed: | Platform: all Project: ChimeraX | ---------------------------------+------------------------- Changes (by Tom Goddard): * status: assigned => closed * resolution: => fixed Comment: Fixed in nightly build, not in 1.1 release candidate. Won't fix in 1.1, too risky. Thanks for the extra info. I was able to reproduce this with a Windows 10 laptop using scaling 150% with an external display using 125% scaling. The problem was a Qt window toolkit bug. After dragging the ChimeraX window to the external display Qt claims that the graphics window is half the size in pixels that it actually is. Qt has lots of problems with high DPI displays so this bug is not a huge surprise, although I could not find this in the Qt bug database. ChimeraX uses a QWindow for the graphics contained in a QWidget container made with QWidget.createWindowContainer(). The QWidget and QWindow should always have the same size and the QWidget manages the QWindow's size. But the QWindow.size() reports half the size of QWidget.size() in this bug case. I changed the ChimeraX code to use the QWidget size and not trust the QWindow size. Had to do the same fix with the status line which was showing half size text. -- Ticket URL: <https://plato.cgl.ucsf.edu/trac/ChimeraX/ticket/3675#comment:4> ChimeraX <http://www.rbvi.ucsf.edu/chimerax/> ChimeraX Issue Tracker
Added by email2trac