X11은 NVIDIA 카드를 실행하는 컴퓨터에서 AMD 카드가있는 컴퓨터로 OpenGL 응용 프로그램을 전달


15

나는 OpenGL을 이용한 원격 프로세스 실행하기 위해 SSH를 통해 X11 세션을 전달에 관심이 있어요 (특히, 전망대 에 익숙한 사람을위한입니다.)

내가 겪고있는 문제는 그래픽 카드의 불일치로 인해 전망대가 충돌한다는 것입니다. "NV-GLX"확장명을 찾을 수 없습니다. 정확한 오류 출력 :

Xlib:  extension "NV-GLX" missing on display "localhost:10.0".
Xlib:  extension "NV-GLX" missing on display "localhost:10.0".
X Error of failed request:  GLXUnsupportedPrivateRequest
  Major opcode of failed request:  149 (GLX)
  Minor opcode of failed request:  16 (X_GLXVendorPrivate)
  Serial number of failed request:  24
  Current serial number in output stream:  25

원격 컴퓨터가 NVIDIA 카드로 실행 중이고 로컬 컴퓨터가 AMD 카드를 사용 중입니다.

NVIDIA 카드를 사용하여 두 시스템 사이의 전망대 X11 전달을 테스트했습니다. 잘 작동합니다.

내가 알 수 있듯이 세 가지 중 하나가 발생하는 것 같습니다.

  1. 뭔가 잘못하고 있어요
  2. 내가하고 싶은 일은 불가능 해
  3. Gazebo는 서로 다른 하드웨어에 대한 분기 코드 경로를 사용하여 불가지론 적으로 빌드하지 않습니다. 빌드 할 때 시스템의 모양이 무엇이든 얻을 수 있습니다.

원격 시스템은 Ubuntu를 실행 중이고 로컬 시스템은 10.8.2를 실행하는 Mac입니다. XQuartz에서 xclock과 같은 것을 열 수 있기 때문에 정상적인 사용을 위해 x11 전달이 올바르게 설정되어 있음을 이미 알고 있습니다. 솔루션 (있는 경우)은 Windows over WinSCP를 포함한 다른 OS에서도 작동하는 것이 좋습니다.

답변:


9

GLX Wikipedia 기사의 참고 사항 :

GLX [is] X 프로토콜의 확장으로 클라이언트 (OpenGL 응용 프로그램)가 X 서버 (디스플레이를 담당하는 소프트웨어)에 3D 렌더링 명령을 보낼 수 있습니다. 클라이언트 및 서버 소프트웨어는 다른 컴퓨터에서 실행될 수 있습니다.

과

클라이언트와 서버가 동일한 컴퓨터에서 실행 중이고 적합한 드라이버를 사용하는 가속 3D 그래픽 카드를 사용할 수있는 경우 이전 두 구성 요소를 DRI로 무시할 수 있습니다. 이 경우 클라이언트 응용 프로그램은 여러 API 계층을 통해 비디오 하드웨어에 직접 액세스 할 수 있습니다.

나는 이것이 가능한지 아닌지에 대한 당신의 질문에 주먹 포인트가 대답한다고 믿습니다. 확실히 가능해야합니다. 두 번째는 클라이언트 프로그램이 로컬 X 서버 (NV GLX 드라이버)의 기능 사용을 주장하는 이유에 대한 설명을 제공 할 수 있습니다. 아마도 localhost:10.0같은 컴퓨터 라고 생각 하고 방향 연결을 시도했을 것입니다.

시도 할 사항 :

  1. 대신에 gazebo시도하십시오 glxdemo.
  2. 가능하면 같은 네트워크에서 두 대의 컴퓨터를 가져 와서 사진에서 ssh를 꺼내십시오.
  3. 큰 총 : strace당신의 gazebo호출 및 그것이 nv-glx를로드하는 이유를 알아 내십시오.

행운을 빕니다!


컴퓨터는 이미 동일한 네트워크에 있지만 모든 전망대 컴퓨터를 어느 시점에서 서버 옷장으로 옮기고 싶지만 여전히 소프트웨어의 비주얼을 사용할 수 있기 때문에 SSH 터널링을 찾고 있습니다. 동일한 네트워크에서 그것들을 갖는 것이 SSH를 필요로하지 않는 다른 구성을 허용한다고 말하지 않는 한 (나는 미친 xhost / client 설정을 추측하고 있지만 X11에 대해서는 많이 모른다.)
— Doug Stephen

ssh를 필요 없음 - 트러스트 된 시스템의 모든 개인 네트워크가 시도하는 경우 xhost +로컬 시스템과 '에 원격 시스템에서 DISPLAY를 설정 IP-또는-이름의 로컬 : 0`
— ckhan

1
일을 할 수 없었지만 gazebo기술적으로 올바른 제안이므로이 답변을 합격 답변으로 표시하고 있습니다. 나는 glxdemo당신이 만든 모든 제안 (네트워크를 통한 ssh 및 xserver / xclient)을 사용하여 터널링 할 수 있지만 Gazebo 자체는 분기 코드 경로를 빌드하지 않는 것처럼 보이며이 이상한 구성에서 실행되지 않는다고 가정합니다. 감사!.
— Doug Stephen

전망대 웹이 있으며 정말 놀랍습니다. 원격 컴퓨터 (WAN)에서 전망대 서버를 시작하고 ssh로 터널링하고 브라우저를 열어 전망대를 볼 수 있습니다. 최고의 솔루션.
— Mehdi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.