Opened 3 years ago

Closed 3 years ago

#7419 closed defect (fixed)

Drag select blacks out graphics

Reported by: asarnow@… 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:        macOS-10.16-x86_64-i386-64bit
ChimeraX Version: 1.4 (2022-06-03 23:39:42 UTC)
Description
In ChimeraX 1.3 and now in this 1.4 release, I have an issue where control-click dragging to select causes the 3D viewer frame to black out. Everything else functions normally, including the select itself, although it is very difficult to use since the structure can't be seen. The select box *is* visible, but it's magenta instead of green. Afterwards things go back to normal if something was box selected, but if nothing was boxed then the 3D viewer remains blacked out until an interaction like moving the models/camera takes place.

I'm on a 2021 M1 MacBook Pro with macOS 12.4. I was wondering if others have experienced this and if it's an M1 issue as this is the only machine I've seen exhibit the problem.

Log:
> set bgColor white

> lighting soft

> graphics silhouettes true

> alias speed clipper set contourSensitivity 1.0

> alias licorice car style protein modeh default arrows f xsect oval width 1
> thick 1

> alias cylinders cartoon style protein modeh tube rad 2 sides 24

> alias cartoon_default car style protein modeh default arrows t xsect oval
> width 2 thick 0.4

UCSF ChimeraX version: 1.4 (2022-06-03)  
© 2016-2022 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open /Users/da/Downloads/cryosparc_P502_J119_004_volume_map.mrc

Opened cryosparc_P502_J119_004_volume_map.mrc as #1, grid size 288,288,288,
pixel 1.26, shown at level 0.258, step 2, values float32  

> open pdb:7c2l

7c2l title:  
S protein of SARS-CoV-2 in complex bound with 4A8 [more info...]  
  
Chain information for 7c2l #2  
---  
Chain | Description | UniProt  
A B C | Spike glycoprotein | SPIKE_SARS2  
H I J | heavy chain of 4A8 |  
L M N | light chain of 4A8 |  
  
Non-standard residues in 7c2l #2  
---  
NAG — 2-acetamido-2-deoxy-beta-D-glucopyranose (N-acetyl-beta-D-glucosamine;
2-acetamido-2-deoxy-beta-D-glucose; 2-acetamido-2-deoxy-D-glucose;
2-acetamido-2-deoxy-glucose; N-ACETYL-D-GLUCOSAMINE)  
  

> hide

> ribbon

> select add #2

35988 atoms, 36921 bonds, 19 pseudobonds, 4568 residues, 2 models selected  

> ui mousemode right "translate selected models"

> view matrix models
> #2,0.71762,-0.6803,0.14903,140.64,-0.51778,-0.66428,-0.53911,432.68,0.46576,0.30971,-0.82894,108.7

> view matrix models
> #2,0.71762,-0.6803,0.14903,142.1,-0.51778,-0.66428,-0.53911,455.05,0.46576,0.30971,-0.82894,144.65

> view matrix models
> #2,0.76222,-0.6308,-0.14533,164.05,-0.62613,-0.66147,-0.41281,454.35,0.16427,0.40565,-0.89915,180.36

> view matrix models
> #2,0.76222,-0.6308,-0.14533,193.94,-0.62613,-0.66147,-0.41281,445.2,0.16427,0.40565,-0.89915,200.36

> view matrix models
> #2,0.75785,-0.61373,-0.22135,201.16,-0.64707,-0.66367,-0.37528,443.89,0.083418,0.42764,-0.90009,208.34

> view matrix models
> #2,0.99255,-0.081786,0.090339,35.329,-0.053614,-0.9588,-0.27897,397.38,0.10943,0.27205,-0.95604,238.72

> view matrix models
> #2,0.99255,-0.081786,0.090339,36.635,-0.053614,-0.9588,-0.27897,392.28,0.10943,0.27205,-0.95604,237.77

> view matrix models
> #2,0.97511,-0.20633,-0.081204,82.434,-0.21873,-0.95518,-0.19949,405.54,-0.036403,0.21229,-0.97653,271.85

> view matrix models
> #2,0.9866,-0.09676,0.13134,34.947,-0.052623,-0.95083,-0.3052,394.05,0.15441,0.2942,-0.94319,225.79

> view matrix models
> #2,0.9866,-0.09676,0.13134,26.745,-0.052623,-0.95083,-0.3052,383.77,0.15441,0.2942,-0.94319,227.06

> view matrix models
> #2,0.99677,-0.05179,0.06143,26.232,-0.023254,-0.91777,-0.39642,385.23,0.07691,0.39371,-0.91601,217.51

> view matrix models
> #2,0.99677,-0.05179,0.06143,32.899,-0.023254,-0.91777,-0.39642,392.14,0.07691,0.39371,-0.91601,223.09

> view matrix models
> #2,0.99677,-0.05179,0.06143,32.884,-0.023254,-0.91777,-0.39642,392.15,0.07691,0.39371,-0.91601,223.32

> view matrix models
> #2,0.99677,-0.05179,0.06143,32.851,-0.023254,-0.91777,-0.39642,392.32,0.07691,0.39371,-0.91601,223.53

> view matrix models
> #2,0.99677,-0.05179,0.06143,32.875,-0.023254,-0.91777,-0.39642,385.87,0.07691,0.39371,-0.91601,236.75

