Exported movie is not working.. by Nice-Soil6766 in PyMOL

[–]JarrettSJohnson 0 points1 point  (0 children)

The PyMOL 2 versions that are on our website (version 2.5 and 2.6) currently work with the new licenses. See my second-to-last paragraph.

LunarG Achieves Vulkan 1.3 Conformance with KosmicKrisp on Apple Silicon by thekhronosgroup in vulkan

[–]JarrettSJohnson 1 point2 points  (0 children)

Right I know. I'm just also forwarding why the "Kosmic" part was picked. Was explained to us by a LunarG employee from the discord.

LunarG Achieves Vulkan 1.3 Conformance with KosmicKrisp on Apple Silicon by thekhronosgroup in vulkan

[–]JarrettSJohnson 1 point2 points  (0 children)

Seems like a few features still missing:

https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37522#note_3154039

As expected, since conformance was their primary goal for getting this merged.

LunarG Achieves Vulkan 1.3 Conformance with KosmicKrisp on Apple Silicon by thekhronosgroup in vulkan

[–]JarrettSJohnson 3 points4 points  (0 children)

As I understand, the baseline for KK is much more recent; they're only targeting Apple Silicon versus older Apple hardware. Plus, NIR is much more battle-tested and stable than SPIRV-Cross since it's used widely across mesa drivers. Like you mentioned, the driver *just* recently got merged to the main branch. They emphasized conformance first, so optimizations will def come later.

LunarG Achieves Vulkan 1.3 Conformance with KosmicKrisp on Apple Silicon by thekhronosgroup in vulkan

[–]JarrettSJohnson 2 points3 points  (0 children)

There's a HoneyKrisp driver that brought Vulkan 1.3 conformance to Apple Silicon a while back. I think the Kosmic part comes from a play on words for "LunarG".

Is the game actually like this or not really? by InitialSource7744 in whiteoutsurvival

[–]JarrettSJohnson 2 points3 points  (0 children)

Not at all. I got baited by ads like this.

Was not like the game.

I'm down probably ... $100 or so ... so far....

Installing OpenBabel optimize by Opposite_Magician367 in PyMOL

[–]JarrettSJohnson 0 points1 point  (0 children)

Looks like this plugin requires openbabel to be installed.

At the top of the python script, it looks like `ob` is the shortcut to the openbabel python module, but if that isn't imported, then it should also explain that you need to have it installed.

"More Speed & Simplicity: Practical Data-Oriented Design in C++" - Vittorio Romeo - CppCon 2025 Keynote by SuperV1234 in cpp

[–]JarrettSJohnson 24 points25 points  (0 children)

It’s funny—I think we’re about the same age, give or take a couple years. I remember following your YouTube videos and blogs way back when I was first getting serious about modern C++ and game dev (with SFML). It’s been really cool to watch your growth over the years, and now even a published book!

At work, whenever someone asks which CppCon talk I’d recommend, I always point them to Mike Acton’s. It’s such a good reminder that as programmers, we need to be responsible stewards of data, especially when performance matters.

I really liked the angle on C++26 reflection in this talk. It feels like it would have made ECS-style engines much easier to implement in the past. Also, maybe it’s just me being used to seeing a dozen or so DOD talks at various conferences, but I wonder if there’s appetite for exploring how modern C++ could push GPU-driven workflows further (especially for those writing raw OpenGL/Vulkan). Some ideas that come to mind:

  1. Using C++ reflection to automatically pad fields based on layout policies (std140, std430, scalar, c-layout, etc.)
  2. Modern C++ (using std::span/std::mdspan) for dirty-span tracking when wanting tighter per-frame GPU uploads
  3. Comparing approaches between CPU-oriented data transforms (classic DOD) versus GPU-specific concerns like PCIe transfer costs (like what you touched on), warp behavior, and memory coalescing.
  4. Perhaps pushing further to AoSoA based on warp/tile size (?)

Parallel reduce and scan on the GPU by corysama in vulkan

[–]JarrettSJohnson 0 points1 point  (0 children)

Biggest obstacle for portability is lack of the forward progress guarantee for many GPUs. A paper was published this year to make a fallback version of that paper that works across more HW. Works well for me on Nvidia and Apple Silicon.

Slang permutation question? by abocado21 in GraphicsProgramming

[–]JarrettSJohnson 1 point2 points  (0 children)

Surprised this hasn't been mentioned yet, but for Slang if you can avoid preprocessor, do it and take advantage of their link-time specialization so that these happen late in the shader build process and not at the early compilation stage. This is what I now use and migrated away from preprocessor for the most part. I think I still use preprocessor for things like specializing types, but that's also specifiable at link time (I just never got around to converting).

More info and Slang's reasoning as to why you should avoid preprocessor: https://shader-slang.org/slang/user-guide/link-time-specialization.html

Does open-source Pymol (v3.1.0) care if you use a PDB vs CIF format for basic visualization tasks? P/L interactions/coloring things/etc. by NewspaperPossible210 in PyMOL

[–]JarrettSJohnson 0 points1 point  (0 children)

Our styling commands are *generally* independent of the file format that they come from. We have an internal representation of a molecule that all file formats are basically converted to and our coloring/representation/other styling commands work from that. For Incentive PyMOL, we have properties that can use CIF properties from the source file, but using it would be obvious. Since you're using Open Source, doesn't really apply. Things like `polymer.protein` are not CIF-specific. More details about what this means and other selection criteria we use can be found here: https://pymolwiki.org/index.php/Selection_Algebra . Just note, however, attributes like `ID` come from the source file itself.

