linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* My goal
@ 2010-03-11  3:51 James Simmons
  2010-03-11  4:47 ` Dave Airlie
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: James Simmons @ 2010-03-11  3:51 UTC (permalink / raw)
  To: DRI development list; +Cc: Linux Fbdev development list, Linux console project


Okay all the discussion about multiple display brings me to why I'm doing 
this. I'm attempting to revive the linux console project. I'm in a 
position to again work on this project. About 4 years ago the eproject 
managed to get multi-seat working. My goal is to get there again. My first 
goal is to get my netbook to act has a multiseat system for two. With a plugged 
in external montior and a USB keyboard run two concurrent X sessions both 
running OpenGL applications at the same time. I set out to do this 10 
years ago and I want to finally accomplish this.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: My goal
  2010-03-11  3:51 My goal James Simmons
@ 2010-03-11  4:47 ` Dave Airlie
  2010-03-11  6:46 ` aivils
  2010-03-18  0:05 ` Dave Airlie
  2 siblings, 0 replies; 5+ messages in thread
From: Dave Airlie @ 2010-03-11  4:47 UTC (permalink / raw)
  To: James Simmons
  Cc: Linux console project, Linux Fbdev development list,
	DRI development list

On Thu, Mar 11, 2010 at 1:51 PM, James Simmons <jsimmons@infradead.org> wrote:
>
> Okay all the discussion about multiple display brings me to why I'm doing
> this. I'm attempting to revive the linux console project. I'm in a
> position to again work on this project. About 4 years ago the eproject
> managed to get multi-seat working. My goal is to get there again. My first
> goal is to get my netbook to act has a multiseat system for two. With a plugged
> in external montior and a USB keyboard run two concurrent X sessions both
> running OpenGL applications at the same time. I set out to do this 10
> years ago and I want to finally accomplish this.

Hi James,

I had a plan (with a picture) but we lost the picture in a disk crash.

But it basically sounded like this.

Currently we have two device nodes per drm device, a control node
and a legacy card node. The control node is there in theory to support
multi-seat.

The plan was some sort of userspace multi-seat manager (in gdm or
otherwise), would use the control node to divide up the modesetting
resources and create a number of seat nodes. These seat nodes
would operate like the current legacy node except they would only
show the user the modesetting resources assigned to them. The
control node could also be used to create a node with no mode
resources for GPGPU work.

You can see the start of this in the drm, look for mode_group.

Once the kernel was generating the seat nodes, it would be a
matter of giving that path to the X server KMS driver and it would
open that instead of the legacy device node, and same for the
second X server.

This would require of course starting X servers with -sharevts
and -novtswitch most likely.

Dave.
,

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: My goal
  2010-03-11  3:51 My goal James Simmons
  2010-03-11  4:47 ` Dave Airlie
@ 2010-03-11  6:46 ` aivils
  2010-03-11 14:57   ` Bernie Thompson
  2010-03-18  0:05 ` Dave Airlie
  2 siblings, 1 reply; 5+ messages in thread
From: aivils @ 2010-03-11  6:46 UTC (permalink / raw)
  To: James Simmons
  Cc: Linux console project, Linux Fbdev development list,
	DRI development list

Please week up James!
Over the world are around 10 versions of multiseat:
http://en.wikipedia.org/wiki/Multiseat_configuration
Microsoft Multipoint is in the count. What You will do better?
Of course i am addicted to this thing. I even created small project here:
http://sourceforge.net/projects/multiseat-gk/

You can make complete the VGAarbiter
http://www.x.org/wiki/VgaArbiter
or You can complete the proxy server of X, which is started by Tiago Vignatti
and has name X address translator (xat) , but i don't have link. You need proxy
if You will emulate multiple X servers on single multiheaded X server. xat
works because Peter Hutterer created multi pointer X server, which basicaly
fit for needs of multiseat. I suppose xat proxy require big changes in X
server as result development stalled.
Commercial proxy version runs since 2002 , userful.com.

Cheers,
Aivils

Citçju James Simmons <jsimmons@infradead.org>:

>
> Okay all the discussion about multiple display brings me to why I'm doing
> this. I'm attempting to revive the linux console project. I'm in a
> position to again work on this project. About 4 years ago the eproject
> managed to get multi-seat working. My goal is to get there again. My first
> goal is to get my netbook to act has a multiseat system for two. With a
> plugged
> in external montior and a USB keyboard run two concurrent X sessions both
> running OpenGL applications at the same time. I set out to do this 10
> years ago and I want to finally accomplish this.
>
> ------------------------------------------------------------------------------
> Download Intel&#174; Parallel Studio Eval
> Try the new software tools for yourself. Speed compiling, find bugs
> proactively, and fine-tune applications for parallel performance.
> See why Intel Parallel Studio got high marks during beta.
> http://p.sf.net/sfu/intel-sw-dev
> _______________________________________________
> Linuxconsole-dev mailing list
> Linuxconsole-dev@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/linuxconsole-dev
>





^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: My goal
  2010-03-11  6:46 ` aivils
@ 2010-03-11 14:57   ` Bernie Thompson
  0 siblings, 0 replies; 5+ messages in thread
From: Bernie Thompson @ 2010-03-11 14:57 UTC (permalink / raw)
  To: aivils, James Simmons, DRI development list,
	Linux Fbdev development list

2010/3/10  <aivils@latnet.lv>:
> Over the world are around 10 versions of multiseat:

There's also the USB multiseat case, which avoids shared resources
(VGA arbiter) and so can cleanly launch independent X instances for
each USB graphics device even now. Better yet, the USB topology can be
used (via udev scripts) to know exactly which keyboard, mouse,
keyboard, etc. go together so adding seats is completely plug and
play.

BUT it's a bit hackish on Linux today, because of the some assumptions
that need cleaned up (e.g. that all graphics are on PCIe).  Some of
that cleanup is happening (e.g. hal->libudev), but it could use a lot
more attention and experienced help on the USB case. Also on
whether/how to move USB graphics driver from fbdev->dri with matching
xorg driver, on better newgdm/consolekit integration, and then on
getting this into distros.

http://plugable.com/2009/11/16/setting-up-usb-multiseat-with-displaylink-on-linux-gdm-up-to-2-20/
to see stuff to get it running in the hal/gdmdynamic world.

A lot of discussion and work is on the libdlo list, but needs more
contact with experts on those lists with deeper expertise (dri, fbdev,
console, etc.)

Best wishes,
Bernie
http://plugable.com/

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: My goal
  2010-03-11  3:51 My goal James Simmons
  2010-03-11  4:47 ` Dave Airlie
  2010-03-11  6:46 ` aivils
@ 2010-03-18  0:05 ` Dave Airlie
  2 siblings, 0 replies; 5+ messages in thread
From: Dave Airlie @ 2010-03-18  0:05 UTC (permalink / raw)
  To: James Simmons
  Cc: Linux console project, Linux Fbdev development list,
	DRI development list

On Thu, Mar 11, 2010 at 1:51 PM, James Simmons <jsimmons@infradead.org> wrote:
>
> Okay all the discussion about multiple display brings me to why I'm doing
> this. I'm attempting to revive the linux console project. I'm in a
> position to again work on this project. About 4 years ago the eproject
> managed to get multi-seat working. My goal is to get there again. My first
> goal is to get my netbook to act has a multiseat system for two. With a plugged
> in external montior and a USB keyboard run two concurrent X sessions both
> running OpenGL applications at the same time. I set out to do this 10
> years ago and I want to finally accomplish this.

Okay I took an afternoon to flesh out my design and got something working here,
I'll try and setup a videod demo later (if I can find a camera).

But I can now run two *separate* X servers on different outputs of the same GPU.

http://people.freedesktop.org/~airlied/multiseat/

has the kernel + libdrm patch, this is hacked for *my* X1900 (the radeon driver
hardcodes a seat -> crtc/connector/encoder mapping that should be dynamically
setup from userspace via the drm control node.

The libdrm patches adds an env var to pick device node (probably needs to be
secured).

With this I can and some proper xorg.conf to pick the correct input devices

DRM_DEVICE_PATH=/dev/dri/renderD128 /opt/xorg/bin/Xorg -retro
DRM_DEVICE_PATH=/dev/dri/renderD129 /opt/xorg/bin/Xorg :1 -sharevts
-novtswitch -retro

I can run two independent X servers on the same GPU.

Hopefully this gives you some idea of where I was planning on heading with this.

Dave.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2010-03-18  0:05 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-03-11  3:51 My goal James Simmons
2010-03-11  4:47 ` Dave Airlie
2010-03-11  6:46 ` aivils
2010-03-11 14:57   ` Bernie Thompson
2010-03-18  0:05 ` Dave Airlie

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).