protonscr

Compositor is not fullscreen

steamvrclosed
ValveSoftware/SteamVR-for-Linux#104 · opened 2018-04-25 by deadwood2 · updated 2018-06-15 · 16 comments · github
Ddeadwood2 2018-04-25 github

Your system information

  • Steam client version (build number or date): 1524242469
  • Distribution (e.g. Ubuntu): Linux Mint 18.3
  • Graphics driver version (run nvidia-settings): 390.48
  • Gist for SteamVR System Information: https://gist.github.com/deadwood-pl/95f0e6c0bc3601f774f5ace9d5268947
  • Opted into Steam client beta?: Yes
  • Opted into SteamVR beta?: Yes
  • Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

I'm trying to get Vive working under Linux Mint 18.3 and I'm having issues. When using non-Beta Steam client and Steam VR I was getting 306 and 307 errors. Once I moved to beta Steam and Steam VR I get the 306 error popup but vrmonitor says that Compositor needs to be made fullscreen (-202).

GFX Card: GFX 1060 3GB

ss

Any help would be appreciated. If more information is needed, please let me know. I'd really love to get Vivi to work under linux :)

Steps for reproducing this issue:

  1. Plugin HMD + one base station set to A
  2. Start Steam
  3. Start SteamVR
  4. Get error
Kkisak-valve maintainer 2018-04-25 github

Hello @deadwood-pl, can you move /usr/share/vulkan/icd.d/intel_icd.x86_64.json and see if that makes a difference? On my test box, I renamed it to intel_icd.x86_64.json.disabled. If that doesn't help and there are other json files, please test with all but the nvidia .json files renamed to .json.disabled.

Ddeadwood2 2018-04-26 github

Hello @kisak-valve ,

In the /usr/share/vulkan/icd.d/ directory I only have the nvidia_icd.json.

I modified it as explained here


{
    "file_format_version" : "1.0.0",
    "ICD": {
        "library_path": "libGLX_nvidia.so.0",
        "api_version" : "1.0.65"
    }
}

I'm attaching the output of vulkaninfo:
vulkaninfo.txt

PS. If needed I'm able to debug code in gdb/assembler.

Ddeadwood2 2018-04-26 github

Update: It seems that change to nvidia_icd.json file broke my Vulkan. I reverted it and now Vulkan demos based on Unity work. The problem however with Vive persists as it was before revert.

Ddeadwood2 2018-04-27 github

Is there any more debug I can enable somewhere to get more details of this problem?

Llostgoat 2018-04-27 github

Your vrcompositor just seems to die during initialization. If you can attach a debugger to it you might be able to find out why.

Ddeadwood2 2018-05-03 github

Hi,

Indeed vrcompository is "zombied" (). I was able to get debug by running vrmonitor from console. Seems some core dumps are generated as well. I'm attaching the console output:

out.txt

One thing that is interesting is this portion of output:

output 0x1be 10 modes
	mode 0 0x1bf 1680x1050 (looking for 2160x1200)
	mode 1 0x1c0 1280x1024 (looking for 2160x1200)
	mode 2 0x1c1 1280x1024 (looking for 2160x1200)
	mode 3 0x1c2 1152x864 (looking for 2160x1200)
	mode 4 0x1c3 1024x768 (looking for 2160x1200)
	mode 5 0x1c4 1024x768 (looking for 2160x1200)
	mode 6 0x1c5 800x600 (looking for 2160x1200)
	mode 7 0x1c6 800x600 (looking for 2160x1200)
	mode 8 0x1c7 640x480 (looking for 2160x1200)
	mode 9 0x1c8 640x480 (looking for 2160x1200)
output 0x1c9 0 modes
output 0x1ca 0 modes
output 0x1cb 0 modes
output 0x1cc 0 modes
output 0x1cd 0 modes
output 0x1ce 0 modes
output 0x1cf 0 modes
output 0x0

Software seems to be looking for Vive resolution on my main monitor?

Ddeadwood2 2018-05-04 github

I have additional question: should Vive be visible as a "monitor" (separate Screen) in nvidia settings?

Currently only my main monitor is visible there. The monitor is connected via DVI-D, Vive via HDI. The monitor is not FullHD capable (if that makes any difference)

Kkisak-valve maintainer 2018-05-04 github

Since the nvidia 378.xx series proprietary driver, the driver has required the "AllowHMD" X config setting to be used if you want to extend your desktop onto a Vive.

Just a guess here, but it may be worth double checking the connections on the HMD side of the cable.

Ddeadwood2 2018-05-04 github

Thanks - after using that option the Vive is detected and I can enable extending Screen 0 to it. It also displays the image - so the hardware part of the setup seems to be working correctly.

Ddeadwood2 2018-05-04 github

