Computers, Games, Linux, Software

Gaming On Linux – The Metagame

I’ve always been a big PC gamer. But my latest hobby combines that gaming passion with Linux. I’ve been watching Linux gaming from the sidelines for years but my assessment was always that Windows was for gaming, and Linux was for Getting Shit Done. The two worlds didn’t overlap and I was resigned to dual boot, or use two entirely separate machines.

This has all changed in a relatively short period of time, and the catalysts are the DXVK project and Proton which is a compatibility layer for Windows on Linux. It is a fork of WINE but really focuses on gaming compatibility. A really cool trick of DXVK is the ability to convert DirectX calls to Vulkan (DirectX to Vulkan) – a lower level of GPU instructions. This allows games to run very close to (if not even slightly better on some titles like RDR2) than their DirectX counterparts.

In addition to Proton (with DXVK) Two other initiatives have really propelled gaming into what I could call the realm of approach-ability: A native Steam client, and the Lutris project.

Steam

Steam, in case you have been living under a rock has a huge market share and influence on how games are distributed. There have been many imitators, but Steam still does it best – at least as far as Linux is concerned. A few titles have native Linux clients but most don’t. What Steam on Linux does is seamlessly integrate their compatibility tool Proton with their UI. You can click a game’s properties and check “Force the use of a specific Steam Play Compatibility Tool”. (Incidentally Deus Ex: Mankind Divided, Pillars of Eternity, Age of Wonders III are all Linux native!)

Lutris

Lutris takes a more inclusive approach. While it can leverage DXVK WINE builds (and even Proton builds) it allows you to access games from all of the other game clients including Epic Games Launcher, Uplay, and Origin. The software operates as a database of scripts that are user maintained to configure WINE environments for maximum compatibility. It creates a bottle per game and when you uninstall it removes the entire bottle. No left over DLLs, or files – they exist in complete encapsulation. Even better because they are all encapsulated you can run one game as Windows XP, and another as Windows 10 – each one contains its own environment. Below you can see that I have Far Cry 5 (Uplay), Titanfall 2 (Origin) and Control (Epic Games Store), alongside standalone games (Return of the Obra Dinn is a standalone install).

I’ve been so thrilled with Lutris that I support them on Patreon.

Gaming Considerations

Emptor caveat! With all things Linux you need to be prepared to tinker. If you want to crack open a beer, boot a game, and jump right in then you’d best look elsewhere. That being said, I’d take a wild ass guess and say 80% just work, 10% work with minor tinkering, and the remainder either don’t work at all, or don’t work well enough to be enjoyable because of performance issues (looking at you Control, and Anno 1800). Most games run smooth as butter and its easy to forget its not running on Windows.

The biggest performance issue seems to be what I call microstutter. It is an jarring experience where ~5 or so frames drop. This usually happens while assets are loading. I can’t be sure it isn’t CPU overhead from my encrypted partition. Other people talk about caching shaders. This takes a bit of your disk to compile the shaders so they are ready to use and not being translated in real time.

Before purchasing a game I typically check these three things:

  • Is there a native Linux client (the answer is usually no, but I’ve been surprised)

  • Are there compatibility issues listed on ProtonDB?

  • (Non-Steam titles only) Is there an installer on Lutris

Another big consideration is that aside from Steam, most of the gaming clients are bad. I don’t think this is a problem specific to Linux – they are just bad. Often times to fix a crash or performance you will need to disable all of the UI overlay garbage that these launchers try and throw overtop of your game. Often they tell you to put the client into offline mode. This likely means that multiplayer support is going to be limited on these titles. If you need multiplayer – Steam is probably your best bet. Linux is officially supported and the build is very stable, and I’ve played many hours of multiplayer games (Divinity 2, Tabletop Simulator, and others).

Utilities

A few other thoughts and tools to get you started – MangoHUD is a great FPS overlay. It not only shows FPS, but it goes into frametime, and shows CPU/GPU loads.

Gamemode is a utility that is supposed to improve game performance. It is supposed to change the nice / ionice levels of your games and manage your CPU governor (if on a laptop) to maximize performance. I’m not sure how much of a difference it makes – and these are changes you can make yourself but this tool does it automatically when a game is launched. Lutris and a few titles natively look for this executable and use it if available.

Of course you’ll want the latest nVidia or AMD GPU drivers. There are some useful tools in the nVidia control panel like forcing a composition pipeline which is a rather interesting way to deal with the frame tearing in a way different from V-sync.

Conclusions

Gaming on Linux has been something I never thought I’d see happen. I’m sure that cloud gaming (aka game streaming) has been propelling development in this area. After all, companies like Valve aren’t working on these projects out of the goodness of their hearts. And if you can get a Windows game to run in a DXVK environment you are making it cloud ready and can scale up Linux servers better than you probably could on Windows servers. That is my theory anyway.

