Wednesday, September 12, 2018

Virtualbox and Fedora 28 Linux install error

I was messing with installing Virtualbox 5.2.18 this morning. Upon attempting to compile the needed kernel modules I was given errors. As it turns out I needed to install the elfutils-libelf-devel.x86_64 package. If you are having trouble installing and running Virtualbox 5.2.18 on Fedora 28 Linux then use the following command to install the elfutils-libelf-devel.x86_64 package.
sudo dnf install elfutils-libelf-devel
After the above package gets installed it should be smooth sailing.

Monday, September 10, 2018

XBOX One and Steam Controller Bluetooth Disconnects Under Linux

This morning I was messing around with Steam Big Picture mode (under Fedora 28 Linux) and my Steam Controller. I was having trouble syncing the controller via Bluetooth LE. Gnome's Bluetooth setting pane could find the controller but it would continuously disconnect and reconnect. After a bit I was stumped and went to get my XBOX One S controller. Much to my dismay it wouldn't even connect despite being recognized by Gnome settings. Again I was stumped.

I finally threw in the towel and went to Google for help. I searched around a bit and found Ubuntu bug report #1769423. This was the exact problem I was having and luckily provided a kernel parameter to help mend the situation. To make it easy on anyone who stumbles upon this post I'll outline how to fix this problem below.

First open Gnome Terminal and type in this command.
sudo -s
This will drop you to a root shell. While in this shell don't dick around or do anything stupid. You can royally e'ff up your system. After you're in the root shell you'll want to type in the below command.
echo 1 > /sys/module/bluetooth/parameters/disable_ertm
This command disables ERTM within Bluetooth's protocols. ERTM stand for enhanced retransmission mode. It is an improved version of retransmission and flow control modes. ERTM is required when using an AMP (Alternate MAC/PHY), such as 802.11abgn. If you're using AMP then this might cause a problem. For my needs I had no use for ERTM so disabling it was fine. The above command will have to be done with every reboot unless you add a kernel parameter disabling ERTM from the get go. If you want to disable ERTM at boot time you can do so by editing the grub file located in /etc/default/. Just add bluetooth.disable_ertm=1 in the GRUB_CMDLINE_LINUX section of the config file. I put it at the begining of the "rhgb quiet" part. Make sure it's between the " ". If confused check out the image below.

When you're finished editing /etc/default/grub you'll want to update grub to reflect the changes. Just type grub-mkconfig into the root shell. This command will display some text and finish. Make sure you exit or close the terminal after you finish. Like I said you can destroy your Linux install while messing around with the root shell if you're not careful.

And that's the end of the story. The above fixed my problem and got me back to gaming. Keep in mind the above info is for Fedora 28. It's may or may not pertain to other Linux distros.

Monday, May 21, 2018

VMWare 14.1.1 and Fedora 28 woes fixed!

Hi there. This is just a quick note on how to make VMWare Workstation 14.1.1 run properly on Fedora 28. I didn't figure these out myself so thanks to the original posters.

First off, right after installation VMWare cannot compile the kernel modules it needs to work. To fix this you'll need to install a package, make a sym link and reconfigure VMWare. You can also install the package and make the symlink BEFORE installing VMWare  to cut out the final command.

# dnf install elfutils-libelf-devel
# cp /usr/include/linux/version.h /lib/modules/$(uname -r)/build/include/linux/
# vmware-modconfig --console --install-all

Next up is 3D acceleration support. If you're using a nVidia card and their binary drivers you're good to go. But, if you're using MESA for 3D acceleration you'll need to add a line to your virtual machine's .vmx file. I just added it to the bottom of the file and all was well. Make sure VMWare is not running when you edit the .vmx file or it will over write your change when you shut it down. = "TRUE

These were the only fixes I needed to make VMWare Workstation 14.1.1 functional on Fedora 28. In future releases of VMWare you might not need to do these fixes. I hope this helps and happy vm'ing.

Tuesday, July 11, 2017

Fedora 26 - Release day 07/11/2017

Welp, today is the day. I'm waiting patiently for to update their downloads pages. Although I've not seen any announcements yet, I'm hopeful it'll happen. I've been running the beta of F26 for a few days now and it's rather stable minus a couple of issues.

The first issue is a 'System Failure' in the kernel when the desktop loads. Not sure exactly what it affects. Everything seems to be working fine, but it's an error none the less. See the image below.