Additionally this seems to move things a bit forward. Now, with Vive visible in nvidia settings but still disabled, I no longer get 306/307 errors and the logs show that required resolution is found on Vive. The compositor is not full screen error still is there though.

IishiguroJSK 2018-05-10 github

I encountered same problem recently (2018/05) , and I managed to solve it on my PC.
A while ago, I could run SteamVR with no problem at Ubuntu14.04 QuadroM4000M, driver 387.12, vulkan 1.1.70, direct-mode.
Since latest steam update, the error occured and I tried to catch up latest requirement.
As you can see in
https://github.com/moon-wreckers/vive_tracker
they install latest vulkan from the site.
https://vulkan.lunarg.com/sdk/home#linux
and I edited /usr/share/vulkan/nvidia_icd.json as

{
    "file_format_version" : "1.0.0",
    "ICD": {
        "library_path": "libGLX_nvidia.so.0",
        "api_version" : "1.1.73"
    }
}

With this method, I could solve my problem at Ubuntu14.04 QuadroM4000M, driver 396.24, vulkan(1.1.73), direct-mode.
(However with my another PC at Ubuntu14.04 QuadroK2100M, driver 396.24, vulkan 1.1.73,
the direct-mode doesn't work and SteamVR doesn't work yet.)

Ddeadwood2 2018-05-10 github

@ishiguroJSK Thanks for the tip. I tried that (change to nvidia_icd.json) with 1.1.73 vulkan and unfortunately it does not change the situation for me. I still get the "fullscreen" error. Additionally this change actually breaks Vulkan for me (Unity Corridor Vulkan demo stops working). I've seen that change elsewhere, but I suspect it might be 14.04 only. I'm running 16.04 via Linux Mint.

Ddeadwood2 2018-05-10 github

@kisak-valve Maybe you or someone else from Valve could add some more logging around the -202 error? I'm happy to test this in newer versions of SteamVR beta.

Ddeadwood2 2018-05-31 github

I'm starting to think that somehow my whole setup is broken. Can someone confirm that if I:

  1. Download Steam
  2. Download SteamVR [beta]
  3. Do not connect any Vive hardware
  4. Select NULL driver in steamvr config file
  5. Run SteamVR Tutorial

SteamVT Tutorial should run and I should be able to see the rendering (images for both eyes?) of SteamVR Tutorial as a window on Linux desktop?

Ddeadwood2 2018-05-31 github

Heh, I think I managed to get to the bottom of the problem. To do this I ran manually vrserver and then vrcompositor under gdb. The effect is:

Thread 11 "RenderThread" received signal SIGILL, Illegal instruction.
[Switching to Thread 0x7fffc8ec0700 (LWP 27976)]
0x0000000000432674 in CGenericResources::Update(vr::IGraphicsDevice::UpdateParams_t const&) ()
(gdb) bt
#0  0x0000000000432674 in CGenericResources::Update(vr::IGraphicsDevice::UpdateParams_t const&) ()
#1  0x000000000041b35f in vr::CHmdDistort::Update(vr::EVREye, vr::CHmdDistort::UpdateParams_t const*, vr::TrackedDevicePose_t const*, vr::ETrackingUniverseOrigin, unsigned long) ()
#2  0x0000000000455c6b in CRenderThread::Update() ()
#3  0x000000000045790d in CRenderThread::Run() ()
#4  0x00000000004f97d0 in SteamThreadTools::CThread::ThreadProc(void*) ()
#5  0x00007ffff5a8a6ba in start_thread (arg=0x7fffc8ec0700) at pthread_create.c:333
#6  0x00007ffff57c041d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

And the problem code is:

   0x000000000043265a <+24906>:	movaps 0x178f1f(%rip),%xmm3        # 0x5ab580
   0x0000000000432661 <+24913>:	shufps $0x6c,%xmm1,%xmm1
   0x0000000000432665 <+24917>:	movdqa %xmm1,%xmm2
---Type <return> to continue, or q <return> to quit---
   0x0000000000432669 <+24921>:	mov    %rax,-0x970(%rbp)
   0x0000000000432670 <+24928>:	shufps $0x6c,%xmm0,%xmm0
=> 0x0000000000432674 <+24932>:	palignr $0xc,%xmm0,%xmm2
   0x000000000043267a <+24938>:	lea    -0x6a0(%rbp),%rax
   0x0000000000432681 <+24945>:	shufps $0x6c,%xmm3,%xmm3

It seems that the vrcompositor is compiled with flags allowing usage of SSSE3 instructions which my Phenom II doesn't implement.

Is this by mistake or by design? (what is the minimal required CPU for SteamVR then?)

Ddeadwood2 2018-06-15 github

Hi,

After upgrading the processor, Vive started working and I get at least to VR Home.
Closing the issue

Nothing extracted yet.