PS4 Controller and PC

I do a lot of traveling for my job and one thing I enjoy doing on the road is gaming on my laptop. While the keyboard and mouse works great for many games sometimes nothing beats a controller. I also prefer a wireless controller so that I can connect the laptop to the hotel TV if so desired for some bigger screen gaming. So the question is, what is the best wireless controller out there for the road warrior who wants to do some PC gaming?

In my opinion the answer is the PS4 controller. It has a number of advantages over other controllers including that it is wireless (bluetooth) and uses the same standard micro USB connector as an Android phone thereby cutting down on cables. It has all the same buttons as the 360 controller and can mimic it flawlessly on Windows and Linux with third party help.

A batteries that needed constant replacing plus requires a dongle. The wireless 360 controller is excellent, but it has a non-standard charging connector and also requires a dongle.

On Windows, I use DS4Tool to get the PS4 controller to mimic the 360 controller. On Linux, I’m using the ds4drv for the odd time a game requires a 360 controller (looking at you Dead Island).

In short, I highly recommend the PS4 controller, give it a try and I’m sure you won’t be disappointed.

WPS Office (Kingsoft), Arch and Gnome Shell

I’ve used Libreoffice for quite awhile but mostly as a document viewer as I’ve found it’s compatibility with the various complex MS Office documents I have to deal with somewhat lacking. It’s also a large package and a bit slow for my tastes even though performance is much improved in later versions.

I’ve heard a lot of positive things about WPS Office (formerly Kingsoft) and I decided to give it a whirl. I haven’t used it long enough to post any kind of review, however I did want to comment on two minor issues I ran into and how to fix them.

The first issue I had is that the font selector in WPS Writer always reverted to Dejavu whenever I tried to use a Microsoft font like Arial or Times New Roman. After much head scratching, I realized that the infinaltiy font package (highly recommended for good looking fonts in Arch) had configured font substitution in /etc/fonts/conf.d. After reading the documentation here, I realized I needed to run the command sudo fc-presets set and select the ms option, after that the issue was resolved.

As an aside, dealing with Microsoft fonts in Linux is a bit of a pain. I had originally used the ttf-ms-win8 package but this required you to have the actual fonts on hand which was a pain to assemble. Also every time the package would be updated I would be missing new fonts added to it which I would have to track down, it was a complete pain. As part of sorting out my font issue in WPS Office, I also removed the ttf-ms-win8 package and simply copied over the fonts manually from my Windows partition as per the instructions here.

The second issue I had was that the Gnome Shell dock wasn’t displaying the right icon in the dock when running the WPS Office applications as per the picture below. Notice the ugly default Writer icon (the blue W) instead of the nice icon from the icon theme I am using.

Screenshot from 2014-11-12 13:43:36

Another issue I found was that the dock menu option “Add to Favorites” that appears when right clicking the icon in the dock was not showing and thus I could not pin the app to the dock.

After some investigation, I found out that the Gnome Shell dock expects the name of the desktop file to be the same as the binary. To get this working, I copied the wps desktop files to new ones as per the following table.

Application Existing New
Writer wps-office-wps.desktop wps.desktop
Spreadsheet wps-office-et.desktop et.desktop
Presentation wps-office-wpp.desktop wpp.desktop

Note that I could have opted to simply moved the existing files to the new names, but this means that whenever the package is upgraded the files will re-appear resulting in duplicate applications showing up in Shell. Instead, I simply copied the desktop files and then used menulibre to hide the old desktop files.

After these changes, the lovely icons from the icon theme starting appearing as per the picture below and the dock menu works as expected.

Screenshot from 2014-11-12 15:32:09

Moto 360 Charging Image Retention


There have been some reports on the web about issues with regards to the charging image the Moto 360 displays and image retention along with possible burn-in. In short, the Moto 360 displays a largely static image that shows the percent charged when placed in the charger. Since this image is displayed for several hours with minor changes there is the possibility of image retention occurring and in extreme cases burn-in.

Unfortunately Android Wear doesn’t have an option to turn off the screen while charging. While there are a few programs that purport to do this, what they really do is throw up a black image but the screen is still on. While this does eliminate the image retention issue, it’s by no means ideal.

The only way I have found to reliably disable the screen while charging is to use the following sequence of steps:

  1. Place watch on charger
  2. On your phone, open the Android Wear app, go into Settings and enable Ambient Screen by clicking the check box
  3. Wear 2 or 3 seconds then disable it
  4. Watch screen should now be off

While this solution works well, you do have to do these steps every time you place the watch on the Charger. Hopefully Google will add an options for this top Wear in a subsequent version.

Here’s a screen shot showing the Ambient Screen setting:

Screenshot_2014-10-20-12-43-09

 

 

