Bug 188831 - emulators/wine sometimes needs the X Composite extension
Summary: emulators/wine sometimes needs the X Composite extension
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Gerald Pfeifer
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-04-20 19:00 UTC by denverh
Modified: 2014-05-02 20:40 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description denverh 2014-04-20 19:00:00 UTC
Some Windows applications don't work properly under emulators/wine unless the X Composite extension is used.  As far as I know it is always enabled by default for the Xorg server, but all versions of emulators/wine after 1.3.2 have "--without-xcomposite" in the Makefile.  Changing that to "--with-xcomposite" will allow some Windows applications to perform properly.

The exact symptoms of the failure differ depending on the graphics card.  With ATI cards, the application exits with "GLXBadContextTag".  With NVIDIA the application just displays a window full of garbage.

Of the few Windows applications I use, this affects two: Aspire from Vectric.com, and 123D Make: from Autodesk.  There are free trial versions of both.

Fix: 

Provide an additional option, similar to CUPS, DOSBOX, HAL, etc., for whether or not to use X Composite with emulators/wine.
How-To-Repeat: For 123D Make:
  Start the application.
  With X Composite you should be able to load and manipulate any of the example shapes.  Without X Composite you will see a work space window full of garbage if using NVIDIA, or the application will exit with "GLXBadContextTag" if using ATI.

For Aspire:
  Start the application and select "Create a New File", then select "OK".
  Select the "3D View" tab.  Without X Composite and using NVIDIA you will see the work space fill with garbage.  If using ATI the application will exit with "GLXBadContextTag".

There are probably quite a few other applications that behave the same way, but these are the two that I'm familiar with.
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2014-04-20 19:00:05 UTC
Responsible Changed
From-To: freebsd-ports-bugs->gerald

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 dfilter service freebsd_committer freebsd_triage 2014-04-30 22:49:03 UTC
Author: gerald
Date: Wed Apr 30 21:49:00 2014
New Revision: 352704
URL: http://svnweb.freebsd.org/changeset/ports/352704
QAT: https://qat.redports.org/buildarchive/r352704/

Log:
  Build with a dependency on the X composite extension.
  
  PR:		188831
  Analyzed by:	Denver Hull <denverh@comcast.net>

Modified:
  head/emulators/wine/Makefile

Modified: head/emulators/wine/Makefile
==============================================================================
--- head/emulators/wine/Makefile	Wed Apr 30 21:38:27 2014	(r352703)
+++ head/emulators/wine/Makefile	Wed Apr 30 21:49:00 2014	(r352704)
@@ -3,7 +3,7 @@
 
 PORTNAME=	wine
 DISTVERSION=	1.6.2
-PORTREVISION=	1
+PORTREVISION=	2
 PORTEPOCH=	1
 CATEGORIES=	emulators
 MASTER_SITES=	SF/${PORTNAME}/Source \
@@ -35,7 +35,7 @@ CONFIGURE_ARGS+=--verbose --disable-test
 		--without-gphoto --without-gsm --without-gstreamer \
 		--with-opengl --without-mpg123 --without-opencl \
 		--with-oss --without-sane --without-tiff \
-		--without-v4l --without-xcomposite --without-xinerama \
+		--without-v4l --with-xcomposite --without-xinerama \
 		--with-xinput2 --with-xrandr
 CONFIGURE_ENV=	FLEX="${LOCALBASE}/bin/flex"
 WINELIBDIR?=	${PREFIX}/lib
@@ -47,7 +47,7 @@ USES=		bison compiler:c11 gmake shebangf
 SHEBANG_FILES=	tools/winemaker tools/winedump/function_grep.pl
 USE_BZIP2=	yes
 USE_GL=		glu
-USE_XORG=	xcursor xi xpm xrandr xrender
+USE_XORG=	xcomposite xcursor xi xpm xrandr xrender
 
 SUB_FILES=	pkg-message
 PKGMESSAGE=	${WRKDIR}/pkg-message
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 3 Gerald Pfeifer freebsd_committer freebsd_triage 2014-04-30 23:36:17 UTC
State Changed
From-To: open->closed

Thanks for the nice analysis and report.  Based on this I enhanced 
the wine port to now always build using this extensions.
Comment 4 dfilter service freebsd_committer freebsd_triage 2014-05-02 20:30:53 UTC
Author: gerald
Date: Fri May  2 19:30:49 2014
New Revision: 352842
URL: http://svnweb.freebsd.org/changeset/ports/352842
QAT: https://qat.redports.org/buildarchive/r352842/

Log:
  Build with a dependency on the X composite extension.
  
  PR:		188831
  Analyzed by:	Denver Hull <denverh@comcast.net>

Modified:
  head/emulators/wine-devel/Makefile

Modified: head/emulators/wine-devel/Makefile
==============================================================================
--- head/emulators/wine-devel/Makefile	Fri May  2 19:26:44 2014	(r352841)
+++ head/emulators/wine-devel/Makefile	Fri May  2 19:30:49 2014	(r352842)
@@ -3,6 +3,7 @@
 
 PORTNAME=	wine
 DISTVERSION=	1.7.17
+PORTREVISION=	1
 PORTEPOCH=	1
 CATEGORIES=	emulators
 MASTER_SITES=	SF/${PORTNAME}/Source \
@@ -29,7 +30,7 @@ CONFIGURE_ARGS+=--verbose --disable-test
 		--without-gphoto --without-gsm --without-gstreamer \
 		--without-mpg123 --without-opencl \
 		--with-oss --without-sane --without-tiff \
-		--without-v4l --without-xcomposite --without-xinerama
+		--without-v4l --with-xcomposite --without-xinerama
 CONFIGURE_ENV=	FLEX="${LOCALBASE}/bin/flex"
 WINELIBDIR?=	${PREFIX}/lib
 .if !defined(USE_LDCONFIG32)
@@ -80,7 +81,7 @@ OPENAL_USES=		openal
 WINEMAKER_RUN_DEPENDS=	p5-XML-LibXML>0:${PORTSDIR}/textproc/p5-XML-LibXML
 
 X11_CONFIGURE_WITH=	x fontconfig glu opengl xinput2 xrandr freetype
-X11_USE=		GL=glu XORG=xcursor,xi,xpm,xrandr,xrender
+X11_USE=		GL=glu XORG=xcomposite,xcursor,xi,xpm,xrandr,xrender
 X11_LIB_DEPENDS=	libfontconfig.so:${PORTSDIR}/x11-fonts/fontconfig \
 			libfreetype.so:${PORTSDIR}/print/freetype2 \
 			libjpeg.so:${PORTSDIR}/graphics/jpeg \
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"