An Interview with James Ramey, President of CodeWeavers
I got a chance to talk to James Ramey, the president of CodeWeavers. CodeWeavers is responsible for a lot of the work that goes into Proton, which he’ll explain in this interview. I asked a few questions regarding his background as a gamer, but also his thoughts on the Steam Deck, whether we’ll see Halo Infinite running through Proton on NVIDIA in addition to AMD, and how he has reacted to how well Proton has been progressing. There’s a few other goodies tossed in here as well; I think you’ll enjoy this interview thouroughly!
- James is president of CodeWeavers and has been so for close to 15 years
- favorite game is Command and Conquer Red Alert 2: Yuri’s Revenge
- prefers mouse & keyboard over gamepads
- 12-16 full-time devs on Proton!
- 80% of the top 1,000 games on Steam working on Steam Deck/Linux currently; CodeWeavers and Valve are pushing harder to make more and more games work out of the box
- CodeWeavers has helped with anti-cheat software working through Proton, but ultimately this comes down to those developers
- James has had a Steam Deck for two months and loves it
- his philosophy? Weigh judgment based on the effort, not the results
- we could potentially see Halo Infinite run on NVIDIA in addition to AMD (but this won’t be for a while)
- prediction: game devs are more and more likely to make their game work day 1 on the Deck as interest increases
- interested in working for CodeWeavers? They’re always hiring
One important thing that I’d like you, as the reader, to extract from this interview is that even though we’re seeing great strides with Proton today, and all the more so as time goes on, James re-iterates on this: focus on the effort being put into the project. Not the results. You’ll learn more about this as you read the interview.
For those who aren’t aware, can you explain who you are and what your role at CodeWeavers is?⌗
My name is James Ramey, and I am the current President of CodeWeavers. My company is doing work on the Proton project used, in part, for supporting Windows-based games on Valve’s Steam Deck. I’ve been with the company for nearly 15 years, and my primary areas of responsibility are maintaining the business relationships with our partners AND running the day to day operations of a growing global software company.
Would you describe yourself as being a gamer?⌗
A gamer? Hmmm, my first gaming experience came on the Atari 2600. I could play Activision’s Pitfall! for hours. I grew up in arcades spending countless quarters on a variety of games – my favorite is Area 51. I grew up on Nintendo starting with the Nintendo Entertainment System (NES); then a Super Nintendo Entertainment System (SNES); then a Nintendo Wii; two Nintendo Game Boys; and Nintendo Switch. I also dabbled with the Sony PSP (which I really loved); Compaq iPAQ (which really wasn’t for games); countless computers and laptops along the ways starting with an Apple IIc when I was 14, and I even have an Xbox (that never gets used).
Image credit: geekculture.co
My all-time favorite game is Command & Conquer Red Alert 2: Yuri’s Revenge, and I spent countless hours (literally weeks of my life) on Castle Wolfenstein (first on my Apple IIc) and Return to Castle Wolfenstein (on my PC). Right before I started answering these questions, I played a quick match of Fortnite. So, yeah, I do consider myself to have a strong passion for video games. But please, do not confuse that passion for being good at video games. I just love to play.
Which platform do you prefer to game on: Linux, Mac, Windows, console, etc?⌗
I honestly prefer to play on the PC (to which I include the Windows, Linux, and sometimes macOS platforms). I think I’m better situated for playing games using a keyboard and mouse than a joystick or other controller. It still feels pretty natural to me to use the WASD keys along with my 2-button mouse. I think, in regards to playing games, that when you start to feel like you’re mastering them that you stick to that platform. I know countless console players that can’t imagine not playing with some sort of controller in their hand. But, thanks to the Steam Deck, I’m getting better at playing with a controller.
Though we tend to primarily credit Valve as being the creator of Proton, CodeWeavers contributes a significant amount to the project. How many people from CodeWeavers work on Proton?⌗
We tend to have anywhere from 12 – 16 developers along with 2 – 3 quality assurance analysts working on Proton full time every month. It’s a full team of people working on Proton.
Proton 7.0-2 released less than three weeks ago and brought with it several bug fixes and newly playable titles. According to ProtonDB, at the time of writing this, 80% of the top 1,000 games on Steam have a Silver ranking or higher. How do you feel about this accomplishment?⌗
It’s a tremendous accomplishment to reach this level of support in Proton. Of course, it’s both a moving and subjective target. Defining what constitutes a ‘Silver’ ranking is difficult at best; and, most gamers really only care about their game working at 100% fidelity with that of Windows. So, even in making the vast majority of games work in Proton is sometimes not enough. Our goal, then, is really to continually improve support for all games in Proton to continue driving up support for each and every game so that we go from 80% at Silver to 80% at Gold to (ideally) 100% at Gold. Again, that’s a moving and subjective number; but for us because we are moving the number in the right direction, this has been very validating so far.
Valve has been working with the likes of Epic Games and BattlEye to make anti-cheat software work through Proton. Gradually, we’re seeing more and more titles with EAC or BattlEye get support. I think we can presume this has to do with how well the Steam Deck is doing. Has CodeWeavers helped with this process at all?⌗
We have helped with those, but their resolution is ultimately up to those companies.
Have you received a Steam Deck yet, and if so, what are your thoughts on it?⌗
Yes, I’ve had a Steam Deck for roughly two months. AND I love the Steam Deck. I’m a big fan. I’m not great at using the controls (again, I’m a keyboard and mouse guy), but I find that the Steam Deck sits really well in my hands. In comparing the Steam Deck to other portable gaming devices, there is so much to love specific to the Steam Deck. I can play my favorite games on both the Deck and my PC. I share one game library. The screen in bigger and brighter than my Switch. And the game quality, AAA titles, is superior to my experiences with other portable platforms.
To be fully transparent, I really (REALLY) loved my PSP when I got it. I was traveling quite a bit for work, and I would play that non-stop for hours on flights. What I really didn’t like was that every PSP cartridge was $49-$59 and was only useful on my PSP, and the PSP was a bit flimsy (I burned through three of them). When I got to my hotel room, the PSP immediately went in my bag, and I broke out my laptop which had other games to play. The Steam Deck resolves that problem with the one shared library. And, I do still like my Switch; but, the games on the Switch leave hardcore gamers wanting a bit [more] and while you can plug the Switch into a TV, the resolution is not great. For the games that Nintendo has built around the Switch, like Golf and Mario Kart, the Switch is great. For ports of other games, Diablo II or Witcher 3, the Switch feels a bit ‘clunky’. I don’t really have those problems with the Steam Deck.
Image credit: CodeWeavers
The Steam Deck feels a bit more aligned with the PC games (even without a keyboard and mouse). I know that people are quick to point out battery life, but I think that’s a by-product of playing graphically intensive games. My gaming laptop gives me 2+ hours of battery life when playing a hardcore game unless I have it plugged in. AND my gaming laptop can’t get power from an airplane outlet because of the wattage requirements. So, I get people being vocally dismissive of the battery life of the Steam Deck and that not every game works (yet), but I believe that the Steam Deck is moving portable gaming in the right direction and that these ‘concerns’ will, over time, get resolved.
A while back I had written about my concerns with the Steam Deck verification process. Namely, that Valve was being a little too aggressive with verifying titles, only for customers to experience issues later on with the game. Do you have any thoughts on that?⌗
I’m not sure that they’ve been too aggressive or misleading about verifying game titles. Again, what constitutes support is INCREDIBLY subjective. The trap that everyone tends to fall into is assuming that support means 100% fidelity. I think, instead, Valve has been very aggressive in putting real effort into building support for games and in verifying titles. As with any moving target, you sometimes have to weigh judgement based on the effort, not necessarily the results. In this case, Valve’s efforts has been Herculean. I think that this effort goes overlooked because not every game works on the Steam Deck.
So, it becomes easy(ier) to question the verification process; to question the tweaking necessary to run games; to vocalize one’s unhappiness about specific titles not yet running on the Steam Deck. It is because of Valve’s commitment to gaming on Linux that 80% of the top 1,000 games even run on Linux today. Considering that not ONE (maybe not true, maybe not 10) of those games was created with any consideration for the Linux platform, that’s an absolutely miraculous number by any standard. And considering that neither Valve or CodeWeavers is satisfied with that number as it is today, it will only continue to improve over time.
So while I do not think everyone’s experience in getting titles working on the Steam Deck has been the same (especially the corner cases) to date, I do think that its not the result of Valve (or anyone else) misleading gamers into false hope as much as it is some gamers finding ways (and in some cases overlooking warts) to get games to run for them at an acceptable level (which is not 100% fidelity).
There’s been a blog post that goes into detail of the process it would take to get Halo Infinite to run through Proton on AMD hardware. Now that NVIDIA appears to be going open-source, starting with their GPU kernel modules, could we potentially see the same game run on NVIDIA?⌗
According to my developers, NVIDIA is not going fully open-source. The only part that is being open-sourced is the kernel driver. This bit of work is only responsible for submitting work to the GPU for driving displays, and it is not even containing all the logic to do that. The kernel driver offloads most of the actual ‘heavy lifting’ to microcontrollers on the GPU which are running proprietary firmware. Most of the points that Bas talks about are still in the Vulkan driver which is still fully proprietary. To make any changes to the Vulkan driver, we are at the mercy of NVIDIA employees. Fortunately, NVIDIA seems to notice that gaming on Linux is a ‘real thing’ and appear receptive to the community’s feedback.
Image credit: gaminginstincts.com
All that stated, it does seem possible that we may see Halo Infinite running through Proton on NVIDIA hardware. My developers have looked into this, and they are somewhat confident that this could happen in the future as the extension discussed in the blog post,
VK_NV_device_generated_commands, appears to be implemented by NVIDIA drivers already. The caveat here is that interest in doing so remains high on the part of NVIDIA which also appears to be true.
Can you give us any teasers as far as what we can look forward to with the next version of Proton?⌗
With any new version of Proton, you should see improvement – overall better support for video games. So, the games that are running should run better and a handful of the unsupported games should start working (emphasis START working). Sorry, no teasers in any of that.
I do have a prediction though. I think as Proton continues to improve and interest continues to increase that you will see game developers building out support so that their Windows title can run on the Steam Deck on Day 1. That’s happened already with a couple of titles, and I expect that we will see more of that in the future as the Steam Deck continues to ‘push the needle’ in favor of Linux gaming. And while building out Proton support isn’t as interesting to Linux games as native Linux games, I think this is a really critical tipping point for the video game industry. Once developers really start to account for Linux gamers, you will start to see native Linux games.
BUT, you can’t get to that point on Day 1. There has to be a market. Valve is proving that there is a market for Linux gaming AND (most importantly) that market is growing. Once that market hits a sustainable level, more games will run on the Steam Deck (on Day 1) and more native Linux games will enter this market. I’m not sure that’s so much a prediction as it’s a lesson I learned in Econ101 during college.
Is CodeWeavers hiring?⌗
We’re always hiring. We’re always looking for talent. Over the past year, we’ve hired over 12 people. I’m not sure we had done that in the previous 12 years combined.
Anything else you’d like to share with us?⌗
I’ve stated this before in other interviews. Proton is a living, breathing project. It’s in a continual state of development and improvement. While not perfect, it is moving closer in that direction each and every day. I think it’s important to point this out so that people understand that while 80% of the top 1,000 games at a Silver level is of no interest to some people that there is real effort to improve that ‘number’ with each and every Proton release.
So instead of people thinking that this is some sort of pinnacle, it really is the starting point for the next development push. And while not every game runs on the Steam Deck today, there is a good chance that more of those games will run in the future. If you look at this development objectively, you can see and understand how much has been achieved in a relatively short period of time. Projecting that forward, you can see a point in time where 80% of the top 1,000 games run at a Gold level and a point in time where even more games run at that Gold level. That’s why the effort and not the static results are so important in this regard.
There you have it! Check out CodeWeavers website for all the fascinating stuff that they’re working on, including CrossOver, PortJump, and ExecMode. They’re also currently looking for a Wine developer; if you think you have the skills, get in touch with them!