Six Months with the Steam Link

| Comments

It is hard for me to believe that I first wrote about my Steam Link over six months ago. I’d have guessed I owned it half as long, but I realized that my recollection is clouded by the fact that I added a second Steam Link to my network just a few months ago.

The Steam Link, Steam Controller, and Rascal Pants

Being able to stream games from my computer to my televisions has come in handy, and I’ve had a chance to try some controller-based games in my Steam library that I might never have bothered to play on my computer.

How does the Steam Link work?

The Steam client on your PC captures your display and encodes that data into an h.264 video stream. That stream is sent over your local area network to the Steam Link that’s plugged into your TV. Your game controller connects to the Link, and the Link transmits your controller inputs back to your computer.

This adds some latency to your gaming. For the most part, this hasn’t caused me any problems. It probably goofs up my Rocket League game a bit, but the additional 10ms of latency usually isn’t something you’ll notice.

Steam In-Home Streaming Settings

Steam streaming doesn’t even require a Steam Link. You can stream from one PC to another as long as they are both on your local network and have the Steam client running, but the Link is inexpensive, does its job quite well, and it is easy to hide behind your TV.

Does it use a lot of bandwidth? Do I need a fast Internet connection?

If you’re using a hard-wired connection, you shouldn’t have any trouble. Playing games at 1080p just about maxes out the 100-megabit Ethernet connection on the Link. That’s enough bandwidth that I don’t often notice serious mpeg artifacts, though you can sometimes see some blocking when a game fires off lots of explosions.

You don’t need a fast Internet connection. As long as Steam will let you play your game offline, you don’t need the Internet at all. All Steam streaming traffic stays inside your house.

The Link in my office is plugged into my wired network, and so is the desktop computer that runs my games. I rarely have trouble streaming games in here.

Does the Steam Link work over Wi-Fi?

Yes, it does, but not particularly well. If you’re going to stream your games over Wi-Fi, things will go a lot smoother if one end of the connection uses a wired connection instead of Wi-Fi. If both ends are on Wi-Fi, you’re cutting your bandwidth in half—every packet will go from the PC to your Wi-Fi access point, then from your access point to the Link.

When I added a Steam Link to the TV in the living room, I tried streaming games over my old 802.11a access point. It worked better than I expected, but I had to limit the resolution to 720p. Even then, Steam’s In-Home Streaming often turns the bandwidth down, and the quality of the stream suffers. The overall latency was closer to 30ms, but I was able to play some Rocket League in the living room!

My old powerline Ethernet hardware is just too old for Steam streaming. They claim to be 200 megabit, but in practice they only manage about 30 megabit, and the latency is just awful. Newer hardware might work better, and it may be worth a try, but I wouldn’t hold my breath.

A Picture Of Harley For No Reason

I decided to upgrade my Wi-Fi. I purchased a D-Link DIR-860L 802.11ac router, and I’m using it as an access point. They’re only about $30 at Amazon, which is good, because I didn’t want to invest too much money in this streaming experiment. I was in need of some extra Ethernet switch ports on the other side of my home office, and the DIR-860L does seem to be supported pretty well by OpenWRT. I’m still running the stock firmware because it looks like it has significantly better wireless performance, and I need every megabit I can squeeze out of it!

Everything is working out much better in the living room now that I’m using 802.11ac. When things are working well, the performance is nearly as good as the wired Link in my office. The latency is only about 5ms worse. Keep in mind that my PC is hard-wired to my network.

Things don’t always work so smoothly, though. I tried to play some Neon Chrome in the living room last night. Things were all right for about 5 minutes, but then I started to have connectivity issues. I figured I might try rebooting the new D-Link box, but it is located upstairs. Since I was already going upstairs, I just continued my game in my office.

Wired is definitely the way to go.

Choosing a controller

I bought the Steam Link and Steam Controller at the same time. The Steam Controller is a fantastic piece of hardware. It is a huge improvement over a PlayStation or Xbox controller when it comes to aiming in most shooters. You use the right touchpad for large movements, and then you can bring your aim in more precisely with the motion controls to pull of those head shots. It may not be as fast and accurate as a mouse, but it is surprisingly good once you get used to it.

I’m also a big fan of the two extra buttons on the underside of the Steam Controller. It is nice to have more buttons within easy reach, especially with the Steam Controller’s lack of face buttons.

Steam Controller and Dual Shock 4 On My Desk

I’m glad I bought the Steam Controller. It isn’t well suited to all games, but I would never play a game like Borderlands 2 on the TV without it. There are plenty of other controllers that work well with the Steam Link, but I’m only going to tell you about the ones I’ve tried.

When the Link first arrived, I tried all sorts of my favorite games. I quickly learned that the Steam Controller was a pretty poor choice for games like Super Meat Boy, so I plugged in my wireless Xbox 360 controller. It worked exactly as well as when I plug the controller directly into the computer.

Things have improved even more since then. Now the Xbox 360 and PlayStation 4 controllers are first-class citizens, and Steam allows you to remap the controls just like you can with the Steam Controller. How awesome is that?

As soon as I saw this announcement, I immediately ordered a PlayStation 4 controller, and I’ve been using it ever since. I’ve played quite a few hours of Rocket League with it, and the d-pad is such a huge upgrade over the Xbox 360 controllers. That said, used Xbox 360 wireless controllers are a tremendous value—we have eight of them at that we use every week for Video Game Night!

All three of these controllers work great. Use the one you prefer, use the one you already have, or use all three!

PlayStation 3 controllers are fully supported now, too. I’m using my old PS3 controller in the living room.

Is the Steam Link bad at anything?

Being that I’m of a certain age, one of the first things non-Steam things I tried to get streaming to the Link was a Nintendo Entertainment System emulator. This seems like a strange thing to stream to the TV that’s mounted above my cocktail arcade cabinet, since I could just fire it up there and play with arcade controls. It was easy enough to get working, but Super Mario Bros. just felt so terrible!

It has something to do with the video encoding. As you run through the world, the screen sort of stretches and oscillates. It looks terrible, and it feels terrible. I imagine Sonic the Hedgehog would feel even worse!

I haven’t found any native games with the same problem. Super Meat Boy is the most Mario-like game I’ve played, and it looks fine.

Why did I just think to write about this now?

Neon Chrome was part of the most recent Humble Monthly Bundle. I’m a long-time fan of the twin-stick shooter Dead Nation. I’ve been looking for a game with a similar feel for years, but most twin-stick shooters are all about spamming your gun. Neon Chrome has taken most of what I enjoy about Dead Nation and thrown in a bunch of my favorite roguelike elements from Rogue Legacy.

They’ve done a good job with this game, and I’ve been playing it a lot this week. I’m approaching the end of my second play-through, and I’ve been playing for about 16 hours so far. At some point I realized that those 16 hours were spent using the Steam Link, and I’d almost completely forgotten that I was actually streaming the game!

Neon Chrome Steam

That’s my favorite part about the Steam Link—I sometimes forget about all the hoops it is jumping through to allow me to play my favorite games on the television!

It isn’t always perfect

Every once in a while, I don’t get any audio when the Link connects to my PC. A quick disconnect and reconnect always fixes the problem, so I haven’t bothered to dig any deeper into this issue.

Like most of the issues I had with Steam In-Home Streaming in the early days, I’m assuming this problem will be corrected at some point in the future.


If you enjoy video games, and you have a large collection in your Steam library, you should definitely own a Steam Link. It is a great value at $50, and it is probably the least cumbersome way to move your PC gaming to the couch.

Choosing Quality USB Cables

| Comments

In the past, I hadn’t given much thought to the quality of my USB cables. As long as they can pass data and charge my phone overnight, that was all I needed. That changed when I acquired my Chuwi Hi12 tablet. It charges via a Micro-USB port, and the supplied charger provides up to 2.4 amps. This big tablet charges quite slowly, so I wanted to make sure I could get as many milliamps to the tablet as possible.

Thinner wires have higher resistance, and so do longer wires. For convenience, I wanted to pack a 10’ USB cable in my laptop bag to charge my Chuwi Hi12. When I ordered my nylon-wrapped 10’ USB cable, I also dropped a nifty USB ammeter into my cart as well. Truth be told, I expected most of the USB cables in my home office to have similar performance.

Chuwi Hi12 and The Old Fujitsu P2120

Had this been the case, though, I wouldn’t have bothered writing this blog post. I was surprised by my initial findings. Some of my thicker, more expensive cables ended up being poor performers. In fact, they performed worse than some of my thin, generic cables—a thick jacket doesn’t always mean there’s thicker gauge wire inside!


Buy Volutz nylon braided cables. They are high-quality cables, they look great, and Volutz cables are very reasonably priced!

The Volutz cables seem to be in short supply at Amazon. The [Anker PowerLine cables][ak] charge my devices slightly faster than the Volutz cables, and their Kevlar wrapping sounds interesting. I just wish they came in 10’ lengths!

  • [Anker PowerLine Micro-USB 5-pack][ak] at Amazon

Testing methodology

