3dxWare open suse 11.1 - canot open display

Questions and answers about 3Dconnexion devices on UNIX and Linux.

Moderator: Moderators

Post Reply
eyeJ
Posts: 28
Joined: Thu Jan 10, 2008 4:00 am

3dxWare open suse 11.1 - canot open display

Post by eyeJ » Tue Oct 20, 2009 6:09 am

Hello
I have a problem in suse 11.1 with the driver (version 1.4.3)

when I try this:
sudo /etc/3DxWare/daemon/3dxsrv -d usb

I get this message:
No protocol specified
[2009-10-20 15:05:37] Error: No connection to Xserver :0 - aborting.

when I login as root into the gnome desktop the driver runs fine.
Also the driver will not start automaticly from the init file when I log in as normal non root user.

How to fix this?

UtaSH
Moderator
Moderator
Posts: 3208
Joined: Mon Nov 27, 2006 10:34 am
Location: Munich, Germany
Contact:

Post by UtaSH » Tue Oct 20, 2009 9:32 am

Hi eyeJ,

does the driver start when you do first a
  • xhost + localhost
    • on the command line?

      Please add to the line in the /etc/inittab the options -E -debug. This will create a logfile when the driver starts. Maybe we find some hints in there. It will be /tmp/3DxWare.log.
      • 3d:2345:respawn:/etc/3DxWare/daemon/3dxsrv -d usb -E -debug </dev>/dev/null 2>&1

eyeJ
Posts: 28
Joined: Thu Jan 10, 2008 4:00 am

Post by eyeJ » Tue Oct 20, 2009 11:21 am

xhost + localhost:

Code: Select all

susu@linux-7og5:~> xhost + localhost
localhost being added to access control list
susu@linux-7og5:~> sudo /etc/3DxWare/daemon/3dxsrv -d usb
root's password:
No protocol specified
[2009-10-20 19:45:29] Error: No connection to Xserver :0 - aborting.
log:

Code: Select all

3DxWareUNIX V1.4.3 ID 4872 log file
Process ID: 4851
 Time: 2009-10-20 19:56:09
Machineinfo 1: Systemname=Linux, Nodename=linux-7og5, Release=2.6.27.29-0.1-default
Machineinfo 2: Version=#1 SMP 2009-08-15 17:53:59 +0200, Machine=x86_64
Runlevel-Info:          run-level 5  Oct 20 19:55                   last=S

-----------------------------------

[2009-10-20 19:56:09] uddev.c, 1198: UdDevInit() 0x56b010
[2009-10-20 19:56:09] 3dxsrv.c,797: displayname = $DISPLAY set to :0
[2009-10-20 19:56:09] 3dxsrv.c,802: putenv() was successful
[2009-10-20 19:56:09] 3dxsrv.c,804: displayname is now :0
[2009-10-20 19:56:10] auth.c :: authGetUser(), FOUND: user = susu, id = :0, line = :0, pid =     3663, host = , type = 7
[2009-10-20 19:56:10] auth.c :: authGetUser(), FOUND: user home = "/home/susu"
[2009-10-20 19:56:10] 3dxsrv.c :: startupInittab(), authGetUser(), user=susu
[2009-10-20 19:56:10] UdDev: Opening USB device on USB port /dev/bus/usb/001/004
[2009-10-20 19:56:10] UdDev: Opening SpacePilot on USB port /dev/bus/usb/001/004
[2009-10-20 19:56:10] spilot_usb.c :: UdDevRezero(): Rezeroing the device
[2009-10-20 19:56:10] 3dxsrv.c,822: UdDevOpen() was successful [SpacePilot]
if it makes any difference to you I found something that seems fishy to me while trying to open the log (I guess it just works differently than Ubuntu).
using su - did work but it doesn't work for the driver:

Code: Select all

susu@linux-7og5:~> gedit /tmp/3DxWare.log *note -> permission denied so...
susu@linux-7og5:~> sudo gedit /tmp/3DxWare.log
root's password:

(gedit:5334): Gtk-WARNING **: cannot open display: 
susu@linux-7og5:~> su -
Password: 
linux-7og5:~ # gedit /tmp/3DxWare.log
exit
linux-7og5:~ # exit
logout

eyeJ
Posts: 28
Joined: Thu Jan 10, 2008 4:00 am

Post by eyeJ » Wed Oct 21, 2009 12:06 am

