These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

Linux

 
  • Topic is locked indefinitely.
 

Multiseat configuration

Author
Zor'katar
Matari Recreation
#1 - 2012-07-24 15:21:00 UTC  |  Edited by: Zor'katar
Has anyone ever tried running 2 sessions of Eve in a multiseat configuration? That is to say, one PC, two monitors/keyboards/mice? I'm doing a little research and will probably play around with it a bit, but I was wondering if I could leech off the experience of someone else who's done/tried it, especially if they've done it with Eve.
Zor'katar
Matari Recreation
#2 - 2012-08-10 16:38:01 UTC  |  Edited by: Zor'katar
Thought I'd follow up on this. I've gotten it working and it's been running pretty well for the last week or so. I'll describe as best as I can remember the steps that turned out to be "important", but there was so much trial and error I may leave something out.

To clarify, what this gets you is two separate "seats", meaning two sets of keyboard/monitor/mouse, each able to log in as separate users and run Eve (or whatever else they want). Sort of an inverse KVM... two independent sessions from one PC.

Required:

  • 2 video cards. From what I read, it's either impossible or more difficult to accomplish this with two outputs on one card. Since I was already in a bit over my head, I decided to make it easier on myself and just install a second card.
  • 2 audio outputs. If you can finagle that out of your stock setup, great. I bought a $15 USB sound adapter.
  • KDM installed. I tried to get this working with LightDM to no avail. This requires a bunch of KDE dependencies, but it's the price I had to pay.


My setup:

  • Xubuntu 12.04
  • Intel Core i3-2100 CPU
  • 8GB RAM
  • 1 GTX 550 Ti and 1 GTS 450


X Config
First get your monitors hooked into the cards in the configuration you want, and get X set up to display on both devices. As an Nvidia user, I did a 'sudo nvidia-xconfig' and then 'sudo nvidia-settings'. I configured the two heads to display within separate X screens and saved to the X configuration file. Reboot and make sure things look properly configured.

Once the 2 heads appear to be operating properly, edit /etc/X11/xorg.conf. Here's mine:

Multiseat xorg.conf

The Monitor, Device, and Screen sections you should be able to keep from your own configuration if you've configured the multi-head correctly. For the InputDevice sections, if you're using fairly standard keyboards you should be able to replace what's in your xorg.conf with what's in mine. All you need to change is the Option "Device" lines. Do a 'ls /dev/input/by-id', find your keyboards and mice, and insert them into the file where appropriate. Finally, toss in the ServerLayout sections. This is where you group together your sets of monitor, keyboard, and mouse. Once you have those in, save the config.

Next, edit /etc/kde4/kdm/kdmrc. Here's mine:

Multiseat kdmrc

The only lines you need to touch are the ServerCmd lines in the X-:0-Core and X-:1-Core sections. Make sure the layouts given after the -layout switches match the Identifiers in the ServerLayout sections of your xorg.conf, and that the PCI ids after the -isolateDevice switches match the BusIDs in the corresponding Device sections.

That should be it. Hold your breath and reboot. When it comes back up, you should have separate logins on each screen, each being controlled by one keyboard and mouse.

Audio
For audio, in Ubuntu I found out the easiest way to get two seats working with separate audio is to add all users to the audio group in /etc/group. After a reboot, you should be able to go into your sound settings and choose the appropriate device to use for that user (I disabled the rest for good measure). The caveat here is that the audio device is tied to the user, not the seat. If users are in the habit of logging in at different seats, they'll have to change the audio device each time.

Notes/Caveats
Performance is pretty great. I was a little worried about my little dual core processor being a bottleneck, but it handles it admirably. Most of the time we can both be running Eve with graphics set for Quality, and have a very smooth 60fps. When there's a fair amount of stuff on the screen it drops a bit. Last night, for example, we were both in a mission site with a big asteroid belt and lots of structures... my framerate dropped to a still-very-playable 30ish. It returned to 60 when I set graphics for Performance.

SInce running this config, I've gotten a couple of frequent crashes. One was a Bluetooth thing (blueman?) which I just stopped from trying to run, since I don't have any bluetooth on this system. The other is plymouthd, which appears to be the bootup/shutdown splash screen manager. I haven't done anything about this one yet. Possibly related to that is that sometimes the system locks up on shutdown. Also, for some reason, while it's shutting down it shows a terminal screen which appears to be a keylog of sorts. Slightly alarming in that I can usually see some of my passwords show up there. I'll probably have to deal with that at some point.
Zor'katar
Matari Recreation
#3 - 2012-08-26 16:17:53 UTC  |  Edited by: Zor'katar
Addendum: I was running two completely separate EVE installs for the two users, to keep separate caches and settings. I figured there was a better way to do it, but I didn't try to mess with it until this morning. Now I have one installation of eve that is referenced from two different WINEPREFIXes (one owned by each user).

I started with this guy's instructions, but ran into an issue whereby the second user's installation would consistently crash. I'm not sure exactly what the cause was, but here's how I solved it:

After getting the first install going, I used chgrp to change the group of the application directory to a group that both users are a member of (I used "users" on my system; check /etc/group). Then I created a directory for the second user's wine directory (winecfg won't create the directory itself if the second user doesn't own the parent directory) and chowned it to him. I similarly created and chowned a second application directory. Then, as the second user, I ran through the Eve installation from scratch just like I had with the first user, using the second wine and application directories. After everything is set up and working, go into the second user's winecfg and change the D: link to point to the first application directory. Then you can remove the second application directory.

Confusing and perhaps mildly hackish, but now both users are using the same application install, so I only have to patch once each time there's a change.
Zor'katar
Matari Recreation
#4 - 2012-10-21 16:12:04 UTC
I installed some system updates yesterday, one of which was an Nvidia driver update. After that, I tried to start Eve, but it complained about my graphics card. I tried to reboot, but my system just went to a permanent black screen after GRUB. Ick!

Well, after some investigation, I found the following error in my Xorg.0.log:

Quote:
[ 37.239] (EE) NVIDIA(GPU-1): EVO Push buffer channel allocation failed
[ 37.239] (EE) *** Aborting ***
[ 37.239] (EE) NVIDIA(GPU-1): Failed to allocate EVO core DMA push buffer
[ 37.239] (EE) *** Aborting ***

This led me to an Arch forum post which gave me a facepalm moment when I realized I had never bothered to check my other monitor. Sure enough, it was still working fine. (The monitor stays powered off except when my GF plays Eve with me.) The forum thread also contains a solution to the problem. Add the following to the Device section of the non-working seat(s) in xorg.conf:

Quote:
Option "ProbeAllGpus" "false"