I tried to be as scientific as possible. When your device has less charge, it will draw more amperage. I used my Chuwi Hi12 because it is the most power-hungry device I own that charges using a Micro-USB port. I started with the Chuwi Hi12 at about 75% charge—low enough to draw a lot of current, while high enough that I didn’t have to wait all day for the battery to drain.

Using a USB Power Meter

I tested each cable with four different chargers and one USB battery pack. I didn’t need to test this many different chargers. I definitely wanted to compare a high-amperage charger against a more common 1A charger. My intuition says that even a crummy USB cable will work fine if the current is low enough, but my curiosity got the better of me—I wanted to know if I was carrying the optimal charging adapter in my laptop bag!

Enough with the jibber-jabber! Lets see those numbers!

  Chuwi 3A Ravpower 2.4A Omaker 2.4A Fire TV 1.2A Kmashi Battery
Kmashi 6” 1.29 1.83 1.81 1.17 0.86
Aukey 3’ 1.68 1.28 1.27 0.97 0.73
Omaker 3’ 1.52 1.23 1.16 0.95 0.69
Volutz 3’ 2.09 1.76 1.85 1.17 0.85
[Anker Kevlar 3’][ak] 1.83 1.83 —— —— 0.71
Ravpower 3’ 1.86 1.44 1.4 0.4(?) 0.76
[Anker Kevlar 6’][ak] 1.83 1.59 —— —— 0.71
Volutz 6’ 1.98 1.54 1.52 1.17 0.74
Ravpower 10’ 1.29 1.03 0.97 0.84 0.6
Volutz 10’ 1.77 1.47 1.42 1.15 0.73

NOTE: The Anker cables are a late addition to the chart. I tried to replicate my test conditions as closely as possible, but I’ve misplaced two of the chargers, and all the cables I retested today scored 0.05+ amps lower than last time. I don’t know what’s to blame, but the differences are less than 5%.

The Volutz cables that I chose actually ended up being quite good! In fact, I only have one non-Volutz cable that works better than my ridiculously long 10’ Volutz cable, and it is only 3’ long!

The first cable I ordered specifically for my Chuwi Hi12 was a single Volutz 10’ Micro-USB cable—the one with the fancy blue nylon covering. My USB ammeter said it was pretty good cable, so I ordered more Volutz cables. This time it was the 5-pack of assorted cables in 3’, 6’ and 10’ lengths.

KMASHI 15k Battery and RAVPower WiFi Dingus

Aside from the Volutz cables, I also tested cables that I’ve been accruing over the years. My RAVPower Micro-USB cables came in an assortment of similar lengths, and the Aukey cables came in an assorted set of 3’ and 1’ lengths. I included the Omaker and Kmashi cables in the table, because they came with two of the charging devices I used in my testing.

Anker’s Kevlar cables (added 2017-01-22)

I’ve been using the Volutz cables for three months, and I’m quite pleased with them. The micro-USB ends still feel like new, and I have nothing to complain about. I saw a deal on [a 5-pack of Anker PowerLine Micro-USB cables][ak] a few days ago, and I just had to try them out!

They look and feel exactly like ordinary USB cables. At first glance, you’d most likely mistake them for some of the thicker generic USB cables I tested. Whereas those cheap cables are mostly rubber, these nice Anker cables are mostly copper! In fact, Anker upgraded the 5-volt line in these cables to 20-gauge wire.

I tested all the other cables three months ago, and I’m not entirely convinced that I replicated the test perfectly. I retested the Volutz 6’ cable for comparison, and I’m getting about 0.06 fewer amps out of it this time around. I have quite a few Volutz 6’ cables floating around, so I may have tested a different cable last time. The guy running the tests is most likely to blame for any inconsistencies. Today’s results are within about 5%, so I’m not too worried.

On my chart, the [Anker PowerLine cables][ak] scored almost as well as my Volutz cables. In today’s tests, my Volutz 6’ cable didn’t do quite as well as the Anker PowerLine 6’ cable—the Volutz cable came in about 0.06 amps lower than the last time I tested.

The [Anker PowerLine cables][ak] are probably the better cable. I just wish Anker sold a 10’ version to match my Volutz 10’ Micro-USB cable!

  • [Anker PowerLine Micro-USB 5-pack][ak] at Amazon

The data on the chargers is interesting

The big, clunky power supply that came with my Chuwi Hi12 provides almost 20% more amperage than either of my 2.4A power supplies. Unfortunately, it is a Chinese charger with an adapter for American wall sockets. It works fine hiding on the floor next to my recliner, but it is too clunky and fiddly to use away from home.

One of the first things I bought for the Chuwi was a RAVPower charger with a pair of 2.4A ports for about $10. It is compact, and it works great. About a week after it arrived, there was a deal at Amazon on some Omaker brand 2.4A chargers. A two-pack of Omaker chargers was $8.99. I couldn’t pass them up at that price.

Amazon, Omaker, and RAVPower USB Chargers

Instead of two identical 2.4A charging ports like the RAVPower unit, the Omaker charger has one 2.4A port and one “quick-charge” port. The “quick-charge” port can provide 9V or 12V to certain devices. If you don’t have any devices that can take advantage of the “quick-charge” port, I’d go with the RAVPower unit—it is more compact and charges ordinary 5V devices a bit faster.


If you need to charge your power-hungry USB devices quickly, or you need a long cable, I can’t recommend the Volutz USB cables highly enough. They’re high-quality USB cables with sturdy connectors, and they charge my devices at least 30% faster than my next best cable when using a 2.4A charger. The difference is almost as wide using a 1.2A charger. My Android phone will only draw about 1A, and my 10’ Volutz cables can charge my phone 20% faster than any of my 3’ cables.

I am a fan of the nylon braiding of the Volutz cables. The braiding looks cool, and the cables don’t tangle as easily, because the braiding keeps the cable stiff.

The State of Linux on My Chuwi Hi12 - October 2016

| Comments

I knew running Linux on my Chuwi Hi12 tablet would be a challenge. I did my research before ordering the Chuwi tablet, and things weren’t looking too promising when my tablet arrived at my door early in August.

Most Linux distros would boot up just fine, but most of the hardware that makes my convertible Chuwi Hi12 tablet interesting just didn’t work yet. The touchscreen didn’t work. The Wi-Fi didn’t work. The sound didn’t work.

Chuwi Hi12 Running Xubuntu 16.10

Even back then, I think you could shoehorn in a working Wi-Fi driver. That would at least leave you with a functional laptop. I didn’t buy a laptop. I bought a tablet, and a tablet without a touchscreen isn’t much of a tablet.

Too long; didn’t read!

I’ll talk about most of this at length, but I’m sure most of you are just here for the highlights.

What works:

  • GPU / Display / Manual rotation
  • HDMI Audio (untested)
  • Touchscreen
  • Keyboard dock and touchpad
  • MicroSD slot
  • USB ports
  • Lid sensor
  • Wi-Fi
  • Active Stylus

What doesn’t work:

  • Sound
  • Cameras
  • Accelerometer
  • Bluetooth (untested)
  • Suspend / Resume
  • Power and volume buttons
  • Battery and AC status
  • MicroSD slot

Other problems:

  • eats CPU after manual screen rotation (XFCE problem?)
  • Goodix touchscreen module sometimes needs to be unloaded and reloaded at boot

Wi-Fi and HDMI audio don’t work out of the box on Ubuntu 16.10. The power button was working when I installed Xubuntu 16.10, but it isn’t anymore. I haven’t figured out what change caused it to stop functioning.

UPDATE: My power and volume buttons are being recognized once again. I caused the problem by unloading and reloading the Goodix touchscreen kernel module. I was able to correct the problem by adding a delay before reloading the module. This is an odd problem, but at least it works!

UPDATE: Using a MicroSD card has been problematic, and it seems to have gotten worse over time. It got to the point where there was less than a 50% chance of my SD card working on each reboot. I decided to wipe out Windows 10 and move my home directory to the built-in flash. Since this change, I have been able to suspend and resume over and over again without any issues.

What works on Linux?

Ubuntu 16.10 has made a lot of progress. The touchscreen works—most of the time. Sometimes I need to rmmod and modprobe the goodix module when the tablet boots up. That was simple enough to automate at each reboot!

The GPU works fine, and the 2160x1440 display is detected automatically. The dock’s keyboard and touchpad work as expected. The USB ports work, and the Micro-SD reader functions correctly most of the time. I have my home directory on an SD card, and I have managed to lock up the tablet by hammering on it hard enough. The Micro-SD reader has been acting flakier and flakier. I finally ended up wiping the Windows 10 partition, and for the time being I won’t be using the SD card.

I had to compile a new Wi-Fi driver for the rtl8723bs chip. You can clone the driver from GitHub and compile it yourself. The directions are quite clear, but if you aren’t comfortable with this sort of thing, you should check out the builds from Linuxium. They have Ubuntu install media that includes their patched kernel, or you can just install their kernel on your existing Ubuntu installation.

You also have to change the mode of the Wi-Fi chip to PCI. It can be found in the BIOS under Chipset -> South Bridge -> LPSS & SCC Configuration -> SSC SDIO Support.

Chuwi Hi12 BIOS

