LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Red Hat
User Name
Password
Red Hat This forum is for the discussion of Red Hat Linux.

Notices


Reply
  Search this Thread
Old 04-09-2015, 10:45 AM   #1
MustangChuck
LQ Newbie
 
Registered: May 2011
Posts: 11

Rep: Reputation: 1
multiple X servers on RHEL 6.6 (single seat) using Gnome?


I am trying to set up multiple X servers under RHEL 6.6.

Here is the hardware configuration I have:
1 Computer (24 total cores, 64 GB ram)
2 NVidia 610 GT cards (2 DVI, 1 HDMI ports)
1 Monitor
2 CRT TVs connected to the HDMI ports via HDMI to SVideo converter boxes.
1 Keyboard
1 Mouse

The monitor is connected to DVI-0 on the first card. One CRT is attached to the HDMI on the first card and the second CRT is on the HDMI of the second card.

We are using the Gnome window manager. We have a lot of time and code invested in integrating with Gnome, so changing window managers isn't an option.

I want to start a separate X server for each of the three video devices, but I only want the keyboard and mouse to stay on the main monitor.

I have it working now with a single X server and 3 screens. I can keep the mouse confined to the main monitor by making sure the CRT screens do not touch the monitor screen (separating them by 50 pixels or so).

There is a possibility, though, that the HDMI->SVideo boxes may not be plugged in when X starts. This causes those screens to be unavailable when the boxes are finally connected until the next X restart. The way we have our system locked down requires a reboot to restart X, so I would like to minimize the need to reboot just to activate the CRT screens. I feel I can do this with separate X servers, one per video device. I can keep trying to start the server for each screen until it does not fail (with a sleep in the loop to reduce polling effects).

Below is my working xorg.conf.

Code:
Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    Screen      1  "Screen1" 1925 0
    Screen      2  "Screen2" 1925 500
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
EndSection

Section "Files"
    FontPath        "/usr/share/fonts/default/Type1"
EndSection

Section "InputDevice"
    Identifier     "Keyboard0"
    Driver         "keyboard"
    Option         "XkbLayout" "us"
    Option         "XkbModel" "pc105"
EndSection

Section "InputDevice"
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "IMPS/2"
    Option         "ZAxisMapping" "4 5"
    Option         "Emulate3Buttons" "yes"
    Option         "Device" "/dev/input/mice"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "HP LP2475w"
    HorizSync       30.0 - 94.0
    VertRefresh     48.0 - 85.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "SYK HDMI TO AV"
    HorizSync       31.0 - 45.0
    VertRefresh     60.0
#   HorizSync       28.0 - 55.0
#   VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "Monitor2"
    VendorName     "Unknown"
    ModelName      "SYK HDMI TO AV"
    HorizSync       31.0 - 45.0
    VertRefresh     60.0
#   HorizSync       28.0 - 55.0
#   VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GT 610"
    BusID          "PCI:129:0:0"
    Screen          0
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GT 610"
    BusID          "PCI:129:0:0"
    Screen          1
EndSection

Section "Device"
    Identifier     "Device2"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GT 610"
    BusID          "PCI:130:0:0"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-0"
    Option         "metamodes" "DFP-0: 1920x1080 +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth    16
    Option         "Stereo" "0"
    Option         "metamodes" "DFP-1: 720x480 +0+0"
    SubSection     "Display"
        Depth       16
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen2"
    Device         "Device2"
    Monitor        "Monitor2"
    DefaultDepth    16
    Option         "Stereo" "0"
    Option         "metamodes" "DFP-1: 720x480 +0+0"
    SubSection     "Display"
        Depth       16
    EndSubSection
EndSection
I have tried many different things to get my requirement to work. I have tried to separate out the screens into different layouts within the same conf file. I have tried three separate conf files. One of the issues appears to be that each X server wants control of the keyboard and mouse. How do I tell them it is ok to start without input devices?

I have been able to start separate X servers on different virtual terminals (using the vtX option with startx). I have managed to start a server on the second CRT, but it stole the keyboard and mouse and shutdown the first video card (requiring a reboot to bring it back up).

Any help and advice would be greatly appreciated!

Thanks,
Chuck Martin
 
Old 04-09-2015, 12:00 PM   #2
bimboleum
Member
 
Registered: Oct 2009
Posts: 111

Rep: Reputation: 23
Hi,
Have you tried xrandr???

I use this when I plug the TV into my laptop .... below is a wee ksh (called tv) that I use:-

tv on ... when the tv is plugged in
tv off ... to turn it off


Code:
#!/bin/ksh

if [[ $# = 0 ]]
then
  /usr/bin/xrandr
  exit
fi
action=""
output=""
if [[ "$1" = "off" ]]
then
  action="--off"
fi

if [[ "$1" = "on" ]]
then
  action="--auto"
fi

if [[ "x$action" != "x" ]]
then
  output="--output DP-1"
  /usr/bin/xrandr $output $action
fi

/usr/bin/xrandr
cheers
pete

pete hilton
saruman@ruvolo-hilton.org
 
Old 04-09-2015, 12:24 PM   #3
MustangChuck
LQ Newbie
 
Registered: May 2011
Posts: 11

Original Poster
Rep: Reputation: 1
Thank you, Pete! I'll give this a try and see if it works!

Chuck Martin
 
Old 04-09-2015, 01:45 PM   #4
MustangChuck
LQ Newbie
 
Registered: May 2011
Posts: 11

Original Poster
Rep: Reputation: 1
Well, xrandr doesn't seem to be the answer. If the box is not plugged in when X starts, a screen for it is not created. If the box is later plugged in and xrandr is used to detect it, xrandr adjusts the size of the only screen to be large enough to hold both video devices. If I resize screen 0 back to the correct (for the monitor) size, it messes up the text. (It appears to be doing a down scaling on the screen dimensions.) It also places the new CRT directly beside the monitor. If I move the HDMI-0 over a few pixels to separate them, the user can still scroll the mouse into the CRT area.

But playing with this gave me an idea.

Is there a way to restart X without fully restarting it? I have seen programs (nvidia-settings and Display Preferences are good examples) that will resize the screen on the fly, keeping all of the X applications intact. There is a slight blink, but I can live with that. If I can get it to re-read xorg.conf and create the screens that are now available, that would work.

Chuck
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
multiple X-servers, multiple graphics adapters, single-seat (kind of tutorial) bluebox Linux - Desktop 6 06-07-2017 08:20 AM
Ways of executing single script on multiple servers huskie69 Linux - Server 5 09-12-2012 12:08 PM
Receive mail of multiple servers to a single account jlinkels Linux - Server 6 11-02-2009 07:54 PM
Multiple RADIUS servers on a single machine skiros Linux - Software 3 11-02-2005 06:48 AM
Running multiple x servers in RHEL 4.0 exitsfunnel Linux - General 2 05-12-2005 11:56 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Red Hat

All times are GMT -5. The time now is 09:27 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration