Emulation and virtualization blog

April 6, 2012

Mac OS X needs hardware virtualization enabled to be run on vmware

Sometimes this error happens even when you have a processor with real hardware virtualization like Intel VT or AMD-V

Hardware virtualization may be disabled on BIOS (VMWare)

Mac OS X 10.7 64-bit - VMware Workstation
Mac OS X is not supported with software virtualization. To run Mac OS X you need a host on which VMware Workstation supports hardware virtualization.

Just enable it on the BIOS. It may be BIOS disabled and the program SecurAble show it as enabled anyway, so is not trustworthy.

SecurAble only shows the processor specs
SecurAble can tell you if a processor is virtualization capable although that does not mean that it is activated on your computer. It just shown the processor specs doesn't really test it for on your system.

November 23, 2010

Pros and cons of the Apple iPad

Pros
  • It has the best screen on the market, called IPS. It is multitouch, capacitive, HD and is very responsive and sensitive rarely giving bad touch receptions (when it interprets a touch gesture in a way that you didn't mean and makes you angry)
  • The iPad built-in material and hardware is of the best quality.
  • The iOS software based on UNIX is quite resilient to software failures, crashes and such, with an overall good performance and excellent appeal.
  • Bought apps on Apple Store have free updates forever. 
  • Some content of high quality is only available on App Store. 
  • Easy to buy applications.

Cons
  • The need of external accessories in a excess, like USB to iPad to read pendrives (USB-On-The-Go), Apple iPad Camera Connector to read SD cards, iPad to HDMI to output to TV, AIR Video to play MKV videos, Dock Connector to VGA Adapter, so you need a bag to carry your whole Apple accessories and its cases to do simple tasks. They are expensive and even some not official from Apple Store.
  • Do get all the power of iPad, you need to jailbreak it in order to use Cydia unofficial stores to install third-party apps oriented for different kinds of users, for example file browsing or service management.
  • The need for videos to be MP4/H.26/MPEG forces that other formats do not play smoothly even in a jailbreaken iphone, and if you convert other format videos to H.264 ties you to a physical computer. 
  • No official support for Adobe Flash. Although HTML5 is good, Flash offers more features to provide a smoother play, like buffering. That detects your speed connection and starts playing the video in the right moment so you don't run out of buffer. Flash does better job at resizing and embedded content in videos or applications. The reason why HTML5 videos are though to use less battery than Flash is because iPad decodes via hardware such videos and refuses to do it for Flash, so generic processor has to be used resulting in higher battery consumption.
  • Lockdown to a single store called App Store, with walled content.
  • Filesystem lockdown. You can't browse freely the filesystem. For that you need at least to install Cydia and then iFile or similar.
  • Although the screen is big for a tablet device (9.7 inches), it is not appropriate for someone who wants to do certain level of computing, more similar to a real PC. At least, people who wants that starts buying the Apple bluetooth keyboard, and then other hardware  like mouses, cases or Docs to keep in a good angle viewing position. That is not really portable and makes it a mess to take with you, suiting better a notebook or laptop.
  • The iPad is designed for being a "passive" user and to download content, but not to create it or participate actively on the web. Is good for reading some mail (and answering with short messages), viewing some youtube video, browsing bookmarked pages of playing some games.
  • Doesn't allow you to "save", "export" or "edit" your data out of the Apple environmental system, you are just meant to view it, making it nearly impossible to get out when you made your life around the Apple product and you want to change.
  • Abusive and nearly mandatory use of iTunes for every simple task related to getting or sending data to environment, like copying a file to the iPad. This ties you to a physical computer for reasons that are not technically justified.
  • The iPad 1024x768 screen fits 4:3 aspect ratio, which doesn't match the 16:9 and 16:10 ratios used for 720p, 1080p or other HD videos that even widely available at the App Store. That means that or a part of the screen is wasted if you want to see the entire film or laterals are cropped  if you want to see as much as possible. The iPad can't be compared to a real TV when talking about watching films as appropriate, and even such good screen causes eye fatigue when using it long time. The iPad should have a real 720p resolution from the beginning.
  • Some apps pretend the iPad to be a eBook reader, but actually doesn't meet with the objective. That screen is obviously not designed for ebook reading and when using it for a long time may cause eye injury, compared to traditional paper books.

October 31, 2010

How to uninstall VMWare Workstation .bundle in Linux/Ubuntu

First, search for installed versions:
$ vmware-installer -l

Product Name           Product Version     
====================== ====================
vmware-workstation     7.1.2.301548        


Then, remove it:
$ sudo vmware-installer -u vmware-workstation     7.1.2.301548


To list installed components:
$ vmware-installer -t










Component Name         Component Long Name                      Component Version   
====================== ======================================== ====================
vmware-installer       VMware Installer                         1.1.301548          
vmware-tools-linux     VMware Tools for Linux                   8.4.4.301548        
vmware-tools-solaris   VMware Tools for Solaris                 8.4.4.301548        
vmware-tools-freebsd   VMware Tools for FreeBSD                 8.4.4.301548        
vmware-tools-winPre2k  VMware Tools for Windows (Pre 2000)      8.4.4.301548        
vmware-tools-windows   VMware Tools for Windows                 8.4.4.301548        
vmware-player-setup    VMware Player Setup                      3.1.2.301548        
vmware-tools-netware   VMware Tools for Netware                 8.4.4.301548        
vmware-vix             VMware VIX API                           1.9.2.301548        
vmware-player-app      VMware Player Application                3.1.2.301548        
vmware-ovftool         VMware OVF Converter Tool                1.0.0.301548        
vmware-workstation     VMware Workstation                       7.1.2.301548        


You can uninstall components individually. For more information see:
$ vmware-installer -h


Usage: vmware-installer [options]

VMware Installer

Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit

  Manage:
    Install or uninstall products

    -i FILE, --install-bundle=FILE
                        Install bundle from FILE
    --install-component=FILE
                        Install a component
    --uninstall-component=NAME
                        Force uninstallation of a component
    -u NAME, --uninstall-product=NAME
                        Uninstall a product
    -r, --resolve-system
                        Force the system to resolve the current state
    --register-file=COMPONENT_NAME (config|regular) FILE
                        Register a file in the database
    -x DIR, --extract=DIR
                        Extract the contents of the bundle into DIR

  Information:
    Look up information on installed products

    -l, --list-products
                        List installed products
    -t, --list-components
                        List the installed components
    -L COMPONENT, --list-files=COMPONENT
                        List files for a given component
    -S FILE, --find-file=FILE
                        List components and files matching the given pattern

  Settings:
    Set and retrieve settings

    -g KEY, --get-setting=KEY
                        Get setting
    -s KEY VALUE, --set-setting=KEY VALUE
                        Set setting
    -d KEY, --delete-setting=KEY
                        Delete setting

  Options:
    --gtk               Use the Gtk+ UI (Default)
    --console           Use the console UI
    --custom            Displays all questions
    --regular           Displays questions that have no good defaults
                        (Default)
    --required          Displays only questions absolutely required
    -I, --ignore-errors
                        Ignore component script errors

October 12, 2010

Surreal64 XXX CE B5.4 is out

Description: A Nintendo64 emulator for Xbox. 



New in this release:
* Fixed: 480p detection for Xbox 1.6 
* Fixed: Rom paging for 128MB users -> 128MB uses XXX method, 64MB uses original method 
* Fixed: Skip Frames was a global setting -> now game specific 
* Fixed: Some long rom names would overlap the skin borders 
* Fixed: Updated ini files (thanks Darknior, Monkeys69, Spbaabck, Xmodder deluX, Xpfrags, Greatant, Mwaterbu, and Dnyce1987)
* Fixed: Updated 1964.ini to v2.1 (Rename 1964_21.ini to 1964.ini if you want to use it) 
* Fixed: Updated to latest PJ64.rdb (thx scorp316) 
* Fixed: Multiple *.ini/*.rdb fixes for e.g. WWF No Mercy and GoldenEye (thx scorp316) 
* Added: Azimer's audio plugin 0.5.5.1 (more info) 
* Added: MusyX audio plugin (Caution: may cause certain roms to slow down!) 
* Added: Comments line in Launcher 
* Added: Deadzone feature in Launcher - Increments by 200 between 0 and 10000 
* Added: Cbagy's 3D boxart and updated default skin

Author: FreakDave 

Version: Beta 5.4 
Filesize: 30117182 bytes
Uploaded on: 2010-06-08 



Direct download links:
Multiupload: http://www.multiupload.com/5H0WOOBQCY
Mirror: http://www.eurasia.nu

Download ROMs: http://romhustler.net/roms/n64

June 27, 2010

Differences between emulation and virtualization and portable ones

It happens that you want to try some operating system (same or different), platform or application without changing your main computer's software in a irreversible way (if you install an application and you uninstall it later the computer doesn't remain exactly the same as if you hadn't installed it in the first place) or without the need to reboot the computer, or you just want to do development so you needn't to have more than one computer to try several combinations or snapshots, or you want to run games that don't run in windows. It is used too when you want to try some software that cannot be installed on your computer, for example you cannot install a iPhone application on Windows directly and run it like if windows where the iPhone because are incompatible. Emulation and Virtualization allows you to do things like that.


There are two parts involved:
  • The host is the computer or device that is "always powered on" and where you install the other things, for example if you have a computer with Windows XP or Windows 7, and you want to try things on it.
  • The guest if the other software or "hardware" that you want to try without the need to install it on a hard drive deleting your windows, or if you do not want to change your computer as you have it, or if it can't be installed because the systems require different hardware.


The way to do this is using emulators and virtualizers, and the main differences between them are the following:
  • Virtualizers (also called hardware virtualizers) need that the hardware of your host and the hardware of our guest are similar in some way, because they share some of the physical hardware for both the host and guest, for example using the same processor instruction set like SSE4 or MMX. This makes the virtualization faster than the emulation because doesn't need every single instruction to be elaborated by software. For this reason also is faster.
    The other big difference is that you need administration privileges on the host computer for virtualize, for the previous reason that the virtualizer accesses the hardware directly.

    Some virtualizers may require special hardware, depending on the guest. For example, if you want to run MAC OS X Leopard on Windows or Linux, you need a processor with Intel-VT or AMD-V because the OS X requires it, and since it is not workarounded by software if demands you to have it physically on your computer. See here. And even if the Intel-VT or AMD-V are not required, the virtualization will go much faster if you have it, because there are several grades of virtualization depending on the percentage of hardware involved, so several names are given to that: Full virtualization, Paravirtualization, I/O virtualization, Memory virtualization, Network virtualization, Storage Virtualization, Partial Virtualization... See at the wikipedia.

  • Emulators (also called software virtualizers) allow you to run almost any platform no matter how different the host and guest are. Because of this, usually the guest goes slower when emulated than virtualized, and require a more powerfull hardware to be run the same. Furthermore, emulators usually do not need administration privileges on the host computer, so you can run it as portable on public computers or on a friend's.
In some cases, there is not a clear line that separates emulators from virtualizers, because some of them can act in the both ways depending on how you configure them. Also, depending on its characteristics, sometimes the emulation/virtualization is more accurate that in other cases, or are some things that you cannot do but you could if you had the original hardware (for example, when emulating the Nintendo 64 on a PC you may encounter that some games have glitches or missing objects, that surely doesn't happen if you play in the console). This is due to limitations, for example if the original hardware is publicly undocumented or due to technical reasons.

Sometimes, making portable applications consists on making some kind of emulation/virtualization over the original program so you can run it without the need to install (the hardware is faked).


You can do a lot of things using emulation/virtualization:
  • Run several instances of a operating system with a single computer powered on.
  • Test installation of programs over a clean install.
  • Make portable applications, over a clean install or with selected plugins.
  • Run a different operating system from the one you have installed on your computer because you want to try it or you want to do development.
  • Develop software for different computers when you only own one type. For example you have a PC with Windows XP but you want to develop for Windows 95, Windows 7, GNU/Linux, MAC OS X, FreeBSD, BeOS, HP-UX and all of those:  List of operating systems
  • Run games that natively don't work on you system, for example play SNES ofrPlayStation games on your computer, or old NEO-GEO machines.
  • Run games designed for a console on another. For example, with Surreal64xxx you can run Nintendo 64 games on the XBOX 1, if you have a modchip on it.
  • Run software only compatible with very old machines (abandonware), like AMSTRAD CPC games and programs.
  • Develop software for mobile phones or tablet pcs, like Symbian, iPhone OS, Android, Windows Mobile, etc.
  • Take operating systems from a computer to another in a usb pendrive.
  • Develop, compile, simulate and debug software oriented for PICs, industrial microcontrollers or PLCs
  • Install and run games that have copy protection software (Safedisk, SecurROM etc) when you don't have the original disc. This is done by emulating the protection over a virtual drive created on your computer and mounting on that drive the ISO or image of the game. Software like Daemon Tools or Alcohol 120% do this job, although newer versions of the protections like SecuROM detect that you have a virtual drive and won't let you go ahead.

There are a lot of different emulators and virtualizers, each one with its own strengths and weaknesses, more or less complicated to use, more or less powerfull computer you need to run nicely, the exact things you can do with each one, the license that is has, etc. Some examples of it are:

 Virtualizers: 
  • Xenocode Virtual Application Studio: it is intended for making portable applications. Depending on the application made portable such application may need or not admin privileges to be run. Allows you to integrate different frameworks with the application, like Java, .NET, Silverlight, WPF, LINQ, etc. 
  • Spoon Studio 2011: the continuation of Xenocode Virtual Application Studio
  • VMWare ThinApp: if you use VMWare ThinApp Portable you needn't to install it (this version is not official). It is intended for making portable applications. Depending on the application made portable this may need or not admin privileges to be run.
  • VMWare Player: only allows you to run operating systems in the vmware format. It is freeware.
  • VMWare Workstation: one of the best programs to virtualize operating systems. It allows to create and administrate virtual operating systems, beside from playing it. Also allows to create snapshots and graphic acceleration. It is not freeware.
  • Virtualbox: designed to virtualize operating systems. It is available under two different licenses, one under the GPL and other as freeware with some more features.
  • Microsoft Virtual PC 2007: operating system virtualization.
  • Parallels Workstation: operating system virtualization.
  • W.I.N.E.: it is not really a emulator or virtualizer, but an API translation toolkit. It allows you to run a lot of Windows applications and games on Linux, MAC or UNIX, with about 86% performance
  • Keil µVision IDE and Debugger: Keil makes C/C++ compilers, debuggers, integrated environments, real-time kernels, simulation models, and evaluation boards for ARM, Cortex-M, Cortex-R4, 8051, C166, and 251 processor families. It can run run only as emulator or virtualizer depending on the exact hardware you want to code for and if you want to live-testing the code and hardware or not.

 Emulators:
  • Qemu Manager + Qemu: designed for operating systems. Exists in portable version, to take your operating system on a pendrive. It can act as emulator or virtualizer, depending if you wish to install the Kqemu virtualization module from the menu. Installing the kqemu module requires administration privileges but the guest goes a lot of faster. Qemu has less functions than the VMWare Workstation but works good for testing. The big bet is that are free of use and distribution, under the GPL license. The Qemu Manager is a frontend for Qemu but thre are others.
  • Video Game and Abandonware emulators, that emulate consoles or old computers: Project64, ePSXe, ZSNES, WinAPE, Surreal64xxx, pcsp, Jpcsp and so on. See more at the Wikipedia.


April 23, 2010

MAC OS X Leopard needs Intel-VT or AMD-V to be virtualized in VMWare


This is what happens when you try to virtualize OS X Leopard on VMWare Workstation 7 and you don't have a hardware that allows hardware virtualization:

MAC OS X is not supported with software virtualization. To run MAC OS X you need a host on wich VMWare supports hardware virtualization.

To achieve the hardware virtualization, you need specific hardware that supports it, I mean a processor and a motherboard.

The list of Intel-VT and AMD-V processors are listed here:
http://en.wikipedia.org/wiki/X86_virtualization

April 16, 2010

VMWare Workstation 7 drag and drop error because of read-only files


When VMWare Workstation 7 gives this error:
Cannt open local file for write. Aborting the file copy operation.

It means that you are trying to drag and drop a file or folder outside the virtual marchine that is read-only or similar. Change its atributes so now you can copy it.