The Chuwi HiPen is mostly functional. It works as a high-accuracy pointing device, and the edge of my palm doesn’t trigger the touch screen. However, the buttons don’t seem to trigger any events.

UPDATE: I installed the latest kernel from Linuxium. Sound doesn’t work yet, but it is able to read the charge of my battery. This is a HUGE improvement for me. I no longer need to plug in when I’m worried that I MIGHT be running low on charge!

What doesn’t work on Linux?

There’s quite a bit of important stuff that doesn’t work on Linux yet. The most important missing feature for me is sound. The Linuxium kernel is patched to support sound over HDMI, but there is currently no support for the on-board Intel sound chip. The Chuwi Hi12 and Chuwi Hi10 both use the same sound chip as the Surface 3, and work seems to be progressing there. I hope that work will spill over to our inexpensive tablet soon!

Neither of the cameras work. I don’t find that to be a big loss; I don’t use them anyway.

Suspend and resume is flaky. I can resume from suspend successfully once. If I suspend a second time, I can’t get the Chuwi Hi12 to wake up. This wouldn’t bother me much on a laptop, but it is an extreme annoyance on a tablet.

If I’m not using a MicroSD card, then suspend and resume works somewhat reliably.

AmazonBasics 11.6 inch bag

The accelerometer doesn’t work yet. I believe a driver exists, but it doesn’t work yet. I set up a simple script that watches for the keyboard dock. If the tablet is in the dock, I force the screen to landscape mode. When the tablet is removed from the dock, it switches to portrait. This isn’t an ideal solution, but it has me covered 99% of the time.

Unfortunately, once the screen is rotated, runs away and consumes tons of CPU. It doesn’t noticeably impact performance, but I bet it is eating up my battery.

Speaking of battery, Linux can’t yet read the charge state of the battery. I have no idea how much juice is remaining, so I’ve been making it a habit to plug in whenever I can.

You can now see the current charge state of your battery if you’re running the Linuxium 4.10 kernel!

Hacking around the lack of accelerometer

I added a udev rule to create a symlink called keyboard_dock when the Chuwi Hi12 is plugged into the keyboard dock. This gives my little daemon script something to watch for.

ACTION=="add", ATTRS{idVendor}=="258a", ATTRS{idProduct}=="6a88", SYMLINK+="keyboard_dock"

Here is my kludge of a daemon script. It uses inotify to watch the /dev/ directory. When the keyboard dock changes state, it rotates the display and touch screen. It also reloads my xmodmap configuration, because it seems to be lost every time the keyboard is plugged back in.
#! /bin/zsh

while true; do
  if [[ -e /dev/keyboard_dock ]]; then
    xrandr -o normal
    xinput set-prop 11 "Evdev Axes Swap" 0
    xinput set-prop 11 "Evdev Axis Inversion" 0, 0
    xmodmap ~/.Xmodmap
    xrandr -o left
    xinput set-prop 11 "Evdev Axes Swap" 1
    xinput set-prop 11 "Evdev Axis Inversion" 1, 0
    xmodmap ~/.Xmodmap

  inotifywait  /dev --excludei '^[a-jl-z0-9]'
  sleep 1;

Would I be better off running Windows?

It is a close call, but I am already slightly better off running Linux full time on my Chuwi Hi12 for my purposes. Having a proper terminal emulator with a first-class UNIX shell environment is so much more useful to me than the “Bash on Ubuntu on Windows” nonsense, and being able to use a good window manager to wrangle all my terminal windows is much more comfortable.

Two of our Chuwi Hi12 laptops

It has been over a week since I last booted Windows 10, and I’m confident that I won’t be booting it again. The lack of audio on Linux is probably my biggest nuisance at the moment, but I’ve really only missed it once or twice.

For now, though, I have a working web browser, a better Emacs experience, and I spend less time managing windows. And on top of that, everything on my Chuwi now looks and feels just like my Linux laptop and desktop.

Everything works just well enough to keep me from wanting to boot into Windows, and I’m hopeful that things will continue to improve in the future!

You can use the Gearbest coupon codes to save yourself a few dollars.

My Chuwi Hi12 - Two Months Later

| Comments

I’ve had my Chuwi Hi12 for more than two months now. I’ve used it every single day. It has become an essential part of my daily workflow at home, and I take it with me almost every time I leave the house.

Chuwi Hi12 HiPen Active Stylus Pen

My friends at Gearbest sent me a Chuwi HiPen stylus to try out, so I thought this would be a good time to post an update on how things are going with the Chuwi.

All three Chuwi Hi12 tablets are doing fine!

We currently have a trio of Chuwi Hi12 tablets in the family. I have one, my wife has one, and my father-in-law has one. They’re all still working and used on a regular basis. Mine sees more use than the other two, but my wife brings her Chuwi every time she visits makerspace.

Two Out of Our Three Chuwi Hi12 Tablets

I ended up taking off the plastic screen protector from my Chuwi during its first month of service. Since it doesn’t have Corning Gorilla glass, I was worried that I’d end up scratching the screen. I’ve never scratched a plastic laptop screen, and the screen on my Chuwi is still unscratched, so I’m not too worried about it.

My fingers glide much more smoothly across the glass. The touch screen also seems more responsive now, especially when it is wobbling slightly in the keyboard dock.

I dropped my Chuwi Hi12

I’ve had a laptop in my possession continuously for almost 20 years now. Before owning the Chuwi, I had only dropped a laptop once. I believe my Fujitsu P2120 ended up tipping off the night stand. It suffered a minor cosmetic injury, and if I remember the incident correctly, it wasn’t entirely my fault.

When I dropped the Chuwi, it was my fault. I was carrying it around like an open laptop, and I set it down on top of one of our FlashForge Creator Pro 3D printers at Had it been a real laptop, this would have been fine.

If you’ve ever seen the acrylic tent on top of a FlashForge Creator Pro, you can probably already guess what happened. The edges of the tent are a good bit higher than the center. This pushed the Chuwi tablet up and out of its dock, and it tumbled onto the desk behind the printer.

Other than a tiny scuff mark on its metal shell, everything is fine.

The Chuwi Handwriting Pen

Gearbest asked me if I’d like to try out the active stylus pen for the Chuwi Hi12, and I have to say I was excited to give it a try. There was a good chance it would address one of the biggest failings of my Windows 10 tablet experience.

I have over 900 games in my Steam library. Quite a few of those games started life as mobile games, and some of the native PC games now have mobile ports. Almost every one that I wanted to play in tablet mode can’t be played without a mouse. They either need a way to efficiently click the right mouse button, or they need the middle mouse button. The pen almost solves the first problem, but doesn’t address the second.

Chuwi Hi12 HiPen Active Stylus Pen

I was looking forward to playing Prison Architect on a giant tablet, but Prison Architect uses the middle mouse button to scroll. When I eventually get Linux working on the Chuwi, I’ll definitely be able to address this issue, and I’m certain I’ll be playing Prison Architect with pen.

One of the best games I tried with the active pen so far is Torchlight 2. It runs well enough on the Chwui Hi12, and the controls work great. After playing for a few minutes with the pen, though, I learned that it is more comfortable to play with my fingers.

Torchlight 2 on The Chuwi Hi12 Tablet

The pen hardware is fantastic. It is a metal pen with a reasonable amount of heft to it—not ridiculously heavy, but it doesn’t feel like a disposable Bic. It is pressure sensitive and extremely accurate.

I am a big fan of whiteboards. Using my tablet in place of one seemed like it would be fun, so I sketched a few things using Microsoft OneNote. It is rare that you’ll hear me say nice things about Microsoft’s products, but OneNote has a feature that I haven’t had since my Palm Treo 650. It has an option that lets you draw sloppy geometric shapes, and it converts them into clean polygons.

I haven’t had to work on anything yet that requires a sketch, but I’m looking forward to the day when I get to exclaim, “Wait a minute! I’ll get my stylus!” with great anticipation.

Gearbest gave me a coupon code (GBHSP) for the Active Stylus Pen. It looks like it will get you the Chuwi Hipen H1 for $14.99 with free shipping.

Linux on the Chuwi Hi12

I’m not running Linux on my Chuwi just yet, but I’m getting closer. I expect I’ll be wiping Windows 10 off the Chuwi shortly after Ubuntu 16.10 is released. I booted a few live Linux distros, and my findings are quite promising.

I was able to compile a working Goodix touchscreen driver from GitHub. I didn’t have success at first, but there’s a rather large bug in the “working” Goodix driver. It doesn’t work after a cold boot. The touchscreen always seems to work fine on the second boot. If I can’t fix this, it will be annoying, but it won’t be a show stopper.

Xubuntu Booting On The Chuwi Hi12

I booted a strange, scary, Cherry Trail oriented Ubuntu derivative. It had a working driver for the Chuwi Hi12’s rtl8723bs Wi-Fi chipset.

Sound didn’t work on either of the Linux distros I tested. lspci shows the same multimedia controller as the Microsoft Surface 3, but ALSA doesn’t see anything. The Surface 3 is currently in the same boat, so I’m hopeful that the Chuwi will make progress here soon.

I was able to suspend and resume the tablet several times without issue.

