Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[Solved]Raw Input Patch for Keyboard and Mouse for wine1.5.*
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Gamers & Players
View previous topic :: View next topic  
Author Message
Phancy Physicist
Apprentice
Apprentice


Joined: 10 Apr 2005
Posts: 193

PostPosted: Tue Jul 17, 2012 12:55 am    Post subject: [Solved]Raw Input Patch for Keyboard and Mouse for wine1.5.* Reply with quote

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
View user's profile Send private message
Phancy Physicist
Apprentice
Apprentice


Joined: 10 Apr 2005
Posts: 193

PostPosted: Tue Jul 17, 2012 1:58 am    Post subject: Reply with quote

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
View user's profile Send private message
cst
Apprentice
Apprentice


Joined: 24 Feb 2008
Posts: 194
Location: /proc

PostPosted: Wed Aug 01, 2012 11:09 am    Post subject: Reply with quote

did you manage to get it working? I need this too:)
_________________
Phenom II X2 550 @ 4x3,7GHz
Gigabayte MA770T-UD3P
12GB 1333 MHz DDR3 Kingmax
2xSamsung HD502HJ in RAID 0
Asus GTX 660
latest gentoo-sources on x86_64 Fluxbox (amd64)

best render farm: www.GarageFarm.NET
Back to top
View user's profile Send private message
ChrisJumper
Veteran
Veteran


Joined: 12 Mar 2005
Posts: 1828
Location: Germany

PostPosted: Wed Aug 01, 2012 6:12 pm    Post subject: Reply with quote

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
View user's profile Send private message
forrestfunk81
Guru
Guru


Joined: 07 Feb 2006
Posts: 418
Location: münchen.de

PostPosted: Thu Aug 02, 2012 8:47 am    Post subject: Reply with quote

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
View user's profile Send private message
cst
Apprentice
Apprentice


Joined: 24 Feb 2008
Posts: 194
Location: /proc

PostPosted: Thu Aug 02, 2012 12:42 pm    Post subject: Reply with quote

Hi, thanks for the responses

I actually found this thread too http://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
_________________
Phenom II X2 550 @ 4x3,7GHz
Gigabayte MA770T-UD3P
12GB 1333 MHz DDR3 Kingmax
2xSamsung HD502HJ in RAID 0
Asus GTX 660
latest gentoo-sources on x86_64 Fluxbox (amd64)

best render farm: www.GarageFarm.NET
Back to top
View user's profile Send private message
Phancy Physicist
Apprentice
Apprentice


Joined: 10 Apr 2005
Posts: 193

PostPosted: Fri Aug 03, 2012 7:55 am    Post subject: Reply with quote

Hello everybody!

Sorry I haven't been helping but I had a meltdown outlined here -> http://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
View user's profile Send private message
Phancy Physicist
Apprentice
Apprentice


Joined: 10 Apr 2005
Posts: 193

PostPosted: Mon Aug 06, 2012 7:06 am    Post subject: Reply with quote

This method of applying the patch works. I have played Arma 2 on my box which requires this patch to work :)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gamers & Players All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum