01micko has created a PET and an SFS of the patched Wine build for Slacko 5.4 and later down here.
I suggest reading through the complete thread for additional information.
-----------------------
HOWTO (or: Proof-of-Concept at the very least): Build a patched Wine for Netflix - successful in Slacko 5.5 PAE
Hello Puppy people,
Browsing your forums revealed that several folks have been looking for a Puppy version of Erich Hoover's "netflix-desktop" for Ubuntu, and after becoming curious, then obsessed, and suffering through several failed attempts, I've actually managed to get Netflix working in Slacko 5.5. However, I don't have an SFS or PET to distribute, and I'm not certain that it would be functional for everyone if I did. I consider myself a Linux novice (knowing just enough to be a danger to myself ), and I'm a total newbie to Puppy, so I figured a HowTo would be better than stumbling my way through an SFS or PET build I might not be able to troubleshoot when questions came up. Perhaps someone with more experience can take a look at what I've done and do a more solid job of it, or at least point out any mis-steps I may have taken.
Some important base info:
I built and am running the patched version of Wine on a Toshiba Portege M400 (2 GHz Core 2 Duo T7200 / 2 GB RAM / Intel 945GM integrated gfx), running a clean, full install of Slacko 5.5 PAE.
The full install may be the most important thing to note, because Silverlight requires XATTR (extended file attributes) to be enabled on any volumes where it saves or caches information (i.e., the .wine directory which will be created in your home folder, and possibly in /usr/bin/wine although I'm not sure about that). A full install -- in my case, to a single ext4 volume -- allowed me to add "user_xattr" to fstab to ensure it was enabled.
Code: Select all
cat /etc/fstab
/dev/sda1 / ext4 defaults,user_xattr 0 1
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0
none /dev/pts devpts gid=2,mode=620 0 0
/dev/fd0 /mnt/floppy auto noauto,rw 0 0
As for the patches themselves, I downloaded them from here -- http://www.compholio.com/wine-compholio/#patches -- and it should be noted that the versions I pulled during the week of April 28th worked with the Wine dev 1.5.27 & 1.5.28 builds, but not 1.5.29. If Dr. Hoover's updated them for .29, there's no indication on his site, so I suggest grabbing the 1.5.28 source from http://prdownloads.sourceforge.net/wine ... 28.tar.bz2 and using it instead of pulling from Wine's git repo.
On additional build prep, I installed devx_slacko_5.5.sfs using the "cp -a --remove-destination" method for a full Puppy install, and mpg123-1.14.4 by way of the Puppy Package Manager.
-----------------------
EDIT - 20130505-1517 (PDT):
I originally used a number of PETs gleaned from green_dome's Wine build thread, but was informed by 01micko that they could break Slacko 5.5 (see further down the thread). I've thus trimmed that info out of this post, but still want to thank green_dome for going the extra mile and including all of the info he does in his build announcements. I wouldn't have gotten as far as I did without them.
-----------------------
Build instructions:
Assuming you've...
1. Added "user_xattr" to /etc/fstab and rebooted your machine (for safety's sake - got nervous about running "mount / -o remount" with Puppy's unique filesystem, so I didn't),
2. Installed your devx.sfs and mpg123, and
3. Created a working folder such as "experiments" (used in the examples below) in your home folder, and have downloaded all 5 compholio patches plus wine-1.5.28.tar.bz2 to it
...do the following in your terminal:
Code: Select all
cd ~/experiments/
tar -xvjf wine-1.5.28.tar.bz2
cd wine-1.5.28
patch -p1 < ../0001-user32-SetTimer-should-respect-the-minimum-and-maxim.patch
patch -p1 < ../0002-ws2_32-Implement-SIO_ADDRESS_LIST_CHANGE-with-Notify.patch
patch -p1 < ../0003-server-Create-directories-with-the-specified-securit.patch
patch -p1 < ../0004-server-Store-and-return-security-attributes-with-ext.patch
patch -p1 < ../0005-ntdll-Inherit-security-attributes-from-parent-direct.patch
autoreconf
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --build=i486-pc-linux-gnu
Code: Select all
configure: libOSMesa development files not found (or too old), OpenGL rendering in bitmaps won't be supported.
configure: OpenCL development files not found, OpenCL won't be supported.
configure: libhal development files not found, no legacy dynamic device support.
configure: libv4l development files not found.
configure: gstreamer-0.10 base plugins development files not found, gstreamer support disabled
configure: OSS sound system found but too old (OSSv4 needed), OSS won't be supported.
configure: libcapi20 development files not found, ISDN won't be supported.
configure: libgsm development files not found, gsm 06.10 codec won't be supported.
configure: libopenal development files not found (or too old), OpenAL won't be supported.
configure: WARNING: prelink not found, base address of core dlls won't be set correctly.
Regardless, you can continue on with your build.
Code: Select all
make depend && make
Code: Select all
make install
Code: Select all
wine --version
To get Netflix working:
You need to install the following:
1. The Windows version of Firefox 18.0.2
2. Microsoft's core fonts
3. Silverlight version 4.x
To kick things off, start with the Firefox download and installation. The install portion of the following should also trigger Wine's download/install of Mono & Gecko, which you should allow.
Code: Select all
cd .. # to get you back into your working folder (i.e.,"experiments") instead of downloading to the "wine-1.5.28" folder
wget -O Firefox-18.0.2.exe http://download.mozilla.org/?product=firefox-18.0.2\&os=win\&lang=en-US; wine Firefox-18.0.2.exe /S
The first -- which is very important for running Netflix successfully -- is to go into your Windows Firefox options and disable automatic updating. If you don't, FF will update itself in the background and eventually install version 20, which will force a "required" installation of Silverlight 5.x through Netflix' service, and SL 5.x will not work in Wine at all. So, go to Tools-> Options-> Advanced, click the "update" tab, select the "Never check for udpates" option, and uncheck "Use a background service to install updates."
Once that's done, you can get the Microsoft core fonts installed right here and now by going to http://www.microsoft.com/en-us/download ... x?id=16083 and downloading their "European Union Expansion Font Update." If you go ahead and run the EXE from within Wine Firefox, working fonts will be installed for your next run of Wine. Hit "Save File" (may as well keep a copy handy if you need it again) and then "Open" in the Firefox download window to run the installer, hit "No" when it asks you to restart Windows, then close your Firefox to terminate your Wine session.
If you don't go with the EU font update, you can install Winetricks and get the MS core fonts that way. However, before grabbing Winetricks, you should search for and install cabextract through the Puppy Package Manager (if you don't have it installed already). Once done, do the following:
Code: Select all
wget http://winetricks.org/winetricks
cp winetricks /usr/bin
chmod +x /usr/bin/winetricks
winetricks corefonts
Code: Select all
wget -O Silverlight-4.exe http://silverlight.dlservice.microsoft.com/download/6/A/1/6A13C54D-3F35-4082-977A-27F30ECE0F34/10329.00/runtime/Silverlight.exe; wine Silverlight-4.exe /q
Code: Select all
wine "C:\\Program Files\\Mozilla Firefox\\firefox.exe" http://web.sldrm.video.msn.com
Now you can go to Netflix.com, log in, and trying playing the vid of your choice. The very first time you attempt playback, you may be faced with a black screen. Hitting F11 a couple of times to snap Firefox into kiosk mode and back, or resizing your Firefox window should get you picture. If you go into your Netflix settings and drop the video quality down, it should help to avoid this in future runs.
For troubleshooting reference, here's a couple of Netflix errors I ran into and what they mean:
Error Code: 1001 = You don't have MS core fonts installed
Error Code: N8156-6022 = XATTR isn't active on the volume Silverlight's trying to touch. I also got this when trying to build Wine from the 1.5.29 source after applying the Compholio patches.
NOW FOR A BIG OL' CAVEAT:
If you take a look at the picture I attached, you should notice that my cli window is flooded with these messages...
Code: Select all
fixme:d3d:wine_d3d_swapchain_present Ignoring flags 0x80000000.