I didn’t think to test the cameras—I don’t care if they work. It will be annoying to not have working audio, but it will be less annoying and embarrassing than using Windows 10.

How have I been using the Chuwi Hi12?

I intended for my Chwui Hi12 to take the place of both my giant 18.4” laptop and my 8.3” Android tablet. There are still situations where my aging desktop-replacement laptop is a much more suitable tool than the Chuwi, but those situations haven’t come up often. In fact, I’ve only taken my old HP laptop with me once since my tablet arrived.

At home, I use the Chuwi in tablet mode to read through my email, RSS feeds, Twitter, and Reddit. I usually do this from the recliner in my office or in the living room. I might peck out an occasional tweet with the on-screen keyboard, but if I have to respond to an email, I’ll drop the Chuwi into the keyboard dock.

AmazonBasics 11.6-inch Laptop Bag

As I expected, my Chuwi tablet spends most of its time docked in the keyboard. I’ve had lots of better laptop keyboards than the Chuwi Hi12 dock, but I’ve had a few worse, too. It gets the job done, but when I’m typing fast, it often misses my shift key and I end up missing capital letters. It works fine if I slow down a little, so I imagine most people don’t notice this.

I use the Chuwi as a laptop much more often than as a tablet. There are a lot of reasonably priced ultrabooks that are lighter and much faster than my Chuwi Hi12, and sometimes I wonder if that’s the route I should have gone. The Xiaomi Air 12 is small, light, and inexpensive. It’s also a bit faster than my old laptop.

I may only do it once or twice a day, but being able to ditch the keyboard and relax is a great feature. If I were using a standard ultrabook instead, I’d miss the tablet. Especially away from home, where I wouldn’t be likely to have both a laptop and tablet available.

The Chuwi Hi12 is powerful enough for the tasks I do when I’m not in my home office. I can comfortably surf the web, check email and Twitter, and write blog posts using Emacs. I can even edit RAW photos from my DSLR, though I’d prefer to wait until I get home—the Chuwi just feels too slow when using Darktable!

I had trouble with the keyboard, and it was all my fault!

For quite a few days, my Chuwi wasn’t making a good connection to the keyboard dock. When it was in my lap, it would disconnect and reconnect every time I’d fidget a bit. It even had trouble on my desk if I used the touch screen while it was docked in the keyboard. I thought for certain that there was something wrong with the Pogo pins.

The problem was much simpler than that. The connectors were just dirty. I’ve been telling everyone that I must have been eating while holding the tablet, and I got some pizza on the connector. It wasn’t visibly dirty, though, so I don’t know what actually got on there. I only know that cleaning it with my screen cleaner, aka rubbing alcohol, took care of the problem.

I’m still going to claim that the problem was caused by pizza.

Charging the Chuwi and USB battery packs

The Chuwi Hi12’s battery lasts a long time. I used it for several hours each day, and it rarely has less than 50% charge when I plug it in at the end of the day. I know it’ll manage to run for more than 6 hours with the screen at 50% brightness, and dropping that down to 25% probably extends the run time by nearly 2 hours. 50% brightness is too bright in a dimly lit room, while 25% is just about right.

The Chuwi Hi12 charges quite slowly. I tested a lot of USB cables. Even with my biggest 3A USB wall charger and my best Volutz Micro USB cable, it still takes forever to charge. How long is forever? I’ve never had the patience to measure, since it usually tops off over night. I do know that when I’m down below 30%, Windows 10 estimates that it will take over four hours to charge. This is the disadvantage of charging using Micro USB.

There is an advantage, though. I can run my laptop using USB battery packs. My oldest, smallest battery pack can only put out about 500 mA. That’s not enough to charge the Chuwi, but it does slow down the draining of the Chuwi’s battery.

Kmashi and RAVPower USB Battery Packs

The battery pack I carry in my laptop bag is a RAVPower Wi-Fi router with a 6,000 mAh battery built in. It can put out about 1,000 mA. That’s not enough to charge the laptop while it is running, but it is enough to keep the laptop battery from discharging. It can run the laptop for 3.5 hours.

I have a 15,000 mAh Kmashi battery pack. I wouldn’t be surprised if it ran the Chuwi for over 10 hours. I certainly don’t have the patience to find out!

I did encounter a small peculiarity during testing these USB batteries. When the battery gets close to dying, the Chuwi Hi12 would usually power off. I’m assuming Chuwi skimped somewhere in their charging circuitry, and it doesn’t always manage to switch over to the internal battery when the voltage on the USB power drops.

It is a minor problem, but that doesn’t make it any less strange.

The verdict

I’ve been using the Chuwi Hi12 for more than two months, and I won’t be surprised if I’m still using it twelve months from now. For my use case, it is just fast enough, just light enough, and you just can’t beat the price. It is a great piece of hardware for the price, especially when you can get the Chuwi Hi12 tablet and keyboard from for less than $300. It isn’t priced that low every day, but it seems to be on sale more often than not.

My Little Drawing With The Chuwi HiPen Active Stylus

I’m enjoying the Chuwi HiPen, too, and I suspect I’ll use it more and more as time goes on. For my purposes, I don’t think I’d pay the $40 that Amazon is asking for the pen, but with the coupon code (GBHSP) at, you can get it for $15 shipped. That’s a much better value.

If you need a laptop for light duties, and you have a workload like me, I highly recommend the Chuwi Hi12. The versatility and build quality are amazing, and it is hard to beat the Hi12’s beautiful 12” 2160x1440 display. There’s just nothing comparable at this price point.

You can save almost $100 if you go with the smaller Chwui Hi10. Aside from the smaller display, the Chuwi Hi10 is almost identical to the Chuwi Hi12. If you don’t need the larger, higher-resolution screen, then the Chuwi Hi10 may be a better choice. I think the screen on the Hi12 is well worth the extra $100.

You can use the coupon codes to save yourself a few dollars.

The Chuwi Hi12 Tablet and Keyboard

| Comments

I’ve been using the same laptop for more than six years. It is a giant laptop with an 18.4” screen, and it weighs nearly ten pounds. When I bought it, it was a desktop replacement, and its quad core i7 processor is still just as fast as any of the ultrabooks I’ve been interested in—like my friend Brian’s Dell XPS 13.

My Fujitsu P2120 Posing With My Chuwi Hi12

The big laptop is nice when I travel, because I often end up setting it up on a desk somewhere at my destination, and it sits there for most of the duration of my trip. Lately, though, I’ve been lugging my heavy laptop bag to makerspace several times each week, so I’ve been feeling the need for a more portable laptop.

More than a decade ago, I owned a Fujitsu P2120. It was an expensive, business-grade, netbook-size laptop from the days before inexpensive netbooks even existed. It was small, light, and it would run for 10 hours on a single charge. I was hoping to recreate that experience with modern hardware, and without spending $2,500 like I did in 2003.

In the size and weight range I was interested in, there are quite a few tablets with keyboards and kickstands—like the HP Spectre x2 and Surface Pro 3—but I don’t like these kickstands. I wanted something that I could comfortably use in my lap. I don’t want to skip ahead too far, but I’m writing this blog post in my office while sitting in my big recliner with my Chuwi Hi12 on my lap.

I had quite a few requirements on my wishlist, and the Chuwi Hi12 did a good job of meeting most of them.

  • 12” or 13” screen
  • Tablet with a keyboard dock
  • No kickstands!
  • x86 CPU
  • As much RAM as possible
  • Linux support

What else did I look at besides the Chuwi Hi12?

One of the most obvious choices is the Surface Pro 3. Although it is a nice piece of hardware, it starts at closer to $900—three times more than I paid for my Chuwi Hi12—and the odds of ever running Linux on the Surface seem pretty low. I’d be willing to pay $1,000 or more for a higher-end device, but not if I’m stuck running Windows 10.

The HP Spectre x2 looks like a decent piece of hardware, and it sure looks like it should be easy enough to get Ubuntu running on it. Unfortunately, the Spectre is another tablet with a kickstand and a flappy keyboard.

  Chuwi Hi12 Surface Pro 3 Dell XPS 13 ASUS Chromebook
RAM 4 GB 4 GB 8 GB 4 GB
CPU Atom Z8300 i3-4020Y(?) i5-6200u Dual Core 2.16 Ghz
Storage 64 GB 128 GB 128 GB 16 GB
Display 12.2”
Tablet Weight 1.88 lbs 1.76 lbs n/a n/a
Keyboard Weight 1.88 lbs 0.58 lbs n/a n/a
Total Weight 3.76 lbs 2.34 lbs 2.6 lbs 3.1 lbs
Price $280 to $380 $800 $869 $270

On the more inexpensive end, I looked at some of the Asus Transformer tablets. ASUS actually has tablets with keyboard docks similar to the Chuwi Hi12. They just don’t quite meet the specs of the Chuwi. The most reasonably priced Transformer tablets have less RAM than the Chuwi, and the 12” Transformers have smaller, low resolution, 16:9 aspect ratio screens.

I also looked at some Chromebooks. They don’t exactly meet my needs, but they are at least light and inexpensive. I included one in my features table for the sake of completeness.

Let’s talk about the Chuwi Hi12

