Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 274339 - app-emulation/vmware-workstation directly uses oss. meaning 2 oss applications cannot share sound device
Summary: app-emulation/vmware-workstation directly uses oss. meaning 2 oss application...
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High minor (vote)
Assignee: Gentoo VMWare Bug Squashers [disabled]
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-06-16 13:01 UTC by Alexander Bezrukov
Modified: 2010-08-09 17:26 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
Fixed launcher.sh (launcher.sh,14.37 KB, text/plain)
2009-06-16 13:02 UTC, Alexander Bezrukov
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Bezrukov 2009-06-16 13:01:12 UTC
Hi,

app-emulation/vmware-workstation (all versions) directly uses oss layer meaning that two oss-enabled application cannot share the sound device. From the end users' perspective this manifests as "Device or resource busy: /dev/dsp" and no sound in virtual machines whenever one is trying to run another oss-enabled application (e.g. viewing a web page which contains some flash with firefox+www-plugins/adobe-flash).

A quick fix (which works for me for a long time already) would preload libaoss.so (provided by media-libs/alsa-oss, which should then be added to dependencies, perhaps conditionally) and thus re-route all calls to /dev/dsp through alsa devices (provided alsa is setup correctly for this purpose which is now default). My request is to add this simple fix to vmware-workstation ebuild so that more people can benefit from it (and those who already do wouldn't need to apply it more and more as the package files get overwritten because of updates).

Since the ebuild is rather complicated and I am not sure about the right paths, attached is just the /opt/vmware/workstation/lib/vmware/bin/launcher.sh file not a patch. Diff is only 1 line:

@@ -313 +313 @@
-      exec "$binary" "$@"
+      exec /usr/bin/aoss "$binary" "$@"

Could you consider adding this to the ebuild?

Thanks.


Reproducible: Always

Steps to Reproduce:
1. Run a virtual machine
2. Open a youtube.com video in firefox+xulrunner+www-plugins/adobe-flash
3. Stop video (without closing firefox) and try to play some music in the virtual machine.

Actual Results:  
Device or resource busy: /dev/dsp

Expected Results:  
Sound gets mixed.

black ~ # emerge --info
Portage 2.1.6.13 (default/linux/amd64/2008.0, gcc-4.3.2, glibc-2.9_p20081201-r2, 2.6.29.4-alb x86_64)
=================================================================
System uname: Linux-2.6.29.4-alb-x86_64-Dual_Core_AMD_Opteron-tm-_Processor_285-with-glibc2.2.5
Timestamp of tree: Mon, 15 Jun 2009 22:15:01 +0000
app-shells/bash:     3.2_p39
dev-java/java-config: 2.1.7
dev-lang/python:     2.5.4-r2
dev-util/cmake:      2.6.2-r1
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.4.3-r2
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.5, 1.7.9-r1, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.29
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-combine -march=native -msse -msse2 -msse3 -mmmx -m3dnow -Os -pipe -fomit-frame-pointer -finline-functions-called-once -ftree-vectorize"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-combine -march=native -msse -msse2 -msse3 -mmmx -m3dnow -Os -pipe -fomit-frame-pointer -finline-functions-called-once -ftree-vectorize"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch userpriv"
FFLAGS="-combine -march=native -msse -msse2 -msse3 -mmmx -m3dnow -O2 -pipe -fomit-frame-pointer -finline-functions-called-once -ftree-vectorize -fprefetch-loop-arrays"
GENTOO_MIRRORS="http://mirror.yandex.ru/gentoo-distfiles/ http://trumpetti.atm.tut.fi/gentoo/ http://mirror.qubenet.net/mirror/gentoo/ ftp://mirror.yandex.ru/gentoo-distfiles/"
LANG="en_US.utf8"
LC_ALL=""
LDFLAGS="-Wl,-O1"
LINGUAS="en ru"
MAKEOPTS="-j6"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext X acl acpi alsa amd64 bash-completion berkdb bidi bzip2 caps cdr cjk cli cracklib crypt cscope cups dbus djvu dri dvd dvdr dvdread fortran gdbm gif gmp gnome gpm gtk hal hardened iconv ieee1394 isdnlog jpeg jpeg2k kerberos lcms ldap ldapsam lm_sensors loop-aes midi mmap mmx mudflap multilib ncurses nls nptl nptlonly nsplugin opengl openmp pam pcre perl png pppd python readline reflection samba session spl sse sse2 ssl sysfs tcpd threads tiff truetype unicode usb winbind xorg xulrunner zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="*" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="evdev wacom" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en ru" USERLAND="GNU" VIDEO_CARDS="nvidia"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Alexander Bezrukov 2009-06-16 13:02:42 UTC
Created attachment 194874 [details]
Fixed launcher.sh
Comment 2 Vadim Kuznetsov (RETIRED) gentoo-dev 2010-08-09 17:26:14 UTC
vmware workstation/player 7.x uses alsa. Should't be a problem any more.