backtolinux2 a écrit :
bonjour,
pour le coup des cartes distinctes, j'ai vu un post d'un gars qui a réussi avec une seule CG d'avoir 2 X en mettant device0 pour la première sortie et device1 pour la seconde avec une petite subtilité
Screen 0 "screen0" 0 0
Screen 0 "screen1" 1025 0 : le pixel de débordement interdit à la souris
supposant que le 1er ecran fait 1024. A tester mais je préfère 2 cartes pour bénéficier de toutes l'accel surtout que les drivers nvidia remplace une libraire glx et suprime la dri je crois. J'ai aussi monté un dual seat avec 2 8600gt et 2 cartes dvb-s et donc 4 ecrans : 2 "bureautique" et 2 LCD pour la TV avec chaines indépendantes. Mais moi je "force" le son à la connexion du user et je prie pour que les users (mes enfants) ne changent pas de place LOL
et en regardant le lien u verra que c'est possible avec une seule carte son.
En passant, je crois que seule les ati ont un device supplémentaires à adresser, pour les monos coeur graphique.
ATI : 1:0:0 + 1:0:1; 0:11:0 + 0:11:1 (chez moi)
NVIDIA 2:0:0 et 4:0:0 (chez moi aussi pour le multi tv/seat)
|
Salut,
Pour la partie graphique, je n'ai pas avancé: impossible de démarrer un 2nd serveur X sur une unique carte graphique avec le driver nvidia: le 2nd serveur X se vautre dès le démarrage avec une exception envoyée par le driver.
Du coup, je suis obligé de conserver 2 cartes graphiques, alors que je n'utilise qu'une seule sortie par carte ...
Pour la partie son, sur ma Mandriva le démarrage de Pulseaudio en tant que demon système n'est pas prévu (alors que sous Ubuntu ça l'est), et je n'ai pas envie de bricoler ma conf. Je garde donc une instance de Pulseaudio pour chaque utilisateur. (NB: ceci dit Pulseaudio déconseille fortement l'utilisation en tant que demon système, cf le site officiel)
J'arrive à attribuer une carte son/sortie son à une instance de pulseaudio de mon choix (en créant un fichier ~/.pulse/default.pa). Donc ça revient au même au final. Il faut juste ajouter un paramètre au module pulseaudio "alsa-sink" pour préciser le device de sortie Alsa.
Par exemple pour un utilisateur j'ai mis (sortie numérique sur une Audigy 1):
load-module module-alsa-sink device=iec958:CARD=Audigy,DEV=0 |
Et pour l'autre (sortie analogique 4.0 sur une Audigy 2):
load-module module-alsa-sink device=surround40:CARD=Audigy2,DEV=0 |
J'arrive aussi (mais ça ne m'intéresse pas) à attribuer différentes sorties analogiques d'une seule carte son à un seat particuliers (ex: ma carte gère le 7.1 donc j'ai 3 sorties analogique, donc je peux très bien mettre 3 paires d'enceintes stéreo indépendantes),
Par exemple, pour partager l'audigy 2 entre les 2 utilisateurs:
Le premier utilise la sortie "front":
load-module module-alsa-sink device=front:CARD=Audigy2,DEV=0 |
L'autre utilise la sortie "rear":
load-module module-alsa-sink device=rear:CARD=Audigy2,DEV=0 |
Par contre, impossible d'activer simultanément la sortie analogique et la sortie numérique sur une seule carte, or c'est justement ce dont j'ai besoin ! Si j'active le numérique, ça désactive automatiquement l'analogique, et vice-versa, soit c'est le le hardware qui est limité, soit c'est le driver Alsa, je sais pas trop mais je suis bloqué par ça.
Je conserve donc 2 cartes sons qui ont tout plein de sorties chacune, alors que j'ai presque rien de branché dessus !
Par ailleurs, tous les tuto sur le multiseat que l'on trouve sur le net indiquent que, dans la conf Xorg, il faut désactiver le hotplugging via HAL pour éviter que tous les claviers/souris pilotent tous les serveurs X.
C'est bien gentil leur méthode, mais du coup, plus moyen de brancher/débrancher une souris USB, plus moyen d'utiliser une souris bluetooth, etc ... bref, retour 5 ans en arrière, quand il fallait redémarrer X dès qu'on débranchait/rébranchait la souris !!!
Comme il n'y a pas de bonne solution à ce pb (si on active HAL dans Xorg, effectivement tous les périph USB sont associés à tous les serveurs X, y a aucun moyen de faire des associations 1 périph => 1 serveur X...), j'ai décidé qu'un des deux seat n'utiliserait pas le hotplug (celui relié à ma TV), pendant que l'autre conserverait le hotplug (celui relié au bureau). Je peux continuer d'utiliser le hotplug (notamment bluetooth) sur mon seat "principal".
J'ai donc "blacklisté" de HAL les périphériques qui doivent être associés statiquement à un seat:
$ cat /etc/hal/fdi/preprobe/10-multiseat-fixed-input.fdi
<?xml version="1.0" encoding="UTF-8"?>
<!-- Ce fichier permet d'interdire à HAL de gérer les périphérique de saisie (clavier/souris) -->
<!-- qui sont affectés statiquement à un serveur X donné -->
<deviceinfo version="0.2">
<!-- Clavier/Souris sans fil KEYSONIC -->
<device>
<match key="usb.vendor_id" int="0x05af">
<match key="usb.product_id" int="0x0408">
<merge key="info.ignore" type="bool">true</merge>
</match>
</match>
</device>
<!-- Télécommande NONAME -->
<device>
<match key="usb.vendor_id" int="0x073a">
<match key="usb.product_id" int="0x2230">
<merge key="info.ignore" type="bool">true</merge>
</match>
</match>
</device>
</deviceinfo> |
Et voici mon xorg.conf. On retrouve, déclarés statiquement, les mêmes inputdevices que j'ai blacklisté dans HAL.
Les autres inputdevices restent gérés par HAL / hotplug, donc n'apparaissent pas. Pour nommer ces périphériques, j'utilise les chemins UDEV "by-id".
$ cat /etc/X11/xorg.conf.DUAL
# **********************************************************************
# Refer to the xorg.conf man page for details about the format of
# this file.
# **********************************************************************
Section "ServerFlags"
Option "DontZap" "True" # disable <Ctrl><Alt><BS> (server abort)
#DontZoom # disable <Ctrl><Alt><KP_+>/<KP_-> (resolution switching)
AllowMouseOpenFail # allows the server to start up even if the mouse does not work
EndSection
Section "Module"
Disable "dri"
Load "dbe" # Double-Buffering Extension
Load "v4l" # Video for Linux
Load "extmod"
Load "glx" # 3D layer
EndSection
# Télécommande PCREMOTE (à la fois clavier et souris)
# 0x073a : 0x2230
Section "InputDevice"
Identifier "pcremote-kbd"
Driver "evdev"
Option "Device" "/dev/input/by-id/usb-073a_2230-event-mouse" # Télécommande PCRemote (partie clavier)
Option "XkbModel" "evdev"
Option "XkbLayout" "fr"
Option "XkbOptions" "compose:rwin"
EndSection
Section "InputDevice"
Identifier "pcremote-mouse"
Driver "mouse"
Option "Device" "/dev/input/by-id/usb-073a_2230-mouse" # Télécommande PCRemote (partie souris)
EndSection
# Clavier/Souris sans fil KEYSONIC (à la fois clavier et souris)
# 0x05af 0x0408
Section "InputDevice"
Identifier "rf-kbd"
Driver "evdev"
Option "Device" "/dev/input/by-id/usb-05af_2.4G_USB_RF_KeyBoard-event-kbd" # Keysonic (partie clavier)
Option "XkbModel" "pc105"
Option "XkbLayout" "fr"
Option "XkbOptions" "compose:rwin"
Option "GrabDevice" "true"
EndSection
Section "InputDevice"
Identifier "rf-mouse"
Driver "evdev"
Option "Device" "/dev/input/by-id/usb-05af_2.4G_USB_RF_KeyBoard-event-mouse" # Keysonic (partie souris)
Option "GrabDevice" "true"
EndSection
Section "Monitor"
Identifier "sony"
VendorName "Plug'n Play"
ModelName "SONY TV"
HorizSync 14-68
VertRefresh 48-62
# Monitor preferred modeline (60.0 Hz vsync, 45.0 kHz hsync, ratio 16/9, 20 dpi)
ModeLine "1280x720" 74.25 1280 1390 1430 1650 720 725 730 750 -hsync -vsync
# Monitor preferred modeline (60.0 Hz vsync, 47.7 kHz hsync, ratio 16/9, 21 dpi)
ModeLine "1360x768" 85.5 1360 1424 1536 1792 768 771 777 795 +hsync +vsync
# TV fullscreen mode or DVD fullscreen output.
# 768x576 @ 79 Hz, 50 kHz hsync
ModeLine "768x576" 50.00 768 832 846 1000 576 590 595 630
# 768x576 @ 100 Hz, 61.6 kHz hsync
ModeLine "768x576" 63.07 768 800 960 1024 576 578 590 616
# modeline generated by gtf(1) [handled by XFdrake]
ModeLine "1280x720_120" 161.56 1280 1376 1512 1744 720 721 724 772 -HSync +Vsync
# modeline generated by gtf(1) [handled by XFdrake]
ModeLine "1280x720_100" 131.85 1280 1368 1504 1728 720 721 724 763 -HSync +Vsync
# modeline generated by gtf(1) [handled by XFdrake]
ModeLine "1280x720_85" 110.01 1280 1360 1496 1712 720 721 724 756 -HSync +Vsync
# modeline generated by gtf(1) [handled by XFdrake]
ModeLine "1280x720_75" 95.65 1280 1352 1488 1696 720 721 724 752 -HSync +Vsync
# modeline generated by gtf(1) [handled by XFdrake]
ModeLine "1280x720_60" 74.48 1280 1336 1472 1664 720 721 724 746 -HSync +Vsync
# modeline generated by gtf(1) [handled by XFdrake]
ModeLine "1280x720_50" 60.47 1280 1328 1456 1632 720 721 724 741 -HSync +Vsync
EndSection
Section "Monitor"
Identifier "samsung"
VendorName "Plug'n Play"
ModelName "SyncMaster"
HorizSync 30-81
VertRefresh 56-75
# 1680x1050 59.88 Hz (CVT 1.76MA-R) hsync: 64.67 kHz; pclk: 119.00 MHz
# TV fullscreen mode or DVD fullscreen output.
# 768x576 @ 79 Hz, 50 kHz hsync
# ModeLine "768x576" 50.00 768 832 846 1000 576 590 595 630
# 768x576 @ 100 Hz, 61.6 kHz hsync
# ModeLine "768x576" 63.07 768 800 960 1024 576 578 590 616
EndSection
Section "Device"
Identifier "nvidia-9600"
Driver "nvidia"
BusID "PCI:05:0:0"
Option "DPMS"
Option "TwinViewOrientation" "Clone"
Option "AddARGBGLXVisuals"
Option "CoolBits" "1"
Option "TwinView"
EndSection
Section "Device"
Identifier "nvidia-8500"
Driver "nvidia"
BusID "PCI:04:0:0"
Option "DPI" "96x96"
Option "DPMS"
Option "TwinViewOrientation" "Clone"
Option "FlatPanelProperties" "Scaling =Native"
Option "AddARGBGLXVisuals"
Option "CoolBits" "1"
Option "TwinView"
EndSection
Section "Screen"
Identifier "salon"
Device "nvidia-8500"
Monitor "sony"
DefaultColorDepth 24
Subsection "Display"
Depth 24
Modes "1280x720"
EndSubsection
EndSection
Section "Screen"
Identifier "chambre"
Device "nvidia-9600"
Monitor "samsung"
DefaultColorDepth 24
Subsection "Display"
Depth 24
Modes "1680x1050"
EndSubsection
EndSection
# Configuration dans la chambre: on garde HAL (hotplug)
# Les périphériques du salon sont blacklistés dans HAL
# On ne déclare même pas de clavier/souris: HAL s'en charge !
Section "ServerLayout"
Identifier "layout1"
Screen "chambre"
EndSection
# Configuration Salon: on désactive HAL (hotplug)
# ainsi, les périphériques clavier/souris du salon sont associés statiquement:
# 1) via les rubriques "InputDevice" de ce fichier (voir plus haut)
# 2) via un blacklistage dans HAL (/etc/hal/fdi/preprobe/10-multiseat-fixed-input.fdi)
Section "ServerLayout"
Identifier "layout2"
InputDevice "rf-kbd" "CoreKeyboard"
InputDevice "rf-mouse" "CorePointer"
InputDevice "pcremote-kbd"
InputDevice "pcremote-mouse"
Screen "salon"
Option "AllowEmptyInput" "false"
Option "AutoAddDevices" "false"
Option "AutoEnableDevices" "false"
EndSection
|
Au final, ça marche très bien le multiseat sous Mandriva 2010 Spring, par contre, mon matos et ma conf sont pas optimaux.
Pour terminer, j'ai aussi tenté de remplacer ma Geforce 8500 HDMI + 1 SB Audigy par une carte graphique "Geforce G210", une carte toute simple avec sortie HDMI MAIS qui a l'audio intégré (elle embarque une carte son en plus de la carte graphique), c'est tout à fait le genre de carte qu'il faut pour une usage sur une TV.
Et ben, pas moyen de faire marcher la partie audio sous Mandriva 2010, ni sous Ubuntu 10.04 ! j'ai installé les toutes dernières version de noyau et de Alsa, suivi tous les tutos trouvés, rien à faire, j'ai jamais réussi à lui faire cracher le moindre son ! Apparemment ces geforce sont mal gérés par Alsa, donc méfiance, ça semble la loterie (certains utilisateurs semblent avoir réussi; d'autres non) ...
Message édité par [Albator] le 24-08-2010 à 22:05:01