The Chuwi Hi12 is a compromise, but I can definitely say that it is an interesting compromise. It is easy to compare it to the Surface Pro 3 and dismiss the Chuwi Hi12 because of its underpowered processor. I don’t look at it this way.

The Chuwi Hi12 is priced competitively with 13-inch Chromebooks, but the Chuwi has a full operating system, the same beautiful screen as the Surface Pro 3, and it is a 2-in-1 tablet to boot. It is a fantastic piece of hardware for this price point!

Surface Pro 3 Next To My Chuwi Hi12

The keyboard really sealed the deal for me—especially if you get the new version of the Chuwi Hi12 keyboard. I only had my Chuwi Hi12 for a couple of days before we had to order one for my wife. Hers came with a different keyboard—one I hadn’t seen in any reviews yet.

My older Chuwi keyboard has a narrow touchpad. The newer model has pushed the keys closer to the screen to make room for a regular-size touchpad, and in doing so they also created a more comfortable area to rest your wrists. The keys on the new-style keyboard feel a little better, and it is slightly thinner than the original, but it makes more noise when I type.

I read quite a few reviews before purchasing our first Chuwi Hi12. Most of them agreed that the keyboard is excellent, while the touchpad is garbage. I’m not a fan of any touchpad, but they’re correct—that narrow touchpad on the original keyboard is pretty crummy. The new touchpad is a huge improvement.

The Chuwi Hi12 keyboard closely matches the dimensions of my IBM Model M keyboard.

I’m embarrassed to be running Windows 10

I haven’t had Windows on any of my home computers since the days when I dual booted Windows 95 on my old Cyrix P200. I actually avoided the Chuwi Hi12 for months because I wasn’t interested in carrying a Windows laptop.

I’m treating this more like an appliance—a web-browsing machine that happens to run Emacs. I hope it won’t be too many months before I can switch to Linux. It sounds like Ubuntu boots just fine, but the drivers for the touch screen, accelerometer, and sound card aren’t working correctly.

For now, I’m just pleased that I don’t have to carry a 10-pound laptop, and an even heavier bag.

Upgrade the video driver!

Shortly after Windows 10 downloaded and installed the first batch of updates, my Chuwi tablet was crashing a lot. Almost every time it crashed was after putting it to sleep. I updated the Intel video driver, and it hasn’t been a problem since.

Just how heavy is the Chuwi Hi12?

At about 1.8 pounds, the Chuwi Hi12 tablet isn’t more than a few ounces heavier than the Surface Pro 3, but the keyboard is a different story. My friend Sam carries a Surface Pro 3, and when I handed him the folded-up Chuwi Hi12, he just said it was way too heavy!

Two Chuwi Hi12 Tablets With The New And Old Keyboard Dock

I expected this would be the case, and it is a trade-off I’m more than happy to make. The Chuwi keyboard has to have some mass to it, or else the weight of the tablet would make it unstable in “laptop mode.” I’m willing to carry a little extra weight, especially if it means I can easily use my laptop in my lap.

The tablet-and-keyboard combo weighs a total of 3.5 pounds. That’s less than a pound heavier than my friend Brian’s Dell XPS 13. Speaking of the XPS 13, if you’ve seen one, you know roughly how big the Chuwi Hi12 is. Brian’s laptop is a hair thinner than my folded up 2-in-1, but the other dimensions are quite close. Of course, the XPS 13 has that bigger InfinityEdge display!

I needed to find a bag!

I still have an old Dell bag that my Fujitsu P2120 used to call home. It is only just barely big enough for the Chuwi Hi12. Most of the time, I expect to walk out of the house with only the Chuwi. When I do take the bag, I’d like to have room for a little more than just the power cable.

I ended up buying the AmazonBasics 11.6-inch laptop bag. The Chuwi Hi12 fits perfectly, and it has two additional zippered pockets to store all my extra gear. It also has a shoulder strap—something my old Dell bag was lacking.

As usual, I packed the bag with enough gear that its bulging at the seams. Even so, the total weight of the fully loaded bag is less than six pounds. That’s more than three pounds lighter than my old 18.4” laptop, and I can even fit the new bag inside my old bag—even with the old laptop and all my old gear!

Is the Chuwi’s little Z8300 Atom processor fast enough?

Fast enough for what? My old i7 laptop is almost three times faster and has four times more RAM than my little Chuwi Hi12. In other words, the Chuwi isn’t a screamer, but it does well enough at the tasks I’m willing to tackle on a 12” display.

I was stubborn at first. I tried to use Mozilla Firefox—just like I do on all my other machines. I thought it would be more convenient to have access to all my browser extensions and synchronized bookmarks.

Don’t even bother. Just use Microsoft Edge. It feels infinitely more responsive than Firefox on an underpowered machine like the Chuwi Hi12, and it supports proper tablet-style pinch-to-zoom. Firefox just scales in 10% increments when you pinch the screen, and it does so at a glacial pace!

I’m happy enough with the performance of the Chuwi Hi12 for my use case—web browsing, email, text editing, and some light gaming. Steam streaming works about as well as it does on my Steam Link over Wi-Fi, too!

Where can you buy the Chuwi Hi12?

You can’t get one at your local Best Buy. I bought the first Chuwi Hi12 and keyboard from Gearbest for about $280. They estimated that it would take nearly a month for my tablet to arrive at my door, but it only took about two weeks. That’s still a long time, and I worried about whether or not the tablet would actually make it to my door.

We ordered our second tablet from Amazon. The tablet-and-keyboard combo was $360 with Prime shipping. The pricing at both Amazon and Gearbest seem to fluctuate quite a bit, too. The Chuwi Hi12 is still a great value at $360, and the extra $80 wasn’t a waste. It was nice not having to wait two weeks for the package to arrive, and it was a comfort knowing how quickly and easily Amazon will resolve any shipping issues.

You can also find the Chuwi tablet on eBay—usually somewhere in between the prices at Gearbest and Amazon. I haven’t bought a Chuwi Hi12 from eBay, but it is definitely a good place to look.

Charging your Chuwi Hi12

The Chuwi Hi12 comes with a 3-amp USB charger. I wanted a long charging cable for my bag, but I know that as cables get longer, their charging efficiency drops. I found a 10’ USB cable with nylon braiding for a reasonable price at Amazon. It had good reviews, but I didn’t trust those reviews, and I was curious how the USB cables I have around the house stacked up, so I also bought a USB power meter to test all my cables.

The results of my tests were surprising to me, and I’ll definitely be gathering my data and writing up a blog post. For this post, I think it is enough to say that the Volutz cables are some of the best cables I own. I liked the 10’ Volutz USB cable so much that I ended up ordering their assorted 5-pack as well.

I also picked up a compact USB charger to keep in my laptop bag. It folds up for easy storage, and the RAVPower 24W charger has a pair of 2.4-amp USB ports, so I can quickly charge my phone and tablet at the same time.

What about other Chuwi tablets?

Chuwi manufactures a wide array of tablets with Intel Z8300 processors with 8”, 10”, and 12” displays. Their 8” inch tablet can be had for as little as $80, but it only has 2 GB of RAM.

The Chuwi Hi10 is a very interesting machine, though. The specs are almost identical to my Chuwi Hi12, except it has a 10” 1920x1200 screen and a less-awesome-looking keyboard. I’ve seen the price on the Chuwi Hi10 with the keyboard dock drop as low as $180.

The Chuwi Hi10 is comparable to the 10” Microsoft Surface 3 tablet, but it sells for less than half the price.

In my opinion, the two best features of my Chuwi Hi12 are the keyboard dock and the screen. I’m more than happy to pay for the upgrade over the Chuwi Hi10.

The verdict

I’m extremely pleased with the Chuwi Hi12. I expected to qualify most of my statements about the Chuwi with “for the price,” but for the most part, I didn’t have to. It may not be up to Apple’s standards, but the build quality is better than some laptops I’ve owned—certainly better than most budget laptops.

The Chuwi Hi12 tablet is a low-end Ultrabook for the price of a Chromebook. That’s a bit of an oxymoron, since Ultrabooks are defined as high-end subnotebooks. Even so, I still say it is a good description of what the Chuwi Hi12 is.

If the hardware specs of the Chuwi Hi12 fit your use case, I just can’t recommend it highly enough. I’ve bought three so far—one for me, one for my wife, and one for my father-in-law. They’re all working great, and everyone we show the Chuwi to ends up finding it fascinating.

You can use the Gearbest coupon codes to save yourself a few dollars.

My First Week with the Steam Link and Steam Controller

| Comments

UPDATE: I have an extra Steam Link, and I’m giving it away! Follow me on Twitter and retweet this tweet for a chance to win!

I’ve been interested in both the Steam Link and the Steam Controller ever since they were announced. I haven’t been playing many console games lately, so I’ve been doing most of my gaming at my desk with a mouse and keyboard. I’ve been running a weekly Video Game Night at for the last couple of months, and that’s gotten me interested in playing something besides Team Fortress 2 again. Because of that and Valve’s sale on the Steam Link and Controller last week, I finally had to break down and buy them.

Steam Link, Steam Control, and Rascal