Next is a strange source code compiling type of error. Any source code I've had to ./configure cannot find most of the libraries/headers it needs to compile. The main one I've had trouble with is SDL as well as a few others I don't quite recall right off the top of my head. I've tried manually passing the path along with no avail. Strangely though, source that uses cmake to configure finds all libraries/headers just fine. This has made packaging RPMs of a few emulators a bust at this point.

These two issues aside I've had nothing but a great experience with Fedora 26 beta. I can't wait for the release.

Saturday, February 18, 2017

Genymotion and ARM Binary Translation, Early 2017 Linux Edition

Using Linux there isn't a lot of choices for fancy Android emulators. AFAIK the only real contenders are Genymotion and the SDK Android Simulator. Personally I've never achieved great performance out of the Simulator so that leaves Genymotion. And that's where I'll start.

Genymotion is an Android emulator which uses VirtualBox s it's core. It seems to be mainly aimed at developers with a pay to use model. However they do offer a free for personal use build. This is the version I will be using for this post.

One of the main issues with Genymotion is it's emulation is based on x86 CPU only, meaning there is no ARM CPU compatibility out of the box. This also means most apps in the Play Store will not work. And speaking of the Play Store is the next issue, the suite of Google apps are not installed by default. This means no Play Store. But don't fret, you can add both ARM binary translation and all your favorite Google apps to a Genymotion Android virtual device.

I'm not really going to go into detail about how to install software. I'll tell you want you need and where to find it but installation is on you. With that said here we go...

The first thing you'll want to do is go grab the appropriate package or installation method for your flavor of Linux. On the VirtualBox Linux download page ( found by clicking here ) are packages for several distributions. Find yours and go for it. After your download completes you'll want to install the VirtualBox package. There is no need to open the VirtualBox application or mess with anything about it. Genymotion takes care of all the configuration of the virtual device. That's it for the first step. Good job!

Now that VirtualBox is installed head over to the Genymotion website ( found by clicking here ). This is where we will download the emulator. Please note you will NEED to register for an account with Genymotion in order to download anything. You might want to do so now if you haven't already. After your account is made (don't forget to log in) you'll have to wade through some links to get to the personal edition download. Lets step through it...

In the upper right hand corner you will find the Download button. It looks like the above image.

You will want to scroll to the bottom of the page and find the Get Genymotion personal version button. Click it and you will be on your way to yet another page, this one is for the personal edition. 

You are almost there. Click the Download Genymotion personal edition button. Now you are being transported to still one more page. It is the real downlod page.

You have reached the final destination. Click the Download for Ubuntu (64bit) - 45MB button to start the download. Genymotion is not just for Ubuntu as the button suggests. I am running Fedora and it's running fine. You will need a 64bit distribution of Linux though.

You'll need to use a terminal to install Genymotion and don't forget to set the file executable. On some Linux distributions Genymotion will not start right off the bat. I had this problem on Fedora 25. I ended up going into the installed Genymotion directory and deleting two files. These files were and After doing so Genymotion started right up using the gnome-shell launcher. 

Once you have Genymotion installed and open you'll want to create a virtual device. Again, you have no need to mess with the VirtualBox application. Try to forget it's even installed. Take a look at the below screen grab. This is what the application's interface looks like. 

To create your first virtual device you'll want to click on the + Add button on the top menu bar. This will bring up the Virtual device creation wizard where you choose what version of Android and what device you want to emulate. Have a look below for reference.

There are a lot of choices and combinations of Android version and device models. Don't become overwhelmed, you only need worry about one of each. For Android version choose 4.3 and for Device model choose Google Nexus 7. We choose the older Android version 4.3 because it's the newest version I could get the ARM binary translation libraries to work properly with. Check out the screen grab below for Android version and device model selection pointers.

Somewhere along the creation of the virtual device you will be asked to log into your Genymotion account. Please do so, otherwise you will not be able to do much with your shinny new virtual device. After you make your selections for Android version and device model you'll want to click the Next button. This takes you to the device summary and naming your virtual device. Name it anything you want or accept the default. Have a look below for a screen grab for reference.

When you finish naming your creation click the Next button. Genymotion will download and configure your virtual device.

When Genymotion finishes downloading and creating your virtual device you'll be back at the main interface screen. You'll see your newly created virtual device listed. Have a look below for reference.

Select your virtual device (whatever you named it) and press the Start button on the top menu bar. You'll get a little pop up progress box. After it goes away your virtual device will be running. Congratulations! 