uludwig wrote:Hi eyeJ,

does the driver start when you do first a
  • xhost + localhost
    • on the command line?

      Please add to the line in the /etc/inittab the options -E -debug. This will create a logfile when the driver starts. Maybe we find some hints in there. It will be /tmp/3DxWare.log.
      • 3d:2345:respawn:/etc/3DxWare/daemon/3dxsrv -d usb -E -debug </dev>/dev/null 2>&1
Just in case I was not clear in above post I wanted to state clearly that the window still doesn't show up and the screen doesn't show anything even if there seems not to be any error in the log :!:

UtaSH
Moderator
Moderator
Posts: 3208
Joined: Mon Nov 27, 2006 10:34 am
Location: Munich, Germany
Contact:

Re: 3dxWare open suse 11.1 - canot open display

Post by UtaSH » Wed Oct 21, 2009 3:46 am

Hi eyeJ,

the Gtk-WARNING seems to have a similar reason, but at this moment I don't know what the problem is on your machine. The 3dxsrv does not use Gtk.

But from the logfile you posted it looks as if the driver started correctly. It could open a display and did not issue an error. :?

When you try the start from the commend line you first have to disable the start in the /etc/inittab. You can do this by changing the word "respawn" inot "off" and then launch
  • init q
from the command line. Please check with
  • ps -edf | grep 3dxsrv
if the process was stopped.

Then launch
  • xhost +
    su -
    /etc/3DxWare/daemon/3dxsrv -d usb -debug
Please post the output here. Check if you can see an icon for the driver window on the lower panel. Please launch the cube demo to see if it works. After the installation you find it in /tmp.
  • /tmp/xcube &

eyeJ
Posts: 28
Joined: Thu Jan 10, 2008 4:00 am

Re: 3dxWare open suse 11.1 - canot open display

Post by eyeJ » Wed Oct 21, 2009 2:36 pm

The driver starts when I launch:

xhost +
su -
/etc/3DxWare/daemon/3dxsrv -d usb -debug

Code: Select all

linux-7og5:~ # /etc/3DxWare/daemon/3dxsrv -d usb -debug
[2009-10-21 23:27:27] uddev.c, 1198: UdDevInit() 0x56b010
[2009-10-21 23:27:27] 3dxsrv.c,797: displayname = :0.0
[2009-10-21 23:27:27] auth.c :: authGetUser(), FOUND: user = susu, id = :0, line = :0, pid =     3730, host = , type = 7
[2009-10-21 23:27:27] auth.c :: authGetUser(), FOUND: user home = "/home/susu"
[2009-10-21 23:27:27] 3dxsrv.c :: startupCommandLine(), authGetUser(), user=susu
[2009-10-21 23:27:27] UdDev: Opening USB device on USB port /dev/bus/usb/002/002
[2009-10-21 23:27:27] UdDev: Opening SpacePilot on USB port /dev/bus/usb/002/002
[2009-10-21 23:27:27] spilot_usb.c :: UdDevRezero(): Rezeroing the device
[2009-10-21 23:27:27] 3dxsrv.c,822: UdDevOpen() was successful [SpacePilot]
[2009-10-21 23:27:27] 3dxsrv.c,833: authorizeWithX11() was successful
[2009-10-21 23:27:27] 3dxsrv.c :: startupCommandLine(), XOpenDisplay called with display name=:0.0, display = 56c050
[2009-10-21 23:27:27] 3dxsrv.c :: startupCommandLine(), SUCCESS!

3DxWareUNIX = V1.4.3
Device      = SpacePilot
Firmware    = V4.04
[2009-10-21 23:27:27] Home directory: /home/susu
[2009-10-21 23:27:27] UiSb: Directory "/etc/3DxWare" opened for configs.
[2009-10-21 23:27:28] UiSb: Directory "/home/susu/.3dxcfg" not found
and the xcube rotates :)

so xhost + removes the access control just for this single process?
If so I guess there is no problem with using it as a temporary workaround?

UtaSH
Moderator
Moderator
Posts: 3208
Joined: Mon Nov 27, 2006 10:34 am
Location: Munich, Germany
Contact:

Post by UtaSH » Thu Oct 22, 2009 1:40 am