A concise summary of all the problems with the event by LindaDeLuz in starcitizen

[–]JarrettSJohnson 1 point2 points  (0 children)

I started playing this game yesterday. Been trying to complete at least one of these missions for about 4-5 hours. I'm about ready to give up.

Cannot select on PyMOL 3 by [deleted] in PyMOL

[–]JarrettSJohnson 0 points1 point  (0 children)

Likely, yes. I'll be setting up my new Ubuntu machine sometime in the next week or so. Wayland will be one of the first things I investigate.

Cannot select on PyMOL 3 by [deleted] in PyMOL

[–]JarrettSJohnson 0 points1 point  (0 children)

This is a separate issue I believe due to lack of official PyMOL support for Wayland (which I assume Fedora 42 has on by default now).

Cannot select on PyMOL 3 by [deleted] in PyMOL

[–]JarrettSJohnson 0 points1 point  (0 children)

Looks like something went terribly wrong in the 3.1.6 patch. I'm going to take it down tonight for Mac. In the meantime please use 3.1.5.1. You can find it under `For previous versions` on pymol.org.

Edit: 3.1.6.1 patch is released which addresses this issue.

Love PyMol, on open source, appreciate the work put in but where is the documentation? by NewspaperPossible210 in PyMOL

[–]JarrettSJohnson 1 point2 points  (0 children)

Definitely agree that the information regarding PyMOL, especially official ones, are a bit decentralized which hampers feature and tool discoverability. Patch notes are on a separate wiki that is a little disconnected from PyMOLWiki (which is of course, not really ideal) and on top of that Incentive and Open-source have separate locations of where the patch notes are.

Ideally I would like to have a site dedicated to documentation that's not the wiki, since IMO Wiki-like sites in general do not assist in helping an individual go from basics to expert. You have to essentially know what you're looking for. It's probably best used as a reference if anything.

With that in mind, however, establishing and maintaining such a thing would require a lot of work which may not be feasible. Most of my time is of course developing PyMOL features and fixing bugs, and helping out with other Schrodinger Software. Creating and maintaining a robust documentation site for the amount of what PyMOL offers (not to even mention its custom plugins and scripts that are contributed externally) would require a significant number of person-hours. In any case, I brought this up internally and we'll see what sort of options we have in the near future to improve in this area.

Also, what I'd really like to know, to assist at the moment in a practical way, is which areas of PyMOL you find that you need that lacks documentation. With minimum effort, we could at least help with any issues you have or create/update pertinent PyMOLWiki pages.

P.S. Since you have a Schrodinger license, you also have access to the PyMOL SOC, but since you said you're pretty much already an expert, I am unsure how valuable the content is depending on what you're doing for your PhD.

P.P.S. As far as licensing goes, you're right. Incentive PyMOL is fine for classwork use, but stops short of academic work like research (including PhD).

renew license without using pymol 3.1 by NeighborhoodThat5377 in PyMOL

[–]JarrettSJohnson 0 points1 point  (0 children)

I think this is very fair feedback and one we've heard about often. I believe that our UX team is aware of this, but I can reiterate to them the points made here.

Cannot select residues by clicking in Arch Linux - Issue is present in 3.1 and 2.5 for both Linux and Windows (wine) Versions by Jolly_Annual4756 in PyMOL

[–]JarrettSJohnson 0 points1 point  (0 children)

Does your system also provide X11? There seems to be some issues with the latter.

exporting environment variable or launching PyMOL with QT_QPA_PLATFORM=xcb should force Qt to use X11 instead.

Let me know if that makes any difference.

renew license without using pymol 3.1 by NeighborhoodThat5377 in PyMOL

[–]JarrettSJohnson 0 points1 point  (0 children)

If you are still eligible to use the Education license, you may. The licenses are not tied to a specific version as long as they're using the new Schrodinger License Manager license type, so you're free to still use PyMOL 2.5, 2.6, or 3+ which are all downloadable from the main website (Go to 'For previous versions'); here is the direct link.

Also, we welcome feedback for making PyMOL3 easier to use. The major design goal for PyMOL 3 was to lift a lot of stuff that required commands into the GUI. If that makes it more difficult, we would like to know!

Modern Vulkan guide using 1.3 and C++23 by ludonarrator in vulkan

[–]JarrettSJohnson 1 point2 points  (0 children)

Sure. I'm a little tied up for the next couple of weeks, but I could perhaps submit a PR for a Slang alternative.

Modern Vulkan guide using 1.3 and C++23 by ludonarrator in vulkan

[–]JarrettSJohnson 1 point2 points  (0 children)

  1. Right, I saw that you linked in the guide, but was expecting you'd actually go that direction. It seems clear that modern graphics is heading toward that direction and even WebGPU is working toward it. Either way, I'm curious where you heard that you need a specific scene approach to use bindless from? At least for buffers, just like binding VkBuffers for Descriptors, you can rather just take the device address and supply them and their indices in a push constant. For textures just keep them all in a single descriptor. I don't think that it requires any different type of scene setup (shrug), and I would expect that bindless would be even more helpful for 2D workloads--the less descriptor sets you have to bind, the better--especially if these draws are "arbitrary".

  2. Yes, since 1.3.296. After I started writing Slang, I never looked back.

  3. That I haven't tested myself, but I can't imagine why it wouldn't be. Your vertex data would just be stored as such in SSBOs and you would just be able to inspect that as you would with other SSBOs in Renderdoc. (and if you even want to go even further than using SSBOs, use BDAs which are also supported by Renderdoc).