Category Archives: Linux

“SNES-like” Controllers in Steam on Linux

A few years ago, I got myself SNS-like Controllers on Gearbest for a whopping 3,55€ a piece. They are basically ripoff INNEXT Controllers. I mean, they were cheap and I had points left on Gearbest that were about to expire. They never really worked well in the sense that there was one button that clearly isn’t mapped correctly and whenever I tried to configure it, they freaked out completely.

So, they ended up in a drawer and when I built the SteamBox, I tried again. Failed again, and they were left there to distract Little One from the real Steam Controller. Thing is, Little One now wants to play “Cars Autos” and don’t ask me why he calls it that way. The Steam Controller is too big for him, and too complicated to be entirely honest.

So, I tried the SNES-like Controllers again and this time I managed to configure them. Basically, I think it’s a Steam Bug. The controller works fine-enough when you just plug it in, except for that one button. The innocent user will to go to the controller configuration panel (which only exists in Big Picture Mode), change the value of that key, save it and be done with it.

Mistake! At that point the D-Pad freaks out. The only way to fix this, is to edit ~/.steam/steam/config/config.vdf and remove the line beginning with "SDL_GamepadBind" and the lines following it referring to controllers and gamepads. Now this is documented in the Steam forums and I do remember doing this back with my first trials

Today, I had the grandiose idea to look at those lines before trying to configure it… and there it was: 030000001008000001e5000010010000,NEXT SNES Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b6,start:b9,x:b3,y:b0,"

A relatively concise description of the controller instead of the huge blurb of text the Steam configuration panel produces. This, I can read. The only thing to do was to change rightshoulder:b6 into rightshoulder:b5. That was it. The controller works as expected. Now, granted, the Steam configuration panel gave me the precious information that it was in fact “Button 5”, but that was about the only use the damned thing has.

The only thing I really want to know now is whether the INNEXT Controllers actually have right shoulder configured as “Button 6” instead of “Button 5”. Perhaps, one day I will find out as they aren’t actually that expensive and the black would look much better with my SteamBoxes case. Never even mind that the ripoff controllers don’t even have the same shade of grey.

For those who wonder: My SteamBox is just Debian 10 64-bit with multiarch 32-bit, booting in a minimal LXDE desktop and autostarting Steam Big Picture. I have Plymouth showing the Steam logo at bootup and LXDE using the same as a wallpaper. It’s pretty close to a “console” startup feeling, except of course sometimes you need to figure out missing dependencies for games and I can ssh into the machine for maintenance. The hardware is a simple Ryzen 3 2200G with 32GB RAM and a 256GB NVMe M.2 SSD. One of my greatest failings in life is that I did not document how I did it, because it would have made a damned great howto.

Tuxedo Computers: How not to be a Linux OEM

Tuxedo Computers Logo

Tuxedo Computers Logo taken from their Facebook page. Logo belongs to TUXEDO Computers GmbH.

My Fathers Alienware laptop has been dying lately. He’s also been very unhappy with the latest Microsoft offerings, and since Mom has been using Ubuntu for years, he was willing to give it a shot. My father likes nice hardware and is willing to spend money on it, unlike his son who just buys the cheapest crap. So the decision was: Dad wants a laptop with Linux.

My eye has been on Tuxedo Computers for a while. I intended to buy there, once either my Acer Aspire S3-391 or Dell XPS L502x would give up the ghost. Not happening any time soon, but I did recommend my father to buy a laptop at Tuxedo Computers because, as far I could tell, they’d ship with Ubuntu pre-installed.

I am, alas, a busy man, and the Tuxedobook arrived, and I won’t be having time to look at it the next weeks. I managed to clear up one measly hour to assist my father in doing the first setup. I, naively, assumed that would be all I need. Let’s see how I imagined this:

  • Unbox the laptop
  • Plug it in
  • Boot up
  • Get presented with the Ubuntu OEM installer
  • Set the hostname, set up his account
  • Copy his Thunderbird and Firefox settings from his Alienware Windows machine
  • Set up the samba share to our family server
  • Have a coffee, and have a chat with him and be on my merry way

I know this is possible.  I have done it myself, I sent my Zotac Nano ID61 to my friend John in Germany.  I did the OEM install, tested it (and reset it back to OEM install).  Approved it for good and I know it worked for him.  He told me he was suprised I did it for him, as he obviously could do i installs from scratch himself, but the gesture was appreciated.  Really, an OEM Ubuntu install is as easy as setting up a Windows OEM machine.  If not easier.  This is how OEMs, and Tuxedo Computers is one, should sent the hardware to their customers.

So, naively, I went to my parents without any of my gear.  No cables, no USB DVD Rom drives, not even a long network cable (my father uses wireless and while there is cabled infrastructure, there are no RJ45 in the living room).

I get there and my father hasn’t even unpacked it.  He let me do that.  Shiny!  We figure out how to plug in the battery, connect the power supply and then the magical moment of booting up comes.  It boots up, and the magnificent logo of Tuxedo Computers comes up.  Of course, I expect the Ubuntu logo next, but… nope… PXE booting starts.  Odd?  Is there no system on the SSD?  Perhaps on the HDD?  Let’s try booting from the HDD instead.  Nope.  Okay, fine.  First, I think: I’ll do a PXE boot and we’ll have this running in no time.  Oh. No network cable, right…

