Forums

Problème de sockets avec Wine

Requiert d\'être sous Root ... :-/

Auteur Réponses
lordcoder Dimanche 8 Juin 2008 à 15:41
lordcoderAnonymous

Bonjour,

je suis sous une Ubuntu 8.04 et j'ai récemment installé Wine ( 0.9.59-0ubuntu5 ), désactivé le "Direct rendering" grâce à driconf, et presque tous les jeux 3D marchent maintenant même avec ma carte graphique integrée Intel 965GM :-)

Par contre, je n'arrive pas à lancer une application fonctionnant en réseau ( dans mon cas, un MMORPG ), car après m'être connecté, ça se ferme tout seul, et dans la console je vois :
[quote]WARNING: Trying to create a socket of type SOCK_RAW, this will fail unless you have special permissions.[/quote

Ce qui veut dire qu'il a besoin de sockets pour envoyer des requetes au serveur ( ce qui n'est pas étrange ), donc je crois que je n'ai pas besoin de préciser le nom du jeu puisque le problème réside dans un problème de priviléges .

Je voudrais donc savoir comment autoriser Wine à créer des sockets SOCK_RAW .

Merci :-)
lordcoder Lundi 9 Juin 2008 à 9:59
lordcoderAnonymous

Personne n'a une piste s'il vous plaît ? :-/
djabal Lundi 9 Juin 2008 à 14:02
djabalAnonymous

tu es en 64 ou en 32bits ?
lordcoder Lundi 9 Juin 2008 à 15:30
lordcoderAnonymous

Bonjour,

je suis en 32 bits, et le noyau par défaut d'Ubuntu est compilé sans le "Filesystem capabilities", donc je ne peux pas faire quelque chose du genre "sudo setcap cap_net_raw=ep /usr/bin/wine" pour autoriser wine à créer des sockets SOCK_RAW, existe-il un autre moyen pour faire cela ?

Merci .

Edité par lordcoder

lordcoder Lundi 16 Juin 2008 à 18:37
lordcoderAnonymous

C'est bon j'ai trouvé la solution, et ceci va surement aider plusieurs joueurs comme la plupart des MMORPG utilisent les sockets Raw .

Il faut recompiler son noyau en mettant la variable "CONFIG_SECURITY_FILE_CAPABILITIES" à "y" ( sans les guillemets ) dans le fichier .config ( noyau tout neuf depuis kernel.org ) ou debian/Config/config ( distribution basée sur Debian ), après le redémarrage sur votre nouveau noyau, vous devez donner à Wine le droit de créer des sockets Raw comme ceci : sudo setcap cap_net_raw=ep /usr/bin/wine

Voilà, bon jeu à tous .