And I’m glad that I did! Each device fills a gap in my gaming experience, and I’ve been using one or both of them almost every day so far.

The Steam Controller

My Controller arrived one day earlier than the Link. As soon as it got here, I plugged its dongle into my computer and fired up Super Meat Boy. I expected to have a bad time using the emulated d-pad on the Steam Controller, but I got used to it pretty quickly, and I was breezing through levels at a reasonable pace.

I’d rather play Super Meat Boy with a good d-pad, like the one on an Xbox One controller or any controller from Nintendo—even the subpar d-pad on the Xbox 360 controller isn’t all that bad. The emulated d-pad on the Steam Controller is quite usable, though, and I bet you I’ll like it even more as time goes on.

Steam Controller and Xbox 360 Controller

Then I tried Saints Row: The Third. This was a a good way to try out the Steam Controller’s touchpad aiming with gyro assist. This unique way of aiming is rather intuitive, but continuing my game that was already set to the highest difficulty level was like jumping right into the deep end of the pool. I felt like I was doing a good job aiming, but I wasn’t picking off headshot after headshot in rapid succession like I can with the mouse.

I took my Steam Controller to’s weekly Video Game Night last week, and I let everyone try Saints Row with the Steam Controller. My friend Brian gave it a shot first, and he didn’t find it intuitive at all. He was flailing about, trying his best to shoot at the bad guys, but he just couldn’t do it well. He ended up resorting to fisticuffs. We had the fresh game of Saints Row set to the easiest difficulty, so this worked out alright for him.

Three or four other people tried, and most of them were clicking off fairly quick headshots within a few minutes. Brian ordered his own controller, and it is on its way as I’m writing this. I bet he’ll manage to get the hang of it soon!

The Steam Link

The Steam Link is a small box—not much bigger than the Amazon FireTV—that streams games from your computer to your television, and it does a fantastic job. It operates well enough over Wi-Fi. It is responsive enough to play Super Meat Boy, and I played at least an hour of Borderlands 2 over Wi-Fi. Unfortunately, my Wi-Fi signal isn’t the best here, and the Steam Link eventually had connectivity issues—I blame the neighbors! I’ve plugged it into my network since then, and both Valve and I recommend you do the same.

I wanted to play a game on the Link that I was already familiar with in order to hone my first-person-shooter skills. I chose Borderlands 2. I’ve played through the game more times than I can count, and the game is ridiculously easy when you start a new character.

Things started out pretty rough. I died in lots of embarrassing ways, but things improved rather quickly. I managed to get past Boom Bewm and Captain Flint without much fuss. Shortly after that, some friends of mine started popping in and out of the game to help me out.

At first, I thought, “Oh great! These guys are going to be doing all the work for me with their fancy, fast-aiming mice!” Things went better than I had anticipated. I wasn’t dying much more often than everyone else, and I was nearly doing my fair share of damage to the enemies. The Steam Controller makes me feel like the most inexperienced guy in the group, but I could see that skill gap closing every day.

On the first day, I could only hit slow-moving targets at a distance. I have the most trouble when they charge at me, and get right up in my face. On the first day, those enemies were nearly impossible to hit, and I had to backpedal to get them into my sights. Today, I can at least aim at them, but not as quickly or accurately as I’d like.

Even a few days in, I still couldn’t hit flying enemies like Rakk or Buzzards. After a week, I can manage to get a few hits and kills in. A lot of enemies are easier to hit when I play solo, since they’re all coming right at me, and this is especially true with these flying enemies. They’re much harder for me to hit when playing with friends, but I do manage now.

I’m getting better at using sniper rifles—I can often hit a Hyperion robot in the shoulder before one of my friends takes the kill on me.

The best part is that all the practice with Borderlands 2 transferred well to Saints Row. I look significantly less ridiculous trying to shoot things in Saints Row, but I still may need to start a new game on “normal” difficulty.

Do you know what’s really awesome about the Steam Link? My desktop computer is significantly faster than an Xbox One or PlayStation 4, and I have hundreds of games in my Steam library. Tons of those games are better played from the couch or your favorite recliner using a controller, and the $50 Steam Link is a fantastic way to do that.

You may have noticed that even though this section has a heading of “Steam Link,” I ended up talking about the Controller even more. There really isn’t that much interesting to say about the Link. It has one job to do, and it does it extremely well.

Should you buy both?

The Link and Controller make a good pair, but each one can provide quite a bit of value on its own. The Link functions just fine with other controllers—I plugged in my Xbox 360 Wireless dongle, and I had no trouble powering up the Link and playing Super Meat Boy. The d-pad on the Xbox 360 controller may not be the best, but it is more appropriate for a twitchy platformer like Super Meat Boy.

Steam Controller Packaging

Likewise, the Steam Controller will work just fine on your PC or laptop. I know some people that plug their laptop into their TV to play games—heck, we used to plug my laptop into the TV every week for Video Game Night at!

Personally, I’m glad I bought both. I once played through Saints Row: The Third on the PlayStation 3, and I recently played through half of the game on my computer with the keyboard and mouse. Driving on the PlayStation 3 was fantastic—driving with the keyboard is just awful. On the other hand, aiming with the mouse is a huge upgrade over the PS3.

The Steam Controller tries to provide the best of both worlds. Driving with the Steam Controller’s analog stick feels great, and aiming is so much more comfortable than it was on the PS3. I may not be able to aim as quickly and accurately as I can with the mouse, but I’m doing better than I can with an analog stick, and I’m getting better every day.

Do you own a Steam Controller or Link? What do you think of them?

I Almost Bought an Acer Predator X34

| Comments

I’m getting impatient. I want to upgrade to a newer, bigger, 4k monitor, but there aren’t any available that interest me. I wouldn’t mind having a slightly higher pixel density than my 27” WQHD monitors, and more pixels and screen real estate would be an excellent productivity booster, but I’m much too attached to 100+ Hz gaming to give up my QNIX QX2710 monitors just yet, because there are no 4K UHD monitors that can accept an input greater than 60 Hz.

This is a lie.  My current monitors aren't debezeled.  I don't have a more recent picture!

There is a stepping-stone between my overclocked 2560x1440 monitors and my hopeful future with 100+ Hz 3840x2160 monitors—the Acer Predator X34. The Predator X34 is an ultrawide 34” 3440x1440, and it can be overclocked to 100 Hz. It may not be the 4k upgrade that I want, but it is fully 1/3 wider than my existing monitors, and anything that hits 96 Hz or more will satisfy my need for a higher refresh rate.

At $1,200, the Acer Predator X34 is an expensive monitor. There are plenty of larger 4k monitors for half the price. Is a smaller, curved, 100 Hz monitor with 60% fewer pixels worth that kind of price premium?

I came to my answer pretty quickly. It just wasn’t a worthwhile upgrade for me.

Acer Predator X34 vs. QNIX QX2710

I have a pair of QNIX QX2710 monitors on my desk. Mine are overclocked to 102 Hz, and they cost about $250 each these days. You can buy four of these for less than the price of a single Acer Predator X34, and you’ll have more than enough left over to buy some nice monitor arms.

Even so, the Predator X34 was still very tempting. I find all the ultrawide 1440p monitors interesting. I’m very pleased with the height of my QNIX monitors—if they were any taller, I’d be craning my neck more than I’d like. The 34” ultrawide monitors are about 30% wider than my QNIX monitors, and I currently find that’s very close to what fits in my field of view.

My QNIX QX2710 Monitors and Articulated Stand

In theory, I could probably get by with a single monitor if it’s an ultrawide. In practice, though, I wouldn’t give up my existing monitors. I’d end up sandwiching that 34” ultrawide Acer Predator in between my existing QNIX QX2710 monitors. That’s just too much screen real estate, even for my large desk. My monitors are already over 4’ wide. If I added a 34” ultrawide, they’d be approaching the 7’ mark! I’d be constantly rotating myself, and I don’t want to have to do that.

The Acer Predator X34 sounds a little scary

Every time the Predator X34 goes on sale, I see all sorts of horror stories on Reddit about people having to send them back two or three times before finally receiving an acceptable monitor. It seems that most of the returns are related to backlight bleed.

I can live with some backlight bleed, and I expect it from a budget-friendly IPS monitor like the QNIX QX2710. However, I hope to acquire a more perfect specimen when spending $1,200.

I’m holding out for 4k

It has been almost a year since I last contemplated a monitor upgrade. At the time, my QNIX QX2710 monitors were still the right choice for me. If you’re a gamer, and you appreciate a monitor with a high refresh rate, the QX2710 is an amazing value. The Acer Predator X34 will be a good stepping-stone on the path to high-refresh-rate UHD monitors, but not with its current $1,200 price tag.

You can almost buy three Korean 2560x1440 monitors for half the price of the Predator. That would leave you with enough cash in your wallet for an Nvidia GTX 1080, and that’s the sort of video card you’ll need in the future if you want to drive a 3840x2160 monitor at anything close to 120 Hz!