Let me think, ah, they added a Ubuntu DVD!  Great, let’s boot from… oh, yes, right.  Modern laptops don’t have optical drives.  Obviously my USB DVD drive is at home.

Well, Dads got 100Mbps fibre.  I’ll download Ubuntu 16.04 on my Moms computer.  That takes less than 5 minutes from, then I’ll drop it on a USB stick and we’re  running.  Look, I even have a brand new 8GB USB stick in my car.  As expected, the download takes no time.  Startup disk creator fails on it.  I try a direct dd of the ISO on it.  Nope, somehow hangs.  Weird.  I guess that USB stick was dead.  Dad gives me an old 2GB USB stick.  Startup disk creator fails, dd from iso succeeds.  Sweet.  We’re 40 minutes in my allocated time.  I may be lucky and get it running within the remaining time.

I boot from the stick and during the installation process, the Ubuntu installer tells me: “Hey, buddy… This thing already has Ubuntu on it.  Wanna overwrite it?”  What?!? How?  I notice it’s an EFI installation (hey, the “EFI” partition gives it away, right?”).  I abort the installation and  boot into the firmware of the computer.  I notice that EFI is disabled.  Keep in mind: it was delivered this way!  I turn EFI on and reboot!

It does boot into Ubuntu. Sweet!  I’ll get this done in… Wait?  What?  It boots to a German version of Ubuntu (fair enough) and the login screen and presents us with a user named after my fathers first name.  I ask my dad whether he got a password from Tuxedo Computers.  He says that he hasn’t.  Sure, he might have overseen it and perhaps we didn’t look enough in all the enclosed papers, but that’s not how you pre-install Linux.  I tried a few passwords, like his first name again, our last name, 1234.  Nothing let us in.

Obviously, I said “Fuck this shit, I’ll do it myself”.

Booting from the USB stick I created earlier, I tried installing Ubuntu.  Which then gives me crap about EFI and I notice that the Ubuntu installer doesn’t allow me to create GPT partition tables.  It also tells about SSD alignemnt problems (SSD tells sectors are 2048 based, Linux tells it’s 512 based.  Partitioning stupidly believes the Linux kernel) I tried the classic MBR setup.  That’s easy and usually works.  Grub fails to install.
I tried to install grub manually, I don’t manage.  Surely my fault, because I’m really angry by now.
At that point, I am through my time and I have to give up.  I was really, really, enraged.  As in “physically violently” enraged.  I wanted to smash something.  This was supposed to be easy, this was supposed to be working out of the box!

Yes, I do realize that the majority of Tuxedo Computers customers are people like me that nuke and install anyway, but that’s no excuse!  This was the most crappy out of the box experience I’ve ever had and I now have a ton of work, waiting for me and a father who cannot use his new toy.  Earliest I can take time would be begin August.

If I’d be a customer who just wanted a “Linux computer” that worked out of the box, I’d definitely return it.  Sure, I’ll fix it, I’ll get it running, but you shouldn’t actually need a guy like me to get a Linux machine up and running.

This is exactly the reason why people think that Linux is hard.  Exactly this!

Steam, Linux and Intel Graphics

Jorg… are you using Steam on Linux?
No motivation to pay close to 1000 for a steam box, but an i3/i5 with Intel graphics would be ok price wise… question is, would it be worth it?

Short answer: Yno.
Long answer:

This is a question in multiple parts, namely:

  1. Do you use Steam on Linux?
  2. Does Steam on Linux work well?
  3. Are integrated graphics sufficient these days for games?
  4. What about graphics drivers?

Now, let start with the easy part: Yes, I use Steam on Linux.  I basically only use it on Linux and one of the main criteria for buying games on Steam, or from Humble Bundle, is Linux support.  Steam, the application, works very well on Linux and it comes down to installing a package and that’s it.  That said, Steam is just Steam, being a kind of game library with a useful “Big Screen” (aka, “use it on TV”) mode.  On no configuration, did Steam refuse to run, but nobody runs Steam to run Steam.  What you want are the games.

That’s where question #3 comes in, and sorry, no… Linux won’t compensate your underpowered hardware.  Just as in Windows, you might end up buying a game and figuring out that “hell, fuck no, this won’t work“.  If it’s not because the game doesn’t start up at all, it will be because it is so horribly slow, that it’s unplayable even when turning down all the settings.  Now, in all fairness, my experience with Steam on Intel, limits itself to:

  • Zotac Nano ID61 – Celeron 867 / 8GB RAM / “Intel HD Graphics” (I have given this machine away, I can’t do tests any more)
  • Dell XPS 15 – Core i7-2630QM / 16GB RAM / “Intel HD 3000” (Paired with an NVidia GT 525M)
  • Acer Aspire S3 – Core i5-3317U / 4GB RAM / “Intel HD 4000”

