Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 1 Sep 2014 19:12:33 -0400
From:      Henry Hu <henry.hu.sh@gmail.com>
To:        Vassilis Laganakos <vassilis@einval.com>
Cc:        freebsd-emulation@freebsd.org
Subject:   Re: net-im/skype-[devel] won't connect
Message-ID:  <CAEJt7haPuVi0=DLZVOgxPaRgomkbO0moM3F54QVH7JJ6uKKsGw@mail.gmail.com>
In-Reply-To: <20140818152759.GG9346@halon.org.uk>
References:  <20140813153823.E448F601EF@smtp.hushmail.com> <CACdU%2Bf-CUE-J2avpGWfNuh9U6Z_=Pjobf4t54cUNWJr2FgAtHQ@mail.gmail.com> <20140813210922.GC11788@halon.org.uk> <2936347.WYbkSbjIbI@notebook.com> <20140818152759.GG9346@halon.org.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Aug 18, 2014 at 11:27 AM, Vassilis Laganakos <vassilis@einval.com>
wrote:

> Hi Artyom,
>
> On Mon, Aug 18, 2014 at 06:16:02PM +0300, Artyom Mirgorodskiy wrote:
> > So I try again to run pulse audio and got the following error in syslog=
:
> > linux: pid 95238 (pacat): syscall ppoll not implemented
> >
> > Anybody can help how to implement this syscall on linuxulator?
> >
> Didn't get the chance to update the thread on the work on this (albeit fo=
r
> -f20). I have an implementation for that syscall, as well for fstatfs64,
> and
> seems to be working. Just need to test it a bit more and I'll push it for
> formal review and more testing :)
>
> I did push the linux-f20-pulseaudio-libs and related packages in the git
> repo for the -f20 libs the weekend.
>

Finally it works...
First, compile this to an .so and use LD_PRELOAD to load it:

#include <string.h>
#include <pthread.h>
#include <stdlib.h>
#include <unistd.h>
#include <assert.h>

typedef int pa_bool_t;

typedef struct pa_mutex_t {
    pthread_mutex_t mutex;
} pa_mutex;

char* pa_machine_id() {
    char buf[256];
    assert(gethostname(buf, sizeof(buf)) =3D=3D 0);
    return strdup(buf);
}

pa_mutex* pa_mutex_new(pa_bool_t recursive, pa_bool_t inherit_priority) {
    // we don't support inherit_priority for now
    pa_mutex *m;
    pthread_mutexattr_t attr;

    assert(pthread_mutexattr_init(&attr) =3D=3D 0);

    if (recursive)
        assert(pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE) =
=3D=3D
0);

    m =3D malloc(sizeof(pa_mutex));

    assert(pthread_mutex_init(&m->mutex, &attr) =3D=3D 0);

    return m;
}

This solves the connection problem with pulse audio, but you still can't
make calls or send messages. You need the experimental epoll patch from
http://lev.vlakno.cz/~rdivacky/patches/linux_epoll.patch for the epoll
syscall. You may also need to disable shared memory at the server side of
pulse audio by changing /usr/local/etc/pulse/daemon.conf.

Then it works. Sound input / sound output / webcam all ok.

The main problems:
1. pa_machine_id returns dbus' machine id, where on freebsd it should
return the machine's name.
2. priority inherited mutexes are not supported by the linux emulation
layer yet
3. epoll is not implemented


>
> Cheers,
> Vassilis
>
> > On Wednesday 13 August 2014 22:09:22 Vassilis Laganakos wrote:
> > > Hi,
> > >
> > > On Wed, Aug 13, 2014 at 10:47:25AM -0500, Scot Hetzel wrote:
> > > > On Wed, Aug 13, 2014 at 10:38 AM, Kenta S. <kentas@hush.com> wrote:
> > > > > Hello. This afternoon when I try to sign onto Skype, I get:
> > > > >
> > > > > "Periodic UIC Update Failed"
> > > > >
> > > > > I haven't updated ports recently. Does anyone have an idea?
> > > > > I heard Skype was closing down old versions.
> > > > >
> > > >
> > > > I had received the following e-mail from Skype a few days ago:
> > > >
> > > > On Fri, Aug 8, 2014 at 7:53 PM, Skype <noreply3@emails.skype.com>
> wrote:
> > > > >
> > > > > Your Skype for Linux version is being retired.
> > > > > Update today. =C2=BB
> > > > > Can't see this email properly? Forgotten your password?
> > > > > Your Skype for Linux version is being retired. Update today.
> > > > > Dear swhetzel,
> > > > >
> > > > > We are now retiring older versions of Skype and it appears that a=
t
> some
> > > > > point you signed into Skype with one of these. To continue signin=
g
> into
> > > > > Skype on Linux you'll need to download the latest version. The ne=
w
> > > > > version comes with improved performance, the latest features and
> > > > > security updates, so you'll get the best possible Skype experienc=
e.
> > > > >
> > > > > If you're on the latest version of Skype, the above will not appl=
y.
> > > > >
> > > > > Update now at http://www.skype.com/download.
> > > >
> > > > Someone will need to update the Skype port to the latest Linux
> version
> > > > and see if it works on our current version of Linux emulation.
> > > >
> > >
> > > I've read in various places (and tested myself with a couple of
> version on
> > > Linux) that any version before skype 4.3.0.37 will not connect.
> > >
> > > The skype port at:
> https://github.com/vassilisl/freebsd-ports/tree/master/net-im/skype4
> > > will connect (if you use the f20 ports
> https://github.com/vassilisl/freebsd-linux_base-f20 ;) )
> > > but it doesn't have sound working. Both xmj and I are working on
> getting
> > > that version of Skype on c6 and f20 linux emulation bases
> respectivelly,
> > > which basically means get it to talk to pulseaudio.
> > >
> > > If anyone has experience with that, please shout! :)
> > >
> > > Regards,
> > > Vassilis
> > >
> > >
> > >
> > --
> > Artyom Mirgorodskiy
>



--=20
Cheers,
Henry



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAEJt7haPuVi0=DLZVOgxPaRgomkbO0moM3F54QVH7JJ6uKKsGw>