Nearly twelve months after writing a post titled “Would I Still Buy a QNIX QX2710 in 2015,” I find myself asking essentially the same question. Would I still buy a QNIX QX2710, or any of the many other equivalent Korean monitors, in 2016? The answer is still an enthusiastic “yes,”“ and I bought two more for my wife’s desk last month, but I bet there are better alternatives on the horizon for gamers like me—gamers that want large, high-resolution monitors that are faster than 60 Hz!

Prime Lenses: Canon 50mm f1.8 vs Yongnuo 35mm f2.0

| Comments

Back in January, I purchased a used Canon XSi DSLR. It was a huge step up over the camera on my phone, and thanks to my friend Andy, it didn’t take long to start learning about things like f-stop, shutter speed, and ISO. I am far from an expert, but I feel like I’m quickly working my way past novice status.

Canon 50mm f/1.8 and Yongnuo 35mm f/2.0

I had a lot of fun with the Canon 18-55mm kit lens that came with my camera, but my research told me it wasn’t a great lens. I read about the “Nifty Fifty”—the f/1.8 50mm Canon prime lens. I asked Andy about this 50mm “fixed-zoom” lens, and he explained to me that I shouldn’t say “fixed-zoom” ever again. He did confirm that the 50mm prime was a great idea, and since it was so inexpensive, I ordered one immediately.

In fact, I was so pleased with my Canon 50mm f/1.8, that on the day my lens arrived, I immediately ordered one for my friend Brian.

Why choose a prime lens?

Unlike zoom lenses, Prime lenses have a fixed focal length. This makes prime lenses much simpler, smaller, and cheaper. Zoom lenses with a fast f-stop of f/2.8 start at around $500, while the faster Yongnuo 50mm f/1.8 only costs around $60.

The Canon 18-55mm kit lens is almost twice as long as either of my prime lenses. They may not be as small as Canon’s pancake lens, but my camera feels quite a bit less bulky when I’m using a prime.

While the size, fast f-stop, and price of the prime lenses are all great, not having zoom is sometimes problematic. I take a lot of great shots with my 35mm and 50mm lenses, but I can’t always stand in an appropriate location. A fast zoom lens may cost five or ten times as much as either of my primes, but there are definitely circumstances where I would have appreciated that zoom.

That said, a prime lens is an extremely inexpensive way to take some amazing shots.

Canon EF 50mm f/1.8

The “Nifty Fifty” is a fantastic lens. The f/1.8 is very handy. A lower f-number means a wider aperture, and a wider aperture means more light and more bokeh. My 18-55mm kit lens has an f-stop range from f/3.5 to f/5.6. Unfortunately, the kit lens can only reach f/3.5 when zoomed out to its widest angle. I can rarely zoom out that far, so most of the time I was operating at f/4.0 or f/5.6.

Canon 50mm f/1.8 Some friends of mine at Whiskey Tasting event at

Being able to shoot at f/1.8 was like using a brand-new camera. I can shoot without the flash indoors with the “Nifty Fifty,” whereas my kit lens would never work without a flash. I also really enjoy the bokeh at f/1.8—that’s the big out-of-focus area in front of and behind the focus of the shot. I like not having to worry about the backgrounds of my photos being perfectly neat and tidy!

Canon 50mm f/1.8 vs. Canon 18-55mm

Knowing what I know now, I wouldn’t buy the Canon 50mm lens. Yongnuo makes a 50mm f/1.8 prime lens that sells for less than half the price of the Canon. I haven’t had the opportunity to try the Yongnuo 50mm, but I’m extremely pleased with my Yongnuo 35mm prime lens. I expect Yongnuo 50mm f/1.8 to be similarly well made.

Is a full-frame 50mm lens the right choice for a crop-sensor DSLR?

I have a lot of fun with my 50mm prime lens. So much fun, that I almost completely stopped using the kit lens. It isn’t perfect, though. Since I can’t zoom with the lens, I have to zoom with my feet. On my low-end, crop-sensor DSLR, the 50mm lens has an apparent length of 80mm—that means I have to stand even farther away than with the 18-55mm kit lens when it is at full zoom. Sometimes that isn’t even possible!

Marvin with 50mm f/1.8 Marvin with 35mm f/2.0

I researched other prime lenses. I was tempted by the Canon EF-S 24mm f/2.8 pancake lens. At $150, I thought it was on the expensive side—especially considering that f/2.8 is one full stop slower than the “Nifty Fifty.” I also want to avoid buying any more EF-S lenses, because they won’t work on a full-frame DSLR, and I’d like to keep my upgrade options open.

Yongnuo EF 35mm f/2.0

When I saw the Yongnuo 35mm f/2.0, I purchased it almost instantly. The f-stop is almost as good as my 50mm f/1.8, and it is under $100—less than one quarter the price of the Canon 35mm f/2! How could I go wrong with this lens?

Rascal and Butters Mario at The National Video Game Museum in Frisco, TX Brew Night at

The Yongnuo 35mm is by far my favorite lens in my bag—it has barely been off my camera since it arrived, and I’ve taken over 1,000 shots with it already. I take photos with the Yongnuo 35mm that are every bit as good as the shots I got with the Canon 50mm, but it is usually much easier to frame my shots with the 35mm.

When I used to use “Nifty Fifty,” I found myself trying to get farther away, and I was backing into things all the time. Sometimes I’d run into something like a table, and I’d be able to walk around it to get my shot. Other times, though, I’d back into a wall—there’s no shooting through a wall.

What’s next?

I’m extremely interested in acquiring a fast zoom lens with a big aperture. I’m considering either the Tamron 28-75mm f/2.8 or the Tamron 24-70mm f/2.8. One of these lenses is quite inexpensive used, but it lacks image stabilization. Both lenses have an f-stop of f/2.8 when wide open or zoomed in, which seems intriguing. It may have been a better value to buy a used Tamron 28-75mm zoom lens instead of a pair of brand-new prime lenses.

What do you think? Do you enjoy your prime lenses? Will I be as happy with an f/2.8 zoom as I am with my f/1.8 and f/2.0 prime lenses?

Infiniband: An Inexpensive Performance Boost For Your Home Network

| Comments

Gigabit Ethernet ought to be fast enough for anybody, right? It usually is, at least for me. Heck, even Wi-Fi is fast enough for most of my local streaming and Internet needs. I am impatient every now and again, and when I’m impatient, I think about what I might do to upgrade my home network.

Copper CX4 Cable for Infiniband

My friend Brian decided to add 10 Gigabit Ethernet to his home network. I would enjoy having a faster link between my desktop computer and virtual machine server, and I didn’t want Brian to leave me behind in the dark ages, so I decided to give Infiniband a try.

Why Infiniband?

As it just so happens, used Infiniband hardware is fast and inexpensive. It isn’t just inexpensive—it’s downright cheap! I bought a pair of 2-port 20-gigabit Infiniband cards and a pair of cables on eBay for less than $70. That $20 per card and $15 per cable.

If that’s not fast enough for you, 2-port 40-gigabit cards don’t cost a lot more. I figured I’d save a few bucks on this experiment, since I don’t have fast enough disks to outpace a single 20-gigabit port. In fact, the RAM in my little server probably can’t keep up with a pair of 20-gigabit ports!

I decided to be optimistic, though. I bought two cables just in case 20 gigabits wasn’t enough.

I bought Infiniband cards with CX4 ports. The cards aren’t always labeled well on eBay, though. Most of the CX4 Mellanox-brand cards will have XTC in their model number. My Mellanox cards were rebranded as HP, so they don’t have those helpful part numbers. Luckily for us, pictures of the cards make it terribly obvious.

You can buy used Infiniband gear at Amazon or eBay. I usually prefer the convenience of Amazon, but the prices are quite a bit better at eBay.

How is Infiniband different than 10 Gigabit Ethernet?

10 Gigabit Ethernet is another incremental upgrade to the Ethernet protocol, and it works with TCP/IP in exactly the manner you’d expect. You can run IP over Infiniband, but that isn’t what it is designed for—you lose the advantages of Infiniband’s Remote Direct Memory Access (RDMA). I knew before ordering my Infiniband cards that this might cost me some performance, but I didn’t know how much.

I can run iSCSI over RDMA, and these Infiniband cards should be fast enough that I wouldn’t be able to tell if an SSD were plugged into the local machine or the server on the other side of the Infiniband cable.

Even though I don’t currently have a need for iSCSI, I did initially plan to test its performance. However, you need to install all sorts of third-party OFED packages to make use of iSCSI. I don’t need any of those packages to use IP over Infiniband (IPoIB), so I didn’t think it was worthwhile to pollute my desktop and homelab server with extra cruft.

Performance is much better than Gigabit Ethernet, but I have a bottleneck somewhere

IP over Infiniband (IPoIB) was easy to set up. The Infiniband network interfaces default to datagram mode, which was extremely slow for me. Putting the interfaces in connected greatly improved my speeds. I am able to push around 5.8 or 6.5 gigabits per second between my little server and my desktop computer, depending on which direction the traffic is flowing.

I had no idea how much network performance I’d be giving up to the extra memory-copying requirements of IPoIB. 6.5 gigabits per second is well short of the theoretical maximum speed of 16 gigabits per Infiniband port, but it is already a HUGE improvement over my Gigabit Ethernet ports.

