Installing VMware 9 On Ubuntu 13.04 With Kernel 3.8

If you are a VMware user and an Ubuntu user you might have encountered an issue installing vmware’s kernel modules.  Basically as linux kernel development has accelerated over the last year or two, VMware did not keep up.

Skip to end of article for a script to run.

This is done on Ubuntu 13.04 running kernel 3.8.0-26-generic at the time of writing this article.

When you run VMware Workstation for the first time on a new machine after installation you will be presented with a dialogue asking you find the kernel headers.  The following command fixes this issue.  Either Ubuntu or VMware is not following the norm on where to store version.h:

sudo apt-get install build-essential linux-headers-$(uname -r) open-vm-dkms
sudo ln -s /usr/src/linux-headers-$(uname -r)/include/generated/uapi/linux/version.h /usr/src/linux-headers-$(uname -r)/include/linux/version.h

The next command will install the modules.  You can just re-run VMware but doing this from the command line lets you examine any errors:

sudo vmware-modconfig --console --install-all

There is a good chance this will end with an error.  Previous versions of Vmware and the linux kernel this was about all you had to do.  A user on askubuntu posted a nice script that handles the patch required on vmci:

http://askubuntu.com/a/294691/167903

Simply run that script as root all should be well.  If you are nervous of running a random script give it a quick examine, it is pretty simple.

 

Halsafar

MOGA Virtual Keyboard

About a month ago I released Moga VK.  This is an application that can turn a standard MOGA controller into a keyboard.  This is useful for games or applications like my emulators that do not directly support MOGA.  There is an application to do this already called MOGA Universal.  The major difference is it handles the Bluetooth connection on its own, this leads to many benefits but also adds a whole layer of complexity and potential crashes.  MOGA VK uses MOGA Pivot to manage the connection, this guarantees a stable and hassle free connection at a loss to some expert level features.  The app is very easy to use, merely start it up, enable the MOGA IME and it is ready to go for my emulators.

Enjoy!

Download

GambatteDroid

With the blessing of the author of libgambatte I am able to publically announce GambatteDroid.  Gambatte is a cycle accurate open source Gameboy and Gameboy Color emulation library.  As a developer I must say that libgambatte is very well written.  Kudo’s to all the authors involved in the project (Project Home)  As a Gameboy fan nothing is more nostalgic than playing it on a mobile device.  Go ahead and visit the forums if you have any comments to make.  Please rate or comment on the market page!

Video (Link):

Market:

https://market.android.com/details?id=ca.halsafar.gambattedroid

GambatteQRCode

NESDroid – Real Time Rewind

To continue the last post about GENPlusDroid real time rewind.  NESDroid rewind uses the exact same method. Required only some small changes to the emulation core, nothing major just how it loads/saves its state. The FCEU state saves are around 75Kb per frame. We are using a 20MB heap for the NES version which only provides 15-20s of rewind as you see in the final segment of the video.

Certainly more fun to real time rewind NES that Genesis in my honest opinion.

Download:

QR Code:

GENPlusDroid – Real Time Rewind

Not to long ago I adopted a method created by Maister into the genplus emulator that allows for real time rewinding (think Prince of Persia or Braid).  The method is somewhat like video compression P-Frames where you store the diff of the last frame.  Emulators like FCEU use state saving to disk to pull this off which is very expensive.  The individual state frames are often large ranging anywhere from 75Kb to 300Kb.   This method of storing the diffs in memory allows us to provide almost 30 seconds of rewind (varies depending on the game).  You can do the math to get a rough estimate how much space 30 seconds at 60fps worth of frames would take in its raw form.  The only real performance hit is the serialization and unserialization of the state itself, this proves fairly negligible.  This is really just a for fun feature it is however neat none the less.

See a video here:

This also marks the release of GENPlusDroid (for free). If you have any problems please visit the forums. Download from the market, leave a comment.
https://market.android.com/details?id=ca.halsafar.genesisdroid

Scan the QR Code for quick access:

Halsafar