View previous topic :: View next topic |
Author |
Message |
Phancy Physicist Apprentice
Joined: 10 Apr 2005 Posts: 193
|
Posted: Tue Jul 17, 2012 12:55 am Post subject: [Solved]Raw Input Patch for Keyboard and Mouse for wine1.5.* |
|
|
There is a patch to enable raw input from devices called "raw3.patch" that is necessary to play certain games. The patch is from this link -
http://bugs.winehq.org/show_bug.cgi?id=20395#c60.
I need a new version of this patch since it was made for wine 1.3.* and I am now using 1.5.*.
It must exist because if you use PlayOnLinux you can download a version of wine 1.5.* that has this patch enabled. However i don't want five different versions of wine on my computer. I honestly don't have the room on my harddrive.
Does anyone know where to find this patch? It seems my google and forum searching skills have failed me.
Thanks for any help in advance.
Last edited by Phancy Physicist on Mon Aug 06, 2012 7:07 am; edited 1 time in total |
|
Back to top |
|
|
Phancy Physicist Apprentice
Joined: 10 Apr 2005 Posts: 193
|
Posted: Tue Jul 17, 2012 1:58 am Post subject: |
|
|
The following link is the most recent version of the patch that I can find that many people have said works with wine 1.5.*
http://dl.dropbox.com/u/6901628/raw3.patch
Maybe(read as probably) the problem is with me. I edited the ebuild for wine 1.5.8 by adding epatch "${FILESDIR}"/raw3.patch to this section.
ebuild fragment: |
src_prepare() {
#epatch "${FILESDIR}"/raw3.patch
epatch "${FILESDIR}"/${PN}-1.1.15-winegcc.patch #260726
epatch "${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
epatch "${FILESDIR}"/raw3.patch
epatch "${DISTDIR}/${PULSE_PATCH}" #421365
epatch_user #282735
eautoreconf
sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
sed -i '/^MimeType/d' tools/wine.desktop || die #117785
}
|
Am I using this patch wrong? Could someone look over the ebuild from me?
My full wine ebuild follows.
wine-1.5.8.ebuild: |
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.5.8.ebuild,v 1.1 2012/07/06 07:33:52 tetromino Exp $
EAPI="4"
inherit autotools eutils flag-o-matic multilib pax-utils
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="git://source.winehq.org/git/wine.git"
inherit git-2
SRC_URI=""
#KEYWORDS=""
else
MY_P="${PN}-${PV/_/-}"
SRC_URI="mirror://sourceforge/${PN}/Source/${MY_P}.tar.bz2"
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
S=${WORKDIR}/${MY_P}
fi
GV="1.6"
MV="0.0.4"
PULSE_PATCH="winepulse-2012.06.15.patch"
DESCRIPTION="free implementation of Windows(tm) on Unix"
HOMEPAGE="http://www.winehq.org/"
SRC_URI="${SRC_URI}
gecko? (
mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86.msi
win64? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86_64.msi )
)
mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi )
http://source.winehq.org/patches/data/87234 -> ${PULSE_PATCH}"
LICENSE="LGPL-2.1"
SLOT="0"
IUSE="alsa capi cups custom-cflags elibc_glibc fontconfig +gecko gnutls gphoto2 gsm gstreamer hardened jpeg lcms ldap +mono mp3 ncurses nls odbc openal opencl +opengl +oss +perl png pulseaudio samba scanner selinux ssl test +threads +truetype udisks v4l +win32 +win64 +X xcomposite xinerama xml"
REQUIRED_USE="elibc_glibc? ( threads )
mono? ( || ( win32 !win64 ) )" #286560
RESTRICT="test" #72375
MLIB_DEPS="amd64? (
truetype? ( >=app-emulation/emul-linux-x86-xlibs-2.1 )
X? (
>=app-emulation/emul-linux-x86-xlibs-2.1
>=app-emulation/emul-linux-x86-soundlibs-2.1[pulseaudio(+)?]
)
mp3? ( app-emulation/emul-linux-x86-soundlibs )
odbc? ( app-emulation/emul-linux-x86-db )
openal? ( app-emulation/emul-linux-x86-sdl )
opengl? ( app-emulation/emul-linux-x86-opengl )
scanner? ( app-emulation/emul-linux-x86-medialibs )
v4l? ( app-emulation/emul-linux-x86-medialibs )
app-emulation/emul-linux-x86-baselibs
>=sys-kernel/linux-headers-2.6
)"
RDEPEND="truetype? ( >=media-libs/freetype-2.0.0 media-fonts/corefonts )
perl? ( dev-lang/perl dev-perl/XML-Simple )
capi? ( net-dialup/capi4k-utils )
ncurses? ( >=sys-libs/ncurses-5.2 )
fontconfig? ( media-libs/fontconfig )
gphoto2? ( media-libs/libgphoto2 )
openal? ( media-libs/openal )
udisks? (
sys-apps/dbus
sys-fs/udisks:2
)
gnutls? ( net-libs/gnutls )
gstreamer? ( media-libs/gstreamer media-libs/gst-plugins-base )
X? (
x11-libs/libXcursor
x11-libs/libXrandr
x11-libs/libXi
x11-libs/libXmu
x11-libs/libXxf86vm
x11-apps/xmessage
)
xinerama? ( x11-libs/libXinerama )
alsa? ( media-libs/alsa-lib )
cups? ( net-print/cups )
opencl? ( virtual/opencl )
opengl? ( virtual/opengl )
gsm? ( media-sound/gsm )
jpeg? ( virtual/jpeg )
ldap? ( net-nds/openldap )
lcms? ( =media-libs/lcms-1* )
mp3? ( >=media-sound/mpg123-1.5.0 )
nls? ( sys-devel/gettext )
odbc? ( dev-db/unixODBC )
pulseaudio? ( media-sound/pulseaudio )
samba? ( >=net-fs/samba-3.0.25 )
selinux? ( sec-policy/selinux-wine )
xml? ( dev-libs/libxml2 dev-libs/libxslt )
scanner? ( media-gfx/sane-backends )
ssl? ( dev-libs/openssl )
png? ( media-libs/libpng )
v4l? ( media-libs/libv4l )
!win64? ( ${MLIB_DEPS} )
win32? ( ${MLIB_DEPS} )
xcomposite? ( x11-libs/libXcomposite )"
DEPEND="${RDEPEND}
X? (
x11-proto/inputproto
x11-proto/xextproto
x11-proto/xf86vidmodeproto
)
xinerama? ( x11-proto/xineramaproto )
!hardened? ( sys-devel/prelink )
virtual/pkgconfig
virtual/yacc
sys-devel/flex"
src_unpack() {
if use win64 ; then
[[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]] \
&& die "you need gcc-4.4+ to build 64bit wine"
fi
if use win32 && use opencl; then
[[ x$(eselect opencl show) = "xintel" ]] &&
die "Cannot build wine[opencl,win32]: intel-ocl-sdk is 64-bit only" # 403947
fi
if [[ ${PV} == "9999" ]] ; then
git-2_src_unpack
else
unpack ${MY_P}.tar.bz2
fi
}
src_prepare() {
#epatch "${FILESDIR}"/raw3.patch
epatch "${FILESDIR}"/${PN}-1.1.15-winegcc.patch #260726
epatch "${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615
epatch "${FILESDIR}"/raw3.patch
epatch "${DISTDIR}/${PULSE_PATCH}" #421365
epatch_user #282735
eautoreconf
sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
sed -i '/^MimeType/d' tools/wine.desktop || die #117785
}
do_configure() {
local builddir="${WORKDIR}/wine$1"
mkdir -p "${builddir}"
pushd "${builddir}" >/dev/null
ECONF_SOURCE=${S} \
econf \
--sysconfdir=/etc/wine \
$(use_with alsa) \
$(use_with capi) \
$(use_with lcms cms) \
$(use_with cups) \
$(use_with ncurses curses) \
$(use_with udisks dbus) \
$(use_with fontconfig) \
$(use_with gnutls) \
$(use_with gphoto2 gphoto) \
$(use_with gsm) \
$(use_with gstreamer) \
--without-hal \
$(use_with jpeg) \
$(use_with ldap) \
$(use_with mp3 mpg123) \
$(use_with nls gettext) \
$(use_with openal) \
$(use_with opencl) \
$(use_with opengl) \
$(use_with ssl openssl) \
$(use_with oss) \
$(use_with png) \
$(use_with threads pthread) \
$(use_with pulseaudio pulse) \
$(use_with scanner sane) \
$(use_enable test tests) \
$(use_with truetype freetype) \
$(use_with v4l) \
$(use_with X x) \
$(use_with xcomposite) \
$(use_with xinerama) \
$(use_with xml) \
$(use_with xml xslt) \
$2
emake -j1 depend
popd >/dev/null
}
src_configure() {
export LDCONFIG=/bin/true
use custom-cflags || strip-flags
if use win64 ; then
do_configure 64 --enable-win64
use win32 && ABI=x86 do_configure 32 --with-wine64=../wine64
else
ABI=x86 do_configure 32 --disable-win64
fi
}
src_compile() {
local b
for b in 64 32 ; do
local builddir="${WORKDIR}/wine${b}"
[[ -d ${builddir} ]] || continue
emake -C "${builddir}" all
done
}
src_install() {
local b
for b in 64 32 ; do
local builddir="${WORKDIR}/wine${b}"
[[ -d ${builddir} ]] || continue
emake -C "${builddir}" install DESTDIR="${D}"
done
dodoc ANNOUNCE AUTHORS README
if use gecko ; then
insinto /usr/share/wine/gecko
doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi
use win64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi
fi
if use mono ; then
insinto /usr/share/wine/mono
doins "${DISTDIR}"/wine-mono-${MV}.msi
fi
if ! use perl ; then
rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die
fi
if use win32 || ! use win64; then
pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055
fi
use win64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader}
if use win64 && ! use win32; then
dosym /usr/bin/wine{64,} # 404331
dosym /usr/bin/wine{64,}-preloader
fi
}
|
|
|
Back to top |
|
|
cst Apprentice
Joined: 24 Feb 2008 Posts: 203 Location: /proc
|
Posted: Wed Aug 01, 2012 11:09 am Post subject: |
|
|
did you manage to get it working? I need this too:) _________________ i7 3930K @ 4GHz
MSI X79A-GD45 (8D)
32GB 1600 MHz DDR3 Samsung
Samsung 840 PRO, 2xSamsung HD502HJ in RAID 1
MSI GTX 980Ti
latest gentoo-sources on x86_64 Fluxbox (amd64)
best render farm: www.GarageFarm.NET |
|
Back to top |
|
|
ChrisJumper Advocate
Joined: 12 Mar 2005 Posts: 2390 Location: Germany
|
Posted: Wed Aug 01, 2012 6:12 pm Post subject: |
|
|
Hi Phancy Physicist and cst!
Here are many posts in this forum, just look for wine and patch. And there are some different ways to do this job. Maybe some have more style then other. But i like it quick and dirty, because so i could browse some patches, files and add or merge the lines.
Howto patch Wine in Gentoo
Take a look at this thread. I never change ebuilds for this. Just get and extract the files, apply the patch. If there something goes wrong you could check the lines or find another patch. Then just compile the stuff and install it.
But you will have to take care that your world update don't rebuild your wine without the patch.
I like to compile the stuff and copy this Wine version sometimes to have one Version for a special task. But if you have more then one short period to overcome, because in the next update the patch will applied, another Solution would be more comfortable for you. Oh and maybe playonlinux is also an perfect for you, just google a bit here in the forum about this topic and check out how playonlinux handle this.
But these other Methods need time to check out, understood how they work and use them, and time for some foster in the future. Thats why i like it quick and dirty :)
Hope you went further! |
|
Back to top |
|
|
forrestfunk81 Guru
Joined: 07 Feb 2006 Posts: 565 Location: münchen.de
|
Posted: Thu Aug 02, 2012 8:47 am Post subject: |
|
|
The simplest way to apply a patch for a ebuild is to create a directory /etc/portage/patches/<ebuild name>/ and put the patch in it. Portage will automatically use the patches inside the apropiate directory. You can even specify the ebuild version which should be patched. See bugzilla for more info. _________________ # cd /pub/
# more beer |
|
Back to top |
|
|
cst Apprentice
Joined: 24 Feb 2008 Posts: 203 Location: /proc
|
Posted: Thu Aug 02, 2012 12:42 pm Post subject: |
|
|
Hi, thanks for the responses
I actually found this thread too https://forums.gentoo.org/viewtopic-t-577048-highlight-patchoverlay.html
I managed to patch wine successfuly, sadly the patch that should make the game more usable, breaks the game completly _________________ i7 3930K @ 4GHz
MSI X79A-GD45 (8D)
32GB 1600 MHz DDR3 Samsung
Samsung 840 PRO, 2xSamsung HD502HJ in RAID 1
MSI GTX 980Ti
latest gentoo-sources on x86_64 Fluxbox (amd64)
best render farm: www.GarageFarm.NET |
|
Back to top |
|
|
Phancy Physicist Apprentice
Joined: 10 Apr 2005 Posts: 193
|
Posted: Fri Aug 03, 2012 7:55 am Post subject: |
|
|
Hello everybody!
Sorry I haven't been helping but I had a meltdown outlined here -> https://forums.gentoo.org/viewtopic-t-931058-highlight-.html
I found that post about patching wine on the forums as well and this is what I came up with:
Code: |
cd /usr/local/portage/app-emulation/wine
ebuild wine-1.5.9.ebuild clean
ebuild wine-1.5.9.ebuild unpack
cd /var/tmp/portage/app-emulation/wine-1.5.9/work/wine-1.5.9
patch -p1 < <path_to_patch>/raw3.patch
./tools/make_requests
cd -
ebuild wine-1.5.9.ebuild compile
ebuild wine-1.5.9.ebuild install
ebuild wine-1.5.9.ebuild qmerge
|
The key to getting the patch to work for me was the ./tools/make_requests in the middle of the ebuild commands. This got the code to compile but I haven't been able to test it yet against a game that uses it yet.
More to come. |
|
Back to top |
|
|
Phancy Physicist Apprentice
Joined: 10 Apr 2005 Posts: 193
|
Posted: Mon Aug 06, 2012 7:06 am Post subject: |
|
|
This method of applying the patch works. I have played Arma 2 on my box which requires this patch to work |
|
Back to top |
|
|
|