IP Over Infiniband Bandwidth Test

At first, I had assumed my speed limitation was caused by the low-power CPU in my KVM server—I certainly didn’t choose it for its performance. During all my early testing, iperf’s CPU utilization was always precisely 50%. While writing this blog, however, I’m seeing 55% utilization when testing in one direction and 74% in the other.

I’ve also tested RDMA and rsocket performance, which should both be much faster. The RDMA benchmark tools were no faster than my IPoIB iperf tests, and my tests using iperf yielded identical performance as well. Those LD_PRELOAD tests with were definitely working correctly, because there was no traffic over the IPoIB link during the test.

[    1.709385] mlx4_core: Mellanox ConnectX core driver v2.2-1 (Feb, 2014)
[    1.709449] mlx4_core: Initializing 0000:02:00.0
[    4.001247] mlx4_core 0000:02:00.0: PCIe BW is different than device's capability
[    4.001301] mlx4_core 0000:02:00.0: PCIe link speed is 2.5GT/s, device supports 2.5GT/s
[    4.001356] mlx4_core 0000:02:00.0: PCIe link width is x4, device supports x8

These results led me to dig deeper. Before ordering these Infiniband cards, I knew I remembered seeing an empty PCIe 16x slot in both my desktop and my KVM server. As it turns out, both of those slots are only 4x PCIe slots. Uh oh!

02:00.0 InfiniBand: Mellanox Technologies MT25418 [ConnectX VPI PCIe 2.0 2.5GT/s - IB DDR / 10GigE] (rev a0)
        Subsystem: Mellanox Technologies MT25418 [ConnectX VPI PCIe 2.0 2.5GT/s - IB DDR / 10GigE]

According to lspci, my Mellanox MT25418 cards appear to be PCIe 2.x devices, so they should be capable of operating at 5.0GT/s—that’s 16 gigabits per second. Unfortunately, they’re running at half that speed. This easily explains my 6.5-gigabit limit, but I had to dig deeper to figure out why these cards identify as PCIe 2.x while operating at PCIe 1.x speeds.

The Mellanox site says that the MT25418 cards are PCIe 1.x and the MT26418 cards are PCIe 2.x. As far as I can tell, the Mellanox cards with model numbers that contain an 18 or 28 are PCIe 1.x,while model numbers containing 19 or 29 are PCIe 2.x.

Unfortunately, the faster cards cost four times as much. If you don’t have 8x or 16x PCIe slots available, and you need to double your performance, this might be a worthwhile investment. For my purposes, though, I am extremely pleased to have a 6.5-gigabit interconnect that only cost $55. That’s roughly 800 megabytes per second—faster than most solid-state drives.

You can’t bond IPoIB connections

My extra Infiniband cable was completely useless for me. It took me a while to learn that my cards just aren’t capable of maxing out even a single DDR Infiniband port in my machines. Of course, before testing anything at all, the first thing I tried to do after a successful ping was attempt to bond my two Infiniband ports.

ifconfig ib1

You can’t do it. IPoIB runs at layer 2, and the Linux kernel can only bond layer-1 devices. You can use the channel bonding interface to set up automatic failover, but you can’t use channel bonding to increase your IPoIB bandwidth.

This led to a second problem.

You can’t attach KVM virtual machines to IPoIB interfaces

KVM can only bridge directly to layer-1 network devices. This seemed like an easy problem for an old-school network engineer like myself. I figured I’d just need to create a new bridge device on the KVM server with a new subnet. Then I’d just need to route from the IPoIB subnet to the new virtual subnet. Easy peasy, right?

It should have been easy, but I spent days trying to make it work. I knew I had to set those giant Infiniband MTUs of 65520 on all these interfaces, but I just couldn’t get decent speeds when routing. At first, I was getting 5 or 6 gigabits per second in one direction, but I wasn’t even hitting DSL speeds in the opposite direction.

It was easy enough to fix, and I’m more than a little embarrassed to tell you what the problem was. I missed an important interface. I just couldn’t set the MTU on my KVM bridge to 65520. It failed. As it turns out, you can’t set the MTU of a bridge device to 65520 if the bridge isn’t already bridged to another interface.

IP Over Infiniband To Virtual Machine Bandwidth Test

When my virtual machine on that bridge starts up, it creates a vnet0 device and immediately attaches it to the bridge. Once that device is created, you can set its MTU to 65520, and then you’ll be allowed to set the MTU of the bridge to 65520. Then everything works as expected.

I am losing some performance here. I can “only” manage 5.6 or 4.6 gigabits per second between a virtual machine and my desktop computer. That’s still four or five times faster than my Gigabit Ethernet network, so I can’t complain.

How do I configure these IPoIB and KVM interfaces?

Documenting my new network and KVM configuration would probably double the size of this blog post, so I’m going to do a separate write-up on that soon. I will summarize things here, though!

You need an Infiniband subnet manager. I’m under the impression that one of these may already be running on your Infiniband switch, assuming you have one. I’m only connecting these two machines, so I don’t have a switch. I’m running opensm on my KVM server. I don’t believe I had to do anything to configure opensm after installing it.

Setting up the link between the two physical hosts was extremely easy, and it only required a few extra lines in my /etc/network/interfaces file to put the IPoIB links into connected mode. Other than that, they look just like any other network device.

auto ib1
iface ib1 inet static
  pre-up modprobe ib_ipoib
  pre-up echo connected > /sys/class/net/ib1/mode
  mtu 65520

I am not routing any traffic between my Infiniband subnet and my old Ethernet subnet. It isn’t necessary, since both machines on my Infiniband network are also on the Ethernet network.

The verdict

I’m quite pleased with my Infiniband experiment. It may have a few quirks that can be avoided if you use 10 Gigabit Ethernet instead, but Infiniband costs quite a bit less, especially if you have enough machines that you need to use a switch—there are plenty of 8-port Infiniband switches on eBay for under $100!

Had I known ahead of time that the Infiniband cards I chose only supported PCIe 1.x, I would have spent more to upgrade to faster cards. If I had done that, though, this would probably be a much less interesting blog post. I can’t really complain about the performance I’m getting, either. All the disks on my KVM host machine are encrypted, and its CPU can only process AES at about seven gigabits per second. These cards are still just about fast enough to push my hardware to its limits.

I convinced my friend Brian to build a heavy-duty, dual-processor homelab server using a pair of 8-core, 16-thread Xeon processors. I don’t really have a need for a beast like that in my home office, but I haven’t built anything like that just for the fun of it in a long time. I may end up building a similar machine later this year to add to my Infiniband network!

Emacs: Automatically Adjust Font Size When Frame Width Changes

| Comments

I get annoyed when I resize Emacs, and the window becomes narrower than 80 columns. I’ve had a solution to this problem floating around my head for years, but I just haven’t run into this situation often enough to implement an automated solution. On those rare occasions, it’s just been easy enough to hit a key to change the font size.

Narrow Emacs frames have become more annoying for me recently, so I figured it was about time to create an elisp function that would set the font size based on the width of my Emacs frame. In my case, this turned out to be quite simple. I’m not a fan of tiling window managers—I’ve tried a few, but they always felt uncomfortable.

Emacs at Two Fonts Sizes

I attacked this problem from the other direction. I use the Sawfish window manager, and I have some handy customizations that divide my monitors into columns. These columns aren’t of equal width. My 1080p laptop has a narrow column on the left and a wide column on the right. The 1440p monitors on my desktop have a wide column in the center with narrow column on either side.

These columns are roughly the same width on my desktop and laptop—the desktop just gets an extra column on each monitor. The narrow columns automatically tile vertically, and they’re just wide enough to fit an 80-column terminal window with a comfortably font size.

I have convenient key bindings to push the focused window into any of these columns on either monitor, but I also have some automation that moves new windows into appropriate places—Firefox in the wide column, Thunderbird in the narrow column on the left, and Pidgin chat windows get stacked in the narrow column on the right.

On my desktop, Emacs goes in the wide column in the center of my second monitor. It is usually flanked by several terminal windows. Emacs and my terminal windows both use the Solarized color theme and Inconsolata for their font, but I prefer Emacs to have a larger font size. This is fine, until I decide to push Emacs into one of the narrow columns. Sometimes I actually have two Emacs frames open at the same time. Other times I’m reviewing proofreading notes that I’ve received from my editor—LibreOffice often requires the wider column for the editing notes to be large enough to read.

(defun pjr-font-scale-on-frame-width ()
  (if (< (frame-width) 76)
      (text-scale-set -1.1)
    (text-scale-set 0))

(add-hook 'window-configuration-change-hook 'pjr-font-scale-on-frame-width)

At my usual font size, the Emacs frame isn’t much more than 60 characters wide in my narrow columns. As I said, this is easy enough to fix manually, but I’m sick of doing things manually. If my office lights can shut off automatically when Steam launches a game, then surely Emacs can change my font size automatically as well!

My use case is quite simple, since I only need to use two different font sizes. I hooked a function into Emacs that runs any time the window configuration is changed. If the frame is less than 76 characters wide, it scales down the font. Under any other circumstances, it sets the font to the default size.