distractionware forums

VVVVVV => VVVVVV => Topic started by: tremby on January 14, 2010, 01:49:28 pm

Title: Linux version
Post by: tremby on January 14, 2010, 01:49:28 pm
Is there an ETA on the Linux version?
Title: Re: Linux version
Post by: Toupee on January 17, 2010, 01:51:50 am
I'm curious as well.  I'd love to replay this when I get my Pandora (http://www.open-pandora.org/).

Really love the game.  Just got my 20th trinket today!
Title: Re: Linux version
Post by: knocht on January 19, 2010, 12:36:28 pm
So, ... is this going to be released or can we add VVVVVV to the list of games that promised Linux but failed to deliver?
Title: Re: Linux version
Post by: Terry on January 19, 2010, 12:56:21 pm
I'm working on the linux version today. Hopefully it won't be much longer! :viridian:
Title: Re: Linux version
Post by: dinx2582 on January 19, 2010, 06:34:02 pm
In the meantime, I've managed to get the full game working perfectly in Wine (dedicated/window mode only, apparently.  fullscreen crashes.).  Up until now only the demo would work properly, but I managed to rebuild the flash projector executable using movie.swf from the OS X build (had no luck decompiling the projector itself, had to use the OSX swf).

If you feel like doing it yourself, and have access to both the Win32 and the OSX build (legally, of course), it's not too hard:

$ wine VVVVVV.exe movie.swf

This loads movie.swf into the flash interpreter instead of the one embedded in the projector exe.  It should freeze at 1% loading.  Ignore that.  Just go to File, Create Projector, and then run that newly generated .exe file with wine and you're good to go.  Until the REAL linux version comes out, anyway.  

---

By the way, Terry,

You and souleye have certainly outdone yourselves  This game is an instant classic.  Thank you for the opportunity to experience it.
Title: Re: Linux version
Post by: snack on January 23, 2010, 12:58:16 am
Yes, the demo worked in Wine, but full game doesn't seem to. I could try this trick, but I don't know how to extract the .swf file from the Mac build. I can mount the .dmg file, but I think the main contents are in a .pkg file inside it. Well, I'll try other hacks in the mean time.

edit: I managed to use a thing called exe2swf to extract an swf file from VVVVVV.exe, but if I run "wine VVVVVV.exe VVVVVV.swf" and then generate a new .exe, the result is the same as just running the first command, i.e. it just shows a Window saying "press esc to exit fullscreen mode", or something.
Title: Re: Linux version
Post by: Terry on January 23, 2010, 01:17:39 am
I should have the patch ready soon, which will start in a window should make it easier to play from linux!
Title: Re: Linux version
Post by: NicePics13 on January 25, 2010, 01:00:38 pm
@dinx2582: I have the stunningly perfect OS X version of VVVVVV :viridian: even successfully made a Wine friendly executable from the .swf following your guide. But the game is laggy with Wine and nothing I do to the settings seem to have any effect >:(, even tried adding forcerefreshrate in regedit; a must for other directdraw games played on an LCD. The slowdown in reaction speed seem to come in regular intervals, feels almost synced :D
Couldn't test out the latest native flash player for linux (encrypted swf? Game stops loading at 1%). But surely native is the way to go? Even if the game would be laggy now, later updates to flash/xorg/the kernel could fix it?
Title: Re: Linux version
Post by: dinx2582 on January 25, 2010, 06:36:38 pm
@dinx2582: I have the stunningly perfect OS X version of VVVVVV :viridian: even successfully made a Wine friendly executable from the .swf following your guide. But the game is laggy with Wine and nothing I do to the settings seem to have any effect >:(, even tried adding forcerefreshrate in regedit; a must for other directdraw games played on an LCD. The slowdown in reaction speed seem to come in regular intervals, feels almost synced :D
Couldn't test out the latest native flash player for linux (encrypted swf? Game stops loading at 1%). But surely native is the way to go? Even if the game would be laggy now, later updates to flash/xorg/the kernel could fix it?

I suppose I jumped the gun a tiny bit when reporting on how this version performed while running in Wine.  In fact, I have the same issues as you do regarding the bits of slowdown, I just had forgotten to include that followup.  Might I suggest using the zoom function that comes with compiz-fusion?  This way it's not being upscaled, and I know that works well for other standalone flash games I play that exhibit nearly identical issues at higher display sizes, although it's hardly as much of a solution as it is a workaround.

I've tried the .swf in both flashplayer9 and 10 (amd64), and I feel like the 1% issue may have to do with the fact that the standalone flashplayer(s) are creating 32bit binaries, but I don't know enough about flash to know if that would actually present an issue, nor do I have a 32bit linux machine to test it out on at the moment.  I'm inclined to think it's not the cause simply because other games I've used it to create projectors for work fine in the same environment.

I think the lag itself is due to upscaling flash while in the standalone flash player, because slowdown that occurs for me in various games does not occur when I'm running the respective .swf files through Firefox (even with control-+ enlargement), although this obvious does not include VVVVVV.

EDIT:  I don't think encryption has anything to do with it, as the .swf reads fine in any ol' flash 10-capable decompiler (don't worry Terry, not actually interested in decompiling it :P), and I would assume that encryption would prevent the internal components from showing on the decompiler's file content list.
Title: Re: Linux version
Post by: NicePics13 on January 25, 2010, 10:06:26 pm
Installed vanilla Wine 1.0 on my netbook running Debian Testing and there's almost no lag :-* compared to latest Ubuntu with Wine 1.1.36
Title: Re: Linux version
Post by: Terry on January 25, 2010, 10:10:40 pm
Installed vanilla Wine 1.0 on my netbook running Debian Testing and there's almost no lag :-* compared to latest Ubuntu with Wine 1.1.36

That's very very good to know, thanks!

If anyone else reading this has tried this yet, could you post in this thread with the version of Wine you used and your results? I'm going to put together a help page for linux users.
Title: Re: Linux version
Post by: Kalir on January 25, 2010, 11:25:46 pm
Mine doesn't work yet, but it's telling me something about not having properly installed the OpenGL drivers. I'll look at it when I have a bit more time.
Title: Re: Linux version
Post by: dinx2582 on January 26, 2010, 04:09:29 pm
Installed vanilla Wine 1.0 on my netbook running Debian Testing and there's almost no lag :-* compared to latest Ubuntu with Wine 1.1.36

Interesting, as I upgraded to 1.1.36 from 1.0 because the wine wouldn't even so much as begin to draw the window, but the demo worked fine.  It was probably a problem on my end though seeing as how a flash projector is a flash projector is a flash projector.
Title: Re: Linux version
Post by: NicePics13 on January 26, 2010, 06:21:10 pm
Interesting, as I upgraded to 1.1.36 from 1.0 because the wine wouldn't even so much as begin to draw the window, but the demo worked fine.  It was probably a problem on my end though seeing as how a flash projector is a flash projector is a flash projector.
Even if Ubuntu is based on Debian the packages can be wildly different and compatibility has become less between the two. Intel video support is frankly crap in Ubuntu and I don't care for pulseaudio.
Title: Re: Linux version
Post by: dinx2582 on January 26, 2010, 07:43:58 pm
Quote
Even if Ubuntu is based on Debian the packages can be wildly different and compatibility has become less between the two. Intel video support is frankly crap in Ubuntu and I don't care for pulseaudio.

Right, there's no telling.  I simply did an apt-get install to update my Wine package, so at least I'm not having to worry about the whether or not a .deb is identical to the repository copy.

Intel video support isn't even crap, it's practically a joke.  Then again, relying on on-board video isn't a very wise thing to do these days.  Pulseaudio is alright, at least when the alternative is no audio thanks to broken OEM drivers.

--

Incidentally, I tested building/running the VVVVVV swf in a 32-bit virtual machine, and I'm sure I've gotten similar results as Terry, which is to say that it didn't work, but that doesn't really have anything to do with Wine.  If he can't get it working while in possession of the source code, I'm not too confident about what I could pull off with just a binary.
Title: Re: Linux version
Post by: dinx2582 on January 26, 2010, 07:53:16 pm
Alright, I think I've narrowed down why the linux version doesn't work.  Granted, you probably already knew this much Terry, but I don't see it mentioned anywhere.

Demo = flash 9
Full = flash 10

That's the only difference I can determine between the demo and the full version, and it would probably account for the compatibility issues.

Have you tried building the game in just flash 9?  Of course I have no idea if that is even feasible given potential differences and feature support between the two versions of flash.  I'm clearly not a programmer. :P
Title: Re: Linux version
Post by: Terry on January 26, 2010, 07:55:35 pm
Yep, tried that. :victoria:

(the reason why is because a lot of people are still using flash 9 as their browser plug in, so it makes sense to use it there - but flash 10 makes way more sense for the standalone version because it's just a lot better)
Title: Re: Linux version
Post by: dinx2582 on January 26, 2010, 08:10:40 pm
Yeah, figured as much.  :victoria:  Thanks for the feedback.
Title: Re: Linux version
Post by: ScannerDarkly on December 26, 2010, 08:18:24 pm
Ubuntu 10.04 LTS
x86_64
wine-1.3.9
Nvidia driver: 173.14.22

Works fine in a window. If fullscreen, then freezes. Relaunch game also relaunched in fullscreen. This results in a black screen. Solution is to copy the folder to another location and relaunch the .exe with Wine, which launches it back into window mode. Maximizing the window is an alternative solution if you want fullscreen.

Can anyone else confirm this behaviour? I shall also be trying this on Arch Linux which a more recent nvidia driver, as well as an Intel chipset with Ubuntu and Arch respectively.
Title: Re: Linux version
Post by: Arkatox on December 26, 2010, 09:54:26 pm
I say just put VVVVVV in the Humble Bundle #3 and no questions asked. The HB people always make sure all games are for Windows, Mac and Linux.
Title: Re: Linux version
Post by: Pilzi on December 27, 2010, 08:50:45 pm
Terry didnt you want to make a C++ rewrite of the game?  :viridian:
Title: Re: Linux version
Post by: Terry on December 27, 2010, 09:19:09 pm
Sure, but with Nexus City and Self Destruct 2 and [other secret project] I don't see myself having time for that.

(Mind you, if it meant being in the next HiB, I could probably shuffle things around a bit. :viridian:)
Title: Re: Linux version
Post by: Arkatox on December 28, 2010, 01:51:01 am
Terry, I need to play the rest of your games. :)

If I ever got a Linux computer (which is doubtful, since I'm used to Windows so much), I'd send the U.S. Government a terrorist threat that if you (regardless of what country you're from) don't make a Linux version of the game . . . well . . . I'll use my imagination.

So, if I ever get a Linux, MAKE A VERSION FOR IT! :vermillion:
Title: Re: Linux version
Post by: ScannerDarkly on December 28, 2010, 07:49:47 pm
Took me a while to find it, but here -- Linux/WINE save file kept:

Windows uses
Code: [Select]
Macromedia\Flash Player\#SharedObjects\<string>\localhost\Program Files\VVVVVV\VVVVVV.exe
Linux save found in:
Code: [Select]
~/.wine/drive_c/users/<username>/Apllication\ Data/Macromedia/Flash Player/#SharedObjects/<string>/localhost ... ...
Title: Re: Linux version
Post by: jarreboum on May 08, 2011, 12:50:03 pm
Yep, tried that. :victoria:

(the reason why is because a lot of people are still using flash 9 as their browser plug in, so it makes sense to use it there - but flash 10 makes way more sense for the standalone version because it's just a lot better)

Now Linux users have flash 10 too! My version is 10.2.159 and I'm using an OS that was out in april 2010.

Does it change anything to you? maybe your build will work better with this version?
Title: Re: Linux version
Post by: Terry on May 08, 2011, 01:17:14 pm
Yeah, I tried the April build, both of Flash and AIR. It's still suffering from the same basic problems that made it impossible before, unfortunately.
Title: Re: Linux version
Post by: staz on July 26, 2011, 05:20:41 pm
The Humble Bundle promotion says VVVVVV works on linux now, is this true? Already own it but I'm going to buy the bundle if it mean I can now play it natively on Linux
Title: Re: Linux version
Post by: Whirligig on July 27, 2011, 12:26:58 am
VVVVVV 2.0 has been completely re-coded in C++, so yes, it works in Linux with no more pesky Flash problems. At least from what I've heard. Terry can verify.
Title: Re: Linux version
Post by: Terry on July 27, 2011, 12:30:57 am
The Humble Bundle promotion says VVVVVV works on linux now, is this true? Already own it but I'm going to buy the bundle if it mean I can now play it natively on Linux

Yep, it works on Linux, natively! Getting it to work properly on Linux was one of the big motivations behind the port :)
Title: Re: Linux version
Post by: staz on July 27, 2011, 02:14:40 pm
Thanks for the informations ;)
Title: Re: Linux version
Post by: staz on July 27, 2011, 02:34:04 pm
another thing, since it has been asked on reddit, would it be possible to have ARM binary for the Nokia n900 (a linux based smarthone)? it's a Debian based system and already have the SDL, it should be compilable with the scratchbox sdk .

Alternatively I guess you could sell it on nokia ovi store?
Title: Re: Linux version
Post by: Terry on July 27, 2011, 02:48:21 pm
Yikes, one thing at a time! We're still working on making sure it's stable on Win/Mac/Linux! :D
Title: Re: Linux version
Post by: singpolyma on November 01, 2011, 09:04:39 pm
Yikes, one thing at a time! We're still working on making sure it's stable on Win/Mac/Linux! :D

Well, the game is out and so on now.  Porting to ARM should normally just involve compiling with the gcc cross-compiler and putting up the binaries for download.  I do this with my own software all the time, and unless you're doing something incredibly low-level or using a library that hasn't been ported there shouldn't normally be any issues.