No, xhost + removes access control for everything. :(
That's why I suggested localhost.

Maybe it will work if you replace localhost with the name or IP of your machine?

Code: Select all

xhost + linux-7og5

eyeJ
Posts: 28
Joined: Thu Jan 10, 2008 4:00 am

Post by eyeJ » Thu Oct 22, 2009 2:47 am

Nope it doesn't work with the computer name or with the computer ip (127.0.0.1):

Code: Select all

susu@linux-7og5:~> xhost + linux-7og5
linux-7og5 being added to access control list
susu@linux-7og5:~> su -
Password: 
linux-7og5:~ # /etc/3DxWare/daemon/3dxsrv -d usb -debug
[2009-10-22 11:05:09] uddev.c, 1198: UdDevInit() 0x56b010
[2009-10-22 11:05:09] 3dxsrv.c,797: displayname = :0.0
[2009-10-22 11:05:09] auth.c :: authGetUser(), FOUND: user = susu, id = :0, line = :0, pid =     3157, host = , type = 7
[2009-10-22 11:05:09] auth.c :: authGetUser(), FOUND: user home = "/home/susu"
[2009-10-22 11:05:09] 3dxsrv.c :: startupCommandLine(), authGetUser(), user=susu
[2009-10-22 11:05:09] UdDev: Opening USB device on USB port /dev/bus/usb/001/004
[2009-10-22 11:05:09] UdDev: Opening SpacePilot on USB port /dev/bus/usb/001/004
[2009-10-22 11:05:09] spilot_usb.c :: UdDevRezero(): Rezeroing the device
[2009-10-22 11:05:09] 3dxsrv.c,822: UdDevOpen() was successful [SpacePilot]
[2009-10-22 11:05:09] 3dxsrv.c,833: authorizeWithX11() was successful
No protocol specified
[2009-10-22 11:05:09] 3dxsrv.c :: startupCommandLine(), XOpenDisplay called with display name=:0.0, display = 0
[2009-10-22 11:05:09] Error: No connection to Xserver :0.0 - aborting.

UtaSH
Moderator
Moderator
Posts: 3208
Joined: Mon Nov 27, 2006 10:34 am
Location: Munich, Germany
Contact:

Post by UtaSH » Thu Oct 22, 2009 6:37 am

Are you connected to a network with this machine? The ip address 127.0.0.1 is localhost. If you do a
  • /sbin/ifconfig
you should see the ip address of your network interface (i.e. eth0).

eyeJ
Posts: 28
Joined: Thu Jan 10, 2008 4:00 am

Post by eyeJ » Thu Oct 22, 2009 9:31 am

Yes I am connected to a network and I tried using the network interface IP but it still doesn't work :(

UtaSH
Moderator
Moderator
Posts: 3208
Joined: Mon Nov 27, 2006 10:34 am
Location: Munich, Germany
Contact:

Post by UtaSH » Fri Oct 23, 2009 12:23 am

Try this: delete your .Xauthority files and logout. Then login again.

Let me know if this helps. :?

eyeJ
Posts: 28
Joined: Thu Jan 10, 2008 4:00 am

Post by eyeJ » Fri Oct 23, 2009 7:50 am

I moved my .Xauthority file from the /home/<my> directory and it doesn't make a difference the driver still doesnt start.

eyeJ
Posts: 28
Joined: Thu Jan 10, 2008 4:00 am

Workaround?

Post by eyeJ » Tue Nov 03, 2009 11:08 pm

Can I do this:

xhost +
start the driver
and then run xhost - in another terminal

will that return things to normal secure operation?

UtaSH
Moderator
Moderator
Posts: 3208
Joined: Mon Nov 27, 2006 10:34 am
Location: Munich, Germany
Contact:

Post by UtaSH » Wed Nov 04, 2009 4:12 am

Yes, with
  • xhost -
you close the access to your display again. As far as I know you could even do it in the same terminal where you started the driver. Just in case you want to do this in a script. (Then you should start the driver in the background.)

eyeJ
Posts: 28
Joined: Thu Jan 10, 2008 4:00 am

Great!

Post by eyeJ » Wed Nov 04, 2009 9:56 am

uludwig wrote:Yes, with
  • xhost -
you close the access to your display again. As far as I know you could even do it in the same terminal where you started the driver. Just in case you want to do this in a script. (Then you should start the driver in the background.)
Great! I will use that untill it get's fixed.
Thanks for the help :)

Post Reply