The virtual device's windows is basically what you'd see on a real Nexus 7 tablet, minus the Google apps. There is a Genymotion supplied button bar for navigation, camera control, GPS, and various other settings. Most options are grayed out as they are for paid professional users. Have a look below for reference.

From this point it's normal Android stuff. Make yourself at home as the screen says. After you're done fiddling around with your virtual device we'll install the ARM binary translation libraries. You need to do this first before installing the Google apps. AFAIK some of the Google apps are ARM binaries thus the need for the ARM binary translation. 

To install the ARM binary translation libraries you'll first need to obtain them. They are not included with Genymotion nor for download from Google. They will have to be downloaded from a 3rd party source. I searched around and found them ( Found by clicking here ). Do not unzip the file after downloading it. It is meant to be zipped. 

To install the zip file open up a file manager (such as GNOME Files) and navigate to where you downloaded the file. Normally it's your Downloads directory in you home directory. Next drag the zip over to the Genymotion virtual device window and drop it in. A progress bar will pop up. After it finishes you'll want to shutdown your virtual device. Check out the below example video.

After your virtual device shuts down you'll want to close it via the normal means of closing a window on your desktop environment. When back on the main interface window you'll want to click on the Start button to start your virtual device again. At this time the Android virtual device will start up just like last time. Only this time your ARM binary translation libraries are installed. Now it is time to install Google apps. As with the ARM binary translation libraries you will need to obtain a compatible archive of Google apps. I used the archive ( Found by clicking here ).

Much like last time you'll want to open a file manager window to drag and drop the file into the virtual device window. When you drop it a progress bar will pop up. After a bit it'll let you know it has been installed followed by some Google related errors. These errors are normal and can be dismissed. Click through the errors and shut down your virtual device. Below is a screen grab of the errors you'll get. Remember there is nothing wrong, they will persist until you shut down your virtual device.

At this point you should be back at the Genymotion main interface window. Select your virtual device from the list and click the Start button. Your virtual device will spring to life once again and the Google apps will have been installed. You will likely receive errors related to Google+, like the last error this is normal. The error will go away once the Play Store updates the Google apps to their latest versions. Speaking of the Play Store it is time to log into to your google account. This is a necessary step into order to access much of what the Google apps have to offer, including the Play Store.

As per usual Android fashion click the application drawer icon at the bottom of the virtual device. This will access the application drawer. In the application drawer click on the Play Store icon. See below for reference.

Once you open the Play Store you will be greeted by Add a Google Account. You will want to click either Existing if you have a Google Account or New if you do not. I'm going with existing. Next you'll be asked to Sign in. Use your Google account email address and input your password. Press the right arrow at the bottom, Agree to the Terms of Service, continue on through the various screens dismissing any errors you receive. If all goes well you will be logged into the Play Store. See below for reference.

At this point you are pretty much finished. As a last stop you'll want to poke around the Play Store and update the Google apps. This will rid you of any errors that pop up. From here you can install most (but not all) apps in the Play Store. As an example I installed a custom kid friendly launcher and several children's games for my daughter. Most games will not install without the ARM binary translation libraries. Luckily you have them. Below are some examples.

As stated in the beginning, this post is intended for Linux. Mac and Windows have a few easier options for Android emulators. Although more difficult to setup Genymotion is a capable and nicely featured Android emulator. I've not ran into any show stoppers thus far.

Friday, October 7, 2016

Really Terrible Swamp Thing Sega Genesis Cover Custom in png Format

I was messing around with OpenEmu and noticed there was no cover for Swamp Thing on the Sega Genesis. I Googled around for a bit and couldn't find anything at all. So I decided to take the Swamp Thing for Gameboy's cover and make a (shitty) custom Genesis cover. Well, here it is incase you are in the same predicament...

Covering all the Gameboy specific logos and markings makes it look sketchy as hell, but there wasn't much to work with on the web.

Thursday, September 15, 2016

PCSX2 for Fedora 24 Linux - New git build available

Will I ever stop? Yo, I don't know. Turn off the lights and I compiled a new git build of PCSX2 for Fedora 24 Linux. You can download the RPM below.

Download PCSX2 1.5-git+1a1d6ab for Fedora 24 Linux.

Virtualbox and Fedora 28 Linux install error

I was messing with installing Virtualbox 5.2.18 this morning. Upon attempting to compile the needed kernel modules I was given errors. As it...