#15669 closed defect (not a bug)
module 'xr' has no attribute 'GraphicsBindingOpenGLWin32KHR'
Reported by: | Owned by: | Tom Goddard | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | VR | Version: | |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
The following bug report has been submitted: Platform: Linux-6.9.9-1-default-x86_64-with-glibc2.39 ChimeraX Version: 1.8 (2024-06-10 23:15:52 UTC) Description Typed 'xr on' and hit enter Log: Startup Messages --- note | available bundle cache has not been initialized yet > set bgColor #80808000 > lighting soft UCSF ChimeraX version: 1.8 (2024-06-10) © 2016-2024 Regents of the University of California. All rights reserved. How to cite UCSF ChimeraX > xr true > lighting simple Traceback (most recent call last): File "/usr/libexec/UCSF-ChimeraX/lib/python3.11/site- packages/chimerax/cmd_line/tool.py", line 319, in execute cmd.run(cmd_text) File "/usr/libexec/UCSF-ChimeraX/lib/python3.11/site- packages/chimerax/core/commands/cli.py", line 3213, in run result = ci.function(session, **kw_args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/libexec/UCSF-ChimeraX/lib/python3.11/site- packages/chimerax/vive/xr.py", line 80, in vr start_vr(session, multishadow_allowed, simplify_graphics) File "/usr/libexec/UCSF-ChimeraX/lib/python3.11/site- packages/chimerax/vive/xr.py", line 374, in start_vr c.start_vr() File "/usr/libexec/UCSF-ChimeraX/lib/python3.11/site- packages/chimerax/vive/xr.py", line 509, in start_vr xr.start_session() File "/usr/libexec/UCSF-ChimeraX/lib/python3.11/site- packages/chimerax/vive/openxr.py", line 49, in start_session self._session = self._create_session() # Connect to headset ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/libexec/UCSF-ChimeraX/lib/python3.11/site- packages/chimerax/vive/openxr.py", line 171, in _create_session gb = xr.GraphicsBindingOpenGLWin32KHR() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: module 'xr' has no attribute 'GraphicsBindingOpenGLWin32KHR' AttributeError: module 'xr' has no attribute 'GraphicsBindingOpenGLWin32KHR' File "/usr/libexec/UCSF-ChimeraX/lib/python3.11/site- packages/chimerax/vive/openxr.py", line 171, in _create_session gb = xr.GraphicsBindingOpenGLWin32KHR() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ See log for complete Python traceback. OpenGL version: 4.6 (Core Profile) Mesa 24.1.3 OpenGL renderer: AMD Radeon 780M (radeonsi, gfx1103_r1, LLVM 18.1.8, DRM 3.57, 6.9.9-1-default) OpenGL vendor: AMD Python: 3.11.4 Locale: en_US.UTF-8 Qt version: PyQt6 6.6.1, Qt 6.6.1 Qt runtime version: 6.6.3 Qt platform: xcb XDG_SESSION_TYPE=wayland DESKTOP_SESSION=plasmawayland XDG_SESSION_DESKTOP=KDE XDG_CURRENT_DESKTOP=KDE DISPLAY=:1 WAYLAND_DISPLAY=wayland-0 Manufacturer: Framework Model: Laptop 16 (AMD Ryzen 7040 Series) OS: openSUSE Tumbleweed 20240716 n/a Architecture: 64bit ELF Virtual Machine: none CPU: 16 AMD Ryzen 7 7840HS w/ Radeon 780M Graphics Cache Size: 1024 KB Memory: total used free shared buff/cache available Mem: 60Gi 4.3Gi 52Gi 74Mi 4.4Gi 56Gi Swap: 0B 0B 0B Graphics: 03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 33 [Radeon RX 7700S/7600/7600S/7600M XT/PRO W7600] [1002:7480] (rev c1) DeviceName: Realtek Subsystem: Framework Computer Inc. Device [f111:0007] Installed Packages: alabaster: 0.7.16 appdirs: 1.4.4 asttokens: 2.4.1 Babel: 2.15.0 beautifulsoup4: 4.12.3 blockdiag: 3.0.0 blosc2: 2.0.0 build: 1.2.1 certifi: 2024.6.2 cftime: 1.6.4 charset-normalizer: 3.3.2 ChimeraX-AddCharge: 1.5.17 ChimeraX-AddH: 2.2.6 ChimeraX-AlignmentAlgorithms: 2.0.2 ChimeraX-AlignmentHdrs: 3.5 ChimeraX-AlignmentMatrices: 2.1 ChimeraX-Alignments: 2.12.7 ChimeraX-AlphaFold: 1.0 ChimeraX-AltlocExplorer: 1.1.1 ChimeraX-AmberInfo: 1.0 ChimeraX-Arrays: 1.1 ChimeraX-Atomic: 1.57.1 ChimeraX-AtomicLibrary: 14.0.6 ChimeraX-AtomSearch: 2.0.1 ChimeraX-AxesPlanes: 2.4 ChimeraX-BasicActions: 1.1.2 ChimeraX-BILD: 1.0 ChimeraX-BlastProtein: 2.4.6 ChimeraX-BondRot: 2.0.4 ChimeraX-BugReporter: 1.0.1 ChimeraX-BuildStructure: 2.12.1 ChimeraX-Bumps: 1.0 ChimeraX-BundleBuilder: 1.2.7 ChimeraX-ButtonPanel: 1.0.1 ChimeraX-CageBuilder: 1.0.1 ChimeraX-CellPack: 1.0 ChimeraX-Centroids: 1.4 ChimeraX-ChangeChains: 1.1 ChimeraX-CheckWaters: 1.4 ChimeraX-ChemGroup: 2.0.1 ChimeraX-Clashes: 2.2.4 ChimeraX-Clipper: 0.23.1 ChimeraX-clix: 0.1.6 ChimeraX-ColorActions: 1.0.5 ChimeraX-ColorGlobe: 1.0 ChimeraX-ColorKey: 1.5.6 ChimeraX-CommandLine: 1.2.5 ChimeraX-ConnectStructure: 2.0.1 ChimeraX-Contacts: 1.0.1 ChimeraX-Core: 1.8 ChimeraX-CoreFormats: 1.2 ChimeraX-coulombic: 1.4.3 ChimeraX-Crosslinks: 1.0 ChimeraX-Crystal: 1.0 ChimeraX-CrystalContacts: 1.0.1 ChimeraX-DataFormats: 1.2.3 ChimeraX-Dicom: 1.2.4 ChimeraX-DiffPlot: 1.0 ChimeraX-DistMonitor: 1.4.2 ChimeraX-DockPrep: 1.1.3 ChimeraX-Dssp: 2.0 ChimeraX-EMDB-SFF: 1.0 ChimeraX-ESMFold: 1.0 ChimeraX-FileHistory: 1.0.1 ChimeraX-FunctionKey: 1.0.1 ChimeraX-Geometry: 1.3 ChimeraX-gltf: 1.0 ChimeraX-Graphics: 1.1.1 ChimeraX-Hbonds: 2.4 ChimeraX-Help: 1.2.2 ChimeraX-HKCage: 1.3 ChimeraX-IHM: 1.1 ChimeraX-ImageFormats: 1.2 ChimeraX-IMOD: 1.0 ChimeraX-IO: 1.0.1 ChimeraX-ISOLDE: 1.8 ChimeraX-ItemsInspection: 1.0.1 ChimeraX-IUPAC: 1.0 ChimeraX-Label: 1.1.10 ChimeraX-LinuxSupport: 1.0.1 ChimeraX-ListInfo: 1.2.2 ChimeraX-Log: 1.1.6 ChimeraX-LookingGlass: 1.1 ChimeraX-Maestro: 1.9.1 ChimeraX-Map: 1.2 ChimeraX-MapData: 2.0 ChimeraX-MapEraser: 1.0.1 ChimeraX-MapFilter: 2.0.1 ChimeraX-MapFit: 2.0 ChimeraX-MapSeries: 2.1.1 ChimeraX-Markers: 1.0.1 ChimeraX-Mask: 1.0.2 ChimeraX-MatchMaker: 2.1.3 ChimeraX-MCopy: 1.0 ChimeraX-MDcrds: 2.7.1 ChimeraX-MedicalToolbar: 1.0.3 ChimeraX-Meeting: 1.0.1 ChimeraX-MLP: 1.1.1 ChimeraX-mmCIF: 2.14.1 ChimeraX-MMTF: 2.2 ChimeraX-Modeller: 1.5.17 ChimeraX-ModelPanel: 1.5 ChimeraX-ModelSeries: 1.0.1 ChimeraX-Mol2: 2.0.3 ChimeraX-Mole: 1.0 ChimeraX-Morph: 1.0.2 ChimeraX-MouseModes: 1.2 ChimeraX-Movie: 1.0 ChimeraX-Neuron: 1.0 ChimeraX-Nifti: 1.2 ChimeraX-NMRSTAR: 1.0.2 ChimeraX-NRRD: 1.2 ChimeraX-Nucleotides: 2.0.3 ChimeraX-OpenCommand: 1.13.5 ChimeraX-PDB: 2.7.5 ChimeraX-PDBBio: 1.0.1 ChimeraX-PDBLibrary: 1.0.4 ChimeraX-PDBMatrices: 1.0 ChimeraX-PhenixUI: 1.3.2 ChimeraX-PickBlobs: 1.0.1 ChimeraX-Positions: 1.0 ChimeraX-PresetMgr: 1.1.1 ChimeraX-PubChem: 2.2 ChimeraX-ReadPbonds: 1.0.1 ChimeraX-Registration: 1.1.2 ChimeraX-RemoteControl: 1.0 ChimeraX-RenderByAttr: 1.4.1 ChimeraX-RenumberResidues: 1.1 ChimeraX-ResidueFit: 1.0.1 ChimeraX-RestServer: 1.2 ChimeraX-RNALayout: 1.0 ChimeraX-RotamerLibMgr: 4.0 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.2 ChimeraX-Segger: 1.0 ChimeraX-Segment: 1.0.1 ChimeraX-Segmentations: 3.0.15 ChimeraX-SelInspector: 1.0 ChimeraX-SeqView: 2.11.2 ChimeraX-Shape: 1.0.1 ChimeraX-Shell: 1.0.1 ChimeraX-Shortcuts: 1.1.1 ChimeraX-ShowSequences: 1.0.3 ChimeraX-SideView: 1.0.1 ChimeraX-Smiles: 2.1.2 ChimeraX-SmoothLines: 1.0 ChimeraX-SpaceNavigator: 1.0 ChimeraX-StdCommands: 1.16.5 ChimeraX-STL: 1.0.1 ChimeraX-Storm: 1.0 ChimeraX-StructMeasure: 1.2.1 ChimeraX-Struts: 1.0.1 ChimeraX-Surface: 1.0.1 ChimeraX-SwapAA: 2.0.1 ChimeraX-SwapRes: 2.5 ChimeraX-TapeMeasure: 1.0 ChimeraX-TaskManager: 1.0 ChimeraX-Test: 1.0 ChimeraX-Toolbar: 1.1.2 ChimeraX-ToolshedUtils: 1.2.4 ChimeraX-Topography: 1.0 ChimeraX-ToQuest: 1.0 ChimeraX-Tug: 1.0.1 ChimeraX-UI: 1.39.1 ChimeraX-uniprot: 2.3 ChimeraX-UnitCell: 1.0.1 ChimeraX-ViewDockX: 1.4.3 ChimeraX-VIPERdb: 1.0 ChimeraX-Vive: 1.1 ChimeraX-VolumeMenu: 1.0.1 ChimeraX-vrml: 1.0 ChimeraX-VTK: 1.0 ChimeraX-WavefrontOBJ: 1.0 ChimeraX-WebCam: 1.0.2 ChimeraX-WebServices: 1.1.4 ChimeraX-Zone: 1.0.1 colorama: 0.4.6 comm: 0.2.2 contourpy: 1.2.1 cxservices: 1.2.2 cycler: 0.12.1 Cython: 3.0.10 debugpy: 1.8.1 decorator: 5.1.1 distro: 1.9.0 docutils: 0.20.1 executing: 2.0.1 filelock: 3.13.4 fonttools: 4.53.0 funcparserlib: 2.0.0a0 glfw: 2.7.0 grako: 3.16.5 h5py: 3.11.0 html2text: 2024.2.26 idna: 3.7 ihm: 1.0 imagecodecs: 2024.1.1 imagesize: 1.4.1 ipykernel: 6.29.2 ipython: 8.21.0 ipywidgets: 8.1.3 jedi: 0.19.1 jinja2: 3.1.4 jupyter-client: 8.6.0 jupyter-core: 5.7.2 jupyterlab-widgets: 3.0.11 kiwisolver: 1.4.5 line-profiler: 4.1.2 lxml: 5.2.1 lz4: 4.3.3 MarkupSafe: 2.1.5 matplotlib: 3.8.4 matplotlib-inline: 0.1.7 msgpack: 1.0.8 nest-asyncio: 1.6.0 netCDF4: 1.6.5 networkx: 3.3 nibabel: 5.2.0 nptyping: 2.5.0 numexpr: 2.10.0 numpy: 1.26.4 openvr: 1.26.701 packaging: 24.1 ParmEd: 4.2.2 parso: 0.8.4 pep517: 0.13.1 pexpect: 4.9.0 pillow: 10.3.0 pip: 24.0 pkginfo: 1.10.0 platformdirs: 4.2.2 prompt-toolkit: 3.0.47 psutil: 5.9.8 ptyprocess: 0.7.0 pure-eval: 0.2.2 py-cpuinfo: 9.0.0 pycollada: 0.8 pydicom: 2.4.4 pygments: 2.17.2 pynmrstar: 3.3.4 pynrrd: 1.0.0 PyOpenGL: 3.1.7 PyOpenGL-accelerate: 3.1.7 pyopenxr: 1.0.3401 pyparsing: 3.1.2 pyproject-hooks: 1.1.0 PyQt6-commercial: 6.6.1 PyQt6-Qt6: 6.6.3 PyQt6-sip: 13.6.0 PyQt6-WebEngine-commercial: 6.6.0 PyQt6-WebEngine-Qt6: 6.6.3 python-dateutil: 2.9.0.post0 pytz: 2024.1 pyzmq: 26.0.3 qtconsole: 5.5.1 QtPy: 2.4.1 RandomWords: 0.4.0 requests: 2.31.0 scipy: 1.13.0 setuptools: 69.5.1 sfftk-rw: 0.8.1 six: 1.16.0 snowballstemmer: 2.2.0 sortedcontainers: 2.4.0 soupsieve: 2.5 sphinx: 7.2.6 sphinx-autodoc-typehints: 2.0.1 sphinxcontrib-applehelp: 1.0.8 sphinxcontrib-blockdiag: 3.0.0 sphinxcontrib-devhelp: 1.0.6 sphinxcontrib-htmlhelp: 2.0.5 sphinxcontrib-jsmath: 1.0.1 sphinxcontrib-qthelp: 1.0.7 sphinxcontrib-serializinghtml: 1.1.10 stack-data: 0.6.3 superqt: 0.6.3 tables: 3.8.0 tcia-utils: 1.5.1 tifffile: 2024.1.30 tinyarray: 1.2.4 tornado: 6.4.1 traitlets: 5.14.2 typing-extensions: 4.12.2 tzdata: 2024.1 urllib3: 2.2.1 wcwidth: 0.2.13 webcolors: 1.13 wheel: 0.43.0 wheel-filename: 1.4.1 widgetsnbextension: 4.0.11
Change History (7)
comment:1 by , 15 months ago
Component: | Unassigned → VR |
---|---|
Owner: | set to |
Platform: | → all |
Project: | → ChimeraX |
Status: | new → assigned |
Summary: | ChimeraX bug report submission → module 'xr' has no attribute 'GraphicsBindingOpenGLWin32KHR' |
comment:2 by , 15 months ago
Hello, SteamVR was not running. After starting it, the error goes away. This report can be closed. Best Regards, Colin Gauvin On 7/25/24 11:15, ChimeraX wrote: > > > >
comment:3 by , 15 months ago
I have never tried the ChimeraX xr command on Linux, only on Windows. I would not expect it to work on Linux since the function that is giving the error
xr.GraphicsBindingOpenGLWin32KHR()
is specific to Windows (that is what the Win32 refers to in the name). And there are other Windows calls used to get an OpenGL context for the OpenXR rendering. Are you telling me this actually worked on Linux after starting SteamVR?
While it should be possible to add to the ChimeraX OpenXR code to support Linux I never had time to attempt that. Already the VR users on Windows which is where 99% of the PC VR market is hardly ever used, so it is hard for me to support Linux VR.
comment:4 by , 15 months ago
Hi Tom, The short answer is I don't know. The long answer is I need to reply to your reply about the "Xreality" glasses, but I'm still testing out all possible avenues. One pair of glasses I have (Xreal Air) have an OpenXR driver built into Monado, which detects them perfectly fine, and I can use them as XR glasses. However, that's only with Monado as the OpenXR provider. If I switch the provider to SteamVR, it can't detect the glasses. Since ChimeraX only seems to be able to do XR through SteamVR, not Monado, I don't know if they will work with OpenXR. I tried just 'xr on' and got this error. Then I realized SteamVR needed to be open, so I tried opening SteamVR and 'xr on' then gave the message about "VR headset not found, using SteamVR/OpenXR" etc. This is expected because SteamVR does not detect my glasses. Historically, the Valve Index has worked with ChimeraX VR mode on Linux, so if I can get SteamVR to detect my glasses, I'm wondering if VR mode will work. There is a custom driver for the glasses to let SteamVR detect them/use them, so if I can get that working, I will let you know how it fares in ChimeraX. P.S. - thanks for all the work you do, especially on the 3D rendering side. Stereo is dying tool but I can't get by without it. Best Regards, Colin Gauvin On 7/25/24 14:58, ChimeraX wrote: > > > > >
comment:5 by , 15 months ago
Resolution: | → not a bug |
---|---|
Status: | assigned → closed |
Hi Colin,
The ChimeraX xr command uses OpenXR which in theory works with any OpenXR implementation. I have used it with Quest and the Oculus Windows PC app without SteamVR, and I have also used it with SteamVR, so at least those two OpenXR implementations work. But the OpenXR code requires specifying an OpenGL context and that is operating system dependent and I only added support for Windows.
So in summary I would expect the ChimeraX xr command to work with any compliant OpenXR library on Windows, but not work on Linux.
Tom
comment:6 by , 15 months ago
Thanks - that clarifies things. That's too bad since there's no XR driver for the glasses on Windows. Seems like getting SteamVR working on Linux is probably the only real shot. Best Regards, Colin Gauvin On 7/25/24 15:23, ChimeraX wrote: > > > > > > >
comment:7 by , 15 months ago
I wrote the ChimeraX VR and OpenXR code and I have only tested it on Windows for the past 5 years. Before that I had SteamVR working on Linux and Mac but since there is almost no support for VR on those operating systems I gave that up. But since that time SteamVR officially dropped support for Mac (that never really existed) and officially supported Linux. But I have not tried whether ChimeraX VR works on Linux with SteamVR. OpenXR could also work with Linux but as I said I did not add the custom Linux code to ChimeraX OpenXR to allow that.
VR and XR hardware is so bleeding edge it barely works on the platforms that the venders are targeting, so to try it on some other platform like Linux is insane. The question is what PC support does XReality offer? Maybe the answer is "none", and that is why you are trying these desperate measures.
Reported by Colin Gauvin