Borderlands 2 and Linux

The Borderlands 2 port for Linux was released this week and was on sale for $5 initially so I couldn’t resist picking up a copy. I fired up the game last night and played for a couple of hours, this is a quality port for Linux. On my laptop under Arch Linux and with an Nvidia 860m the game played flawlessly at 1920×1200 with good framerate and smooth play. The only issue I had was a bit of audio stuttering during the opening movie sequence but the game itself ran great.

I highly recommend this game for Linux and well worth picking up, particularly if you have Nvidia hardware.

Gnome Boxes and Windows Guest

I recently decided to try switching to Gnome Boxes for my Windows Virtual Machine from Virtual Box simply to see if the integration with Gnome Shell would be better. What follows is a summary of my experience getting things running optimally, hopefully it will be helpful to others interested in trying the switch. Note that I’m using Arch and Gnome 3.12 at the time this was written.

While not strictly necessary, the first step for me was to uninstall VirtualBox and all it’s dependent packages such as guest additions and the host packages. After that, I installed the gnome-boxes package which automatically drags in Qemu. I would also recommend installing virt-manager and virtviewer in case you need to perform more advanced tasks then Boxes will allow.

With the packages installed, I tried Boxes and found I could not do anything because it would fail as libvirtd was not starting automatically as it should. A bit of explanation, under the hood Gnome Boxes uses libvirtd, a library that abstracts virtualization implementations, to interact with Qemu. In turn Qemu has two different scopes for virtual machines: system and session.

The system scope is when the libvirtd is running as a daemon and the virtual machines have wider access to resources due to the higher privileges of the daemon. Session scope is when the VM is running in the current user context and only has access to what the current user is permitted.

Gnome Boxes uses the session scope so there is no need to enable the libvirtd daemon in Arch for Boxes, however as mentioned there is an annoying issue where libvirtd doesn’t start automatically as it should. Therefore when you start up Boxes you can an error message similar to the below:

Unable to open qemu+unix:///session: Failed to connect socket to
'/run/user/1000/libvirt/libvirt-sock': No such file or directory