All run Ubuntu 14.04LTS with Steam installed from the Valve repos.  These are all older chips based on Sandy Bridge (Celeron 867 and Core i7-2630QM) and Ivy Bridge (Core i5-3317U) architectures, so obviously it’s not very representative for modern Intel hardware.  Take everything I say with a huge grain of salt.  Haswell, Broadwell and Skylake based processors might be so much better, especially with the Iris Pro graphics.  Intel graphics are so very diverse and the labels stuck on them make it next to impossible to find accurate benchmarks.  So basically, what it means is that I must go on feeling which really, is very subjective.

However, it’s not the only thing you can go on.  You can simply see what the minimum requirements for some games say.  A very well known AAA type game working on Linux is Sid Meiers Civilisation V.  Go and visit it, and you’ll notice that in the PC world, you damn better do your homework about your hardware and what this hardware means in relation to recommended and minimum settings.  Also, keep in mind this is a strategy game, and really shouldn’t tax your graphics card all that much.  Well, go and look:

  • Windows: Core i3 or better integrated graphics
  • Mac OS X: “Intel GMA (950/X3100), HD 3000” not supported
  • SteamOS/Linux: Intel Integrated video chipsets (GMA 9XX, HD 3XXX) will not run Civilization V for SteamOS and Linux, and are unsupported.

So, the Zotac is out as is the i7 (using Intel graphics).  The i5 might run it, I don’t think I tried.

Another one?  Let’s take Victor Vran.  I bought this game because the gameplay reminded me of the PlayStation 2 version of Baldurs Gate.  I didn’t check specifications and I tried on the i5-3317U, connected using HDMI to my TV.  The game loads, but it is unplayable at any detail level.  Specs, here you go:

  • Windows: GeForce 8800 or higher, AMD Radeon HD 4000 or higher, Intel HD 4000 or higher (min. 512 MB VRAM)
  •  Mac OS X: OpenGL 4.1 (GeForce 600 or higher, AMD Radeon 5000 or higher, Intel HD 4000 or higher)
  • SteamOS/Linux: OpenGL 4.1 (GeForce 600 or higher, AMD Radeon 5000 or higher)

Hey!  Intel isn’t even supported on SteamOS/Linux.  I should try it on Windows to see how playable the game is, but I doubt it will be a very agreeable experience.

… you’ll notice that neither of these games is even a first person shooter-puzzler.
Indie games will work, right?  Right?

Yeah, kinda… Again better check what the specs are.  Rochard works fine, for example, and is a fun game.  Less graphically intensive games like World Of Goo or Thomas was alone work perfectly.  Rochard and Thomas was alone and are a joy to be played with an XBox controller, which works out of the box on Linux.  Are these your kind of games?  You’ll be happy with Integrated graphics and Steam.

However, not all is perfect. Which brings us to the drivers and question #4.

How are the drivers?  Intel has a good reputation on Linux for drivers, but, and that’s really a but… that’s because AMDs drivers are quite horrible and NVidias drivers are closed.

Are Intels drivers good?  Generally, yes, and it might just be because I use whatever comes stock with Ubuntu 14.04LTS that I have problems in some games.  Most of the issues here are in my i5-3317U (which is what I use for most casual gaming).  First time I noticed that something was wrong was that in certain scenes of Book of the unwritten tales – Critter Chronicles, the characters were very dark.  That’s a point ‘n click adventure, nothing graphically too fancy.  My guess, is that they used a badly implemented shader.  The game was playable, but when it happened, it looked ugly.
Recently I’ve been playing Never Alone, which is very playable on the i5 from a performance perspective.  However, the game uses some shader that is broken.  Probably the same issue as mentioned before, but it’s so much more annoying because the shaders move and look so very much out of place.  Is it playable?  Yes.  Is it pretty?  No.

There is also something strange going on with the i5.  Due to a flash of genius, I had the idea to just connect the laptop to my TV and play on the TV.  I set the TV as primary display and disabled the internal panel.  The surprise came when I tried playing something like Stanley Parable or Talos Principle.  They were unplayable, at any resolution.  Why is this remarkable?  Because I played these games on the Zotac ID61, which is immensely lower spec than that laptop.  Something is going, on, but I have no idea what.  Given these games play fine on the internal panel, my guess is it has something to do with the drivers and how a dual screen configuration is handled.

Back on topic: if you’re using Intel Integrated for gaming (within the range of chips I talked about), you get what you pay for.  I could recommend looking into AMD offerings, as their integrated graphics solutions are better, but you’ll still end up with disappointment.  I was rather happy with my A8-3850 (Radeon HD 6550D), but as a matter of fact, you’ll end up running most games on low settings any way.  I have given up and just got myself an low-range NVidia gaming card.  (Which I haven’t tested properly to tell whether it was a good idea.)

What does this mean?
Linux gaming will work, if you have the hardware to match.  If you don’t the experience will be as crappy or crappier than on Windows.  That 1100€ SteamBox suddenly does look more attractive, doesn’t it?   No, I don’t have that kind of money for toys either, but my fans can of course send me one as a present ;-).  Whether such a SteamBox will actually play games well enough, that, I cannot say.  Maybe consider a Steam Link to your real game box?