It is also wonderful not having to switch operating systems when I want to work or game. I can do both. In fact – my workspace 3 is now the gaming workspace. I’m back to one machine, and one environment that is comprehensive for my needs.

If you’ve been on the sidelines looking on now is a great time to dive in. And with each release of Proton, and Lutris support gets better and better. And you are helping the chicken and the egg problem – developers are more likely to support Linux if there are more Linux gamers. So try the metagame of gaming on Linux – its quite rewarding!

Events, Family, Games, Personal, Thoughts, Vacations

Who’s Gonna Work for the Working Man?

What an exciting last few weeks. I am falling into a routine that means a lot fewer depressing couch and beer marathon weekends.

I sold my old POS Chrysler Sebring convertible (aka Big Red). After owning both an American car, and a Japanese car its pretty clear to me why we lost that race. Its also clear to me why the Chrysler company is just treading water. They are going to have to start subletting the Chrysler building at this rate. In my experiences, there is just very little quality in their products. Next we are selling the wifes truck, and getting a nice compact SUV. We have already been sneaking peaks at the Mazda CX9, and the Toyota RAV4 and 4Runner, and surprisingly the Scion. What a beautiful bastard that car is.

On a related note, we are ditching State Farm. I think their new slogan should be “Like a good neighbor, State Farm is there…to collect your premiums”. Then its back into the darkness. Insurance is getting out out of control. My accident has been resolved, and the strongest statement I can make is to drop them.

Kristin has gotten me hooked on the Harry Potter series – which has become my reading of choice on the Red Line. Like many other things including Legos and video games, I don’t feel like I should be enjoying these books as much as I do as an adult. I am almost finished with the “Goblet of Fire“, and it definitely has taken a darker turn. Kristin says that the book series was meant to mature with the kids that were reading them. True or not, its an entertaining read for anyone sitting on the fence about it. No one has even beaten me up, or given me an atomic wedgie for reading it on the train!

When I am not reading, I am putting some time in on the PS3. I just beat Drakes Uncharted (the first one), and it was excellent. I enjoyed it as much as Uncharted 2. I popped in God of War 2 next, and I was immediately sucked in by the epicness of it all. Once I finish this, then I can see what the world is talking about with God of War 3. Final Fantasy XI?? is on its way. Some Uncharted 2 co-op with Mr. Templeman to be announced, and some Alien Breed with my brother should satisfy my gaming needs. One of my co-workers has given me a tough decision of whether to buy a PSP for $50. There are some really cool games on it, and it would be a nice train companion. The question is do I really need to play more games?

Fall semester resumes with my enrollment in four more classes at Clayton State. The graduation countdown should begin next semester. I was on track to graduate in the Fall until the move to Boston happened. That’s life I guess. You can either give up, or you can get back up. Economics with LaBreque should be awesome. Our textbook is “Freakonomics“. He really does have a lot to contribute to teaching. Why can’t he teach all our courses? It sure would have made Biology more fun.

Speaking of Clayton State, I will be joining some folks from the ol’ HUB in Las Vegas to celebrate with them what is sure to be an awesome bachelor party. You only live once, but my budget for the trip is $1000. Let’s see how much fun I can have with that. Also from Clayton State’s world-renowned help desk, Brian Hursey is coming up to Boston for some job training. He will be one of the few to see our new house in Braintree. Knowing his photography skills, perhaps he can share with folks some of the beautiful sites from our new home. Look forward to seeing you Brian!

Work continues to improve. I have been allocated to another project on a different contract. This means a big change in the work. I am working with different people, and I get a wider range of things to contribute to. I get to put my CSS hat back on for a while, and do some design work. Its a fun challenge to take a composition and turn it into a mirror image in HTML/CSS – its an art to do it in Internet Explorer (die, die die!). This new project is also a lot less mature than the project I was working on. It is nice to see the projects evolve from the lessons learned on the older codebases. I  strong-armed some of my co-workers to take a nice lunch this Friday instead of inhaling our food over our nasty keyboards in silence. We went to Pizza Dough’s in Harvard Square. Its always fun to go up there and hipster-watch.

Kristin and I went to the Gillette stadium last night and watch Bon Jovi through the bars of the venue gates. The view wasn’t bad considering we didn’t pay anything for it. I revisited my arch nemesis “Red Robin” and got the burger burned to hell this time. It was decent, but not as good as I remember. Its hard to ignore the fries, and skip the beers because of the diet. I have lost a few pounds, but nothing major yet. I seem to be hovering at 186, despite religiously sticking to my 1600 calories / day diet plan. I suppose I need to just work out harder and keep that cardio up to burn the love handles I am holding onto. I have also “tweaked” my left shoulder and am unable to look over my left shoulder without some pain. I guess I am getting old.

