Slashdot Mirror


Valve's SteamOS Now Supports Vulkan, The Cross-Platform Alternative To DirectX 12 (pcworld.com)

SteamOS just gained support for Vulkan, the cross-platform alternative to Microsoft's DirectX 12 and Apple's Metal. This should make it easier for developers to write and optimize games for SteamOS, closing the performance gap with Windows and encouraging more developers to support Linux. This feature arrived in SteamOS Brewmaster version 2.63. Valve added version 355 of the Linux Nvidia driver, which means SteamOS offers Vulkan support when used alongside Nvidia hardware. Intel's graphics hardware should also support Vulkan on SteamOS in the near future. AMD is still working on its new driver, known as AMDGPU, that will replace the current fglrx driver for SteamOS and other Linux-based platforms. If you use Linux distribution besides SteamOS, you can download Nvidia's Vulkan-ready Linux driver or an experimental version of Intel's Vulkan-enabled graphics driver.

55 of 119 comments (clear)

  1. Re:isnt steam a launcher? by nnull · · Score: 3, Informative

    Their console. Steam has been pushing Vulkan a lot.

  2. Vulkan could overtake DX12 in adoption! by Anonymous Coward · · Score: 3, Interesting

    I was surprised to learn that very few games are running on DX12 (maybe 1-3?)..

    Vulkan already has one and it's looking likely to get more. I'm guessing Valve at least will port all their modern titles to it. If so, Valve is really playing the long game on becoming less dependent on MS Windows..

    1. Re:Vulkan could overtake DX12 in adoption! by Anonymous Coward · · Score: 5, Interesting

      Valve is really pushing vulkan hard. I think it was at a recent SIGGRAPH that a valve employee basically said if you aren't targeting a 2016 release for a DX12 game, don't even bother with it since vulkan will do just as much across more platforms with higher performance. I'm with Valve here 100%. The moment AAA titles are releasing on Linux and Windows at the same time, I ditch windows forever and I know I'm not alone on that. Gaming is the single thing that keeps me on windows still, and I hate dual-booting so I stay in windows all the time for the few times I game. If I can play BF4, GTAV, , etc on Linux without performance or fidelity loss (compared to windows version) that will be the final deciding factor. I might not wait that long though if Microsoft has its way. I was planning on switching to W10 before M$ went batshit insane with forcing everyone to upgrade and then sending back "telemetry" data even after you specifically disable it doing so. It may not be nefarious or private data being sent back, but the very fact that M$ is going about this whole thing in a shady way has put me off. W7 will for sure be my last M$ operating system. I just hope Valve gets the gaming industry as a whole running Vulkan before W7 becomes inadequate for future hardware generations.

    2. Re:Vulkan could overtake DX12 in adoption! by Anonymous Coward · · Score: 1

      If you are talking about the Talos Principle: If you actually read any of the articles about it you'll notice that everyone says that their Vulkan renderer is a "naive" implementation that is "OpenGL-like" and that they are still working on implementing all the stuff that makes rendering with Vulkan fast. Considering that, it's actually a very good sign that it is already faster than their OpenGL renderer on many drivers.

    3. Re:Vulkan could overtake DX12 in adoption! by Kjella · · Score: 2

      You say it like it's a good thing. The premise of DirectX 12/Vulkan is that game/engine developers want more low level access. If that premise is false they're both going to flop. And I'd say OpenGL has bet a lot more on Vulkan than Microsoft has on DX12, if the premise is false it's worst for Linux and open source in particular. Winning the battle is not so great if you're losing the war.

      --
      Live today, because you never know what tomorrow brings
    4. Re:Vulkan could overtake DX12 in adoption! by Fragnet · · Score: 1

      Don't be silly.

    5. Re:Vulkan could overtake DX12 in adoption! by Dutch+Gun · · Score: 1

      While I can't speak for other game developers, I'm betting adoption is low because:

      a) It's new, and
      b) Windows 10 only.

      Microsoft pulled the same stunt with DX10, and games simply held onto DX9 compatibility for many years after we should have moved past it, thanks to Windows XP and ports from our last-gen consoles.

      Keep in mind that games also spend a very long time in the pipeline, and game engines spend even longer than that. While occasionally you'll see someone rush support out in a game out in the market, or add support to one only shipped, its very often nothing much more than a publicity stunt which really doesn't take full advantage of the latest features. It's going to be another year or two before we see mass adoption and games really taking advantage of these newer low-overhead APIs.

      --
      Irony: Agile development has too much intertia to be abandoned now.
    6. Re:Vulkan could overtake DX12 in adoption! by mikael · · Score: 1

      All the game developers who have already published titles have a massive code base of shaders and rendering code that they need to maintain. They can only justify upgrading all that code to do something better if they can provide it will boost short-term revenue. Because they may have written their own abstraction layers to encapsulate multiple platforms, they simply can't just change one shader at a time. They'll have their own standard for defining materials, particles, skinned characters, cameras and model positions/instancing. It's easy to take advantage of new shader features to write a new shader, but to rewrite everything from scratch just to use compute and geometry shaders. In some cases, may new shader functionality rapidly becomes outdated with something new (transform feedback vs. compute shaders, uniform buffer objects vs. shader storage).

      --
      Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
    7. Re:Vulkan could overtake DX12 in adoption! by MrL0G1C · · Score: 1

      Because they may have written their own abstraction layers to encapsulate multiple platforms

      Doesn't seem to be done that way, I say this because it's often a third party that handles the 'port' to PC, if they were using what you describe then they wouldn't need to use a third party to port a game.

      --
      Waterfox - a Firefox fork with legacy extension support, security updates and better privacy by default.
    8. Re:Vulkan could overtake DX12 in adoption! by mikael · · Score: 1

      It might depend on the developer. I know one company who did try and abstract the differences between the different shader languages (GLSL, Cg, HLSL) into their own macro language.

      --
      Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
  3. Re:isnt steam a launcher? by p0p0 · · Score: 4, Informative

    SteamOS is a Debian-based Linux operating system in development by Valve Corporation designed to be the primary operating system for the Steam Machine video game consoles.[2] It was initially released on December 13, 2013, alongside the start of end-user beta testing of Steam Machines.

    https://en.wikipedia.org/wiki/...

  4. Re:I have lots of steam games by Anonymous Coward · · Score: 3, Funny

    That's weird because my cousin once used foul language in a steam game I bought and we ended up getting the Royal Marines at our front door with several chests full of gold. Given my own experience here, I highly doubt your story.

  5. Re:isnt steam a launcher? by sunderland56 · · Score: 5, Insightful

    SteamOS != Steam.

    I have issues with the statement "the cross-platform alternative to DirectX". OpenGL was a cross-platform graphics standard before DirectX even existed.

  6. Re:I have lots of steam games by sunderland56 · · Score: 1, Insightful

    And Steam is designed to keep you from running the games that you've bought.

    The state keeps me from driving the car I bought. Just because I drive 127 MPH in a school zone *ONE TIME*, now I'm no longer allowed to drive my own car.

  7. Re:isnt steam a launcher? by tlambert · · Score: 2, Interesting

    I have issues with the statement "the cross-platform alternative to DirectX". OpenGL was a cross-platform graphics standard before DirectX even existed.

    I have similar issues, but for other reasons.

    Once commanding benefit to DirectX is that it attempts to loop unroll shaders and effects, and if it can't do it -- it drops them on the floor. While this may mean that that graphical dust storm isn't as pretty as it might have been otherwise, it also means that you don't crash or hang the video card, and as of DirectX 9 and later, even if you do, to get the compatibility sticker, the manufacture has to make it possible to reset the card and restart pending operations. So if you are able to hang the card anyway, despite the unrolling, the OS can unhang the card, and go merrily on its way.

    One of the big problems with games on Mac OS X or Linux is that they tend to directly target OpenGL, rather than an OpenGL emulation running on top of Direct X, as is done on Windows. Which means it's possible to take down the cards hard, because there's no unrolling layer between the instruction stream and the card to protect it. Apple tries to make this happy by always keeping a spare channel lying around, so it can talk to the card to recover, but it doesn't always work out.

    Vulkan seems to have the same problem that OpenGL itself has, in this regard. So it is *NOT*, in fact, a crossplatform alternative to using DirectX, it's a replacement for OpenGL to make it more difficult to buy other people's graphics cards. Which I kind of could care less about, if it supported the unrolling the way Direct X does, rather than just being different for the sake of being different. To me, it just looks like a handy way to hang your system, instead of using the even handier OpenGL.

  8. Is it available on... by unixisc · · Score: 4, Interesting

    Cross Platform? Please tell me that it means more than just Windows + Linux, and that I can install & run it on FreeBSD

    1. Re:Is it available on... by Anonymous Coward · · Score: 1

      Maybe you guys should aim for 1% market share first. ;^)

    2. Re:Is it available on... by unixisc · · Score: 1

      Linux itself is an asterisk when compared to Windows: even a total loser OS like Windows 8 could not help Linux leapfrog Windows on PCs. So if anybody is going beyond Windows in terms of support and calling itself 'cross-platform', it is legitimate to ask why it supports Linux but not the BSDs. If one is going just in terms of installed base, supporting Windows and OS X is adequate: if one is aiming to be universal, then in addition to Linux, it's legitimate to ask why not support the BSDs, which are not only the underpinnings of OS X, but also used by the likes of Juniper, Sony, Minix and several customized OSs for different markets.

  9. Re:isnt steam a launcher? by Guspaz · · Score: 2

    Vulkan [...] [is] a replacement for OpenGL to make it more difficult to buy other people's graphics cards.

    Whose graphics cards? The graphics card vendors representing roughly 99.5% of the market support Vulkan, and the other 0.5% don't matter because their stuff is very old super low performance embedded chips that isn't useful for gaming anyhow.

  10. Re:isnt steam a launcher? by Anonymous Coward · · Score: 5, Informative

    an OpenGL emulation running on top of Direct X, as is done on Windows

    Stop spewing bullshit. Windows provides a user mode thunk layer to allow installable client drivers (OpenGL, OpenCL, Vulkan, Mantle) to communicate with WDDM kernel mode drivers.

  11. Good news for gamers by Anonymous Coward · · Score: 1

    Awesome. Way to go SteamOS! DirectX is pretty much the only thing that has been driving the gaming scene on PCs. Take that away from Microsoft and you'll be able to get Linux PCs that people are happy with, rather than being forced to game on Windows. Kudos Nvidia, kudos SteamOS.

    1. Re:Good news for gamers by Fragnet · · Score: 1

      No, it's not "just" the D3D API. It's the complete tool chain which is far superior to anything you get anywhere else and the complete set of APIs of which the 3D API is just one part.

    2. Re:Good news for gamers by Tough+Love · · Score: 1

      But then you have to put up with Windows, which is broken and clumsy by comparison, and seems to be more interested in the welfare of Microsoft than the user. Never mind still a malware magnet and full of crapware and adware.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    3. Re:Good news for gamers by Fragnet · · Score: 1

      Good grief, it's no way near as clumsy as Linux for computer graphics or software development in general. If there's one thing Microsoft get right its their tool chain and SDKs. D3D9 - D3D11 (haven't coded with 12 yet) were far superior to OpenGL as APIs, though I prefer GLSL to HLSL for purely aesthetic reasons. Of course Vulkan makes Linux a first class citizen again so we'll see what happens.

    4. Re:Good news for gamers by Tough+Love · · Score: 1

      Good grief, it's no way near as clumsy as Linux for computer graphics or software development in general.

      Gee, you better hand in your geek card. Windows has got practically zero automation, being a windows developer means being a click-monkey.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
  12. Re:I have lots of steam games by Kjella · · Score: 1

    The state keeps me from driving the car I bought. Just because I drive 127 MPH in a school zone *ONE TIME*, now I'm no longer allowed to drive my own car.

    So.... your DeLorean is defective?

    --
    Live today, because you never know what tomorrow brings
  13. Re:yeah right by Dahamma · · Score: 1

    WiiU, PS3, and PS4 all run freebsd as the OS so why not.

    PS4, yes. PS3 and WiiU, no.

  14. Re:isnt steam a launcher? by Anonymous Coward · · Score: 5, Informative

    there's no unrolling layer between the instruction stream and the card to protect it.

    I've worked on graphics drivers for 3 major vendors, and every one of them can and does unroll loops in OpenGL shaders. The actual situation is complex for both DX and GL, as it involves a myriad of factors such as the version being targeted, whether the loop bounds are statically known by the compiler, and whether they vary per SIMD-channel. Furthermore, GL supports device restart on hung shaders, and this is tested for in many common test suites.

    So, your post is almost entirely incorrect. Charitably, we can chalk it to innocent ignorance rather than a vested interest in spreading misinformation about platform-independed APIs.

  15. Re:I have lots of steam games by ArylAkamov · · Score: 3, Informative

    No, the state keeps you from driving on public roads if you did that. You are still perfectly free to drive your own car on private property.

    Notice how he said he can no longer play offline single player?

  16. Re:isnt steam a launcher? by Barefoot+Monkey · · Score: 3, Interesting

    The statement is "the cross-platform alternative to DirectX 12" - specifically 12, and not DirectX in general. On Windows your options for Mantle-like APIs are currently Vulkan and DirectX 12, i.e. the platform-limited alternative to Vulkan is DirectX 12, and the cross-platform alternative to DirectX 12 is Vulkan. I hope that helps you feel a bit better about the headline.

  17. Right now it is available on very little by Sycraft-fu · · Score: 2, Insightful

    It is an open API (though not free, you have to pay membership dues) that can be implemented on basically any platform people wish. As of right now, only nVidia and Intel have implemented it and only on Windows and Linux as far as I know, nVidia may have it in their drivers for other platforms. Apple has expressed no interest and most other OSes rely on the graphic drivers to provide APIs. AMD will eventually probably get a driver out, they were one of the driving forces behind Vulkan, however they suck at drivers so it always seems to take them a long time.

    1. Re:Right now it is available on very little by tlhIngan · · Score: 1

      AMD will eventually probably get a driver out, they were one of the driving forces behind Vulkan, however they suck at drivers so it always seems to take them a long time.

      Actually, AMD already supports Vulkan - it was based on their proprietary Mantis APIs. And it actually makes AMD shine if you use their draw-call optimizations (The only game using it, The Talos Principle, doesn't) compared to NVidia - the AMD GPUs are faster if you properly use it.

  18. Re:I have lots of steam games by Harlequin80 · · Score: 1

    Ah you know that SteamOS is ubuntu right with the steam client autostarting in big picture mode and some of the desktop stuff removed. That is all....

    And if you could point me towards one instance of a machine being compromised as a result of steam that would be really useful as well....

    I think you should just calm a little.

  19. High hopes, he had high hopes. by westlake · · Score: 3, Informative

    This should make it easier for developers to write and optimize games for SteamOS

    It's difficult to get solid numbers on Steam Machine sales. But they don't appear to be setting the world on fire:

    Alienware Steam Machine ASM100-6980BLK Desktop Console (Intel Core i7, 8 GB RAM, 1 TB HDD) NVIDIA GeForce GTX GPU 3.1 Stars. #3,293 in Computers & Accessories #237 in Computers & Accessories > Desktops

    The Steam Hardware & Software Survey: January 2016 doesn't offer much to feed on:

    Windows 95%
    Win 10 64 Bit 33% and Trending upward.

    OSX 4% No change.

    Linux 1% No change.
    Ubuntu 0.4%. Mint 0.2%

    1. Re:High hopes, he had high hopes. by CRC'99 · · Score: 1

      Windows 95%
      Win 10 64 Bit 33% and Trending upward.
      OSX 4% No change.
      Linux 1% No change.
      Ubuntu 0.4%
      Mint 0.2%

      You know what, I'm running Win7 at the moment - and I'd ditch it in a second for Fedora 23 + KDE. Problem is, the fglrx driver doesn't work on Fedora 23 without downgrading packages to F22 release versions. I'd run RHEL7.2 - which fglrx works on, but then no KDE 5 / plasma.

      So right now, I'm stuck on Windows 7 and trying to keep MS out of my stuff with their BS 'telemetry' data.

      I would love this to change - but right now, I'm stuck with the one problem - graphics drivers.

      --
      Sendmail is like emacs: A nice operating system, but missing an editor and a MTA.
    2. Re:High hopes, he had high hopes. by Anonymous Coward · · Score: 1

      You need more duct tape, super glue, bubble gum, and a nail gun if you want stuff to work on Loonix.

    3. Re:High hopes, he had high hopes. by phorm · · Score: 1

      Well, if that's an example of a typical Steam box sale, with an "NVIDIAIDIA GeForce GTX GPU 2GB GDDR5" (their spelling, not mine, and no mention of the actual model) graphics co-processor it's no wonder...

    4. Re:High hopes, he had high hopes. by Anonymous Coward · · Score: 1

      And I'm all out of bubblegum.

    5. Re:High hopes, he had high hopes. by Tough+Love · · Score: 1

      What's the issue with KDE on RHEL 7.2? It looks like a thing.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    6. Re:High hopes, he had high hopes. by CRC'99 · · Score: 1

      What's the issue with KDE on RHEL 7.2? It looks like a thing.

      That's KDE4. KDE5 is quite a bit different - like the Gnome 2 -> 3 - but without the retardation...

      --
      Sendmail is like emacs: A nice operating system, but missing an editor and a MTA.
  20. Re:I have lots of steam games by drinkypoo · · Score: 1

    So.... your DeLorean is defective?

    If it can make it up to 127, it's probably working better than designed.

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  21. Re:isnt steam a launcher? by tlambert · · Score: 1

    there's no unrolling layer between the instruction stream and the card to protect it.

    I've worked on graphics drivers for 3 major vendors, and every one of them can and does unroll loops in OpenGL shaders.

    They try, but they do not drop them on the floor entirely when it can not be proven that they will run in bounded time. Google actually has a similar technology that it uses in Chrome to "test the waters", but doesn't deploy it in Linux versions.

    The actual situation is complex for both DX and GL, as it involves a myriad of factors such as the version being targeted, whether the loop bounds are statically known by the compiler, and whether they vary per SIMD-channel.

    Yes. And if they *aren't* statically known by the compiler, it should drop the things on the floor, like Windows tends to. It's not a very ideal solution, but it works well enough that I would not have been resetting my G5 desktop when something decided to go crazy and take the card with it.

    Furthermore, GL supports device restart on hung shaders, and this is tested for in many common test suites.

    You have to maintain a non-blocked channel with the card in order to do this. And it's a fairly recent feature that vendors tended to leave out of their cards, until Microsoft forced them to include it to get the little badge on the outside of the box that let them claim compatibility with Direct X.

    So, your post is almost entirely incorrect. Charitably, we can chalk it to innocent ignorance rather than a vested interest in spreading misinformation about platform-independed APIs.

    I have no vested interest in supporting the DirectX platform, or even running Windows. And I'm aware that the Mac OS X nVidia drivers are encapsulated versions of the Windows nVidia drivers, just ported to run on Mac OS X. I occasionally worked with the people nVidia had on site at Apple, in order to resolve bugs, although Charles and Brian did so more frequently. The ATI folks, less so (less bugs, or at least less that came to my attention as a kernel panic).

    The issue is the glue layer that Windows has, which adds more overhead, but at the same time provides some safety from bad graphics programming. I'm certain that Microsoft probably lucked into it, and didn't write things that way on purpose.

    I'm just laying out my own personal experience.

  22. Re:I have lots of steam games by xvan · · Score: 2

    There are solutions on all platforms for that.
    You're able to chroot and jail in linux since I can remember.

    The shit is, how do you give your jailed game access to your graphic card, if the same one has to be used by your host/hypervisor?

  23. Follow the money. by westlake · · Score: 1, Offtopic

    Market share is not everything. Just look at Apple.

    The Alienware Steam Machine I linked to earlier is ranks about #240 in desktop sales at Amazon. While a pimped-out Cybertron Win 10 gaming rig retailing at $6,000 ranks about #40. CybertronPC Thallium X99 Red Gaming Desktop-Intel i7-5960X, 64GB DDR4,3x NVIDIA GTX980 Ti, Microsoft Windows 10

  24. Re:isnt steam a launcher? by Anonymous Coward · · Score: 2, Interesting

    > it should drop the things on the floor, like Windows tends to

    Different AC here, but no, that is not true on more recent shader models.

    You have been corrected by a number of individuals here on every major point you raised, and you keep saying more bullshit. You should really stop talking about this subject. You don't know what you are talking about.

  25. Re:I have lots of steam games by armanox · · Score: 1

    Next time read the TOS and EULA before buying the game

    --
    I'm starting to think GNU is the problem with "GNU/Linux" these days.
  26. Re:I have lots of steam games by armanox · · Score: 1

    You can't give full access like that - you would need a different card for the host OS.

    --
    I'm starting to think GNU is the problem with "GNU/Linux" these days.
  27. Re:isnt steam a launcher? by JohnStock · · Score: 1

    That may be true, but the statement was about Vulkan not OpenGL and in a gaming world where DirectX dominates.

  28. You admit error but refuse to acknowledge it. by Anonymous Coward · · Score: 1

    You start off with "they try", which is 100% acceptance of the FACT that your original claim was 100% wrong, yet you pretend through the rest of your post that you were right all along.

    Your "they try, but it doesn't always work" is ALSO defunct since your admission that DX resets cards is admission that DX doesn't always work, either, else they wouldn't need to reset.

    I think we can discard the innocent option.

    1. Re:You admit error but refuse to acknowledge it. by tlambert · · Score: 1

      Incorrect.

      The difference is one of fault tolerance, vs. fault recovery. Tolerance, which only requires resetting the card, is more useful than a recovery which requires resetting the system. These systems do not have as their only purpose in life acting as game consoles.

      If I can reset the card, and then replay the operations in such a way that the card does not crash again, or at least does not crash again for some period of time, such that I'm able to get to the next saddle point, and repeat the process, that's much more useful than replaying into the card and having it crash yet again, reproducibly, to the point that further progress is blockaded.

      It's the difference between "checkpoint and restart" vs. "checkpoint and recrash".

      While DirectX is far from perfect, it at least gives up on shaders which fail to run in bounded time, so that you do not lose everything else, along with the shitty shader. Straight use of OpenGL fails this test. It looks to me that Vulkan has this same vulnerability, due to trying to be very low level and low overhead.

      I think you are treating this as if these things were games consoles, rather than general purpose computers which sometimes run games, and for which staying up in general is more important than really, really fast graphics which sometimes take the system down completely, necessitating a reboot.

  29. You don't need a license to run the game. by Anonymous Coward · · Score: 1

    Since copyright doesn't control the "copy" made to use the game as purchased, you don't have to agree to squat, and if he's not running the Steam net service (running single player), the TOS is ALSO irrelevant.

    Please stop demanding people bend over and take it just so you don't feel such a fool holding on to your ankles and crying at the pain.

  30. Re:I have lots of steam games by Lotharus · · Score: 1

    I think you missed an important point. It was not the owner who broke the rules, but a delegated operator (for lack of a better term). Your example would be more precise in saying your friend drove your car at 127 MPH through a school zone, therefore YOU are no longer allowed to operate your car (while your friend merrily goes on continuing to operate his own car).

    It's more complicated than that, even, since the nephew in question was [probably?] operating under the uncle's username; if so, that does swing the Finger of Blame(TM) back toward the uncle somewhat for permitting someone else to use his account.

    Still, my opinion is that it would be quite reasonable for Valve to block online multiplayer play for some period of time, but to prevent local gameplay is a major overstepping of reasonable bounds.

    That said, I will undoubtedly continue to purchase Steam-powered games. Baaaaaaah.

  31. Re:I have lots of steam games by inasity_rules · · Score: 1

    OpenSUSE for Debian...

    *ducks and hides

    --
    I have determined that my sig is indeterminate.
  32. Re:isnt steam a launcher? by Tough+Love · · Score: 1

    Also their developer network, distribution network and own catalog.

    --
    When all you have is a hammer, every problem starts to look like a thumb.
  33. Re:yeah right by exomondo · · Score: 1

    Yes, AMD and Nvidia have been using their own gpl software to load their proprietary video blobs into the kernel to avoid gpl violations and which seems to be okay with Linus for now, but, who knows how long this will last there are a lot of zealots out there that are not happy with this method.

    Given it is explicitly called out in the license file preamble for the kernel and re-licensing the kernel is not really possible in terms of practicality I don't see any change happening. Not to mention all the vendors that create proprietary kernel modules and all the kernel contributors that rely on this code (almost all mobile and embedded vendors) would likely continue on with the existing kernel version rather than this re-licensed offshoot if such a thing were even possible.