> view matrix models
> #2,0.93614,0.30092,0.1819,-34.967,0.34883,-0.85986,-0.37276,318.98,0.044241,0.41241,-0.90993,237.45

> view matrix models
> #2,0.93701,0.29519,0.18675,-34.705,0.34789,-0.83673,-0.42291,321.4,0.031417,0.46124,-0.88672,227.88

> view matrix models
> #2,0.93701,0.29519,0.18675,-35.488,0.34789,-0.83673,-0.42291,326.56,0.031417,0.46124,-0.88672,230.34

> view matrix models
> #2,0.86858,0.42544,0.2541,-56.758,0.49478,-0.77307,-0.39693,290.96,0.027568,0.47049,-0.88198,228.69

> view matrix models
> #2,0.86858,0.42544,0.2541,-57.753,0.49478,-0.77307,-0.39693,298.96,0.027568,0.47049,-0.88198,228.78

> view matrix models
> #2,0.78756,0.54814,0.28159,-70.872,0.6162,-0.69574,-0.36912,264.42,-0.0064174,0.46422,-0.8857,235.26

> fitmap #2/A-C inMap #1

Fit molecule 7c2l (#2) to map cryosparc_P502_J119_004_volume_map.mrc (#1)
using 24910 atoms  
average map value = 0.2634, steps = 224  
shifted from previous position = 12.2  
rotated from previous position = 11.3 degrees  
atoms outside contour = 13486, contour level = 0.25755  
  
Position of 7c2l (#2) relative to cryosparc_P502_J119_004_volume_map.mrc (#1)
coordinates:  
Matrix rotation and translation  
0.70320972 0.61194990 0.36195781 -78.57162253  
0.69949782 -0.68661755 -0.19813940 213.71189935  
0.12727519 0.39252224 -0.91089372 234.35174082  
Axis 0.92063952 0.36578995 0.13645726  
Axis point 0.00000000 101.95823201 140.88291766  
Rotation angle (degrees) 161.28936710  
Shift along axis 37.81652043  
  

> volume #1 level 0.4952

> view matrix models
> #2,0.71295,0.67906,0.17487,-68.145,0.69514,-0.65167,-0.30349,221.5,-0.092133,0.33794,-0.93665,278.83

> view matrix models
> #2,-0.4388,0.82656,0.35249,50.39,0.8975,0.4224,0.12677,-49.031,-0.044103,0.37198,-0.92719,264.77

> view matrix models
> #2,-0.4388,0.82656,0.35249,58.389,0.8975,0.4224,0.12677,-45.163,-0.044103,0.37198,-0.92719,264.63

> view matrix models
> #2,-0.4388,0.82656,0.35249,59.171,0.8975,0.4224,0.12677,-45.098,-0.044103,0.37198,-0.92719,264.6

> fitmap #2/A-C inMap #1

Fit molecule 7c2l (#2) to map cryosparc_P502_J119_004_volume_map.mrc (#1)
using 24910 atoms  
average map value = 0.3122, steps = 144  
shifted from previous position = 4.91  
rotated from previous position = 13.6 degrees  
atoms outside contour = 19703, contour level = 0.49518  
  
Position of 7c2l (#2) relative to cryosparc_P502_J119_004_volume_map.mrc (#1)
coordinates:  
Matrix rotation and translation  
-0.33225250 0.86832404 0.36826853 38.10694171  
0.93132412 0.24029092 0.27367085 -41.13171866  
0.14914339 0.43390517 -0.88852834 221.36523818  
Axis 0.57498590 0.78631012 0.22606992  
Axis point 43.54828532 0.00000000 115.91298057  
Rotation angle (degrees) 171.99048214  
Shift along axis 39.61268839  
  

> volume #1 level 0.4067

> vop flip #1

Opened cryosparc_P502_J119_004_volume_map.mrc z flip as #3, grid size
288,288,288, pixel 1.26, shown at step 1, values float32  

> view matrix models
> #2,0.27854,-0.91013,-0.30673,344.55,0.95145,0.21794,0.21735,-33.065,-0.13097,-0.35238,0.92665,170.59

> view matrix models
> #2,0.27854,-0.91013,-0.30673,334.7,0.95145,0.21794,0.21735,-32.5,-0.13097,-0.35238,0.92665,131.39

> view matrix models
> #2,-0.63436,-0.70619,-0.31445,432.17,0.76269,-0.50543,-0.40354,198.93,0.12605,-0.49582,0.85923,127.69

> view matrix models
> #2,-0.63436,-0.70619,-0.31445,438.74,0.76269,-0.50543,-0.40354,203.19,0.12605,-0.49582,0.85923,120.74

> view matrix models
> #2,-0.61634,-0.71994,-0.31908,439.11,0.77623,-0.48718,-0.40015,197.62,0.13264,-0.49431,0.85911,119.54

> view matrix models
> #2,-0.61638,-0.71679,-0.32601,439.44,0.78019,-0.49978,-0.3762,196.23,0.10672,-0.48623,0.86729,120.85

> view matrix models
> #2,-0.66904,-0.67425,-0.3127,437.97,0.73689,-0.54693,-0.39731,213.37,0.096856,-0.49624,0.86276,124.59

> view matrix models
> #2,-0.66904,-0.67425,-0.3127,440.34,0.73689,-0.54693,-0.39731,211,0.096856,-0.49624,0.86276,124.09

> view matrix models
> #2,0.97036,-0.15496,-0.18545,96.749,0.20772,0.92701,0.31226,-58.537,0.12352,-0.34152,0.93172,84.601

> view matrix models
> #2,0.97036,-0.15496,-0.18545,82.727,0.20772,0.92701,0.31226,-57.043,0.12352,-0.34152,0.93172,84.103

> view matrix models
> #2,0.95274,-0.21699,-0.21263,99.501,0.27517,0.91296,0.3013,-62.972,0.12874,-0.34556,0.92952,84.33

> view matrix models
> #2,0.95541,-0.27338,-0.11158,96.232,0.29483,0.90406,0.30944,-65.288,0.016279,-0.32854,0.94435,95.764

> view matrix models
> #2,0.95885,-0.25769,-0.11913,93.95,0.2836,0.85015,0.44363,-71.148,-0.013044,-0.45917,0.88825,129.82

> select up

35988 atoms, 36921 bonds, 19 pseudobonds, 4568 residues, 2 models selected  

> select up

35988 atoms, 36921 bonds, 19 pseudobonds, 4568 residues, 6 models selected  

> select clear

Drag select of 61 residues  

> select up

910 atoms, 924 bonds, 125 residues, 1 model selected  

> select up

3394 atoms, 3475 bonds, 448 residues, 1 model selected  

> select up

35988 atoms, 36921 bonds, 4568 residues, 1 model selected  

> fitmap #2/A-C inMap #3

Fit molecule 7c2l (#2) to map cryosparc_P502_J119_004_volume_map.mrc z flip
(#3) using 24910 atoms  
average map value = 0.5485, steps = 120  
shifted from previous position = 7.47  
rotated from previous position = 8.14 degrees  
atoms outside contour = 7331, contour level = 0.4067  
  
Position of 7c2l (#2) relative to cryosparc_P502_J119_004_volume_map.mrc z
flip (#3) coordinates:  
Matrix rotation and translation  
0.98109307 -0.19351658 -0.00279454 63.18497752  
0.17003260 0.85495714 0.49003800 -55.81814705  
-0.09244126 -0.48124803 0.87169662 143.02112560  
Axis -0.93306613 0.08611914 0.34924359  
Axis point 0.00000000 257.19630339 187.60387694  
Rotation angle (degrees) 31.36450730  
Shift along axis -13.81356176  
  

> select clear

> volume #3 level 0.07212

> open /Users/da/Downloads/cryosparc_P502_J121_class_00_00062_volume.mrc

Opened cryosparc_P502_J121_class_00_00062_volume.mrc as #4, grid size
288,288,288, pixel 1.26, shown at level 0.29, step 2, values float32  

> vop flip #4

Opened cryosparc_P502_J121_class_00_00062_volume.mrc z flip as #5, grid size
288,288,288, pixel 1.26, shown at step 1, values float32  

> volume #5 level 0.05872

> volume #5 level 0.2632

> volume #5 level 0.2648

> volume #5 level 0.2698

> volume #5 level 0.06869

> volume #5 level 0.02714

> volume #5 level 0.06537

> volume #3 level 0.3033

> volume #3 level 0.5046

> volume #3 level 0.2489

> volume #3 level 0.4475

> volume #3 level 0.2353

> volume #3 level 0.3523

> volume #3 level 0.4176

> volume #3 level 0.5155

> volume #3 level 0.4475

> volume #3 level 0.2653

> open pdb:7c2l

7c2l title:  
S protein of SARS-CoV-2 in complex bound with 4A8 [more info...]  
  
Chain information for 7c2l #6  
---  
Chain | Description | UniProt  
A B C | Spike glycoprotein | SPIKE_SARS2  
H I J | heavy chain of 4A8 |  
L M N | light chain of 4A8 |  
  
Non-standard residues in 7c2l #6  
---  
NAG — 2-acetamido-2-deoxy-beta-D-glucopyranose (N-acetyl-beta-D-glucosamine;
2-acetamido-2-deoxy-beta-D-glucose; 2-acetamido-2-deoxy-D-glucose;
2-acetamido-2-deoxy-glucose; N-ACETYL-D-GLUCOSAMINE)  
  

> hide

> ribbon

> mmaker #6/A to #1/A

No 'to' model specified  

> mmaker #6/A to #2/A

Parameters  
---  
Chain pairing | bb  
Alignment algorithm | Needleman-Wunsch  
Similarity matrix | BLOSUM-62  
SS fraction | 0.3  
Gap open (HH/SS/other) | 18/18/6  
Gap extend | 1  
SS matrix |  |  | H | S | O  
---|---|---|---  
H | 6 | -9 | -6  
S |  | 6 | -6  
O |  |  | 4  
Iteration cutoff | 2  
  
Matchmaker 7c2l, chain A (#2) with 7c2l, chain A (#6), sequence alignment
score = 6252.9  
RMSD between 1031 pruned atom pairs is 0.000 angstroms; (across all 1031
pairs: 0.000)  
  

> mmaker #6 to #2

Parameters  
---  
Chain pairing | bb  
Alignment algorithm | Needleman-Wunsch  
Similarity matrix | BLOSUM-62  
SS fraction | 0.3  
Gap open (HH/SS/other) | 18/18/6  
Gap extend | 1  
SS matrix |  |  | H | S | O  
---|---|---|---  
H | 6 | -9 | -6  
S |  | 6 | -6  
O |  |  | 4  
Iteration cutoff | 2  
  
Matchmaker 7c2l, chain B (#2) with 7c2l, chain B (#6), sequence alignment
score = 6291.9  
RMSD between 1055 pruned atom pairs is 0.000 angstroms; (across all 1055
pairs: 0.000)  
  

> select #6/M

1688 atoms, 1727 bonds, 219 residues, 1 model selected  

> select #6/N

1688 atoms, 1727 bonds, 219 residues, 1 model selected  

> select #6/L

1688 atoms, 1727 bonds, 219 residues, 1 model selected  

> select #6/I,M

3394 atoms, 3475 bonds, 448 residues, 1 model selected  

> ui hideFloating toggle

> select ~sel & #6

32594 atoms, 33446 bonds, 19 pseudobonds, 4120 residues, 2 models selected  

> delete sel

> fitmap #6 inMap #3

Fit molecule 7c2l (#6) to map cryosparc_P502_J119_004_volume_map.mrc z flip
(#3) using 3394 atoms  
average map value = 0.3096, steps = 68  
shifted from previous position = 1.5  
rotated from previous position = 2.22 degrees  
atoms outside contour = 1163, contour level = 0.26525  
  
Position of 7c2l (#6) relative to cryosparc_P502_J119_004_volume_map.mrc z
flip (#3) coordinates:  
Matrix rotation and translation  
0.97392177 -0.22670452 0.00902517 71.24812260  
0.19502773 0.85683881 0.47727501 -61.27045637  
-0.11593352 -0.46306837 0.87870764 141.79956856  
Axis -0.90580313 0.12036876 0.40624138  
Axis point 0.00000000 265.24806933 204.32993708  
Rotation angle (degrees) 31.26962767  
Shift along axis -14.30696858  
  

> open pdb:7c2l

7c2l title:  
S protein of SARS-CoV-2 in complex bound with 4A8 [more info...]  
  
Chain information for 7c2l #7  
---  
Chain | Description | UniProt  
A B C | Spike glycoprotein | SPIKE_SARS2  
H I J | heavy chain of 4A8 |  
L M N | light chain of 4A8 |  
  
Non-standard residues in 7c2l #7  
---  
NAG — 2-acetamido-2-deoxy-beta-D-glucopyranose (N-acetyl-beta-D-glucosamine;
2-acetamido-2-deoxy-beta-D-glucose; 2-acetamido-2-deoxy-D-glucose;
2-acetamido-2-deoxy-glucose; N-ACETYL-D-GLUCOSAMINE)  
  

> hide

> ribbon

> mmaker #7 to #2

Parameters  
---  
Chain pairing | bb  
Alignment algorithm | Needleman-Wunsch  
Similarity matrix | BLOSUM-62  
SS fraction | 0.3  
Gap open (HH/SS/other) | 18/18/6  
Gap extend | 1  
SS matrix |  |  | H | S | O  
---|---|---|---  
H | 6 | -9 | -6  
S |  | 6 | -6  
O |  |  | 4  
Iteration cutoff | 2  
  
Matchmaker 7c2l, chain B (#2) with 7c2l, chain B (#7), sequence alignment
score = 6291.9  
RMSD between 1055 pruned atom pairs is 0.000 angstroms; (across all 1055
pairs: 0.000)  
  

> volume #3 level 0.0966

> volume #3 level 0.1075

> volume #3 level 0.05036

> volume #3 level 0.015

> volume #3 level 0.0286

> volume #3 level 0.03404

> volume #3 level 0.05852

> volume #3 level 0.09116

> select #7/J

1706 atoms, 1748 bonds, 229 residues, 1 model selected  

> select #7/J,N

3394 atoms, 3475 bonds, 448 residues, 1 model selected  

> select ~sel & #7

32594 atoms, 33446 bonds, 19 pseudobonds, 4120 residues, 2 models selected  

> delete sel

> color #6 red

> color #7 blue

> color #2 bychain

> hide #!2 models

> show #!2 models

> volume #3 level 0.2244

> volume #3 level 0.05308

> open pdb:7c2l

7c2l title:  
S protein of SARS-CoV-2 in complex bound with 4A8 [more info...]  
  
Chain information for 7c2l #8  
---  
Chain | Description | UniProt  
A B C | Spike glycoprotein | SPIKE_SARS2  
H I J | heavy chain of 4A8 |  
L M N | light chain of 4A8 |  
  
Non-standard residues in 7c2l #8  
---  
NAG — 2-acetamido-2-deoxy-beta-D-glucopyranose (N-acetyl-beta-D-glucosamine;
2-acetamido-2-deoxy-beta-D-glucose; 2-acetamido-2-deoxy-D-glucose;
2-acetamido-2-deoxy-glucose; N-ACETYL-D-GLUCOSAMINE)  
  

> hide

> ribbon

> mmaker #8 to #2

Parameters  
---  
Chain pairing | bb  
Alignment algorithm | Needleman-Wunsch  
Similarity matrix | BLOSUM-62  
SS fraction | 0.3  
Gap open (HH/SS/other) | 18/18/6  
Gap extend | 1  
SS matrix |  |  | H | S | O  
---|---|---|---  
H | 6 | -9 | -6  
S |  | 6 | -6  
O |  |  | 4  
Iteration cutoff | 2  
  
Matchmaker 7c2l, chain B (#2) with 7c2l, chain B (#8), sequence alignment
score = 6291.9  
RMSD between 1055 pruned atom pairs is 0.000 angstroms; (across all 1055
pairs: 0.000)  
  

> select clear

Drag select of 156 residues  

> select clear

> hide #!2 models

> hide #!7 models

> show #!7 models

> hide #!6 models

> show #!6 models

> hide #!8 models

> show #!8 models

Drag select of 164 residues  

> select up

1507 atoms, 1540 bonds, 200 residues, 1 model selected  

> select up

3394 atoms, 3475 bonds, 448 residues, 1 model selected  

> select ~sel & #8

32594 atoms, 33446 bonds, 19 pseudobonds, 4120 residues, 2 models selected  

> delete sel

> show #!2 models

> select clear

[Repeated 1 time(s)]

> volume #3 level 0.1401

> volume #3 level 0.05852

> vop gaussian #3 sDev 3

Opened cryosparc_P502_J119_004_volume_map.mrc z flip gaussian as #9, grid size
288,288,288, pixel 1.26, shown at step 1, values float32  

> select clear

Drag select of 853 residues, 2 pseudobonds, 9
cryosparc_P502_J119_004_volume_map.mrc z flip gaussian  

> select clear

[Repeated 1 time(s)]

> lighting simple

> select clear

[Repeated 1 time(s)]

> lighting soft




OpenGL version: 4.1 Metal - 76.3
OpenGL renderer: Apple M1 Max
OpenGL vendor: Apple

Python: 3.9.11
Locale: UTF-8
Qt version: PyQt6 6.3.0, Qt 6.3.0
Qt runtime version: 6.3.0
Qt platform: cocoa
Hardware:

    Hardware Overview:

      Model Name: MacBook Pro
      Model Identifier: MacBookPro18,4
      Processor Name: Unknown
      Processor Speed: 2.4 GHz
      Number of Processors: 1
      Total Number of Cores: 10
      L2 Cache: 20 MB
      Memory: 32 GB

Software:

    System Software Overview:

      System Version: macOS 12.4 (21F79)
      Kernel Version: Darwin 21.5.0
      Time since boot: 20 days 6:10

Graphics/Displays:

    Apple M1 Max:

      Chipset Model: Apple M1 Max
      Type: GPU
      Bus: Built-In
      Total Number of Cores: 24
      Vendor: Apple (0x106b)
      Metal Family: Supported, Metal GPUFamily Apple 7
      Displays:
        HP 23f:
          Resolution: 1920 x 1080 (1080p FHD - Full High Definition)
          UI Looks like: 1920 x 1080 @ 75.00Hz
          Main Display: Yes
          Mirror: Off
          Online: Yes
        Color LCD:
          Display Type: Built-in Liquid Retina XDR Display
          Resolution: 3024 x 1964 Retina
          Mirror: Off
          Online: Yes
          Automatically Adjust Brightness: Yes
          Connection Type: Internal


Installed Packages:
    alabaster: 0.7.12
    appdirs: 1.4.4
    appnope: 0.1.3
    Babel: 2.10.1
    backcall: 0.2.0
    blockdiag: 3.0.0
    certifi: 2021.10.8
    cftime: 1.6.0
    charset-normalizer: 2.0.12
    ChimeraX-AddCharge: 1.2.3
    ChimeraX-AddH: 2.1.11
    ChimeraX-AlignmentAlgorithms: 2.0
    ChimeraX-AlignmentHdrs: 3.2.1
    ChimeraX-AlignmentMatrices: 2.0
    ChimeraX-Alignments: 2.4.3
    ChimeraX-AlphaFold: 1.0
    ChimeraX-AltlocExplorer: 1.0.2
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Arrays: 1.0
    ChimeraX-Atomic: 1.39.1
    ChimeraX-AtomicLibrary: 7.0
    ChimeraX-AtomSearch: 2.0.1
    ChimeraX-AxesPlanes: 2.1
    ChimeraX-BasicActions: 1.1
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 2.1.1
    ChimeraX-BondRot: 2.0
    ChimeraX-BugReporter: 1.0
    ChimeraX-BuildStructure: 2.7
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.1
    ChimeraX-ButtonPanel: 1.0
    ChimeraX-CageBuilder: 1.0
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.2
    ChimeraX-ChemGroup: 2.0
    ChimeraX-Clashes: 2.2.4
    ChimeraX-ColorActions: 1.0
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-ColorKey: 1.5.1
    ChimeraX-CommandLine: 1.2.3
    ChimeraX-ConnectStructure: 2.0.1
    ChimeraX-Contacts: 1.0
    ChimeraX-Core: 1.4
    ChimeraX-CoreFormats: 1.1
    ChimeraX-coulombic: 1.3.2
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-CrystalContacts: 1.0
    ChimeraX-DataFormats: 1.2.2
    ChimeraX-Dicom: 1.1
    ChimeraX-DistMonitor: 1.1.5
    ChimeraX-Dssp: 2.0
    ChimeraX-EMDB-SFF: 1.0
    ChimeraX-ExperimentalCommands: 1.0
    ChimeraX-FileHistory: 1.0
    ChimeraX-FunctionKey: 1.0
    ChimeraX-Geometry: 1.2
    ChimeraX-gltf: 1.0
    ChimeraX-Graphics: 1.1
    ChimeraX-Hbonds: 2.1.2
    ChimeraX-Help: 1.2
    ChimeraX-HKCage: 1.3
    ChimeraX-IHM: 1.1
    ChimeraX-ImageFormats: 1.2
    ChimeraX-IMOD: 1.0
    ChimeraX-IO: 1.0.1
    ChimeraX-ItemsInspection: 1.0
    ChimeraX-Label: 1.1.1
    ChimeraX-ListInfo: 1.1.1
    ChimeraX-Log: 1.1.5
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Maestro: 1.8.1
    ChimeraX-Map: 1.1
    ChimeraX-MapData: 2.0
    ChimeraX-MapEraser: 1.0
    ChimeraX-MapFilter: 2.0
    ChimeraX-MapFit: 2.0
    ChimeraX-MapSeries: 2.1
    ChimeraX-Markers: 1.0
    ChimeraX-Mask: 1.0
    ChimeraX-MatchMaker: 2.0.6
    ChimeraX-MDcrds: 2.6
    ChimeraX-MedicalToolbar: 1.0.1
    ChimeraX-Meeting: 1.0
    ChimeraX-MLP: 1.1
    ChimeraX-mmCIF: 2.7
    ChimeraX-MMTF: 2.1
    ChimeraX-Modeller: 1.5.5
    ChimeraX-ModelPanel: 1.3.2
    ChimeraX-ModelSeries: 1.0
    ChimeraX-Mol2: 2.0
    ChimeraX-Morph: 1.0
    ChimeraX-MouseModes: 1.1
    ChimeraX-Movie: 1.0
    ChimeraX-Neuron: 1.0
    ChimeraX-Nucleotides: 2.0.2
    ChimeraX-OpenCommand: 1.9
    ChimeraX-PDB: 2.6.6
    ChimeraX-PDBBio: 1.0
    ChimeraX-PDBLibrary: 1.0.2
    ChimeraX-PDBMatrices: 1.0
    ChimeraX-PickBlobs: 1.0
    ChimeraX-Positions: 1.0
    ChimeraX-PresetMgr: 1.1
    ChimeraX-PubChem: 2.1
    ChimeraX-ReadPbonds: 1.0.1
    ChimeraX-Registration: 1.1
    ChimeraX-RemoteControl: 1.0
    ChimeraX-ResidueFit: 1.0
    ChimeraX-RestServer: 1.1
    ChimeraX-RNALayout: 1.0
    ChimeraX-RotamerLibMgr: 2.0.1
    ChimeraX-RotamerLibsDunbrack: 2.0
    ChimeraX-RotamerLibsDynameomics: 2.0
    ChimeraX-RotamerLibsRichardson: 2.0
    ChimeraX-SaveCommand: 1.5.1
    ChimeraX-SchemeMgr: 1.0
    ChimeraX-SDF: 2.0
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0
    ChimeraX-SelInspector: 1.0
    ChimeraX-SeqView: 2.6
    ChimeraX-Shape: 1.0.1
    ChimeraX-Shell: 1.0
    ChimeraX-Shortcuts: 1.1
    ChimeraX-ShowAttr: 1.0
    ChimeraX-ShowSequences: 1.0
    ChimeraX-SideView: 1.0
    ChimeraX-Smiles: 2.1
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.8
    ChimeraX-STL: 1.0
    ChimeraX-Storm: 1.0
    ChimeraX-StructMeasure: 1.0.1
    ChimeraX-Struts: 1.0.1
    ChimeraX-Surface: 1.0
    ChimeraX-SwapAA: 2.0
    ChimeraX-SwapRes: 2.1.1
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-Toolbar: 1.1.1
    ChimeraX-ToolshedUtils: 1.2.1
    ChimeraX-Tug: 1.0
    ChimeraX-UI: 1.18.3
    ChimeraX-uniprot: 2.2
    ChimeraX-UnitCell: 1.0
    ChimeraX-ViewDockX: 1.1.2
    ChimeraX-VIPERdb: 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.1.0
    ChimeraX-Zone: 1.0
    colorama: 0.4.4
    cxservices: 1.2
    cycler: 0.11.0
    Cython: 0.29.26
    debugpy: 1.6.0
    decorator: 5.1.1
    docutils: 0.17.1
    entrypoints: 0.4
    filelock: 3.4.2
    fonttools: 4.33.3
    funcparserlib: 1.0.0
    grako: 3.16.5
    h5py: 3.7.0
    html2text: 2020.1.16
    idna: 3.3
    ihm: 0.27
    imagecodecs: 2021.11.20
    imagesize: 1.3.0
    ipykernel: 6.6.1
    ipython: 7.31.1
    ipython-genutils: 0.2.0
    jedi: 0.18.1
    Jinja2: 3.0.3
    jupyter-client: 7.1.0
    jupyter-core: 4.10.0
    kiwisolver: 1.4.2
    line-profiler: 3.4.0
    lxml: 4.7.1
    lz4: 3.1.10
    MarkupSafe: 2.1.1
    matplotlib: 3.5.1
    matplotlib-inline: 0.1.3
    msgpack: 1.0.3
    nest-asyncio: 1.5.5
    netCDF4: 1.5.8
    networkx: 2.6.3
    numexpr: 2.8.1
    numpy: 1.22.1
    openvr: 1.16.802
    packaging: 21.0
    ParmEd: 3.4.3
    parso: 0.8.3
    pexpect: 4.8.0
    pickleshare: 0.7.5
    Pillow: 9.0.1
    pip: 21.3.1
    pkginfo: 1.8.2
    prompt-toolkit: 3.0.29
    psutil: 5.9.0
    ptyprocess: 0.7.0
    pycollada: 0.7.2
    pydicom: 2.2.2
    Pygments: 2.11.2
    PyOpenGL: 3.1.5
    PyOpenGL-accelerate: 3.1.5
    pyparsing: 3.0.9
    PyQt6-commercial: 6.3.0
    PyQt6-Qt6: 6.3.0
    PyQt6-sip: 13.3.1
    PyQt6-WebEngine-commercial: 6.3.0
    PyQt6-WebEngine-Qt6: 6.3.0
    python-dateutil: 2.8.2
    pytz: 2022.1
    pyzmq: 23.1.0
    qtconsole: 5.3.0
    QtPy: 2.1.0
    RandomWords: 0.3.0
    requests: 2.27.1
    scipy: 1.7.3
    setuptools: 59.8.0
    sfftk-rw: 0.7.2
    six: 1.16.0
    snowballstemmer: 2.2.0
    sortedcontainers: 2.4.0
    Sphinx: 4.3.2
    sphinx-autodoc-typehints: 1.15.2
    sphinxcontrib-applehelp: 1.0.2
    sphinxcontrib-blockdiag: 3.0.0
    sphinxcontrib-devhelp: 1.0.2
    sphinxcontrib-htmlhelp: 2.0.0
    sphinxcontrib-jsmath: 1.0.1
    sphinxcontrib-qthelp: 1.0.3
    sphinxcontrib-serializinghtml: 1.1.5
    suds-community: 1.0.0
    tables: 3.7.0
    tifffile: 2021.11.2
    tinyarray: 1.2.4
    tornado: 6.1
    traitlets: 5.1.1
    urllib3: 1.26.9
    wcwidth: 0.2.5
    webcolors: 1.11.1
    wheel: 0.37.1
    wheel-filename: 1.3.0

Change History (14)

comment:1 by Eric Pettersen, 3 years ago

Component: UnassignedGraphics
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionDrag select blacks out graphics

Reported by Daniel Asarnow

comment:2 by Tom Goddard, 3 years ago

I have a slightly older MacBookPro18,2 M1 Max with macOS 12.5 drag select on an atomic model shown as ribbon works correctly, never blacks out. It sounds like a graphics driver bug. I have been amazed that I have not seen any graphics driver bugs on Mac M1, nor have I seen any crashes, in the 1.5 years they have been out, while Intel Mac graphics drivers crashes often -- we get crash reports every week.

Maybe try updating to macOS 12.5 -- I doubt that will fix it, since I did not have the problem on macOS 12.4.

You could also try the native M1 ChimeraX technology preview build at the bottom of the ChimeraX download page.

comment:3 by Tom Goddard, 3 years ago

Does drag select always cause the blackout? Does it happen with no external display connected? Does it happen with soft, full and simple lighting? Does it happen with only an atomic model shown, or only a map shown?

in reply to:  4 ; comment:4 by asarnow@…, 3 years ago

It seems to always happen - with and without external display, both models
and maps (I opened only one at a time), and all combinations of lighting
including for shadows and silhouettes. The only plugin I have installed is
ISOLDE (and thus clipper), and I install it right away when I upgrade, so
I'll give a clean ChimeraX a test as well.

-da

On Mon, Aug 8, 2022 at 7:45 PM ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
wrote:

comment:5 by Tom Goddard, 3 years ago

Hard to imagine how our nearly identical laptops can give different graphics behavior. I have ISOLDE installed too. Maybe there is some ChimeraX preference setting that causes this. You could temporarily rename the directory where all ChimeraX settings are saved

~/Library/Application Support/ChimeraX/

so ChimeraX does not see it and creates a new directory. This is where ISOLDE is installed too, so I suggest not deleting that directory because you will want to restore it after the test.

One other idea, is your display scaling set to something other than the default?

comment:6 by Tom Goddard, 3 years ago

Elaine also does not observe an graphics problem with drag select on M1 MacBook Pro and macOS 12.5.

Begin forwarded message:

From: Elaine Meng via ChimeraX-users <chimerax-users@cgl.ucsf.edu>
Subject: Re: [chimerax-users] Drag select blanks view window
Date: August 9, 2022 at 5:05:05 PM PDT
To: Tom Goddard, Daniel Asarnow
Cc: ChimeraX Users Help <chimerax-users@cgl.ucsf.edu>

Oh sorry, I didn't notice the mention of my name until now!

I don't have this problem using drag-to-select in the ChimeraX 1.4 release on my 2021 M1 MacBook Pro with MacOS 12.5.  I didn't notice the problem back when I was running 12.4 either, but then again, I rarely use drag-to-select.

I tried both drag-selecting where the rectangle had something in it, resulting in a selection, and drag-select empty rectangle, resulting in no selection.  Neither one blacked out the graphics window. Before releasing the click, I do see that the parts of the rectangle that are crossing ribbon or a map surface are magenta, while the rest of the rectangle is green.  When I release the click, the selection or lack thereof are as they are supposed to be, however.

This failure to update the graphics window occasionally after actions involving selection and/or silhouette outlines sounds like problems I did observe on my older laptop, 2015 Intel Mac, but I haven't seen it using this newer system.

If you need me to try anything else or send info, let me know...
Elaine

in reply to:  7 ; comment:7 by asarnow@…, 3 years ago

Renaming ~/Library/Application Support/ChimeraX actually worked! It also
continues to work after reinstalling ISOLDE and adding back my initial
lighting settings. I'm poking around for some explanation, I'll let you
know if I find something.

Best,
-da

On Tue, Aug 9, 2022 at 5:25 PM ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
wrote:

in reply to:  8 ; comment:8 by asarnow@…, 3 years ago

Aaaaand it's back. Since clearing the Application Support directory I've
done some rebuilding in ISOLDE, map coloring, and saving some maps and
models. I guess I'll have to try all of these things one at a time to if
there's a trigger, or maybe I can clear the preferences again and try
diff'ing the files.

Best,
-da

On Tue, Aug 16, 2022 at 6:09 PM ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
wrote:

in reply to:  9 ; comment:9 by asarnow@…, 3 years ago

It's caused by showing the side view tool at startup. Opening side view
manually after startup doesn't trigger the bug. OTOH once the bug is
triggered closing side view has no effect.

(I like having Log, Models, Vol Viewer, and Side View all tabbed on the
same right pane and opened by default).

Best,
-da

On Wed, Aug 17, 2022 at 3:32 PM ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
wrote:

comment:10 by Tom Goddard, 3 years ago

Good observation. I find that showing the side view breaks drag select on my Mac laptop too. I don't need to autostart ChimeraX. If I just show Side View after opening an atomic model, then rotate the model, then ctrl-drag causes the graphics to change as soon as the drag starts to what was shown when the side view was first shown. This is really strange. I guess in your case, nothing was shown when the side view auto-started so you see the graphics go black. This really weird because ChimeraX is not saving the graphics, it is somehow macOS saving it. I guess it is related to the macOS window "backing-store" and the fact that once the side view is shown ChimeraX is now rendering to two different windows. I will investigate what can be done to remedy this.

comment:11 by Tom Goddard, 3 years ago

I also find that if I close the side view then the first drag select has the bug, but the second drag select works correctly.

comment:12 by Tom Goddard, 3 years ago

If I open a model, then side view, then close the model, and open a different model, then drag select, as soon as the drag starts it reshows the previously closed model. ChimeraX has no memory of that previous model. It seems it is being remembered by the macOS windowing system.

To draw the drag box ChimeraX avoids redrawing the scene which may render very slowly. Instead ChimeraX just draws a rectangle over the current OpenGL front buffer. For some reason drawing to the front buffer is causing the Mac windowing system to restore this old cached image of the main graphics at the time the side view was first displayed.

I tested with ChimeraX 1.3 which uses Qt 5 and ChimeraX 1.4 which uses Qt 6 and both exhibit the problem. So if Qt is requesting some weird buggy backing store mode, then it is both Qt 5 and 6 that are doing it.

I tested on macOS 12.5 with an M1 Mac. It would be worth trying with older macOS (11 and 10.15) and on an Intel Mac. I tested on an Intel iMac with AMD graphics with macOS 12.5 and it did not exhibit the bug using Mac desktop screen sharing (vnc protocol). I should try again at the console of the computer in case the bug is hidden by screen sharing.

Last edited 3 years ago by Tom Goddard (previous) (diff)

comment:13 by Tom Goddard, 3 years ago

Testing shows that it is drawing to the front buffer combined with using the OpenGL context on the side view window that causes the wrong graphics to be displayed. It doesn't matter if the drag box is actually drawn, or if anything is drawn in the side view. Just changing the drawing state and drawing nothing exhibits the same bug.

glDrawBuffer(GL_FRONT)
glFlush()
glDrawBuffer(GL.GL_BACK)

If I instead draw the drag box to the back buffer then there is no bug, but of course the drag box is not visible then. If I draw to the back buffer and swap to the front it sometimes works correctly and other times appears to show every other frame as the incorrect old graphics interleaved with the correct graphics.

I made the rendering always offscreen setting the color depth to 16 using "graphics quality colordepth 16" and the bug is the same.

Last edited 3 years ago by Tom Goddard (previous) (diff)

comment:14 by Tom Goddard, 3 years ago

Resolution: fixed
Status: assignedclosed

Fixed.

It is not clear if this is an OpenGL driver bug. When the side view is drawn after the main view and then the OpenGL context is switched back to the main view it may be that the front buffer is invalid. I've never observed this with any other graphics driver. But it may be that the OpenGL specification does not declare whether the front buffer remains valid for each window the OpenGL context is used on. The OpenGL spec often leaves out those kinds of details so it is up to the graphics driver developer to decide. It appears that AMD and Nvidia and Intel drivers keep the front buffer valid but Mac M1 does not possibly because it is not required by the specification. I suspect hours could be spent not finding any information in the OpenGL specification about this. In any case I need a solution for the Mac M1 behavior and the obvious solution is to assume the front buffer for the main view becomes invalid if rendering is done to the side view. The easy fix is rerender the main view before drawing the drag box if the side view is being used. So that is what I did.

Note: See TracTickets for help on using tickets.