Finally, I am looking for a new DNS name for my blog. Ideas welcome.

Computers, Games, Linux, Personal, Software

Closure

Cryptonomicon:

Just finished reading Neal Stephenson’s Cryptonomicon. The book follows the story of a group of friends that went to Princeton together in the late 30’s, and later split up as the world became at war. The United States invested in technology, and turned Bletchley Field into a cryptographic powerhouse, resulting in the invention of the world’s first digital computer. This computer aided in the cracking of Enigma, Azure/Pufferfish, and Arethusa codes from World War II.

The book also parallels this main story with the more current events of a team developing a new cryptographic system in Manila. The stumble upon some of the same problems that existed in World War II, and end up uncovering a huge secret hidden by Japan towards the end of the war.

Unfortunately, the World War II story is infinitely more exciting than the present day story. The only interest in the modern day story was the author’s detailed and accurate descriptions of Randy’s UNIX and Finnux machine commands. All of the classic utilities get a shoutout, including, “grep”, “cat”, “ssh”, “telnet”, etc. The author interpolated these chapters resulting in mixed the emotions of adrenaline and boredom.

I finally finished though, and I do recommend the book to anyone intersted in computing, cryptography, or WWII.

Grand Theft Auto IV:

In other news, I think that my love for Grand Theft Auto IV is coming to an end. Its not that I beat the game, as much as I am done with the game. I got my fill in other words – the plot isn’t compelling at all (I am not sure if there is a plot), and failing missions is too punitive. I don’t want to have to drive for twenty minutes to get back to the spot to replay the mission…

I am also postponing my GameFly account at the end of the month, so that I can get a chance to play Resistance 2, and Dead Space without feeling like I am burning money buy not playing my rented game.

Movies:

And finally, we have decided to setup a secondary queue in Netflix so that my movie selections don’t wait two years for their turn to be shipped. Within a few months, hopefully I will be caught up with the most significant releases of late, and I will be able to actively participate in conversations about movies!

Computers, Games, Software, Thoughts

For all the Gamers out There…

With my brother moved into his new place, I took the opportunity this weekend to salvage what I could of my PC game collection. After Kristin and I sorted out cases, discs, and instruction booklets I stuffed everything I enjoyed into my car and took it home with me. I am still irked about a few things – some games missing, a few discs broken, my Max Payne 2 manual used as a coaster?!… but all in all I think I got most of it back in good condition.

For all you gamers out there, the following games in my collection brought back some sweet memories I wanted to share with you folks. Here are my favorites:

Age of Empires II

Age of Empires (II and III) – probably one of the best RTS games out there. I am a closet history fan, and being able to ascend into power as Joan of Arc (AoE: II), or fight Indians in General Custer’s last stand (AoE: III Warchiefs) is a wet dream. If you enjoy RTS games, check this out.

 

Call of Duty

Call of Duty – a breath of fresh air into a stale genre of WWII FPS games. I remember hearing Wendy play this and thinking “how many damn bullets have to be fired before she wins…”. The answer is a LOT. By the way, Call of Duty is Infinity Ward’s craft, so I don’t acknowledge CoD: III, or the new release: CoD: World at War.

 

Max Payne

May Payne – a “game noir” (and now a major motion picture). A compelling story, and excellent gameplay makes Max Payne (I and II) stand out among other FPS’. I still have the mousepad from preordering the first game when it came out back in 2001.

 

Command and Conquer

Command and Conquer – the jewel case reads “Windows 95” as in compatible – since Windows 3.1 was still king when it came out. I have them all, and love them all (except Tiberium Sun, and Renegade).

 

No One Lives Forever

No One Lives Forever – Think “Get Smart” in video game form. This game follows the stories of two organizations – Harm and Unity. You play as Agent Cate Archer and experience some of the most ridiculous moments in any video game. The highlight has to be the trailing a ninja to a trailer park and fighting in a double-wide inside of a tornado.

 

Prince of Persia: Sands of Time

Prince of Persia – I think “The Sands of Time” is one of the best platform games ever made. I never really gave PoP a chance (it has been around since SNES) until this game. Getting to play it on PC meant a resolution 2-3 times that of consoles, and the precision of a mouse.

 

Homeworld

Homeworld- A beautifully laid out game in which you play as the last remaining people of a planet that was destroyed because you violated an ancient Hyperspace treaty. You amass forces and strike back in a beautifully set space RTS. My brother picked this up from a CompUSA (yeah – that old) and I was instantly hooked.

 