You can check out this thread here (https://bbs.archlinux.org/viewtopic.php?id=186874) for more information on it, I simply worked around it by adding a script libvirtd.sh to /etc/profile.d to start it on login:


libvirtd -d

Make sure to include the -d switch to run it in the background otherwise your login will hang.

Once that was fixed, I used Boxes to convert my Windows 7 VirtualBox image over to Qemu and fire it up. It ran fine but performance was terrible, after doing some reading I found there are two must do items to achieve decent Windows performance under Boxes and Qemu:

a. Uninstall the VirtualBox Guest Additions if you have them installed.

b. Install the Windows Guest Tools here which includes the QXL video driver, clipboard support, etc. This makes the VM experience much more performant and seamless similar to what the VirtualBox Guest Additions provide.

c. Install the virtio driver in the Windows guest for optimum network performance in the VM, they can be found here

At this point I had a well running VM but I still had an issue with Boxes that whenever I closed and re-opened the Windows VM Boxes would complain that it couldn’t be started and I had to start it from scratch. This was really irritating, but after a fair amount of troubleshooting I discovered the issue was that I had a inTSC feature enabled in the VM which was causing the issue. Using virsh, I modified the image in ~/.local/share/gnome-boxes/images to remove this feature and everything worked fine afterwards.

Finally the last issue is that in VirtualBox sharing folders between the host and guest is a snap, in Boxes there is no way to configure this easily in the Boxes UI. Looking at Qemu and KVM, it looks like there is a way to directly share folders but I opted to simply use Samba on the host to expose it to the Windows Guest. To do this, I installed the samba package in arch and then copied the file /etc/samba/smb.conf.default to /etc/samba/smb.conf and modified the newly copied file to expose the desired shares. In the guest, you can use the gateway address (10.0.2.2) to access the folders, i.e. \\10.0.2.2\Documents.

So after a bit of work everything is up and running at about the same performance level as VirtualBox. I love the integration of Boxes with Gnome Shell such as the search provider and will likely stay with Boxes. I do have one minor issue where I wish there was an option for Boxes to stop starting my VM in full screen mode however apparently this is addressed in Gnome 3.14 which should be available for Arch shortly.

Update on Clevo w230ss Review

I wrote a review of the Clevo w230ss laptop last month which specifically covered the Linux perspective. I’m pleased to report that the laptop still works great and I remain very satisfied with it. However I’ve found one minor issue with the laptop and Linux I thought I’d mention for others that may be interested in this combination.

I was on a plane using the laptop to watch a movie when I had to get up to let a seat mate go to the washroom. I closed the lid but when I sat back down and opened the lid to resume watching the movie I couldn’t get any sound out of the headphone jack. The only thing that solved it was doing a cold boot (i.e. power off fully and then start again), even a restart didn’t do the trick.

Turns out this is a known bug in the kernel and you can view the bug report here. Due to the complaints about the quality of the headphone output in the previous model, the w230st, Clevo added a DAC to the w230ss which is triggering this issue. Hopefully this will get addressed shortly.

Renaming Stylesheets in OAG

I was working with Oracle API Gateway (OAG) the other day and needed to do a transformation with XSLT. No big issue since OAG has a filter for this purpose, however when I added the stylesheet to the Policy Studio I found that the name included the full path of the file as per the image below.

Policy Studio

Policy Studio

Examining the Policy Studio UI I was surprised there was no obvious way to rename the stylesheet in order to omit the path. After asking around a bit, a colleague provided a work-around by mentioning that you could change the name in the Entity Explorer (esexplorer) tool in OAG. To start the tool, shut down the gateway and then navigate to the apigateway/posix/bin directory and execute esexplorer. Navigate to the stylesheet section and you will see the following:

Entity Explorer

Entity Explorer

Click the stylesheet whose name you wish to change, modify the URL in the table on the right and click the Update button. After the update you should see the following:

Entity Explorer - Stylesheet Change

Entity Explorer – Stylesheet Change

Additional documentation on the Entity Store Explorer can be found in the documentation for writing custom filters under the section “Verifying using the Entity Explorer”

JDeveloper and Arch

If you are having issues with JDeveloper crashing the JVM with a hotspot error in Gnome 3.12, try removing the GNOME_DESKTOP_SESSION_ID environment variable. Here is an example that uses a BASH script to start JDeveloper:

#!/bin/sh

unset GNOME_DESKTOP_SESSION_ID
cd jdeveloper/jdev/bin
./jdev

A similar issue also exists with SQLDeveloper as well, no surprise since it is based on JDeveloper.

XCOM: Enemy Unknown on Arch

Just a quick mention of the fact that XCOM: Enemy Unknown is now available on Linux. While the developers say only Ubuntu is officially supported it works great on Arch as well. Picked this up during the Steam summer sale and have to say this is an excellent native port unlike the disaster that is Witcher 2, great job Feral, take a bow!

Review of Clevo w230ss Laptop

Introduction

I recently opted to replace my beloved Sony Vaio Z (SVZ) laptop with a new Clevo w230s laptop. While the Vaio Z had served me well, it had a couple of limitations that were really starting to annoy me. Specifically, the Vaio Z was limited to 8 GB and the 256 GB SSD could only be increased by replacing them with an expensive 512 GB Sony proprietary model. Finally the external AMD GPU of the Vaio, while neat in concept, would only work in Linux with the open source driver and performance was atrocious.

Prior to the Vaio Z I had owned a Clevo machine that I purchased from Mythlogic, while not particularly attractive and a bit of a brick, it was powerful, easily upgradeable and user maintainable. This laptop is still going strong and being abused as my 13 year old son’s gaming laptop, it’s durability in this role has been very impressive.

Based on that positive experience, I purchased the Clevo w230ss from Reflex Notebook and the purchase went well with no issues as the laptop showed up at my door approximately four weeks later. I opted to use a Canadian company instead of Mythlogic this time as I wanted to support a Canadian alternative for Clevo/Sager resellers and didn’t feel like driving to Ann Arbor this time for the tax savings. I do highly recommend Mythlogic though, they were an excellent bunch to deal with last time.

Anyways, I thought it would be fun to do a short review of the laptop particularly from a Linux perspective since Linux is my primary OS for day to day work. Please keep in mind that I use Arch Linux which is a rolling release distro in that you are always running the latest and greatest. Thus there is a chance that while some things work fine for me they may not be functional under other distros such as Ubuntu which may have a slightly older kernel.

So with all of that in mind, lets move on to the review.

Appearance

Clevo w230ss

Clevo w230ss

The w230ss laptop has an appearance that could be best described as functional. It’s not a particularly sexy laptop, like a Macbook or my Vaio Z, but it’s not ugly either. The two tone finish of the laptop with silver on the inside and black on the outside is reasonably attractive and fits in well in the corporate environment. In some ways, the w230ss reminds of “sleeper” cars which are the cars when you look at them seem like perfectly ordinary family sedans but hide an enormous amount of power under the hood.

The back of the LCD is a rubberized material which feels nice but attracts skin oil like there is no tomorrow. On the whole though I like the rubberized finish.

Ports

This is the biggest issue with the laptop. While the number of ports are certainly sufficient (3 USB 3.0, 1 USB 2.0, HDMI, VGA, Ethernet) the layout is pretty crap-tastic. The right side of the laptop has the 3 USB 3.0 ports, HDMI, VGA and Ethernet and unfortunately the ports start right at the front which means if you use a mouse and are right handed plugging anything in will interfere with the mouse. The only work around I can see is buying some right angled cables off the net to keep the cables close to the side of the laptop.

The left side has the single USB 2.0 port and once again it is right at the front along with the 1/8” mic and headphone jack. Even if you don’t use the USB port on the left, left handed mouse users will find the left side is no better then the right since the fan vents here. In winter it’s great as your hand gets nice and toasty when gaming, other times not so much.

The one port I wish was included is display port so that high resolution monitors could be used. While HDMI is getting better in this regard it still has limitations at higher resolutions which won’t be addressed until HDMI 2.0 is available.

Keyboard

The keyboard feel is much better then my Vaio Z and is a pleasure to use, one of the better laptop chiclet keyboard that I’ve used over the last few years. As a software developer I am extremely thankful that Clevo designed the keyboard with full size arrow keys, this trend started by Apple towards half size arrow keys on laptops has been driving me insane.

Also, the inclusion of dedicated keys for Home, End, Page Up and Page Down is a welcome sight as I constantly use these keys to navigate code. On most smaller laptops such as my Vaio Z accessing these keys typically involves using the Fn key in combination with the arrow keys which I find quite irritating.

Finally the keyboard has three levels of back-lighting (None, Low, High) and the back-light key works fine under Linux for controlling it. However I don’t see any way to automate the control of the keyboard light as it doesn’t appear to have a device listed under /sys/class/leds, there is a phy0_led but its brightness value doesn’t change.

Trackpad

It works under Linux but since I never use it I can’t speak to the quality of it.

Display

My laptop came with the 1080p FHD display, displays with larger resolutions are available however I would highly recommend checking that your preferred Linux Desktop Environment (DE) supports HiDPI displays well before purchasing one.

The 1080p display on this laptop is nice and bright compared to my Sony Vaio Z. Viewing angles are very good and text is nice and easy to make out. Some users might opt to use scaling but in Gnome I have no issues reading text with scaling off (scaling factor of 1), everything is crisp and sharp. The display is matte, not glossy, and thus has minimum reflectivity even in office environments with overhead fluorescent lighting.

Power Management

I’m using Arch Linux with TLP to provide active power management, I also use bumblebee to disable the Nvidia GPU unless it is needed. TLP does a great job of managing power, with it enabled the screenshot below shows the tunables from Powertop and the ones in the Bad category are not things you typically would want to tune.

Powertop Screenshot

Powertop Screenshot

Under Arch I get about 5 to 5.5 hours of light use under battery with the screen dimmed to about 75%. The wattage being consumed is 15.5 watts as per powerstat.

Temperature and Fans

There are some complaints on various forums with respect to fan noise for the w230st and to a lesser extent the w230ss. This concerned me as I like my laptop to be as silent as possible when using it for work. I’m please to report though I find them mostly unfounded and have been very happy with the noise profile of this laptop.

When doing basic tasks in my home office, the CPU temperatures are around 45 Celsius and the laptop is dead quiet with the fans never spooling up. At the office when I’m doing coding, running servers, etc the CPU temperatures are between 50 and 60 degrees. In this scenario the fans will spin up lightly every once in a while but I find it to be barely noticeable and not distracting. It’s certainly not the on/off pattern so many people were complaining anout with the w230st.

In terms of gaming, I’ve only tried the Witcher 2 in both Linux and Windows. Unfortunately the Linux port of Witcher 2 is awful and the performance was atrocious so I didn’t bother looking at temps as I quickly moved over to Windows. Under Windows, the CPU temperature is about 80 degrees while the GPU is 71. This is in high settings with Bloom disabled.

When playing the Witcher 2 the fans are running constantly and the volume is correspondingly louder, after all you can’t pack this much power in a small laptop and expect silent fans when gaming. Speaking for myself though, I find the fan noise is drowned out by the game music and effects that I just don’t find it very noticeable. I will say though that if I accidentally place a drink with-in 6 inches of the exhaust fan on the left side it will quickly warm up. I’ve ruined more then one cold drink by doing this.

Dual Booting

As I mentioned in another post, I dual boot between Linux and Windows using rEFInd as the EFI boot manager. No issues with this setup except I had to adjust a Windows registry setting to ensure that time and time zones where treated the same in both OSes as per this blog post here.

One benefit of rEFInd is it will auto-detect any EFI boot loaders on USB sticks making it trivial to boot maintenances tools like an Arch Live USB or Gparted. This is much more convenient then trying to mess with the BIOS boot loader settings. Another benefit is not having to deal with GRUB any longer.

Summary

So in summary this is an excellent alternative for the Linux user looking for a powerful laptop with gaming capabilities.