I mean, come on!
However, I've noticed issues with USB peripherals / Virtualbox that make Photoshop nearly impossible to use with a tablet for me.
It checks for the VM state and waits the system to be ready, so you can turn off the vm if you want. Feel free to adapt to your needs.
When you're installing it will say it's not working...but check the HDD light because it's actually installing files so when it stops blinking your installation is ready.
For what it's worth, I chose a different route in solving my Photoshop dependence: I forced myself to learn alternatives. But I don't mean just that I learned GIMP (which I recommend, though completely sympathise with the "Regarding GIMP" section); I mean that I made it my goal to be someone who can take new software and ascertain how to do with it what I already know how to do in my "native" habitat, even if the method is convoluted or requires learning a new paradigm. This goes back to days of using elementary school computers with nothing more than MSPaint and enjoying that hit of satisfaction from performing a manual "crop": make a selection, copy it, minimise the canvas to a handful of pixels, ctrl+V, MSPaint automatically resizes the canvas to the pasted selection, BLAM it's a crop! (We've all been young, when figuring these things out for oneself is the next best thing to being a Jedi - and that said, if anyone has their own method for cropping in 2000-era MSPaint I'd love to hear it). Likewise in the "new paradigms" category, learning about Turing machines and formal data structures changed everything for me as a BASIC-minded programmer.
Since adopting this generalised view I have found it's helpful as a core principle: I can't always count on the environments I know, so learning to adapt is crucial. This applies to programming, competitions, and even romantic partners. In the infinite indulgence of our field to give everything a "cool" name, I refer to this as the "Peter Petrelli" skill.
Quite apart from arguing against using Photoshop in Ubuntu, it returns to your piece. Sometimes short of coding something up from scratch there really is only one program that does what we require to solve a specific problem, and sometimes the operating system is fixed. Knowing how to solve the equation for these variables is part of being an adaptable and valuable agent. Great article.
I'm considering Windows as the base OS and a Linux VM for development stuff. I do web development, including design work, so I would need the ability to run Photoshop and other tools. But for running my ruby stuff (Rails, Spork, etc), I think a Linux VM would be ideal.
Summed up: How do others live in the Rails dev world when not using Mac OS?
It's almost tempting to switch to a set up like that but I don't have the heart for it.
On systems with modern CPUs and plenty of RAM to spare the VMs feel basically the same as native to me, especially when running them in fullscreen modes.
I supplement windows with a virtual machine running just a Debian terminal interface with 512mb of ram devoted to it. From that, I can run PostgreSQL, MySQL, Apache Ngnix or whatever else wouldn't be so great to keep on Windows. The added benefit of that is I keep my development enviroment seperated from the rest of my PC so I don't have to keep all the services running all the time unless I need them.
When I do have the VM on, I just keep it running in the background on one core and don't even notice it's there other than the ssh terminal I interact with in putty. As for other Linux needs, I can get by mostly with using Cygwin + puttycyg[1] for scripting python/perl/bash/etc. Overall, I haven't felt the need to use dual booting in a few years since adopting that approach.
My laptop is my development machine, so I usually have my desktop (Windows, since it doubles as a gaming rig) in reach if I need Windows for Photoshop or Visual Studio or something else briefly and don't feel like firing up a VM.
As a side note, if anyone is interested in running an Ubuntu desktop VM, I highly recommend Lubuntu. It's extremely lightweight and fast, it's perfect for VMs.
As for your question, the answer depends on whether you need the GPU acceleration in your adobe products. If so, you'll obviously want to run them on your host system. Support is getting pretty good but it is not there yet.
Parallels and VMware have both rolled out JIT translation of DX->opengl instructions with a windows guest, which is quite impressive. I doubt this improves your lot, though.
my ultramobile cpu actually supports vt-d, but so far it's completely useless
It is not "one of the most amazingly reliable pieces of software out there" by any stretch of the imagination.
One thing struck me as odd: Why make a `photoshop` alias if you're going to have the shell script in `$HOME/bin`?
I'd like to run Photoshop on my linux workstation but I don't have Windows.
is that not a horribly laggy experience?
I have a Core2 Quad Q6600 based computer and when I have run Windows inside a VM it is too laggy to use as a serious desktop beyond using a few basic apps. Doing 1080p video is choppy too.
Is there something about newer CPUs such as i7 that makes virtualisation hugely faster and more responsive?
Yes.
http://ark.intel.com/Products/VirtualizationTechnology
Running the Android Emulator on my i7-3770k is smooth as silk with Intel Virtualization turned on. Without IV it's like rubbing my face on sandpaper.
Probably the biggest difference in performance is in using up-to-date VM software and giving the guest machine sufficient memory.
1. http://ark.intel.com/products/29765/Intel-Core2-Quad-Process...
I recently purchased a 3770k and all other parts arrived today. The documentation[1] says 3700k supports Vt-x but not Vt-d. Does that affect anything at all ?
Possibly a graphics issue, though I do have a reasonable nvidia card and enabled 3d acceleration in Virtualbox.
With that said, I'd think the startup time would be horrendous unless he's just suspending the vm. The side effect of that is lots more HD storage requirements. So to make this as lag-free as possible, you would need to turn off hd compression, use suspend to avoid the windows bootup time and defrag like you would normally do in windows.
To answer your question, I believe modern Intel processors have virtualization optimizations built in.
This will do a lot to make your VMs responsive.
I've been doing web development work in a Windows VM for a number of years now and found it to be very responsive even on older MacBook Pros with with only one core of a Core2 Duo allocated to the VM. Adding more RAM helped a little bit, but the biggest speed boost was the addition of an SSD.
Well you probably could set the CPU affinity of every single application that is not the VM to one core and set the CPU affinity of the VM to the three other cores. A tiny script doing that should be fairly easy.
Maybe someone who knows VM better than me could tell if it would work or not?
Now my experience with VMs do not match yours: I've been running Windows just fine inside VM providing it has enough RAM (but RAM is basically given these days) and provided the special drivers were installed to make the UI fast.
Also, I've read professional photographer use Octocore Macs with 20 GB of RAM and create gigantic ramdisk for Photoshop and saying that it is incredibly much faster than letting the OS be "smart" about what/when to page to disk.
http://www.techspot.com/downloads/3689-adobe-photoshop-cs2.h...
CS2 runs perfectly with Wine (as far as I've seen).
https://wiki.archlinux.org/index.php/Desktop_Entries
how much it integrates depends on what desktop environment you are using. gnome and kde are using the same desktop files as far as I know. So it should work. Haven't tested it though.
You could also use unity with arch: https://wiki.archlinux.org/index.php/Unity
sudo pacman -S virtualbox
See https://wiki.archlinux.org/index.php/VirtualBox