Dawn of War

Dawn of War – My introduction into the Warhammer universe. I had always heard of the tabletop version, but THQ did such an amazing job of bringing this into a story driven RTS that I was digitally hooked. Space Marines are just f*$%&@! awesome!

 
Computers, Events, Family, Games, Personal, Ruby, Software, Thoughts

Life is Funny like That

Life is funny when I go back into the world of programming. Writing code is a process that is incredibly detailed, but the more focused I get on a project the faster time flies by. You probably won’t believe me (becaue you might be jealous) but I lately have felt like I walk into work in the morning, take a lunch, and am on my way home before I even know what day it was.

I had lunch at the only remaining Thai restaurant within 30 miles of Clayton State University today. I have to say it was one of the best Thai meals I have ever had. If I can get up a group of people one of these days I would love to head back down that way again. (It will certaintly be one of those two-hour lunches). The special occasion today was Dolores Cox’s treat to the team that implemented L****** on campus. It was her way of saying thanks for all of the hard work we have put into it. So I get a paycheck for doing my job, and a free luch! w00t!

Tomorrow, Matt Todd is taking me out to dinner at the Four (maybe Five) Seasons restaurant and micro-brewery to celebrate his new job. He is making somewhere close to like a zillion dollars now, and whats more – he earns it by doing something that he loves. In short, he has discovered the secret to happiness. And PS – I hate you Matt Todd (but I won’t tell you until AFTER you buy my dinner).

So – people giving me free food… its nice.

Last weekend we had our annual Low-Country Boil with family and John and Anna. I had a great time (despite making myself a little sick from eating so much). I hope everyone enjoyed themselves, and sorry to John and Anna for them being the only people in a handful we invited to make it. We will do it again next year, so maybe better luck then.

All of this stuffing myself with food lately has encouraged a more lax lifestyle than I have allowed myself to partake in in quite a while. I haven’t been to the gym in over a week, and I am totally dependent on a few cups of coffee to awaken from my coma each morning. I wish there was some potion I could by that would instantly get me back in shape. (I think its called meth).

A few people have pointed out that I have yet to write about my brand new present – a Playstation 3! I really want to thank everyone for my wonderful gift. I can’t wait to see what Blu-Ray looks like 🙂

Its been busy lately, but if you have read this far in my post, then I appreciate you checking in on my life. Hence the reason I wrote this post.

kthnxbai

Computers, Games, Hardware, Software, Thoughts, Windows

Howto: Make Gears of War PC Suck Less

Gears of WarWell, another game was snatched from being released on PC and moved to Xbox exclusively (*cough* Halo). So once again, by when its ready to be ported back to PC, it has a host full of issues not found in the console version.

I am writing today to tell you all how to make the Gears of War: PC edition suck a little less. A few quick changes and you are on your way to an experience with a few less crashes!

To start with, install the game with the defaults. Once it is installed, navigate to “C:Program FilesMicrosoft GamesGears of WarWarGameMovies”. Inside this folder, delete or rename the following files:

  1. EpicLogo.bik
  2. MGSLogo.bik
  3. ESRB.bik

This allows you to start playing the game in about 10 seconds instead of watching the same intro movies that you can’t skip through over and over. This is made even worse by the fact that the game crashes a lot, so I have probably seen these clips no less than 40-50 times by now. I sure wouldn’t show my logo on a game that crashes faster than a Black Hawk over Somalia…

Next, lets fix the extremely choppy performance. These files are automatically created the first time you start the game. If you don’t have them, just fire the game up, then close it back down. Navigate to “C:Documents and Settings<your user>My DocumentsMy GamesGears of War for WindowsWarGameConfig”. Inside this folder, open the file “WarEngineUserSettings.ini” and look for the line “OnlyStreamInTextures=FALSE” and change it to “OnlyStreamInTextures=TRUE”.

What does this do you might ask. Well, unless you have 8GB of memory, and a nVidia GeForce 9800 GTX / ATI Radeon HD 3870 X2 you probably can’t fit all those textures into memory. Its better to just stream them in as needed. This single change increased my frame rate from an unplayable 5-10 frames a second to well over 60 fps! It also gets rid of the repetitive quarter of a second freeze every few steps.

Also, don’t worry about the latest Gears of War patch the “Title Update”. I don’t know what the hell it DOES do, but it sure didn’t address many of the issues that people are having with this game.

After you institute these changes, go ahead and max out all of the video details in the game if you have a decent rig. (say if you can play Call of Duty: 4). Thats right – max it out. The performance problems you were having before have little to do with the details, and much to do with the resource management settings that were the factory defaults.

Enjoy!